【初心者】スレを立てる前にココで質問を【Part18】at GAMEDEV
【初心者】スレを立てる前にココで質問を【Part18】 - 暇つぶし2ch749:名前は開発中のものです。
09/02/10 23:09:23 pNTsVteB
すみません。C++とDirectXで
CreateTextureFromFile()
等で得たテスクチャ画像を編集する方法を紹介した、良さそうな
サイト・書籍を、どなたかご存知ではないでしょうか?
(スプライトの書換えや、水面等の動的なものの作成目的です。)

750:名前は開発中のものです。
09/02/10 23:21:51 DJe5+xgh
「ゲームプログラマになるために覚えておきたい技術」
という本を買ったのですが、
同梱のCDに入ってるライブラリについてあまり触れられていませんでした。
描画関係のライブラリを作りたいのですが、何を勉強すればいいのですか?

751:名前は開発中のものです。
09/02/11 01:25:56 4hTPPqBw
素人がプログラムを初めるとして、何が無難だ?
javaはよく言われるが、HSPも初心者向けと聞く。
cやc++は本格的らしいが。

752:名前は開発中のものです。
09/02/11 01:38:15 RH/pNw1y
>>750
デバイスドライバみたいなの作りたければ、Windows、IA-32アーキテクチャ、グラフィックカードについて勉強したらいいんじゃね。
DirectXみたいなのを作りたければ、デバイスドライバについて勉強したらいいんじゃね。
DxLibみたいなのを作りたければ、DirectXについて勉強したらいいんじゃね。

>>751
HSPで良いと思うよ。

753:名前は開発中のものです。
09/02/11 02:17:29 guiVU4kF
>>751
実を言うとその中のどれを選んでもそんなに差はない
コンピュータに命令を実行させるための文章を書くだけだから
ただ、資料やらサポートやらを考えるとHSP辺りが無難な気がする

754:名前は開発中のものです。
09/02/11 02:28:47 xw6Y4xot
>>751
その文章から君のスペックをエスパーすると、まあHSPが無難だろうね

755:名前は開発中のものです。
09/02/11 04:01:54 rlpXwaSV
C++をまぁまぁ扱える人(簡単なゲームなら組める程度)がHSPを使う利点ってある?

756:名前は開発中のものです。
09/02/11 04:19:07 0YqvCZZt
HSPは昔少しさわった程度だが、ああいう古典的なBASICで複雑なゲームを作るのは面倒だと思う
まあ簡単なゲームを作るだけならHSPでもいいんじゃない?

757:名前は開発中のものです。
09/02/11 04:33:57 rlpXwaSV
てきとーにネット検索した感想。

mes命令とか便利なのがありそう
クラスないのかな
コードが、何というかこう、綺麗だった(ブラックボックス的な部分が少ない)

結論:わざわざ乗り換えることもなさそう(簡単なゲームを作るだけでも)。
    初学者でプロになるつもりは無いけどもゲーム作りたいなぁって人は、Cとか使うよりこっちのがいいんじゃね?

758:名前は開発中のものです。
09/02/12 12:54:24 lURyLUG/
ゲーム作りたいならHSPでもいいかもしれんけど
プログラミングを勉強したいなら、やめた方がいいかと

759:名前は開発中のものです。
09/02/12 13:23:58 L0ryblMU
すいません。キー入力の押しっ放しの状態についてなのですが、
メッセージ処理用のコールバック関数で取得すると正しく動くのですが
DirectInputで取得すると、キーを押した瞬間と離す瞬間しか
処理されません。

switch ~ case文だけで配列に入力結果を+=などしているのですが、
これは何か自分で仕組みを作らないといけないのでしょうか?
それとも何か間違えているからこうなるのでしょうか?

760:759
09/02/12 14:20:11 L0ryblMU
どうやらバッファリングデータの使い方を誤っている事が原因の様でした。
未解決ですが自己解決できそうです。 失礼致しました。

761:759
09/02/12 15:38:17 L0ryblMU
度々申し訳ありません。上の問題は解決できたのですが、

「プログラム窓の上でのみ」なのですが、マウスを移動し続けると
メインループ(WinMain)に処理が渡らず、ゲーム全体の処理が止まり
WindowProcの処理だけが行われます。
どなたかこの問題の解決のヒントになりそうなものをご存知でしたら、
教えて頂けると幸いです。

762:名前は開発中のものです。
09/02/12 15:40:19 DKkT4ezx
>>761
根本的な考え方が間違ってる希ガス

763:名前は開発中のものです。
09/02/12 16:08:47 7MTQgjds
メッセージループでメッセージが無いときにゲーム処理にまわしてると思うんだけど、そうだとしたら
1.
WM_MOUSEMOVEなど、頻繁に起こり処理が軽いと思われるメッセージのときは、
アイドル状態と同じフラグをたてて、ゲーム処理にまわす。
2.
ゲーム処理用のスレッドを作成して、メッセージループと切り離す。

くらいじゃね。

764:759
09/02/12 18:54:31 duXqaUj6
>>763
そういうメッセージが有るのですね。
2はまだ解らないので、1の方法で解決まで頑張ろうと思います。
といっても、>>762さんの指摘通りというか、WindowProcの勉強からし直さないとですが。
ご助言ありがとうございます。

765:名前は開発中のものです。
09/02/12 19:54:00 L5WqvJTH
GetMessageじゃなくてPeekMessageを使う。

766:759
09/02/12 20:41:53 duXqaUj6
>>765
確認した所PeekMessageを使っていました。ありがとうございます。

