トップページgamedev
1001コメント378KB

【初心者】スレを立てる前にココで質問を【Part20】

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2009/09/29(火) 07:08:29ID:OO8C9kYO
疑問に思うことがあれば、スレを立てずに、まずはココで質問。
スレッドを立てる前にはローカルルールを読みましょう。
http://pc11.2ch.net/gamedev/

>>980 を踏んだ人は次スレ立てをお願いします。
【アップローダ・避難所・Wiki】
ゲーム製作技術板公式Wiki
http://wiki.game-develop.com/

ゲーム製作技術板公式アップローダ
http://gmdev.xrea.jp/

ゲーム製作技術板予備(機能停止中?)
http://yy13.kakiko.com/gamdev/

アップローダー予備
http://gamdev.hp.infoseek.co.jp/

gamdev.orgが落ちるたびにあげてみるスレ
http://pc11.2ch.net/test/read.cgi/gamedev/1107022166/
0288名前は開発中のものです。2009/11/15(日) 18:33:25ID:xWyOyUJ3
DrawBox(0, 0, 120, 120, 65535, TRUE );
って水色指定してるの?

あと
> DXスレで質問したところ
その時の回答に応じて君は何をしたの?
レス貰ってもリアクションしないなら質問する意味ないだろ。
0289名前は開発中のものです。2009/11/15(日) 18:41:06ID:Yvz9QUwA
実行ファイルの更新日時はビルドした時の時間になってる?
0290名前は開発中のものです。2009/11/15(日) 19:05:43ID:T7dfTd78
>>288 
ありがとうございます

>水色指定
本のとおりにやって本にも水色と書いてあります
多分 65535というのがそれの指定ではないかと

>何をした
上にあるように.cppの保存をしてみましたがだめでした

あとあらわれたウィンドウを消すと

出力元の表示 デバッグ

Alloc memory dump Total size:0(0.000kb) Alloc num:0

スレッド 'Win32 スレッド' (0xc5c) はコード 0 (0x0) で終了しました。
スレッド 'Win32 スレッド' (0xa3c) はコード 0 (0x0) で終了しました。
スレッド 'Win32 スレッド' (0x9b4) はコード 0 (0x0) で終了しました。
プログラム '[448] chap3b.exe: ネイティブ' はコード 0 (0x0) で終了しました。

という表示が現れることがわかりましたがこれが関係しているかどうかは
ググってもわかりませんでした
いずれにせよDXスレでお礼をしたあとこちらに誘導されてきた状況です

>>289
ありがとうございます

○○.exeのData modified は今から一時間以上前です
その後何度もデバッグを試みています
0291名前は開発中のものです。2009/11/15(日) 19:19:03ID:rVIMfuAE
ビルドが成功してないんじゃないの?
ビルドの結果はどう出力されてるの?
0292名前は開発中のものです。2009/11/15(日) 19:53:54ID:T7dfTd78
>>291

ありがとうございます

ビルト
========== ビルド: 0 正常終了、0 失敗、1 更新不要、0 スキップ ==========

リビルト
1>chap3b - エラー 0、警告 0
========== すべてリビルド: 1 正常終了、0 失敗、0 スキップ ==========

こんな感じです
0293名前は開発中のものです。2009/11/15(日) 20:01:29ID:iM5ErMYK
どう変更したの?
0294名前は開発中のものです。2009/11/15(日) 20:15:10ID:LmMqCYV8
OpenGLだと、あくまで比率であって絶対値で表された大きさではないので
ウィンドウサイズが同じである限り同じ大きさになるということはある。

DirectDrawは知らん
0295名前は開発中のものです。2009/11/15(日) 20:22:57ID:T7dfTd78
>>293
DrawBox(0, 0, 120, 120, 65535, TRUE );の数字を
色々変えてみました
たとえばDrawBoxx(0, 0, 10, 10, 65535, TRUE );みたいにです
それから
#include<stdio.h>

