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

シューティングゲーム製作技術総合 4機目

レス数が1000を超えています。これ以上書き込みはできません。
0001名前は開発中のものです。04/08/09 19:53ID:oKoFsB2n
ゲームプログラマなら誰もが通る、もしくは、通った道。青春の香り?
それは「シューティングゲーム製作」・・・。

このスレでは、そんなシューティングゲームの製作技術や技術の検証、成功談
失敗談笑い話、難易度の設定方法論、多弾の是非などについて語り合いましょう。
もちろんBulletMLなどで弾幕を作成してみたり、自分の作ったシューティングを
晒してみたり、プロジェクトをはじめてみるなどもOK!

ただし、シューティングの未来とか既存のゲームの話題などは、関連する他の
スレでやってくれ。

■前スレ
シューティングゲーム製作技術総合 3機目
http://pc5.2ch.net/test/read.cgi/gamedev/1087339516/l50
0981名前は開発中のものです。04/10/17 00:20:17ID:sKQjhGOP
>>967
では頑張ってみます。コード整理等に時間下さい。

どういう感じか、大雑把に言いますと、
C++で記述、DX9.0、STL、XMLパーサ(COM)を使用、
OOP、デザパタをテスト的にゲームに組み込む(お勉強)が目的。

・グラフィックエンジン(中身はDX9.0のラッパー)
・ゲームエンジン(汎用的なゲームアプリクラス、タスク管理等)
で、1プロジェクト、スタティックライブラリでビルド

もう1つは偽ガルーダプロジェクト、
現在はキャラクターの概念(プレイヤ、敵、敵ボス等)ごとにクラス化、
敵nの状態Aという単位でクラス化、完全ハードコード
(ここが微妙な所。理想としては、ツールでオーサリングがメイン、
例外ケースをハードコードで記述、リソースデータを上書き、もしくはバイパスする。なのかな?)

後は、オーサリングツール。
C#で記述、リソースはXMLで吐き出しで、
・マップ画像構築&敵配置ツール、
・アニメ編集ツール(未完成)
も添付しようかと。ソースは、C#入門レベルなんで、付ける意味ないかもです。

>>969
ここでしか公開してなかったんですが、晒されてたのかな?
0982名前は開発中のものです。04/10/17 02:44:03ID:BS5v6uNf
>>980
BuletMLとか、けっこう広まってるけどどうなんだろう

あと実際に遊べるレベルで公開されてるのは
G-わんげ(ryのやつぐらいしか知らないけど
なんか参考になるやつあるかな・・・
ttp://f1.aaacafe.ne.jp/~otakutwo/g-wange/index.html

俺みたいな素人は
なんも工夫せずにじかにコード書いてるからすごいことになっちゃってるよorz
今度、一から作るときは、がんばってスクリプト制御にしてみます

こんな事レスしてると、何言ってるんだ、このバカは、って思われるんだろうか
0983名前は開発中のものです。04/10/17 02:47:10ID:spFc1S+T
×BuletML
○BulletML
0984名前は開発中のものです。04/10/17 02:57:13ID:OVjiqiGM
G-わんげは既に風呂敷広げすぎてる気がするんだけど大丈夫かね。
0985名前は開発中のものです。04/10/17 02:58:51ID:qoQRGbOR
コードで書くのも結構楽、まぁ素人のたわごととおもって…
開始フレームで「ステージ1」と表示するタスク出現
そのときから60フレーム経過で敵1が出現
またそのときから60フレーム経過で敵2が出現

void update(){
int cur = 0;
if(count == cur)InsertTask(new TextDisplay("ステージ1", 60));
if(count == (cur += 60))InsertTask(new Teki1(100, 10, 10,);;
if(count == (cur += 60))InsertTask(new Teki2(100, 10, 10,);;
/*
ひたすら出現コードを書く
*/
count++;
|

for文とか制御文使えるから規則的に敵が出てくるスクリプトとかが楽でねぇ。
負荷はちょっと気になるけど
0986名前は開発中のものです。04/10/17 03:13:12ID:6i/lY815
>>985
最初から最後までif文でやるのは流石に…。
どうしてもfor文とか使って制御したければ
オブジェクトジェネレータをスクリプトで起動すりゃいいのよ。
0987名前は開発中のものです。04/10/17 03:17:12ID:qoQRGbOR
>>986
そこなのよなー、俺もスクリプトで作ってて
オブジェクトジェネレータ生成してたんだけど
今作ってるゲームだとそういうのがかなり量必要になって
それならスクリプト意味ね-じゃん、って思い初めてね。

ひたすらif続けるって書いたけど実際にはステージタスクに記述してる。
0988名前は開発中のものです。04/10/17 17:32:43ID:Lk59gEns
そろそろ次スレの季節です〜
0989名前は開発中のものです。04/10/17 18:16:07ID:/wze+wEz
よし、俺が>>990に新スレ立ててくれるように
頼んでくるからちょっと待ってろ。
0990名前は開発中のものです。04/10/17 19:01:17ID:xaf5zoUr
ごめん、おれホスト制限でスレ建てられないんだよ
0991名前は開発中のものです。04/10/17 19:13:25ID:+DzhQTmO
待機中の微妙なこのタイミングで質問でつ。
Vsyncを待つ場合、60fpsだとすると処理が1/60秒を僅かでもオーバーすると描画がスキップされるから30fpsになるって聞いたんだけど、
これって本当?
真偽だけでいいので、bool値で答えてください。
0992名前は開発中のものです。04/10/17 19:14:17ID:9RnWk0IP
true
アケシューなんかプレイしてたら分かることだろうが…
0993名前は開発中のものです。04/10/17 19:54:24ID:1NOjPnWc
スキップではないな
0994名前は開発中のものです。04/10/17 20:04:49ID:+DzhQTmO
>>992
thx
アケシューって意図的な処理落ちしか見たことないけど・・・
0995名前は開発中のものです。04/10/17 20:31:08ID:Lk59gEns
いくらでもあるぞ。わかりやすいのはグラIIIとか…って普通置いてないか。
エスプガルーダは分かりづらいしな。
0996名前は開発中のものです。04/10/17 21:03:50ID:JvCjCaot
駒落ちと処理落ちを近藤してないか
0997名前は開発中のものです。04/10/17 21:21:52ID:ELSzhx+s
字刷れまだか〜
09985週目1面04/10/18 02:45:27ID:oCJmbNzb
シューティングゲーム製作技術総合 5機目
http://pc5.2ch.net/test/read.cgi/gamedev/1098034919/l50

スレ建てたので移動汁!
あんまスレみてないので追加のテンプレがあるなら貼っといて。
0999名前は開発中のものです。04/10/18 02:50:20ID:oCJmbNzb
いわゆるアーケード処理オチしたければ

処理>フレームフリップを絶対に交互にやるようにすること。
ただし処理オチして全体が1フレームに収まらなかったらフレームフリップをVsyncに同期させずに
描画が終ったら即座にフレームフリップとする。


そうすれば主観的には30FPSではあるだが、1秒で45FPSとかになるんで、たしょうマシな感じに。
大前提として、たいていの落ちて欲しくないところが1フレームで動くようにしなきゃ処理オチしっぱなしになる。
Windowsじゃマシンスペックで大きくフレームが変動してしまうのでターゲットで納得いく程度の動きでバランス調整
するしかない。
10005週目1面04/10/18 02:51:54ID:oCJmbNzb
>主観的には30FPSであるだが〜
瞬間的には30FPSではあるのだが、1.5フレームくらいの進行なら1秒で45FPSとかになる。(のでマシなきがする)

つまんねー1000になってしまった。ひゃはあー。
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。