767:名前は開発中のものです。
09/02/14 21:44:22 OeapWsJ7
URLリンク(baby.from.jp)
↑みたいな、ひたすらキャラに声をかけて反応を楽しむ単純なゲームをサイトに置きたいと思っています
できればキャラの台詞と絵は同じ画面で、よくあるギャルゲみたいな画面にしたいんですが

URLリンク(www.freem.ne.jp)
この中ならどのソフトを使うのが適しているでしょうか?
また、他にもっと最適なツールがあったら教えて下さい

768:名前は開発中のものです。
09/02/14 22:12:31 vp2iCUO6
>>767
どの程度プログラム知識があるか分からんから一々説明するが、
プログラム自体は簡単だが、「サイトに置く」ってのでかなり限定される。
下の中で使うならFlash。
とまで書いたところでやっぱりめんどくさくなっちゃった。
がんばって。

769:名前は開発中のものです。
09/02/14 22:22:24 kMk2P0bB
サイトに置く前に著作権を考える方が先だ

770:767
09/02/14 23:01:32 OeapWsJ7
レスありがとうございます。
>>768
自分の知識は、タグ打ってサイトを作れる程度です。
イラストサイトなので簡単なスタイルシートとフレームくらいしか使ってません
やっぱりFlashがいいですか。ちょっと調べてみます
>>769
キャラと絵はオリジナルのものを自分で用意するので、著作権は大丈夫だと思います
例えに出したゲームでややこしくなっちゃってすみません…


771:名前は開発中のものです。
09/02/15 02:20:35 PAYmzhtZ
Flashだった見栄えもよくなるよ

772:名前は開発中のものです。
09/02/15 10:30:04 GXIcUWzj
ゲームプログラミングを始めるためには、やはり入門書を買う事が推奨されるのか?

773:名前は開発中のものです。
09/02/15 13:37:21 awgvUZYj
誰かに教えてもらえるような環境があるなら、それはそれでいいと思うけど、
なんか手元に1冊あったほうがいいんじゃないかなあ。


774:名前は開発中のものです。
09/02/15 13:53:04 A1rRuMYU
>>772
なんか変な質問だなぁw
要ると思うなら要るし、要らないと思うなら要らない。としか答えようがない。
歌歌いんだけど歌詞あったほうがいいですか?って聞くのとあまり変わらないw

775:名前は開発中のものです。
09/02/15 13:55:38 vG5/sWGs
なんていうか、入門書を選ぶための本が欲しいと思った

776:名前は開発中のものです。
09/02/15 14:38:21 RlenjiRz
すみません、3Dゲームでモンスターの上に名前を表示させたいのですが、
1匹ずつポリゴンに書き込んで頭上に置くのと
座標だけとって1枚のspriteに書き込むのとでは、
どちらの方が良いでしょうか?

大まか過ぎる質問ですみません。
実装難易度と、処理の負担軽減になるのか について簡単に教えて頂けると幸いです。

777:名前は開発中のものです。
09/02/15 15:01:12 K2ujHzzS
>>775
スレッド一覧見た?

推薦図書/必読書のためのスレッド in ゲ製作技術 3
スレリンク(gamedev板)

778:名前は開発中のものです。
09/02/15 20:59:12 Qo2Vwsoz
>>776
そういうのは後者の方法使う場合が多いと思う、
メリットうんぬんについては話すと長いので、
「ビルボード」でぐぐってみ・

779:名前は開発中のものです。
09/02/15 22:10:59 Cu1XELHF
3Dゲームで使う半透明合成を自然にする方法ってどんなのがありますか?

・オブジェクトごとにソートする
→オブジェクトが他のオブジェクトに重なるとまずい
→オブジェクトが増えれば増えるほどコストが高まる?
かといってソートしないと後ろにあるオブジェクトが描画されなかったりします。

・不透明、半透明でオブジェクトを分けて、
半透明のオブジェクトを書くときにZバッファ書き込みOFF(ソートしない)
→描画順序が縛られるのとかが困る・・

これ以外に何か方法あるでしょうか?

780:名前は開発中のものです。
09/02/15 22:28:43 aHn7Ok5C
DirectX11ではソートする必要なくなるらしいね

781:名前は開発中のものです。
09/02/15 22:38:25 Oj+hr5Jp
・Zバッファクリア
・不透明なポリゴンを普通に描画
・半透明なポリゴンを深度書き込みしないで描画
透明ポリゴンが不透明ポリゴンに直線的に寸断されるとか気にしないw



782:名前は開発中のものです。
09/02/16 00:43:05 zYRTmFZ+
3DゲームってどうやってMAPにフラグ配置してるんでしょうか。

MAPが3Dで、キャラが2Dの横スクロールACT作成中なんですが、
イベントや敵配置をどうやって実装するかで困ってます。





783:名前は開発中のものです。
09/02/16 04:39:23 oSVhnH0/
>>780
それは凄いね
自分がソフトウェアレンダで実装するとして、方法が思いつかない
どういうロジックなんだろう

784:名前は開発中のものです。
09/02/16 09:58:54 B6cDSnRj
>782
そのMAP自体は2Dで表現可能?

785:名前は開発中のものです。
09/02/16 10:35:50 1G0H203W
>>783
A-Buffer
URLリンク(game.watch.impress.co.jp)


786:776
09/02/16 11:27:02 e5/3B0sS
>>778
そういうものが有るのですね。色々見付かりました。ありがとうございます!

787:名前は開発中のものです。
09/02/16 14:50:42 i1Y9wFn0
>>785
>DirectX 11以降でリアルタイム実装できないか、検討が始まっているというのだ
検討してるだけで実装出来るかは分からないじゃんw
しかも11じゃ無くて以降w

788:名前は開発中のものです。
09/02/16 21:50:15 z8CKCBB5
なん…だと…?