int main(void) {
printf("Hello");
}
みたいにすべてを書き換えても反応なしでもとのウィンドウがでるばかりです
0296名前は開発中のものです。2009/11/15(日) 20:26:31ID:dp5oD//W
>>287
ビルドの出力先と実行パスは別々に指定できるはずだから、
同じになっているかどうか確かめてみるとか
0297名前は開発中のものです。2009/11/15(日) 20:27:43ID:iM5ErMYK
実行してるものが違うとしか思えんな
デバッグビルドしてリリースのほう実行してるとかない?
0298名前は開発中のものです。2009/11/15(日) 20:28:27ID:LmMqCYV8
IDEの仕様で、いったんプロジェクトをクリーンにしないと別なモンができない、ということもある
コンパイル時のオブジェクトがそのまま残って

でもそれはデキの悪いIDEか、設定を間違えているかだ
0299名前は開発中のものです。2009/11/15(日) 20:46:06ID:Yvz9QUwA
一旦環境を全部削除して0からやり直すのだ
0300名前は開発中のものです。2009/11/15(日) 20:52:11ID:dp5oD//W
>>299
2012年12月に現行の歴史が閉じるそうだから、あと3年ちょっと待ってみるとか
0301名前は開発中のものです。2009/11/15(日) 20:56:59ID:T7dfTd78
ありがとうございます

>>297 ビルドの出力先と実行パスは別々に指定
ちょっと意味がよくわかりませんでした

>>298 リリースのほう実行
そうかもしれませんがそれの確認の仕方が今のところわかりません


>>296 >>299
多分どこかの設定が間違えているのだと思います
新たにプロジェクトを作り直してやってみます


新たに作り直したらできました
変更もちゃんとしてくれました
理由はわかりませんが解決かな
0302名前は開発中のものです。2009/11/15(日) 20:58:47ID:8OuNjlci
プロジェクトのある場所を検索して
exeファイルが2つ以上ないか調べてみて。

……って、もう解決したならいいや
0303名前は開発中のものです。2009/11/15(日) 21:04:34ID:T7dfTd78
>>302
ありがとうございます

chap3b.exeというexeファイル以外に

chap3b.exe.embed.manifest
chap3b.exe.embed.manifest.res
chap3b.exe.intermediate.manifest

の三つのファイルがありました
ただそれは新しく作ってうまくいったファイルにもありますので
関係があるかどうか
0304名前は開発中のものです。2009/11/15(日) 21:07:32ID:iM5ErMYK
exeはリリースはreleaseフォルダの下、デバッグはdebugフォルダの下にできる。
exeを直接実行してたなら、どっちのフォルダかを確認
ビルドの設定はソリューション構成がreleaseかdebugになってるかで確認

まあ、本人がそれで解決でいいんなら、別にいいと思うけど
俺なら徹底的に理由を見つけるけどね 今後のこともあるからね またなったらやでしょ
0305名前は開発中のものです。2009/11/15(日) 21:12:05ID:4Uy1iXRt
ひとつのソリューションに複数のプロジェクト突っ込んで、スタート位置変えてないオチ?
0306名前は開発中のものです。2009/11/15(日) 21:22:45ID:LmMqCYV8
仕事でよくある間違いとしては、エントリポイント変わってないってのは相当にあるな

前に作ったものは、アドレスA1000000から始まるが
仕様変更されてB1000000になったとする
これをそのまま実行するとハードウェアの都合上、A1000000から始まってしまう

なんてことが、気をつけないとしょっちゅう起こる。
ちゃんとエントリポイントから始めないと
0307名前は開発中のものです。2009/11/15(日) 21:33:35ID:T7dfTd78
>>304
もちろん原因がわかればうれしいです
exeファイルはDebugフォルダ内にあります
releaseフォルダは存在しませんでした

ビルドの設定がソリューション構成がreleaseかdebugかは確認する方法が
よくわかりませんでした


>>305
スタート位置の意味が良くわかりませんでした

他の.cppファイルをExpressで開いてテキストをコピーペーストしましたが
そういうのが良くないのでしょうか

>>306
エントリポイントってのはスタート位置のことですね
耳慣れない言葉なので調べてみます
0308名前は開発中のものです。2009/11/15(日) 21:35:49ID:LmMqCYV8
エントリポイントについては、OSを介したプログラムの場合
気にしないでいい