789:名前は開発中のものです。
09/02/17 13:50:44 QNQL/AoE
>>785
thx

非リアルタイムでやる場合は可変長のバッファを使ってそうだし、綺麗な実装は難しそうだと感じた

790:名前は開発中のものです。
09/02/17 14:08:10 QyCDgkCp
すいませんC++なのですが、
文字列を 1文字ずつ文字コードを取得 → 連結としたいのですが

UINT code =0;        // 1文字の文字コード
char codeadd[1024] = "\0"; // 連結先

strcat(codeadd, (char *)code); // ループ中で連結

とするとアクセス違反になってしまいます。(コンパイルでも警告が出ます)
strcat((char*)codeadd, (const char*)code);等他にも色々試したのですが
上手く行きません。

私は何が分かっていないのでしょうか?

791:名前は開発中のものです。
09/02/17 14:25:07 nPVB/UbL
UINT code =0;で(char *)codeは0番地にあるものを読もうとしている。
文字コードを文字列に入れたいなら、直接その位置にいれるかsprintfでも使っては?

792:名前は開発中のものです。
09/02/17 14:25:28 gCkzac/M
最初に\0を最後にやっちゃったら入力した文字との間にある未定義部分はどうする気なの?

793:名前は開発中のものです。
09/02/17 14:25:30 urqOU99Z
数値型変数とポインタ変数の違い

794:名前は開発中のものです。
09/02/17 14:28:57 yTr6+UQ7
>>790
文字列をコピーする時の動作を考えてもらいたいのですが、
第二引数は、文字列へのポインタですよね?
codeには0が入っているので、strcatはメモリ0番地に格納されている文字列を読み取ろうとします。
( 0を読み取ろうとはしてくれません。 )

したがって strcat(coddeadd, (char*)&code); と書く良いと思います。


795:名前は開発中のものです。
09/02/17 15:28:36 4e9Y01c5
strcat使うなら、文字列のポインタを渡さないとだめだよ
変数codeは文字列じゃなくて数値でしょ

796:790
09/02/17 16:55:29 gLW/rNA6
>>791 >>792 >>793 >>794 >>795
多数のご助言ありがとうございました。
strcatはこの場合ポインタを渡すものだったのですね。
文字列同士はすんなりいくから混乱を;

>>794 さんのコードですが、動作はしたのですが予期しない形になったので
>>791 さんの助言通りsprintfを使ってみたらすんなり行ってくれて解決しました。

またperlから始めたからなのか、文字列の扱いや考え方そのものが根本的に間違ってる
らしい事がわかりました。ポインタの扱い含め改めて勉強してみます。
ありがとうございました。

797:名前は開発中のものです。
09/02/18 08:50:16 ghOP6H6o
>>794のやり方は危険だろ…。
真似しないようにな。

798:名前は開発中のものです。
09/02/18 09:07:21 TZXmpKqR
>>797
kwsk

799:名前は開発中のものです。
09/02/18 11:11:25 5nbYIt+y
C++から利用できる物理エンジンでお勧めはありますか?
今のところBox2Dを考えています

800:名前は開発中のものです。
09/02/18 20:26:46 V1Bf6k7O
プログラマーを目指そうと思うのですが
C言語から勉強するに当たってどのような書籍がおすすめでしょうか?

801:名前は開発中のものです。
09/02/18 23:05:34 cYi/Brlq
>>800
PG目指してるなら板違いな気もするが?
本屋で適当に取っ付きやすそうな入門書あさっとけ
どうせ構文を理解できるようになったら、本なんてリファレンスブックしか役に立たん

802:名前は開発中のものです。
09/02/19 01:21:09 wt9mR1bj
プログラマーって言ってもゲームのだからこの板のほうがいいのかなと

803:名前は開発中のものです。
09/02/19 01:34:27 qJFkcUoT
すみません、C/C++でファイルや画像データを受け取る
BYTEやBYTE配列の解説、実用例のサイトは有りませんでしょうか?
検索してもデータ変換や単位としてのバイトばかりしか見つからず;

BYTE* aaa = new BYTE[2048 * 256];
というBYTE配列の宣言方法だけはわかったのですが、
普通の配列と宣言方法が違うので、これはどういう書式で
表現すれば良いのか戸惑ったり、配列中の1要素の初期化や、
配列と配列でない場合でも同じ構文でコンパイルが通ってしまう事など、
扱い方以前に、どういう存在なのかすらもわからず困っています。

どうか解説サイト等をご存知でしたら、よろしくお願いします

804:名前は開発中のものです。
09/02/19 01:37:39 QBeNU540
それはポインターの宣言。

↑の意味が判るまでこの板に書き込むの禁止ね。
ここはゲーム製作初心者対応スレであって。
プログラミング初心者には対応してないから。

805:名前は開発中のものです。
09/02/19 03:11:00 brsC+1BP
>>803
ちょっとぐぐったらあったぞ。こういう所はたくさんあるし、書籍も多い。
C/C++プログラミング初心者講座
URLリンク(www.stat.phys.kyushu-u.ac.jp)
これはVC++ではConsole Applicationで作成する範囲だがC++の基本。

変数や配列を漠然と捉えてると思うが、それらの確保にもコンピュータの基本的な
仕組みが分からないとC/C++では上手く組めない。

806:名前は開発中のものです。
09/02/19 03:34:05 2iSNTXzG
BYTE* aaa = new BYTE[2048 * 256];
はふつうのやり方だが。
これできるなら
BYTE* aaa[2048 * 256];
もかのはず

807:名前は開発中のものです。
09/02/19 04:29:38 DcPsAx+v
それはポインタの配列だし
あと大きな自動変数はスタックオーバーフローが発生する環境もあるので
細かく考えるとあまり好ましくないかも

808:803
09/02/19 08:43:13 T2fwkUuv
>>804
>↑の意味が判るまでこの板に書き込むの禁止ね。
BYTEの使い方が知りたかっただけなのに・・(´・ω・`)
でも確かに、画像扱う目的だったけど、この内容じゃ板違いですよね。
すいませんでした。

>>805
>変数や配列を漠然と捉えてると思うが、それらの確保にもコンピュータの基本的な
>仕組みが分からないとC/C++では上手く組めない。
この場合のBYTE*は2048サイズを示すポインタを256個だったのかな。
サイズの決まってないポインタってどこでデータサイズ認識してるんだろう

板違いすいませんでした。判るまで書き込まないようにします。(´・ω・`)

809:名前は開発中のものです。
09/02/19 11:01:32 xAyFuv+n
ゲーム開発の素養のない人間が、ひとつのプログラミング言語を学んで
ゼロからスパロボ風SRPGを作る場合、適していると思われる言語はどのあたりでしょうか?

810:名前は開発中のものです。
09/02/19 11:05:39 C/f3fnJW
なぜいつの時代もこの質問は絶えないのだろう。ノベル以外はC++習っとけって

811:名前は開発中のものです。
09/02/19 11:06:40 QHvTWEmV
どれくらい期間をかけるつもり?

812:名前は開発中のものです。
09/02/19 12:11:08 pK8rwy5+
>>804の一行目はなんかおかしい。

813:名前は開発中のものです。
09/02/19 13:35:23 K+oLPXlf
>>809
C++だな

814:名前は開発中のものです。
09/02/19 14:43:07 LWfTLUpr
とりあえずC→C++と勉強してみる
もし挫折したら挫折したポイントを把握して、自分に合った言語を探す


815:名前は開発中のものです。
09/02/19 14:47:24 h/kEgg8F
5年くらいかけるつもりならそれでもいいけど
さっくり作りたいなら
Flashかなんかでやった方がいい希ガス

816:名前は開発中のものです。
09/02/19 15:18:23 vzHVUT+4
>>809
「ひとつの」「プログラミング言語を学んで」「ゼロから」
「スパロボ風SRPGを作る」のうちのどれに重点を置くかによるけど
プログラム知識0でスパロボ風ならまずSRCじゃね?
ツールだけど実質はスクリプトみたいなもんだし、ソース(VB)が公開されているから
VBを勉強してソースをいじってプログラミング自体に慣れて
その後に必要だと思えば本格的な言語に移行すればいい

817:名前は開発中のものです。
09/02/19 17:37:26 8rV8hLL/
Linus「C++プログラマはウンコ。寄ってくるな」 2
スレリンク(tech板)

818:名前は開発中のものです。
09/02/19 21:30:10 brsC+1BP
一つしか作らないのならC++は勧められない。ハードルが高い。

>>817
C++無しで業界もたせる自信あるのか

819:名前は開発中のものです。
09/02/19 22:20:26 iMt6zJFg
胸をオンマウスで揺らすようなゲーム(フラッシュ?)を作りたいのですが
何か良いソフトはありませんか?

820:名前は開発中のものです。
09/02/19 22:23:24 QHvTWEmV
ADOBE FLASH CS4 PROFESSIONAL

821:名前は開発中のものです。
09/02/19 22:28:28 5Kxzehnj
URLリンク(www.bandaigames.channel.or.jp)
こういうゲームのスクロール&マップ読み込みってどういう形で実現しているんですか?

822:名前は開発中のものです。
09/02/19 22:35:21 5Kxzehnj
あ、だいたいわかりました。

823:名前は開発中のものです。
09/02/20 09:18:02 uZ6lLjFj
>>821
面白そうだなこれ。

824:名前は開発中のものです。
09/02/21 02:48:51 QE1c2mvz
>>808
安心しろ

熟練したプログラマでも>>808の言ってること理解出来ないからwww

825:名前は開発中のものです。
09/02/21 13:44:38 0e5wYDEJ
ゲームプログラムの勉強のためにゲームの
ソースコードを読みたいんですが
そういうのってどこかで手に入らないでしょうか?
ググってみてもなかなか見つかりません。

826:名前は開発中のものです。
09/02/21 13:52:28 e1XMu+Rc
linux用のゲームならソースが手に入るぞ。基本的に自分でビルドする世界だから。
rogueとかのも簡単に手に入る。

827:名前は開発中のものです。
09/02/21 13:55:44 0e5wYDEJ
どうもです^^

828:名前は開発中のものです。
09/02/22 15:05:33 nkGE5vmJ
C++の入門書一冊読んだ程度の人がC++でFF4~6あたりの
バトルシステムを作るのはどれくらいの難易度ですか?
わかりやすくガンダムでたとえてお願いします

829:名前は開発中のものです。
09/02/22 15:06:44 5VfDNf7f
ガンダムを見た人がガンダムを作るくらい

830:名前は開発中のものです。
09/02/22 15:21:26 I8GOlXJZ
システムだけならエレカーくらい。
素材&演出まで含めればコロンビアくらい。

831:名前は開発中のものです。
09/02/22 16:08:06 Hp70lwy4
ifとかforとかキー入力、文字表示とかできるんだよな?

絵とかウィンドウ表示とか気にせずに
とりあえず作ってみたらいいじゃない

832:名前は開発中のものです。
09/02/22 16:22:52 nkGE5vmJ
了解
がんばるお

833:808
09/02/24 00:24:33 6CluSZcF
>>804~807 824
ちゃんとBYTEの使い方理解したよ・・(´・ω・`)
我ながら今見るとイミフな事言ってて顔真っ赤だよ。 ごめんよ。(´・ω・`)