フラッシュメモリやEEPROMなどのデバイスに書き込んで使うプログラムで主に問題になるものだから
0309名前は開発中のものです。2009/11/15(日) 21:36:50ID:LmMqCYV8
ただし、IDE側で設定できる場合でIDEから実行する場合は見直したほうがいいな
0310名前は開発中のものです。2009/11/15(日) 21:40:32ID:iM5ErMYK
releaseフォルダが存在しないなら、いままでreleaseではビルドされてないってことだから、
releaseかdebugの違いの可能性は無いので忘れて
0311名前は開発中のものです。2009/11/16(月) 16:45:46ID:3CcEh2OH
>>290
普通にリビルドすれば直るんじゃない?
多分前のバイナリが残ってるだけだと思う

一回ソリューションが入ってるフォルダの中の
debugってフォルダと
.suo
.user
.ncb
って拡張子がついてるファイル3つをゴミ箱に送って

ビルド→ソリューションのリビルドで動くよ。
なんかあった時用にバッチファイルで作っとくと楽
0312名前は開発中のものです。2009/11/17(火) 00:58:09ID:DiMI48MV
スレチだったらすまん

コンフィグ画面、メイン画面のメッセージ枠をキレイに作りたいんだが、デザインセンス皆無(と力不足)のため
そっけない感じしか出来ない…
お手本にするようなサイトや本って無いかな?
それともゲーム落としまくって参考にしたほうがいいかな…
0313名前は開発中のものです。2009/11/17(火) 01:28:29ID:3pCkE9PE
そっけなくても問題ないと思うよ?
0314名前は開発中のものです。2009/11/17(火) 02:45:30ID:1rtyKNW8
>>312
実際の画面の配色を見てみないとどんなデザインが合うか検討つかないけど、
結構本気そうだし、アマチュアでも良かったらそのゲームに合いそうなデザインorその助言をしようか?

さすがにここではスレ違いだし、名前の所にアドレスを貼ってみた。
良ければどうぞ。
0315名前は開発中のものです。2009/11/17(火) 08:17:13ID:cn3oHX7i
おおwすばらしいw
>>312頼んでみたら?
0316名前は開発中のものです。2009/11/17(火) 11:01:36ID:3pCkE9PE
これは突っ込んだら負けなのかw
0317名前は開発中のものです。2009/11/17(火) 15:55:17ID:hWpW9Zgb
メッセージ枠ってなに?
ただの四角を綺麗にするの?
ツル科の植物をてきとうに絡ませるような感じでおk?
0318名前は開発中のものです。2009/11/17(火) 19:42:17ID:HLuZj1fk
「ツル科」などという分類に入る植物は存在しない。
適当なことを言うな低学歴。
0319名前は開発中のものです。2009/11/17(火) 19:58:50ID:QV55hVjg
ただのコミュ障害か、ネタなんで気にしないでください。
0320名前は開発中のものです。2009/11/18(水) 22:55:36ID:vrhmXAes
>>318みたいなスルー出来ない奴ってなんなの?

「ツル科」などいう分類はない -> パースエラー -> 理解不能 -> 野暮なツッコミ

こういう流れだとしたら、脳の性能が悪いからかな?

「ツル科」などいう分類はない -> ツッコミどころ発見! -> 野暮なツッコミ

こっちだとしても、頭悪いね
0321名前は開発中のものです。2009/11/18(水) 22:57:52ID:k1u1gloe
一行目とそれ以降に矛盾を感じる
0322名前は開発中のものです。2009/11/18(水) 23:11:35ID:vrhmXAes
>>321
と思いがちだけど、別に矛盾はないよね
何でもかんでもスルーしろとは言ってない
>>318やお前のようなクソなレスを馬鹿にする分には
そりゃ個人の勝手でどうぞ
0323名前は開発中のものです。2009/11/18(水) 23:14:38ID:k1u1gloe
以上、僕と>>322の共同のネタでした
お騒がせしました
03243142009/11/19(木) 05:35:34ID:aOkcC/Yj
>>312
マトモにレスが付いてないし、釣りじゃなかったんだが反応の方も無いので一応。

メッセージ枠として無難なデザインに過ぎないけど、
背景を透明度の有る黒 枠は不透明に近い好みの1色 文字は不透明な好みの1色
使う色はなるべく黒・白を基本にもう1色などと少ない方が勝手に見栄えが安定する。
色は勘で作らずカラーパレットでググって、サンプルを見ながら色調を揃えるなど計画的に使う。

それでそっけなくて満足出来ないならば、どこか1辺だけ枠を無くしたり色味や形を変える。
右上だけに角取りをするorワンポイントを置いたりする。枠の一部をわざと少しだけ突き出す。など。

どんなゲームなのか解らんからよく使われがちなデザインでの話。で、現状に不満を持てるならセンスは磨けるはず。
諦めずにAmazonとかで本買って来て見よう見まねで手を動かせば誰でも成長はする。がんが。
0325名前は開発中のものです。2009/11/19(木) 19:41:28ID:YLHEX+S1
半透明の青(#4040ffくらいの)を使ったらそれだけでSFC時代の雰囲気になって、そのワクもない単なる青い四角で満足してしまったことがある
03263122009/11/19(木) 22:27:14ID:7rUNhOL9
>>324
とりあえずベース黒(すこし透明)に枠は白(不透明)で文字は白と黒の袋文字とかはやってます
基本読みやすさ重視だけれども、それだとそっけないなーと思ってたので…
色とか勘で決めてたので、今度から色調揃えてみるわ

とりあえず、本漁ったり他ゲーム見て勉強したりしてがんがってみる
レスありがとうー
0327名前は開発中のものです。2009/11/22(日) 20:03:20ID:MB5dnDgT
自分ひとりの力でSRPGを作りたくて今いろいろ調べてるんですけど、どうやらHSPといった言語で作るのがよさげ?なんでしょうか
自分は情報系の大学2年で言語はC++を一通り習った所で、できればC++を使って作ってみたいと思ってます
何かちょうど良い解説書とかないでしょうか?
坂本千尋著のロールプレイングゲームプログラミングといった本が良いらしいのですが今は絶版になっているみたいで手に入らなそうなので・・・
もしくはHSPとやらを学んで作ったほうが楽だったりしますか?
0328名前は開発中のものです。2009/11/22(日) 20:36:27ID:wKuwCJgN
「S」は知らんけど、RPGツクールでも使ったら?
情報系の学生ならHSPの長所短所ぐらいは自分で評価しなさい。
0329名前は開発中のものです。2009/11/22(日) 21:01:19ID:N6TMmKQz
http://tkool.jp/products/srpg95/index.html
0330名前は開発中のものです。2009/11/22(日) 21:45:15ID:x0jBp7Mc
HSPはまったくプログラム知らない初心者用のプログラム入門用言語だと思ったほうがいい
C++使えるならそっちでいいと思うよ
0331名前は開発中のものです。2009/11/22(日) 22:40:53ID:GOKoLW92
14歳はどうよ
03323272009/11/22(日) 23:19:12ID:MB5dnDgT
レスありがとうございます

>>328 >>329
ツクール系のものも考えてみたのですが、今回はプログラミングを使用してゲームを作りたいと考えてます
実際に使ったことはないのですが、どうやらプログラミング的な要素は無いように思えます
もしかしたらプログラミング的な要素がないという時点で自分は勘違いをしているのかもしれませんが・・・
HSPについては、すいません、自分で調べてみることにします

>>330
申し訳ありません、ソフトを作るといった時点で自分はまったくの初心者なんです
先にこのことを書いておくべきでした・・・
C++で作成できるという情報はありがたいのですが、まっさらな状態から何かソフトを設計するといった行為すら初めてなものでして・・・
こんな状態でもなにかしら自分の思いつく限りでソースを書き、試行錯誤していくべきなのでしょうか

>>331
14歳、というのは「14歳からはじめるC++わくわくゲームプログラミング教室」のことでしょうか
調べてみたところ、すぐにSRPGに繋がるものではなさそうですがC++でのゲーム設計の基礎が学べるようで、すごく気になりました
書店で探してみようと思います、有益な情報ありがとうございます
0333名前は開発中のものです。2009/11/22(日) 23:24:57ID:x0jBp7Mc
ソース書く前に企画書・仕様書書いたほうがいいと思うよ
0334名前は開発中のものです。2009/11/22(日) 23:28:37ID:YA9W724+
とりあえずゲームを作り始める前にウィンドウの表示のさせ方を調べることからはじめたほうがいいよ
0335名前は開発中のものです。2009/11/23(月) 00:33:14ID:+PDJqU2B
ああ14歳はSPRGの作り方が載ってると思ったから言ったけどあれはRTSだったかすまそ
まあ参考にはなるかも知れんが
0336名前は開発中のものです。2009/11/24(火) 03:52:16ID:ACaH6Yw9
C++できるならSDL使えばすぐ出来るよ
0337名前は開発中のものです。2009/11/24(火) 04:40:21ID:Yv5cTTds
SDLのが簡単なのか
俺はDXLIBの方選んだが
0338名前は開発中のものです。2009/11/24(火) 09:51:31ID:STKTYU9D
SDLはdirectx使ってないから遅い
0339名前は開発中のものです。2009/11/24(火) 12:41:16ID:UBQYebjm
そんなに重いの?俺はDirectX使った自前ライブラリだから関係ないけど。
0340名前は開発中のものです。2009/11/24(火) 13:18:10ID:5CvqamB+
下のページに載っているような「長距離型3Dレーザスキャナ」を野外に持っていって
木・草・建築物をスキャンしてやれば
低コストでPS3対応実写系3DCGの製作が行えると思うですが、
実際のゲーム製作現場において
あまり使われていない(室内での彫刻スキャンのみ)のはなぜなのでしょうか?
ttp://www.krcnet.co.jp/tech/tech_3Dlaser01.html

やはり3Dレーザースキャナの価格が高いからなのでしょうか?
0341名前は開発中のものです。2009/11/24(火) 14:03:10ID:iDm1reyZ
PS3対応実写系3DCGってなに?
03423402009/11/24(火) 17:15:50ID:5CvqamB+
>>341
「クオリティが高い」という意味です。
0343名前は開発中のものです。2009/11/24(火) 18:23:14ID:iDm1reyZ
・1つのオブジェクトをスキャンするのに、あっちこっちに移動して、いろんな角度から取らないといけない
・木や草など風で揺れるものはスキャンできない
・ゲームには実際に存在しないオブジェクトが、たいていの場合登場する
・高いクオリティとはポリゴンの微細さのみによるものではない
0344名前は開発中のものです。2009/11/24(火) 19:13:43ID:AApCK1M7
バカっぽい質問に目頭が熱くなった
これからも頑張ってほしい
0345名前は開発中のものです。2009/11/24(火) 20:16:16ID:AUHoNChH
>>343は偉いな
0346名前は開発中のものです。2009/11/24(火) 22:23:53ID:O7akk6aZ
初めてboost::shared_ptrを使おうとしたんですが、エラーが出てしまいました。
以下のような使い方はできないみたいです。

boost::shared_ptr<IDirect3D9> m_pD3D;

m_pD3D = Direct3DCreate9( D3D_SDK_VERSION );

たしかに普通にnewして入れるやり方と違いますし・・・
この場合、どのようにすればよいでしょうか??
0347名前は開発中のものです。2009/11/24(火) 22:26:33ID:i8576o9O
sptr.reset(rawptr)
0348名前は開発中のものです。2009/11/24(火) 22:48:37ID:CNN1XPTb
ブーストポインタって名前は無駄にかっこいいと思う
03493462009/11/24(火) 22:48:41ID:O7akk6aZ
>>347
ありがとうございます!

m_pD3D.reset( Direct3DCreate9( D3D_SDK_VERSION ) );

でエラーが出なくなりました!

しかし!今度は、上記で得たm_pD3DからIDirect3DDevice9を取得する関数がうまくいきません(涙)

SPtr<IDirect3DDevice9> m_pD3DDev;

m_pD3D->CreateDevice(
   D3DADAPTER_DEFAULT,
   D3DDEVTYPE_HAL,
   hWnd,
   D3DCREATE_HARDWARE_VERTEXPROCESSING,
   &m_D3DPP, &m_pD3DDev );

生ポインタを取り出せばよいかも、と思って、最後の引数を以下のようにしてみましたが、

&( m_pD3DDev.get() )

「'&' に左辺値がありません。」と怒られてしまいました・・・。
どのように与えればよいのでしょうか??
03503462009/11/24(火) 22:53:29ID:O7akk6aZ
↑すみません、SPtrというのは自分で以下のように定義したものです。

#define SPtr boost::shared_ptr
0351名前は開発中のものです。2009/11/24(火) 23:18:32ID:i8576o9O
普通のポインタで取得してから、スマートポインタに渡す。
03523462009/11/24(火) 23:45:30ID:O7akk6aZ
>>351
ありがとうございます!
コンパイルが通るようになりました!

しかし!終了時に以下のようなエラーが出てしまいます・・・ orz

Debug Assertion Failed!

Program: xxx.exe(プログラムのパス)
File: dbgdel.cpp
Line: 52

Expression: _BLOCK_TYPE_IS_VALID( pHead->nBlockUse )

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.

どうも、m_pD3D.reset( Direct3DCreate9( D3D_SDK_VERSION ) )がマズいようなんです。
そこの記述以外、コメントアウトして確認しました。
どうも、上記のエラーは多重deleteで起こる例があるようなんですが・・・

DirectX系の変数にshared_ptrはけっこう厄介でしょうか?
素直にSAFE_DELETEマクロで対応しておくか、それともCComPtrにするか・・・
他の方はどうされているか、気になります。
0353名前は開発中のものです。2009/11/24(火) 23:58:20ID:i8576o9O
IUnknownオブジェクトはdeleteせずに、Releaseメソッドを呼ぶ。
0354名前は開発中のものです。2009/11/24(火) 23:59:01ID:i8576o9O
というハンドラをセットすればいいだけ。
0355名前は開発中のものです。2009/11/25(水) 00:18:03ID:FbKntm27
いやいや普通boost::intrusive_ptrか
com_ptr_t使うでしょ
地味な嫌がらせすんなよ
03563462009/11/25(水) 00:45:40ID:b8pKhHr5
>>353
教えてくださってありがとうございます!

>>355
boost::intrusive_ptrやcom_ptr_tなんてものがあったんですね!
教えてくださってありがとうございます!
03573462009/11/25(水) 19:33:56ID:b8pKhHr5
先日はスマートポインタについて教えてくださって、ありがとうございました。
今日、早速、_com_ptr_tを導入してみたのですが、疑問があります。

_com_ptr_t<_com_IIID<IDirect3D9, &IID_IDirect3D9 >> m_pD3D;

で、実際にDirect3D9オブジェクトを取得するとき、

m_pD3D = Direct3DCreate9( D3D_SDK_VERSION );

でも、エラーやメモリリークの警告なく動きましたが、以下のようにAttachメソッドを使って、

m_pD3D.Attach( Direct3DCreate9( D3D_SDK_VERSION ) );

としても同様でした。

これってどちらでも同じということですか??
だとすると、Attachの存在意義というのは何なんでしょう??
0358名前は開発中のものです。2009/11/25(水) 23:52:09ID:txSAQlU4
オブジェクト指向がわかりません
何をどう質問したらいいかもわかりません
だから
ttp://homepage2.nifty.com/natupaji/DxLib/program/ActionSample.cpp
オブジェクト指向でこれと同じものを作ってソースください
お願いします
0359名前は開発中のものです。2009/11/26(木) 00:22:24ID:FX3L1wrJ
人に頼むときは銭を出せ
0360名前は開発中のものです。2009/11/26(木) 01:14:35ID:O1ccXkKB
スーパーマリオ系の2Dアクションを想定。

プレイヤーキャラとして、32x32のドット絵があるんだけど、これを2倍に拡大して、64x64として表示させてるんだ。
本当は64x64のドット絵を用意できればいいんだけど、自分の技術力が追い付かないので苦肉の策。

さて、この時、プレイヤーキャラ以外の部分、
例えばマップチップなんかも同じように2倍表示させないと違和感が残っちゃうかな?
0361名前は開発中のものです。2009/11/26(木) 01:24:38ID:PfXzni20
なんだか最近質問が増え始めた?
往年の過疎板に人が増えてるのかな
0362名前は開発中のものです。2009/11/26(木) 01:48:29ID:ZnyqECYM
高卒の就職難に伴うニート候補生の流入。

> 往年の過疎板
ttp://dictionary.goo.ne.jp/srch/all/%25B1%25FD%25C7%25AF/m0e/
0363名前は開発中のものです。2009/11/26(木) 01:55:19ID:ZnyqECYM
おっとスマン回答忘れたw

>>360
全部二倍にするって事?
もちろんそんな事する奴いないから経験談に基づく回答は期待できないと思うよ。

で想像するにマップチップを二倍にしようがしまいが、どっちもどっち。
キャラだけ2倍ならすぐばれる。
全部2倍ならしばらくはばれないが、違和感を感じさせるだろうね。

でもゆくゆくはちゃんとした64x64でキャラを用意するなら、
下手にマップチップ2倍にしないほうが良いと思うよ。
じゃないとマップチップを元の倍率に戻すときに、全部敷きなおすハメになる。
0364名前は開発中のものです。2009/11/26(木) 02:08:55ID:3yAXikhn
windows標準添付のペイントを使って画像の拡大縮小をすると補完処理されてドット絵が汚くなる
0365名前は開発中のものです。2009/11/26(木) 06:29:41ID:5GTdN3Md
ググレばサイズ変更のアプリくらい見つかるっしょ
0366名前は開発中のものです。2009/11/26(木) 15:10:44ID:O1ccXkKB
>>363
とりあえず、バレるとかバレないとかは問題じゃないです。
そういう意味での違和感という意味でもなかったつもりです。

レトロ感を出すために、わざとドットを荒くしてるゲームは見かけるのですが
僕が考えていた方法とは全く違う手法で実現されているということですね。

ありがとうございました。
0367名前は開発中のものです。2009/11/26(木) 21:02:58ID:X3yV1HjG
> とりあえず、バレるとかバレないとかは問題じゃないです。
> そういう意味での違和感という意味でもなかったつもりです。
だったら質問の仕方がおかしい。質問スレに来る以前の問題だ。
0368名前は開発中のものです。2009/11/26(木) 21:09:03ID:gOvUHsCw
解像度の異なる画像を同時に表示するって話じゃねの?
演出とか、あとはボスキャラなんかだと拡大表示してるのは見たことある
0369名前は開発中のものです。2009/11/26(木) 21:19:26ID:PfXzni20
話を極端にしてみて、たとえば、今のゲームレベルの高精細のきれいな背景に32x32のドット絵を
4倍くらいに拡大して表示するとする。それがレトロっぽいかというとそうは思えないだろうね
つまり解像度の違うものを一緒に表示することそのものはレトロぽさの表現方法にはなりえないんじゃないか?

レトロゲーム=レトロなハードで動くものだから、低解像度、少色数、PSG・FM音源など、を感じさせれば
レトロな雰囲気にはなるとは思うが
0370名前は開発中のものです。2009/11/26(木) 21:59:47ID:r4OxX25G
マリオ・ロックマン系アクションゲームで、斜めの床を作りたい場合ってどうすればいい?

考えうる二つの手法は
1. 一定ドット以内なら段差を上れるように+細長い床を沢山置く
2. 「床パーツ」を作り、独自の動作をさせる
とかなんだけど、何か他にいい方法あるかしら
0371名前は開発中のものです。2009/11/26(木) 22:12:39ID:3yAXikhn
斜めの床の移動って地味に難しいよな。左右移動中に自動でY座標操作しないといかんしね。斜めの部分と水平の部分の境目をなめらかにつながないといかんしね。
0372名前は開発中のものです。2009/11/27(金) 00:41:34ID:klVWX06T
ダッシュすると床から浮く事すらもあるしな。
スーパーマリオ3辺りではどうやって実装してんのやら。
やっぱ、斜めに走らせているのかね?
0373名前は開発中のものです。2009/11/27(金) 00:55:17ID:klVWX06T
斜めに走らせると、今度は斜めの部分と水平の部分の境目で、どう動かすかが問題になると。
やっぱ、縦と横とで別々に判定するのかね?
0374名前は開発中のものです。2009/11/27(金) 01:18:37ID:9X6aatWO
良くある手法だけど、当たり判定のレイヤーを作って
キャラから下方向へレイを飛ばして地面高さを検出する。
レイの位置で、傾斜具合と段差具合を感知できる
0375名前は開発中のものです。2009/11/27(金) 01:57:30ID:ciI0pQpp
>>370
マリオやロックマンを参考にデザインするなら2番がいいと思うよ
0376名前は開発中のものです。2009/11/27(金) 03:25:27ID:K0drbZ3q
ただ斜めになっただけであれば直線であれば判定は難しくない希ガス
簡単な計算で済みそうだけど
0377名前は開発中のものです。2009/11/27(金) 03:53:31ID:ZMw5vuW4
坂に向かって、こういう風に移動した場合

               / ̄ ̄
     人→     /
    ̄ ̄ ̄ ̄ ̄ ̄ ̄

横キーを押したまま

                →人
            人/ ̄ ̄ ̄
       人→  /
    ̄ ̄ ̄ ̄ ̄ ̄

坂を登らなきゃならないのよね。
0378名前は開発中のものです。2009/11/27(金) 04:23:39ID:K0drbZ3q
俺だったら

                   /|  | ̄ ̄
                 /  |  |
    ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |  |  |
       1      |  |2 |  | 3

の3つのパートに分けて考えるかな
キャラの右端が1→2のパートに掛ったら
キャラの位置の地面のY軸計算したりしてやったりしたらいいんじゃないの
0379名前は開発中のものです。2009/11/27(金) 04:53:37ID:Ce0qb9f7
1→2で右に向かうとき移動速度下げて、3についたら元に戻す
逆に3→2で左に向かうなら移動速度上げる
Y軸は2上にいるときはX軸から常に計算する
あとは2上でジャンプしたときのことも考えないといけないし、色々めんどくさいよな
0380名前は開発中のものです。2009/11/27(金) 05:11:27ID:K0drbZ3q
地面上の移動速度同じにするなら2の所では
─÷/分掛ければいいだろうね
この45度の場合は1/√2を
別の角度の時も同様にして
0381名前は開発中のものです。2009/11/27(金) 08:44:13ID:oVvXQuEW
>>357
operator=()はAddRef()を実行する。
Attach()は実行しない。

>m_pD3D = Direct3DCreate9( D3D_SDK_VERSION );
これだと、Direct3DCreate9()から返った時点で参照カウント=1、
m_pD3Dに代入した時点で+1、つまりリークしている可能性がある。

>m_pD3D.Attach( Direct3DCreate9( D3D_SDK_VERSION ) );
これは、Attach()後、参照カウント=1で正しい値だ。
Attach()は既に生成されているCOMポインタを、
スマートポインタに入れる際用いる。

0382名前は開発中のものです。2009/11/27(金) 09:59:45ID:YTfLn1jQ
斜面移動中に”落下状態”に遷移しちゃいけないって問題もあるね
0383名前は開発中のものです。2009/11/27(金) 11:31:43ID:B55jAkdN
それもあるな、むずいぬ
細長いブロック重ねると汎用性はあるけどそれに対処できないっぽいし
斜めブロック作るのが一番いいっぽいか…
0384名前は開発中のものです。2009/11/27(金) 12:37:21ID:K0drbZ3q
斜面上にいる状態で左右押せば斜め移動させる処理させればいいだけだから落下状態に遷移する心配はないでしょう
0385名前は開発中のものです。2009/11/27(金) 17:06:09ID:kH+0vKoL
坂を下りるときは加速がついて、ジャンプの高さが増加したり?
0386名前は開発中のものです。2009/11/27(金) 19:05:57ID:mZhrlxRy
すみません。
3Dゲームで4分木(平面)を使うか8分木(立体)を使うか、どっちが効率が良いか悩んでいます。
みなさんはどういう判断基準で使い分けてらっしゃるのでしょうか?
03873462009/11/27(金) 19:22:34ID:e6wpKS0b
>>381
なるほど!そういうことだったんですね!
すごく勉強になりました!
早速修正してきますw

ありがとうございました!!
0388名前は開発中のものです。2009/11/27(金) 19:59:55ID:8DiO8Iwy
ゲーム開発でよくいるアホの巻

ステータス管理の構造体に
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char






アホである。体力のように、数値が問題になるやつは最低限確保しないといけないが
ステータス異常は10個以上あってもshort int1つだけでよいというのに!
■ このスレッドは過去ログ倉庫に格納されています