834:名前は開発中のものです。
09/02/26 02:07:40 aQvkhPES
ファミコンに実装されている程度のものなら、時間をかければ出来上がる。
がんばりなさい。



835:名前は開発中のものです。
09/02/26 11:10:47 MCEZNxbi
関数のプロトタイプ宣言なんですけど、ここの真ん中辺りの=0って何を意味してるんでしょうか
引数の初期値はこんな感じに指定できるらしいので、戻り値の初期値かとも考えたんですが、それらしいのはググっても出てきません

URLリンク(www.ai-junkie.com)
class State
{
public:
virtual ~State(){}
//this will execute when the state is entered
virtual void Enter(Miner*)=0;
(以後略)

836:名前は開発中のものです。
09/02/26 11:51:21 vRaka2Yp
>>835
つ 純粋仮想関数

837:名前は開発中のものです。
09/02/26 12:00:49 MCEZNxbi
サンクスコ
派生クラスで実装しなけりゃならない関数ってことですね
ほんと検索し辛い書式だったから助かった

838:名前は開発中のものです。
09/02/26 18:52:56 /YObTcGs
同一クラス内で関数から関数へ処理が飛ぶ度に
グローバル変数が初期化されてしまうのはなぜでしょうか?

宣言も定義も関係ないかなり前の関係ない処理で済ませているのですが‥。

839:名前は開発中のものです。
09/02/26 19:03:27 AgjXPM5U
それはクラスのせいじゃなくて
根本的な設計でミスがある
ソースうpしる

840:名前は開発中のものです。
09/02/26 20:59:53 +KS+Iklt
たぶん、コンストラクタでグローバル変数の初期化もやってしまってる。
インスタンスの実体渡しなんかで意図せずともクラスのコピーが作られるたびに
毎回そのコンストラクタ呼んでるとか。

841:838
09/02/26 22:09:27 NA3mbG3T
>>839 >>840
なるほど。ちょっとソース見直して駄目だったらソースうpしてみますね。
ありがとう。

842:名前は開発中のものです。
09/02/26 22:29:15 R7rqB8oa
処理を止めずに時間待ちしたいんですけどどういう方法になりますか?

843:名前は開発中のものです。
09/02/26 22:40:49 nMqudB9d
タイマーメッセージ、スレッド、好きなものを使え

844:名前は開発中のものです。
09/02/26 23:07:19 R7rqB8oa
できました
ありがとうございました

845:名前は開発中のものです。
09/02/27 08:42:51 qC7p8enA
プロは3Dモデルを作るのにMayaを使ってるのが多いみたいですが
metaseqoiaだけでも同じようなのが作れますか?(リネージュ2みたいなモデルとマップ)
ちなみにテクスチャはSaiで描こうと思っています。

846:名前は開発中のものです。
09/02/27 09:12:38 mMieHrP7
「同じような」が何を指してるのかわからんが
プロ級のクオリティのことならまず道具より腕だろうな

847:名前は開発中のものです。
09/02/27 14:33:23 UNFRcdin
プロでもモデリングの初期の作業まではメタセコでやってるやつもいる


848:名前は開発中のものです。
09/02/27 14:55:17 MDeQuwXl
>>845
どっかの動画から3D起こしてしまうような魔法のツールでもない限り、モデリングに関してはどれ使ってもメタセコイアと50歩100歩だと思いたいな
メタセコしかまともに触った事がないからですけどね・・・

849:名前は開発中のものです。
09/02/27 14:56:12 MDeQuwXl
ぎゃーあげてもうた

850:名前は開発中のものです。
09/02/27 15:07:27 crbDiX+m
          |∧_∧  パシャッ
          |・ω【◎】       ∧_∧    パシャッ
          | っ 9      【◎】\) パシャッ
          |―u'        └\ \
∧_∧  /                く ̄(
( ´∀【◎】  カシャ!
(つ   9  \               \  ∧_∧
| | |         >>849   カシャ!  【◎】ω・` )⌒っ
(__)_)                 /  しと,.__,.,.._っ
          ∧_∧
          (   )】 パシャッ
         /  /┘   パシャッ
        ノ ̄ゝ

851:名前は開発中のものです。
09/02/27 18:26:44 KUMfHeO0
あげさげ気にしてお詫びレスいれるなんて
ここは初心者スレか?

852:名前は開発中のものです。
09/02/27 18:51:00 bjtiOIe+
そうだよ

853:名前は開発中のものです。
09/03/01 12:07:08 flUkYYsY
RPGのプロット書きに適したテキストエディタのおすすめありますか?

854:名前は開発中のものです。
09/03/01 12:19:37 I7MayTRi
別にメモ帳で十分じゃね
いっそIDEをプログラム書くために使うのではなくメモ帳として使うという方法もあるがな

855:名前は開発中のものです。
09/03/01 13:14:13 djbSsEFD
URLリンク(journal.mycom.co.jp)

856:名前は開発中のものです。
09/03/01 14:30:07 flUkYYsY
>>854
>>855
どうもありがとうございます!使わせていただきます。

857:名前は開発中のものです。
09/03/01 14:54:58 E5k4v6wb
RPGのプロットって具体的にどんなこと書くんだろ?

858:名前は開発中のものです。
09/03/01 15:03:52 flUkYYsY
ミストウォーカーにヒゲのプロットが乗ってたような
あとなんかのアルティマニアにも乗ってた

使ってるけどこのソフトかなりいいですよ
分かりやすいです

859:名前は開発中のものです。
09/03/01 15:58:50 idjBCaEs
ネットワーク対応ゲームを作るとしたら言語は何?

860:名前は開発中のものです。
09/03/01 16:10:42 iloAqYLR
>>859
C,C++,Java,C#

861:名前は開発中のものです。
09/03/01 19:48:04 dUT5teEq
>>859
たいていの言語でできる
すでに知っている言語があるならそれで作るのが早い


862:名前は開発中のものです。
09/03/02 01:16:53 ZDUxNb6F
複数のフラグをひとつのintにまとめる方法があったと思うんですけどどうやるんですかね
bool大量に定義したほうが処理速いかな

863:名前は開発中のものです。
09/03/02 01:17:29 ZDUxNb6F
すみません言語はC++です

864:名前は開発中のものです。
09/03/02 01:29:04 0n4tvobk
ビット?

865:名前は開発中のものです。
09/03/02 01:34:20 RB8UFn8K
ビットフィールドで検索汁

866:名前は開発中のものです。
09/03/02 02:34:22 5gkwIXGZ
C++でビットフィールド使えたっけ?

#define FLAG1 0x00000001
#define FLAG2 0x00000002
#define FLAG3 0x00000004
#define FLAG4 0x00000008
#define FLAG5 0x00000010

int flag = 0;

 flag |= FLAG1;
 flag |= (FLAG2 | FLAG3);

 if(flag & FLAG1)
  func();

 flag ^= ~FLAG1;

だったかな?ちょっと演算子は自信ないww

867:名前は開発中のものです。
09/03/02 04:13:56 Xl+iv3T+
>>862
他の人も言ってるようにビットフィールドだね。

~   not。フラグを反転しておきたいとき。
|   or。フラグを立てたい時。
&  and。フラグが立っているか調べたい時。
^  xor。特定のフラグを反転したいとき。

特定のフラグを寝かせたいとき。ビット反転したフラグをandする。
flags &= ~FLAG1;

ある一連の桁から数値を取り出したいとき。例えば右からn桁目~n+4桁を取り出す場合。
あらかじめフラグを用意しておいてandし、シフトする。
int value = (flag & ((15) << n)) >> n;

逆に特定の桁へ数値を代入したいとき。一度寝かせてからシフトした値をorする。
flags = (flags & ~(15 << n)) | (value << n);



868:名前は開発中のものです。
09/03/02 06:41:30 zwfhknWm
>>862
URLリンク(www.geocities.jp)

869:名前は開発中のものです。
09/03/02 07:52:14 EVMayHey
ゲームのエフェクトに関するスレないっぽいので質問させてもらいます

画像が4分割されるエフェクトとか
砕け散るようなエフェクトとか

色々ありますけど、みなさんはそういうのは全部自力で実装してるんですか?
たとえばくだけるなら
画像を200分割ぐらいで読み込んで、それらをランダムに飛ばして砕けたように魅せるとか

もし、なにか方法アルなら教えてください

870:名前は開発中のものです。
09/03/02 09:13:28 O6ibebek
ゲーム製作をするモチベーションが保てません。
やっぱ周囲の環境からの影響が必要かと考えています。

自主ゲーム製作者達が常駐して集ってだべってるようなIRCの部屋とか、
そういう場所ってありますか?


871:名前は開発中のものです。
09/03/02 09:37:29 zwfhknWm
>>869
テクスチャマッピングされたポリゴンオブジェクトをバラすのと同じ原理。
「UVマッピング」でぐぐってみそ

872:名前は開発中のものです。
09/03/02 09:47:15 LiEDQ4p1
>870
いくつか知ってるけど。
悪いが晒せない。

それ関連の人が集まるサイトたどれば見つかるよ。

873:名前は開発中のものです。
09/03/02 10:56:58 EVMayHey
>>871
ありがとうございます
調べてみます

874:名前は開発中のものです。
09/03/02 15:46:00 Ukld6trI
よく
「~のエンジンを使って・・・」「~のエンジンを流用して」って聞きますが
このエンジンの正体ってなんですか?
なんとなーくは分かるつもりですが、もうちょっと専門的に知りたいです。

875:名前は開発中のものです。
09/03/02 17:39:35 iJMzbuhK
>>874
文脈で変わるとは思うけど
ゲームやソフトウェア分野では専門処理を行ってくれる
汎用性が高いプログラムライブラリのことなんじゃね

URLリンク(ja.wikipedia.org)

876:名前は開発中のものです。
09/03/02 18:40:25 O6ibebek
>>872

ありがとうございます。
とりあえず今日はそういう場所を見つけることを目標にしようと思います。

877:名前は開発中のものです。
09/03/03 10:25:38 aC0MgDxU
シューティング作ってて、
自機の近くにある弾だけと当たり判定をするようにしたいのですが、
2次元上の距離の近さを1次元で表現するようなことってできませんか?
下のように画面に番号を振ると自機が13にいるとき、上下左右の弾と判定するのに
8~18の範囲の弾を判定しなくちゃいけなくなり11 15 の弾と
の無駄な判定が出てしまいます。
5×5だとそれでもいいけど画面が広いと結構無駄な計算が発生するので・・。

1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25

878:名前は開発中のものです。
09/03/03 10:42:22 OTlbnBJs
総当たりで当たり判定をとるって、大変そうだけどゲーム製作では普通

重いゲームはほとんど計算部分よりも描画のせい
例えばゲーム画面が640*480なら、ドットの数30万をそれぞれ計算してるって考えると
当たり判定の計算なんてたいしたことない

879:名前は開発中のものです。
09/03/03 11:00:38 aC0MgDxU
>>878
弾と弾をぶつけて消そうと思ってるんだけど
(弾ごとに自機のような計算が必要になる)
それでも描画のほうが重い?

880:名前は開発中のものです。
09/03/03 12:29:43 6Eet7zAZ
画面上全ての弾と当たり判定を計算するのと
画面上全ての弾との距離を計算するのは
処理として等価だろう。

881:名前は開発中のものです。
09/03/03 12:34:00 vQ464eyf
>>879
CPUは一秒間に一万回以上計算できます

画像処理と計算どっちが重いかって、そんなの比べるまでもない

882:名前は開発中のものです。
09/03/03 13:00:16 8YEdO1Hm
自機を円で近似すれば比較一回

883:名前は開発中のものです。
09/03/03 13:05:53 5imbcKrj
リカーシブディメンショナルクラスタリング使えばいいじゃん
総当たりよりは高速だろ
でも確かもっと速い方法があったな

884:名前は開発中のものです。
09/03/03 15:24:45 e47eJq+H
>>877
多分空間分割が必要な場面は
1、衝突判定対象が1万以上とか馬鹿多い
2、OBB(3Dの非軸平行なバウンディングボックス)同士など、複雑な場合。

2に関しても、あまり細長い判定対象がなければバウンディングスフィアで判定してからOBB判定、とかやれば空間分割しなくてもよさそう。
2Dならバウンディングボックスも必要なく回転矩形程度だろうから必要あるのかなぁ


>>883
ググってもでてくる気配がない・・・ぐすん



885:名前は開発中のものです。
09/03/03 15:40:38 4wKwtDfl
Recursive Dimension Clustering の話?

886:名前は開発中のものです。
09/03/03 15:42:37 4wKwtDfl
Recursive Dimensional Clustering か。ヒットしたページをコピペしたらDimensionだった

887:名前は開発中のものです。
09/03/03 19:13:52 ezGJoFgw
>>877
例えば…

struct KATA
{
int x, y;
};
static KATA array[] = {
{-5, -1}, {-5, 0}, {-5, 1},
{ 0, -1}, { 0, 0}, { 0, 1},
{ 5, -1}, { 5, 0}, { 5, 1},
};

for(int i = 0; i < siezof(array)/sizeof(KATA); i++)
{
hantei(X + array[i].x, Y + array[i].y);
}

…みたいな。5とかは定数で宣言したほうがお洒落かな。
実際の判定とか範囲チェックとかはよしなに。

888:名前は開発中のものです。
09/03/03 19:38:53 J9hOuuPk
>880-881
弾と弾との当たり判定がいるから
1000個の弾なら単純計算で1000×1000で1000000回の計算になる。
1000までなら問題ならんかもしれんが1万なら1億とかになる。
(そこまでの弾使うかどうかは別問題として)
それが秒間60回とするとそこまで無視できるかどうかは疑問だと思った。

仮に877ができればソートされたリストから
indexの近い番号の弾だけを比較すればよくなる。

>>883-886
サーセン、趣味グラマ程度なんで理解できませんでした。

>>887
違ったらごめん、
もしかしたら対象が決まった状態で個別の判定の処理を軽くする方法を書いてる?
俺が知りたいのは判定処理の回数を減らす方法だ。
でもこれはこれで参考になりそうだ、サンクス。

889:名前は開発中のものです。
09/03/03 19:44:56 8YEdO1Hm
銀河シミュレータではないんだ。 厳密解はいらないだろ
玉の数を減らせよ。 1000も玉が表示してあったら見にくいだろう

890:名前は開発中のものです。
09/03/03 19:49:45 8YEdO1Hm
3次元立方体の中に、玉を生成して衝突が起こる回数を計測する。
以下に速くできるかを競う。
たとえば100Mの立方体で玉を5cmなどとする。あとの設定は適宜。

891:名前は開発中のものです。
09/03/03 20:46:49 5CFQdrST
>>888
弾が壁で反射するとかでなければ、
自分が発射した弾同士の判定は削れる可能性が高い。
弾速度が違って自分が撃った弾すら打ち消せるとか無ければね。

自機の発射した弾と敵が発射した弾という区別がつけばいいから、
演算回数の枝切りは可能だと思うよ。
面倒だけど。

弾が全て円のあたり判定なら弾同士のコリジョンは楽勝だからどうにでもなるし、
高速化を考えるなら、判定を1ドットにするという方法もある。

892:名前は開発中のものです。
09/03/03 21:33:09 dkloOCHD
1000も弾があるような弾幕ゲーは
当たり判定が1ピクセル分とかそんなもんだな。
RPGだと衝突判定をフレーム単位でスキップするケースもあるみたいね。
まぁどの道、分割判定なりなんなりは処理が重いと思ってからやれば良いよ。
すっぽどスパゲティーなコーディングしない限り、
後からコードを変更するのは難しくないはず。

893:名前は開発中のものです。
09/03/03 21:34:05 J9hOuuPk
>>889
ゲーム内容説明するのがメンドイからはしょるけど
広いフィールドを動き回るイメージなので弾はあまり減らせない。
(フィールド内の弾幕の密度が下がる)
だから、減らさない手法で高速化できる方法を探してる。

>>891
それもひとつの手だと思って考えとくわ、サンクス。

測ってみた感じだと
現状の状態だとやっぱり弾の判定が1000個ぐらいから極端に重くなって
システムを圧迫しだす。

とりあえず考えてるのが、

フィールドを5×5ぐらいに分けてその中で判定するというもの。
フィールドの切れ目とかの判定がおかしくなるからあまりやりたくない。

xの値でソートしたリストを用意して
yの値がかぶるかどうかを判定。
フィールド内を動き回るのでやっぱり無駄な判定が多くなる。
listを定期的にソートする必要がある。

よい案が出ないから下をやって問題ないかどうか
様子を見ようと思ってる。

894:名前は開発中のものです。
09/03/03 22:00:25 9mcFBbl3
>フィールドの切れ目とかの判定がおかしくなるからあまりやりたくない。
隣接フィールドも併せて判定すればいいだろ

895:名前は開発中のものです。
09/03/03 23:03:57 ezGJoFgw
情報後出しですねわかります

896:名前は開発中のものです。
09/03/04 00:04:14 xmkv8/CD
えー…、本気の質問なのでどうか引かずに教えてください

アドベンチャー形式で、ある人物の立ち絵が画面に一つありまして、
話しかけるたびに違うコメントをする、というゲームを想像してみてください
その会話パターンだけを趣味でコツコツ作ってたんですね、3000通りほど
だいぶ溜まったのでそれを本当にゲームにしたいなと思ったのですが
ゲーム製作の知識はまったくないのです。

それで、簡単に作れるようなフリーのADV製作ソフトや、
それを使用したゲームで改変が許されてるものなどはありますでしょうか?

897:名前は開発中のものです。
09/03/04 00:11:07 7UHlvhIC
すげー気持ち悪いが、人工無能とか勉強してみれば

898:名前は開発中のものです。
09/03/04 00:18:18 csabQCX4
ゲーム作成より自然言語処理の研究に進むことを薦める
参考書籍を一つ挙げておく。
「恋するプログラム―Rubyでつくる人工無脳」

899:名前は開発中のものです。
09/03/04 00:23:25 xmkv8/CD
人工無能ですか? うーむなるほど、それは使えそうですね
フリーソフトでもたくさんあるようなので、利用できそうなのを探してみますね

900:名前は開発中のものです。
09/03/04 01:24:17 NGIX5+Ih
会話パターンが大量にあるなら伺か(デスクトップマスコット)を
作るのもいいかもな

901:名前は開発中のものです。
09/03/04 08:21:16 /zOtMtBD
一時期はやってた
URLリンク(ja.wikipedia.org)伺か
この辺とかが向いてるんじゃない?
使ったことないからできるかどうかはわからんけど。

902:名前は開発中のものです。
09/03/05 12:15:09 vCwVAC+C
>896
とりあえずHSPでゴニョゴニョしてみたら?

903:名前は開発中のものです。
09/03/05 18:29:00 OJHQDXBE
質問に忠実に答えるとフリーのADV製作ソフトはたくさんある
たぶんNScripterか吉里吉里のユーザーが多い(前者のほうが簡単)
それを使用したゲームで改変が許されているケースはほとんどない

>>903
HSPは自力でバックログやセーブシステムを実装しないといけないから
特殊なシステムを使いたい場合を除いてADVツールのほうが向いている

904:名前は開発中のものです。
09/03/05 19:18:35 CwokJJKn
うん。ADVなら吉里吉里とかNスクのがいい
まぁHSPでも出来ないこたないが

905:名前は開発中のものです。
09/03/05 23:04:49 QF+GPlPd
C/C++のフォントについてなのですが、
アクションゲームの「HPの数値」など
頻繁に書き換えなければならないの文字の描画は
何を使うのがお勧め/定番なのでしょうか?

手元にはD3DXCreateFont、デバイスコンテキストの資料が有るのですが
どっちも「処理が重いのでノベル程度に」などと書かれていて・・。

数値だけはドット絵等で用意して、日本語だけそういう処理に頼るなど
分けるのが定番なのでしょうか?

906:名前は開発中のものです。
09/03/05 23:11:31 QpvwXMOT
まずは頻繁に書き換える頻度を明示しろ
1秒間に何回書き換える?
話はそれからだ

907:名前は開発中のものです。
09/03/05 23:48:32 1d/NzH52
>>905
フォントでやっておいて、速度に問題がでてきたらドット絵を用意。
後でプログラムを書き換え・差し替えるのがそこまで難しくなさそうな部分は問題が出るまで放置でOK。

908:名前は開発中のものです。
09/03/06 02:54:40 7nYZ0Zsi
マルペケにフォントをテクスチャにする方法が書いてあるだろ

909:名前は開発中のものです。
09/03/06 10:30:43 4YMxwutE
プロポーショナルフォントを諦めればテクスチャをキャッシュに使うのが
簡単でいい。文字コードからUV取得するハッシュテーブル

910:名前は開発中のものです。
09/03/06 14:11:37 d8Rjwk95
画像にしとけ

911:905
09/03/06 15:09:55 mqlorO7U
>>907 >>909 >>910
ありがとうございます。

>>908
あの関数は避けたいもので、すみません。

>>906
1秒に多くて10回 平均すれば2秒に1回ぐらいです。
処理が多い時に画面がガクガクし始めないかが心配でして‥

912:名前は開発中のものです。
09/03/06 15:49:29 2NJ4kCLr
HP表示なんてせいぜい10文字なんだから常時テクスチャーで保持して置けよw

913:905
09/03/06 17:36:57 mqlorO7U
そうですね・・
できればフォントの切り替えが出来るようにしたかったのですが
今回は画像で用意して、後で色々試してみます。
ありがとうございました。

914:名前は開発中のものです。
09/03/06 18:01:40 k62Mxjk1
何を言っているのかわかってないようだなw

915:名前は開発中のものです。
09/03/06 22:33:31 Sz1YpuaK
テクスチャに好きなフォントでテキストを描画すればいいだけなのに、
ビットマップを用意するとか言っている奴はどれだけ頭が悪いんだよ?

916:名前は開発中のものです。
09/03/06 23:55:27 i8lra3Tz
>915
別に画像で用意すること自体は何ら問題ないだろw


917:名前は開発中のものです。
09/03/07 00:06:51 /IUWrmEE
フォント次第だろうな。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch