1 :
1 :
02/02/26 16:41 ID:Z8Ym+++g 決定事項はC++を使うって事だけ。 ある程度こちらで決めた方が作りやすいのだろうか。 とりあえず みんなで一つの物を作り上げる乗って気持ち(・∀・)イイ! YO!
プロジェクトページすら作ってないお前のどこらへんを信用しろと?
>>1 だいたいお前の役割は何だ?お前みたいなスキル0のカスはこのプロジェクトに必要ない、失せろ。
4 :
名前は開発中のものです。 :02/02/26 17:14 ID:DrrKjB5q
ストラテジーか? 結論: みんなで作ろうとして成功したためしなし
すり合わせするために掲示板使ってたんじゃやってられんよ?マジで
6 :
si ◆jUZhK5lw :02/02/26 18:48 ID:tpzCeYez
そこをなんとか。
なぜコテハンにした!? つーか、お前は何をやるんだ?
いきなり立てたスレでゲーム作り始めたら 類似犯がどんどん出てきてクソスレが乱立する。 やるならもう一度ちゃんと手順を踏んでスレを立てろ。 そうしないなら荒らされて終わるだけ。
とりあえず、企画書かプログラムの叩き台を出してくれないと、話にならん
だろ。っつーわけで、サイト立ち上げてブツを置け
>>1
>>1 マジで遣りたいなら、
>>2 のスレへ移動しろ。
そしたら相手してやる。
ほんとはクソスレばかりだからこーゆースレががんばって くれると嬉しいんだけど少なくとも5人ぐらいは集めてから 立てたほうがいいと思うぞ。 多関節もアクティブなコテハンはそんなに居無いし 5人居たら十分立派なスレになるだろう。
>>12 そこはSTGつくる気ないのに煽られてSTGになっちゃっただけです。
むしろ犯人をお前だ!
アマチュアのゲームは基本的に1人で作るもの。 画期的なゲームならば1人で作れる程度の作業量で済むことが多い。 (シューティングじゃないけど、テトリスとかね) ありがちなゲームならば、ツクールとかのコンストラクションを 使えば良い。
画期的なゲーム=パズル系と考えるのも痛い話かと
話はまず、1が基本システムと1面を完成させてからだな。 それまで解散!
>>17 ん?ていうことは結局、「シューティング作りたいけど、作り方が
わからないから誰か教えてくれ」ってことか?
>18 結局も何も1はそのつもりでスレを立てたんでしょうに。
>>18 むしろ基本システムと1面までできてそれ以上人手が必要になることあるのか?
>>20 プログラマだと必ずしも絵をかけるとは限らんから、ドット絵師、もしくはポリゴン
描ける人は欲しいかもしれず。
22 :
18 :02/02/27 03:56 ID:???
>>20 ああ、いや1=17だと思いこんでたよ。
一応、16!=18だよ。
それはそうと1に再降臨キボンヌ。 企画厨ならば、それでもいいからそれなりの企画内容をさらしてくれ。
>>24 1 はスレを作れば酔狂なやつが作ってくれると思ったんじゃないの?
>>21 1面つくれたら何面つくるのも同じでしょうに
あれは、妄想書だから。 突っ込んだら(煽ったら?)、あのスレの方々に怒られちゃったYO そのスタッフたちもほぼ行方不明になったがな。
マク用ならドット絵書くよ。 win用なら手伝わない。 俺が遊べないから。
30!
マカーでも遊べるようにするならJAVAかJavascriptで書けばいいのか? それともソース互換?
ソース互換ならSDLかな? 注意してコード書けばかなりいけるみたいよ。
でもMACもってない・・・ x86系で動くフリーのMAC OSってない?
デバッグ部隊がいるスレとか欲しいな
で、大方の予想通り
>>1 は何もせずに逃げましたか?
>38 まぁ、ここの1は大方そんなもんだ。 折角のスレだからパックマン作成スレみたいにしてみるテスト Level1 自機を表示させましょう。 Level2 キー入力(ジョイスティック入力)されたら自機が動くようにしましょう。 Level3 自機が画面からはみ出ないようにしましょう。 Level4 1発で良いのでショットボタンを押したら弾が出るようにしましょう。 Level5 1匹で良いので敵を出現させましょう。 まずは上から下まで直進するタイプでいいかな。 画面下にはみ出たらまた上から出現。 Level6 自機ショットと敵の当たり判定をつけましょう。 敵が死んだら爆発させて、すぐ別の場所に出現させればオケー。点数を入れるようにするといいかも。 爆発処理がなんだかんだ最初の難関。 Level7 自機と敵の当たり判定をつけましょう。 ゲージ製にする人は体力値の表示(最初は数値でも可)、 残機制にする人は自機の爆発をさせてみましょう。 体力値、残機が0になったらゲームオーバーになります。 Level8 敵が一定時間ごとに弾を撃ってくるようにしましょう。 最初は真下だけでもいいかな。数学関数が解る人は自機に向かって撃たせましょう。 当たり判定はもう習得しているのでここでやってしまいましょう。 Level9 自機のショット数を増やしましょう。 ただし、あまり増やしすぎると当たり判定処理のループ回数が増えすぎて重たくなるので注意。 Level10 敵の出現数を増やしましょう。 敵の種類を増やしたい人はここで。データに「敵番号」というのを持たせて処理を振り分ける。
40 :
!1 :02/03/06 17:32 ID:???
>>39 Level 5 まで終わった。
(とりあえず敵もショットも、数・種類とも複数扱えるようにしたけど)
>40 当たり判定はまだか?
俺のプログラムは Level6 のあと Level10 まで飛んでしまっている… 正直、敵よりも爆発エフェクトの種類の方が多い(藁
ぜひBuzzを付けてください
最近LEVEL制が流行ってるな そのうち映画みたいなスレとかできそうだ
>42 バイバイ。アンタは卒業だ。 自慢するくらいの腕ならLevel10以降を考えてくれ。 まぁ、ウプが先だな。
46 :
!1 :02/03/06 23:41 ID:???
>>41 まだ。
これ、とり「ゲームとして完成させる」より「ソースコードを評価してもらう」ための
プログラムなんで、ちと実装を中断してドキュメント書き書き中です。
>>42 みたいなのは結局ゲームを完成させられないに2500ルーブル
>47 同じく700ペリカ。
>42 どうせ爆発パターン作成ツールでも使ったんでしょ?(w
50!
俺に力をーーーー
!1はどこへ逝った?
53 :
!1 :02/03/20 04:45 ID:???
>>52 就職活動で忙しくて、身動きとれません(まぢ)
じゃあスレたてんなよ
スレ立てたのは 1 であって !1 ではないと思われ。sage 進行なんだし、 そう熱くなるなよ。
おもいっきり冷めて書いたんだが
ワラタ
サムイ
!1=0
斑鳩目指せおまえら
ちんぽこげーむなら協力するYO!!
64 :
62 :02/03/28 11:29 ID:???
*斑鳩*に反応したのに・・・
斑鳩ってなんか技術的に特殊なことやってる? 2面までしかいけないのでよくしらないんだけどさ。
現在挑戦者なし?
>>65 斑鳩はやっぱシステム萌えだな
井内ルート
クォース→太郎丸→斑鳩
68 :
_ :02/03/30 02:29 ID:???
爆発パターン作成ツール ほしい
70!
∧∧ /\ガチャ (,,*゚/ /|> ,◇ ノつ、/||◇γ (_,,う▲□□凸□  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧ ∧ 〜♪ (*゚ー゚) 、ノ つC□ (_,,う▲□□凸□  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ★★ 口◇口口☆ ■ age!! □ ☆口口◎口 ∧ ∧ 口 ▽ ▼ ◎ (*゚ー゚) ○ 口 / | ▼ ○ 〜(,_,,ノ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | | | |_____ | | | ̄ ̄ ̄ /| | | | / /| | /\ | /|/|/| | / / |// / /| | / / |_|/|/|/|/| | / / |文|/ // / ∧∧ |/ /. _.| ̄|/|/|/ /⌒ヽ) スデニオワッテタヨ・・・ /|\/ / / |/ / [ 終 _] ∧∧ /| / / /ヽ 三____|∪ /⌒ヽ) クソスレダッタネ・・・ | | ̄| | |ヽ/l (/~ ∪ [ 了 _] | | |/| |__|/ 三三 三___|∪ | |/| |/ 三三 (/~∪ | | |/ 三三 三三 | |/ 三三 | / 三三 |/ 三三 /
73 :
67 :02/10/28 02:21 ID:???
乗っ取るようにこっそり再開。 DX8でスプライトの使い方を覚えました。 3Dに馴染みが無いし、まずは2D+横スクロールで習作でも作ろうかと。 さて、今後の展開ですが、 自分なりに解決したものをこっそり書いてみようかと思います。 シューティングでありがちな問題として、 1、誘導レーザーの作り方 2、爆発って何だろう? 3、弾幕の張りかた あたりには触れてみたいなぁ。
期待sage
どこから書けばいいのかわからないけど、スレタイトルに従って最初から。 あらかじめ使えるリソースを配分してみます。 VC++6.0とDirectX8でスプライトは用意されているライブラリを使用。 必要スペックをやや低めに、VRAMを4MBと設定します。 さて、どれだけVRAMにスプライト用の画像を溜め込めるか。 まずは計算。 利用できるVRAMの総量は 4[MB] = 4 * 1024 * 1024 = 4194304[byte] 絶対に必要なサーフェスが表画面と裏画面で二枚。 画面サイズが640*480で色数が2byte(16bit色)と考えて、 640 * 480 * 2 [byte] * 2 [枚] = 1228800 [byte] 3Dを使うときにZBufferを使うことを想定して、ZBuffer一枚で、 640 * 480 * 1 [byte] = 307200 [byte] 残りは、 4194304 - 1228800 - 307200 = 2658304 [byte]
スプライトの画像をVRAM上に保管する場所はテクスチャとして表現されるため、 大きさを256*256、4byte色(RGB+α値)と考えると、一枚のサイズが 256 * 256 * 4 [byte] = 262144 [byte] よって、 2658304 / 262144 = 10.14 [枚] だいたいテクスチャ10枚分。 これを目分量で分配してみる。 数字や文字を高速表示するために1枚、 プレイヤーキャラとショット、敵の弾、アイテムのために1枚。 雑魚敵のデータが1ステージ8種類、余裕を持たせて2種類を1枚に入れて4枚。 残りは4枚。背景を2Dで表現するのはちょっと苦しい? ボQのタイミングで画像読み込みなおしになるっぽい。
一通り動くものを作る。 まず自分が動いているものを作る。これは簡単。 悩むのは、斜め移動したときに速度が約1.4倍になるのを 補正するべきかどうかの一点だけ。 気にしない。ほっとく。 キー入力は WM_KEYDOWN の処理で行っているが、 将来的には Direct Input でパッドと同じように扱えるようにする予定。 次に敵を出して弾を撃たせてみる。 敵と敵の弾のデータを置くメモリは、大した量じゃないので静的に確保。 敵を64機、弾を256発撃てれば問題ないでしょう。 ここまで作ってみて、Direct Draw との違いが気になる。 1、微妙に遅い…気がする。 2、描画時に隣のpixelまでついでに表示してしまうことがある。 1はもうあきらめるしかない。 せめて回転拡大縮小を最低限 or 使わないようにして、速度を稼ぐ。 2は範囲に詰め込まずに 1 pixel 余裕を持てば問題なし。 で、次は敵の通常弾の撃ち方。
いやぁ、進んでないです。 時間の合間を縫って、 ステージデータを読み込んで敵が出現するところまで書きました。 弾の撃ち方とデータとハードコーディング部分の分け方とか 書きたいんですが、それさえのんびり書いている余裕が無いです。 次は敵の動きを何種類か書く、という作業を次に行う予定ですが…。
で、結局中止?
84 :
名前は開発中のものです。 :02/12/09 17:40 ID:K5cFkMJF
保守age
/ ̄ ̄\ l ( _ ) |.\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ \l ヽ! ̄ ̄ \ ||\\ \ lLl .\! 二二二二二二二./ ̄ ̄ ̄ ̄\二l || | | ⌒>―───∧_∧ || | |○ 終了 |____ ( ´Д`)二二二つ || | ヽ________> / /  ̄ / / こりゃひでぇクソスレだ… / / ∪'
STG こだわりだすと 終わらない
/ヽ /ヽ / ヽ / ヽ ______ /U ヽ___/ ヽ | ____ / U :::::::::::U:\ | | /○ ○ ::::::::::::::| | | このスレ | ├──┤ U :::::::::::::| オワッチャッタ・・・ | | 終了い..|U | | ::::::U::::| | | ありがと ..| └―┘ U.....:::::::::::::::::::/ | |____ ヽ .....:::::::::::::::::::::::< └___/ ̄ ̄ :::::::::::::::::::::::::| |\ | :::::::::::::::::::::::| \ \ \___ :::::: 〜 終 了 〜
一ヶ月たったけど…どうですか?できてます?
/ヽ /ヽ / ヽ / ヽ ______ /U ヽ___/ ヽ | ____ / U :::::::::::U:\ | | /○ ○ ::::::::::::::| なんて悲惨なスレだ… | | (゚∀゚)アヒャ| ┌─┐ U :::::::::::::| | | ヒャヒャヒャヒ|U │ | ::::::U::::| | | ヒャヒャヒャヒャ| ├─-| U.....:::::::::::::::::::/ | |____ ヽ .....:::::::::::::::::::::::< └___/ ̄ ̄ :::::::::::::::::::::::::| |\ | :::::::::::::::::::::::| \ \ \___ ::::::::::::::::::::::::::|
気長に待とうじゃないか。
91 :
名前は開発中のものです。 :03/01/12 05:33 ID:7ju/m4w8
>>82 キャラの移動は、三角関数を使うとイイヨ。
遅いマシンを想定してる場合は、前もって計算しといてバッファリング。
敵同士や敵と自機の情報の伝達はカナリメンドイかと。
92 :
名前は開発中のものです。 :03/01/12 06:09 ID:19wIuSaM
o. /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ / / このスレは無事に . / / 終了いたしました / / ありがとうございました / / / / ペイピッポォより / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ / . / __(^^) ../ /__ \/ | | | | (_) (__)
94 :
山崎渉 :03/01/13 12:55 ID:9SvhhA1M
(^^)
95 :
名前は開発中のものです。 :03/05/20 21:03 ID:oiKIavI7
/∵∴∵∴\ /∵∴∵∴∵∴\ /∵∴∴,(・)(・)∴| |∵∵/ ○ \| |∵ / 三 | 三 | / ̄ ̄ ̄ ̄ ̄ |∵ | __|__ | <うるせー馬鹿 \| \_/ / \_____ \____/
96 :
動画直リン :03/05/20 21:10 ID:yBg/CIYe
97 :
名前は開発中のものです。 :04/03/19 23:34 ID:whgiIXKB
100 :
名前は開発中のものです。 :04/03/22 01:13 ID:3FCvupy3
うわーん、ジョイスティックが刺さってないと左上に言っちゃうよー と言うことでガンガレage
早くlevel100逝け
level100にいくころにはMMO3DP2PSTG(HMD対応)になってそうだな HMDよりバーチャルボーイのほうが可能性ありそうだが
109 :
名前は開発中のものです。 :04/04/06 11:41 ID:9bRFHMqU
期待あげ
Level15 雷電DXとかの サラリーマンレーザー
> サラリーマンレーザー ワラタ
112 :
名前は開発中のものです。 :04/06/23 20:35 ID:F8PD/CP/
シューティング作ってみたくなったのでこのスレ使わせて貰いますね。
駄目
いいよ
いいんじゃね。 問題にブチ当たったりしたときにでも、相談すると いい感じにお互い勉強になると思うし。
116 :
sage :04/06/26 11:43 ID:obLquzGb
117 :
名前は開発中のものです。 :04/06/26 12:08 ID:QrK+O+L1
おー、横シューか。 機体age
118 :
名前は開発中のものです。 :04/06/26 14:12 ID:TvIRWiRj
>>116 君のようなやる気のある人間をこのスレは待っていた。
スペースを押しながら左後ろに移動できない
おー、GDIベースですか がんがれ!
121 :
名前は開発中のものです。 :04/06/27 12:03 ID:gtWcNANH
>119 それはキーボードのハード的な制限のためだよ。 コンフィグとかはまだまだ先だろうから とりあえずiniファイルなんかでキーを変えられるようにしとけばいいんでは。
おー、動いてる動いてる。 次は ザコ敵を出す ↓ ザコ敵を倒せるようにする(弾が当たると消える) ↓ 爆発して消えるようにする かな。 それとも、 弾を複数出せるようにする、とか。
123 :
sage :04/06/27 18:25 ID:q5UIx5k2
敵表示、弾を当てて撃破まで出来たのですよ。
http://gamdev.org/up/img/756.zip とりあえずキー入力の問題に関しては一時後回しにさせて下さい。
正直、iniファイルもどうすればいいのかわからんレベルですので。
調べてみます。
マウス操作にしちゃうという手もあるけど、プログラム練習も兼ねているんだから逃げちゃ意味ないし。
>123 将来DirectInput使えばすぐ解決しますよ (゚ε゚)キニシナイ!!
125 :
121 :04/06/27 22:32 ID:gtWcNANH
>124 (・д・)<そうだったのかー。勉強になりますた。
DirectInputつかおうがキーボードで操作している限り解決せんぞ
パッド対応にしたらおk
おおー、進んでる進んでる。
次は、
ザコを複数出せるようにする
↓
自機弾を複数出せるようにする(上と順序は逆でもよし)
↓
ザコが弾を撃てるようにする
↓
自機が撃墜されるようにする
かな。
キー入力は
>>124 の言う通りスルーして、
>>126 ,127の言うようにゲームパットに対応するのが良いと思う。
キーボードはゲーム用の入力機器としては貧弱なので、
最低限のサポートができればいいんじゃないかな。
キーボードの同時入力の問題はキーボードによって様々だからねぇ うちにある3台とも同時入力の弊害はばらばらだった ただ、スペースはなにかと競合しやすいのと他のキーを使うのが大変になるので CTRL,Shift、Z、XあたりをつかえればOK マニアックにMSXらしさをだすならスペースとMNという手はあることはある CTRLとZ、ShiftとXを同じ処理に回せばうちにあったマシンすべてでは問題はでないようにできた キーコンフィグって地味で人によってはまったく使わないくせに作るの面倒なんで ある程度の余裕を持たせた作りにするという手もある
130 :
121 :04/06/28 21:20 ID:0C39MrME
ガビーン。やっぱそうなのか。 ジョイスティックでいいんだったら DirectInputじゃなくてもjoyGetPosとかでもいいかも。
DirectXのほうつかわないとXPとかで動作がおかしかった希ガス
>>131 以前にジョイスティックをさしたことがあると、
以前のものを指していないのに、
IDが重ならないように割り当てられるみたい。
動作確認でいくつも抜き差ししていて、
APIで一番目だけをチェックしていた場合にはまった。
コントロールパネルの詳細設定で、優先的に割り当てるデバイスを指定して回避は可能ではあるが・・・
やっかいな仕様だな
応援sage
以前からゲーム作ってみたいと思っていた者です。
116氏のやる気に触発されてか、私もひっそりと作り始めてみました。
開発環境はVC++.NET(非マネージ非MFC)とDirectX9 Summer2003で挑戦。
>>39 に倣って、試行錯誤して、やっとLevel1が出来ました。
DirectXも今回初めて触るし、STGの基礎的な構造とかもチンプンカンプン。
本当に表示するだけなのに、こんなに大変だとは思わなかったです。
Level2は・・・どれだけ掛かるんだろう_| ̄|○ i||i
135 :
134 :04/07/08 21:35 ID:BNPRKKnI
今、何とかLevel3まで出来ました。 キー入力はDirectInputを使ってやってみました。 途中、画面が非アクティブになると入力状態が取れなくなって四苦八苦。 原因と対策がやっと分かってここまで来ました。 次は・・・弾かぁ・・・。
このスレみてたらSTG作りたくなっちゃった(´・ω・`) またつくってみようかな・・・2Dの横とか・・・
137 :
sage :04/07/10 21:13 ID:KkeOSLhz
138 :
134 :04/07/11 00:54 ID:d5OfZAAD
今日、やっとLevel5に到達。 Level4は予想以上にサックリ出来たので 欲を出して複数発射できるようにしてみました。 Level5は・・・まあ表示するだけだったので何とか出来ました。 ここでも欲を出して、真下に移動ではなく 出現時点での自機の方向に移動するように作ってみました。 途端に敵の速度が距離によって変わるようになって大慌て。 それも何とか一定にすることが出来て、じゃあ敵の表示を自機に向けるように 回転させてみようと思ったところで難題が・・・。 敵の位置と自機の位置しか分からない状態で敵機の向き(角度)が どうしたら求められるかがサッパリ分かりませんでした。 とりあえず回転描画は保留することにしました。 次はLevel6、いよいよ当たり判定ですけど、その前に一度整理かな。 今は自機の大きさや移動量とかがハードコーディングになってるので 設定ファイルみたいなもので管理できるようにしようかなと思ってます。 あとは今後の処理追加を見込んで内部データ管理(型や取得法)を 見直してみようかなと。 改めて、商用・同人問わず、世に出ているSTGを作った人はすごいなと 思うばかりです。
139 :
134 :04/07/11 02:05 ID:d5OfZAAD
アフォだ・・・。
自機の座標と敵機の座標が分かれば三角関数の逆関数で
角度(ラジアン)が求められるじゃないですか・・・。
というわけで回転描画もあっさりクリアできました。
>>137 がんばる!
140 :
136 :04/07/12 17:26 ID:pbW+R2DY
141 :
名前は開発中のものです。 :04/07/13 23:58 ID:Siq4GRhP
142 :
名前は開発中のものです。 :04/07/14 10:43 ID:KOxdiRxt
Level 11 敵機の動作パターンを増やそう。 Level 12 複数の敵機を連携させよう。(多関節を作ろう) Level 13 ボスを作ろう。
--------------------------- shooterlv7.exe - コンポーネントが見つかりません --------------------------- d3dx8d.dll が見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。 --------------------------- OK ---------------------------
146 :
名前は開発中のものです。 :04/07/20 13:23 ID:a187uNR5
>>145 それってDirectXのSDKの中のDLLだぞ、、、
EXEと一緒に添付しないとダメやね。
>>146 おおっと、こらぁスマソカッタ
帰宅したら上げなおすは〜
148 :
名前は開発中のものです。 :04/07/20 20:16 ID:j40GVwqZ
というわけで再掲
デバッグ版のIrrlicht.dllを突っ込んでしまっておったわ。スマソ
ただ再掲というのもなんなので、敵のモデリングをつけてみた。
あとreadmeを一応入れた。
通勤電車の中で修正してAIRH"でうp・・・我ながらあふぉだw
http://gamdev.org/up/img/874.zip (うpした時はageでもいいんよね?)
150 :
148 :04/07/21 00:53 ID:6l40SOGx
>>149 期待されちゃったよw
勤め人なんで、基本的に休日しか使えないから来週までまっとくなはれ
ドット絵掛けるのは羨ましいと思ったよ。
漏れはそれが出来ないからパーティクルやらの小手先技でごまかしてるw
これは何を使って、と聞こうかと思ったらLuna使ってんのね、BCCあたり?
>>150 BCCじゃなくVisualSududio.NETつかっとります。
153 :
名前は開発中のものです。 :04/07/24 02:30 ID:deJPmHn6
lv11-敵の種類を増やしてみた。
あと光源処理とかスカイボックスとかスコア類とかいろいろ。
ちょっとゲームっぽいw
やってみた人スペックとFPS教えてもらえると助かる。
http://gamdev.org/up/img/890.zip ところで、このスレ見ててOpenGLなLinuxマシン持ってる人いない?
ソースレベルコンパチなはずなのでコンパイルしてみて欲しかったり。
(改行コード問題はよろしくw)
>>153 Athlon700 + GeForce2MXで 48FPSだったよー
>>153 Pen4 2.4CGHz + GeForceFX 5700 Ultraで、FPS75・・・まぁ、Vsyncと同期だから参考にならんか・・・
できれば、キャプションバーにFPSとか表示せずに、画面にしたほうがよいかと・・・
リポートさんくすこ
>>154 そうかー、そのクラスだとやっぱ60fps切ってしまうかー
星空のパーティクル削ると改善されるのはわかってるんだけど、
ただでさえショボい画面がさらにショボくなるしなぁw
まあ、現状のモデルがDoGAベースで無駄が多いのはわかっているので、
最終的には独自モデル化してポリゴン減らすつもりではいる。
48FPSでもゲームにはなってた?
(タイマー同期式なのでFPS非依存な作りにはしたつもりなんだが)
>>155 開発環境(Pen-M 1.6GHz+RADEON9000Mobility)でも300fpsいくから、
同期値だろうねぇ、おそらくVSync切ればそのくらいはいくかと。
FPSの画面内表示は検討しておきま。
最終的にはPenIII-500+Geforce2MXクラスで、
60fps維持できるようには持っていきたいねぇ。
157 :
154 :04/07/24 21:10 ID:TppQiKNC
>>156 ゲームとしてなら問題ナース。カクカク感も無く快適でした。
余談だけど、テレビが24fpsなので、
ガクガクしなければ30ぐらいでもOKだと思う。
というか、30fpsのゲーム作ったし。
158 :
名前は開発中のものです。 :04/07/26 00:39 ID:boyt2ViD
>>157 >余談だけど、テレビが24fpsなので、
それはアニメとかだよw
>>159 いや、そいつのテレビがPAL式かもしれん...
ってPALは25か orz
まあ、30もあればそんなにカクカク感じない、というのは間違い無いな。
弾からなにから動きのトロいシューティングなら30FPSでもいいかもね 敵弾などの弾速が速いシューティング作るとき30FPSじゃ実際全然ゲームにならんよ
ShootingGame(仮)は16FPSだったぞ。 単純計算で、30FPSあればほぼ2倍速のゲームが作れるわけだが…
164 :
158 :04/07/26 20:21 ID:boyt2ViD
8bit黎明期のPCシューティングなんざ、10FPSあるかないかだったわけで、 ゲームとして成立するかどうかは、 まあゲームデザイン次第であるっちゃ全くその通りなんだが、 作ってる当人としては、ちょっとでもFPS稼ぎたいのは、 まあ業というか自己満足かいうことで勘弁w こいつぁあくまで習作ということでそこまで考えてないので、 ある程度FPSない状態でどうなるか想定してないんだなぁw (時差ベクトル作って当たり判定してないしw)
8bit時代はスプライトがあるマシンもそれなりにあったし さすがにそこまでフレームレート低いのはそうそうない
>>165 君が言ってるのはMSXとかの後期8bit機だと思われ。
8bit「黎明期」と言っておろう。
Level3やらFM-8やらPC8801無印とかそのへんだと思ってくれ。
(爺丸出し発言ですまん)
MSXは1981年か 後期・・・なのかなぁ
後期というか、漏れのイメージとして、 「折り返し点」のイメージがある<MSX1 あくまで漏れイメージだがな。 無印8801上の「アルフォス」あたりは、 6〜7FPSぐらいしか出てなかったと思うが、 当時は「すげぇよ超速いYO!」状態であった。 スレ違いになってきてるのでこの話はここまでで。
MSXが日本で出たのは83年か 初代88が81年なのでそんなにかわらんな 当時としてみたらTVつかうので解像度は低い物の かなりいいスペックだよなぁ 値段も最初からこなれてたし MSXはSTG多かったね
>>166 黎明期といえば、TK-80BS、PET、TRS-80とかじゃないの?
このころは1FPS程度(動くキャラは1つだけ)のオールBASIC
「リアルタイムゲーム」が当たり前だった訳だが。
171 :
名前は開発中のものです。 :04/07/27 08:20 ID:q1NyxJAD
>>170 ごもっとも。
当時、AppleIIの野菜ギャラクシアンとか見て、
「うわ、これ早いよ、マシン語ってすげぇYO!」
って感動したり、Epocとか見て「すげぇよ3DだYO!」
と騒いでいたわけだが、やっぱり数FPSだったわな。
スレ違いの上にどんどん年寄り自慢になってきたorz
しかもsage忘れた。死んできます
一度快感を覚えてしまったら、もう昔には戻れません。
Level-14 パワーアップアイテムを取り入れよう ってのはどう?
パワーアップと言ってもゲームごとにいろいろありすぎる気も グラディウス方式(オプション装備)やら ケイブ方式(威力補正&判定範囲補正)やら R-TYPE方式(特殊キャラ)やら そもそもパワーアップがない斑鳩とか。 ステージデータを外部に用意して、 それにしたがって敵を順番に出現させるとか ボスを倒すとステージクリア状態になるとか。
>>175 今回のゲームは、
最終的なイメージをディセントとかそっちの方面に持っていきたいと
思っているので、あまりパワーアップとかは考えてないのだなぁ。
>>176 まあそのへんかなぁ。
lv14-ステージ定義ファイルを読み込み、それに従って敵出現
lv15-ステージ終了判定を実装し、ステージ終了後、次ステージへ(当面はステージ再開)
lv16-背景を実装する
lv17-背景に同期する敵を出現させる
こんなところだろうかねぃ。
背景も色々あるからなぁ・・・・・・
lv14 - ステージ定義ファイル実装はあっさり済
某所でのあれこれから思うところあって、DirectX/VC++に環境を変更。
いいかげんソースが長くなってきたので、
lv15の布石として全面的なリファクタリングとソース分割中。
これ、ソース見てる人いるかね?
ソースの量も増えて来てるので、次回からソース添付なしと思っているんだが。
>>178 まあ、その通りだが、
今回はBSPマップを読み込んでみようかと思っている。
(もっとも来週以降になりそうだな、この土日では無理ぽ)
180 :
175 :04/08/01 11:51 ID:DxshZp9x
それを言ったら定義するステージに入れるメンバだって色々あるし。 基幹ができてしまえば多様性があるのは当たり前なので、 題目を見てどんな実装をしてみたかを書いてくれたほうが このスレのためになるかもしれないぽ。
181 :
名前は開発中のものです。 :04/08/01 23:47 ID:7PSoUSiK
>>181 向こうのスレに返事をしないのは何か理由でも?
>>181 弾が画面外に消えるとき、一瞬画面左上に表示されるね。
>182 返事をしてこっちに着たんですけど。 >183 ほんとですね。 消しておきます。 ありがとう御座います。
2Dのシューティング(縦・横問わず)を作りたいと思ってるのですが、 ここで色々質問してもいいですか?
シューティングの作り方教えてくださいっていう様な質問じゃなければ誰か答えてくれると思うよ とりあえず>39のLV1からやってみたらいいんじゃないか
あー・・・、それ以前になります・・・orz プログラミングするソフトって何使えばいいのか分からなくて。 アマゾンでC++ってのを見たんですが、結構一杯あってどれがいいやら・・・。
>187 本格的にやりたいならVC++とDirectX使うのがいいと思うがプログラミング経験0だと一通り操作覚えるまでがちょっと難しいかな BorlandのC++Compilerならフリーで使えるので試しにダウンロードして見るといい 趣味でゲームを作りたいだけならHSPとか作成ツールを使えば割と簡単に作れる
>>188 OSが98なんでダメそうです。安いのにな・・・
>>189 できたら本格的にやろうと思ってます。
情報処理の専門学校に通ってるので、プログラミングを今からやって損はないと思いますし。
とりあえず試しにダウンロードしていじくってみます。
フリーでいいだろ DirectXがどうのこうのとかそういう以前の話とおもわれ HSPやJavaあたりはフリーですぐに絵を表示が出来る
>190 本気でプログラミングをやるつもりなら、まずそのヘタレOSを捨ててXP買え。
OSなんて何でも良いじゃん。ゲームの面白さには関係ないし。
2000,XPじゃ無いWindowsで開発なんか出来ない。 95,98,MEで辛酸を舐めた奴はみんなそういうと思う。
開発「出来ない」は言いすぎじゃろ。
「いろいろしんどい」のは事実だけど。
VC5.0時代には少なくなかったわけだし。
ま、2kかXPにするのを薦めるには薦めるけどな。
あ、Meだったらまだ98SEの方がマシなのは事実。
理想を言えば2kで開発、XPと98で動作確認しとけば問題なかろ。
>>187 いっそIrrlichtかSDLあたりでLinux/*BSDで作るっていう手もあるぞ。
3Dイラネという話なのでSDLで十分か。
それが敷居が高いなら、とりあえず189の言うようにBCCか、
漏れ的にはdev-c++を推すかな。
とりあえず、そのレベルだったらDirectXやらのハンドリングより先に、
LunaなりDXLibなりSDLなりを使用して、
「とりあえずゲームとしての流れを一通りつくる」ことを優先するのを薦める。
低レベルに手を染めるのはその次の段階でいいんじゃないかな?
196 :
144 :04/08/03 03:50 ID:CIoj5SUF
lv15-ステージクリアとゲームオーバー時の処理追加
ボス(マザーシップ)を全部(5機)破壊するとクリア
一機でも取り逃がすとimcompleteクリア
今は同ステージを二回クリアすると終わりにしてある。
今回から低レベル環境をOpenGLからDirectXに変えたので要DirectX8以上。
良かったらまたFPS報告とかよろしこ。
http://gamdev.org/up/img/955.zip
もうWindows98でなんか開発したくね。
俺、98SE&VC++4.0で作ってるが…
199 :
185 :04/08/03 18:33 ID:EWuEnDDG
>>191 結局、今はHSPでやってます。
解説ページ探して、文字を横に移動させるプログラミング(と呼べるのか?)を組んで喜んでました。
>>192 正直スペック不足なんで、給料入ったら買いかえる予定です。
>>195 >「とりあえずゲームとしての流れを一通りつくる」ことを優先する
ですね。形が少しでも出来ればヤル気があがりますし
>>199 お、方針がまとまったみたいでよかったのぉ。
>>39 を参照しつつlv1から頑張ってみんさい。
>196 GJ順調に進んでますね やってみてボスが2対同時に出るとこが一番厳しいと思うんだけど最後に出したほうがいいんじゃないかな? FPSは AthronXP1800+ Radeon9100 で起動直後が400ぐらいで敵が表示されてる時はだいたい200〜300ってとこだった
>>196 起動時に900ほどで、敵が出て500ぐらい
ボス二体出てくるところで、250ぐらいまで落ち込むかな。
Pen4 2.4CG
GeForceFX5700 Ultra
203 :
名前は開発中のものです。 :04/08/11 17:14 ID:RVlkJYJv
age
204 :
144 :04/08/25 07:54 ID:jzUxMK76
保守ageがてら近況報告。 ここ最近はLinux版作成に走っておりました。 Linux環境のでっちあげがメイン(*BSD野郎なのでちょっと苦労した) Fedora Coreあたりで手を打てば楽だったのかもしれんが、 ついGentooに手を出したのが敗因か?w ソース移植は改行と漢字コード変更、あとはMakefileをちょちょいと。 ハマったのが、Xファイルにも改行コード処理が必要だった点。 (Irrlichtはテキスト形式のXしかサポートしていない) アニメーションするわけじゃないので、 モデルを3dsあたりに変更した方が楽かもと思ったり。 (最終的にはDoGAベースのモデルから脱却したいしね) FPS的にはWin32のOpenGL版とほぼ同じかな、と。 つわけで、来週末ぐらいから再び開発再開・・・できるといいなぁw
205 :
名前は開発中のものです。 :04/09/07 10:30 ID:Ir2yZXoy
浮上
おお!ついにきたか
207 :
名前は開発中のものです。 :04/09/21 17:37:17 ID:5n2Pw3A7
age
>>39 からはじめまさせてもらいます、よろ
Level1 できなかった。
またあとでがんばる。
難しく考えずに、 とりあえず四角でも三角でもいいから画面に出してみれ。
「最終」目標がその程度? 今までどこにも無かったすげえSTG作ってやるぜ、とか思わんのか君は。
>>211 凄いSTGか独創的なSTGのどっちかにせい。
両方一度に実現するのは無駄だろ。
213 :
名前は開発中のものです。 :04/10/24 13:35:39 ID:fL1Fp2Br
>>210 3D技術を持たない低学歴プログラマの派手な弾幕でごまかしてるクソゲーに
かける言葉は無い
>>213 他人の趣味にケチつけたがるアフォ発見!
>>213 >かける言葉は無い
この人オモシロイ!クソゲーに声かけてるよ。
213さん、お願いです。 あなたみたいな人がネットを使うと、 大学や大学院の格が落ちるので止めて下さい。 高学歴な人間が、あなたのようなアフォばかり だと思われるのは、見るに忍びありません。
つーか、そこまでデカいこと言うなら213の3Dで作ったもの見せてみれ。 それとも脳内完成ゲームか?
前スレでもかいたが、自分でプログラムもしないやつがここのスレでなにしてんのかと。
経済的に見るなら、弾幕STGのコストパフォーマンスは、 非常に良いよな。普通の敵キャラの動作に凝ったSTGを 作るのに比べれば、驚くほど短い期間で、それなりに 楽しめるSTGを完成させられるから。 と、マトモな大学生PGらしい分析をしてみたり。
3Dだから面白いというわけでもないだろう。 エースコンバットなんかはもうSTGとは違うジャンルだし、 じゃぁ斑鳩とかレイストームみたいにって考えたら、 モデリングはまだしもモーションを作るのはかなりの労力を 必要とするわけで・・・ それが面白いかといわれると、なんともいえない希ガス。
>>219 コストパフォーマンスといえば、格ゲーが異常繁殖して、
アクションゲームが激減した時期があったよな。これも、
コストパフォーマンスの影響が大きいな。
普通のアクションゲームに比べれば、
格ゲーのコストパフォーマンスは、それなりに良かったから。
>223 ん?同人ゲームの話か?それとも市販ゲーム?アーケードゲーム? いづれにせよ、格ゲー制作の開発コストパフォーマンスが良いという説には 賛同できないんだが 格ゲーはキャラパターン描くのにコストかかるだろ?
>>224 プログラム的には、の話だけどな。つーか、
プログラム的なコストパフォーマンスが悪すぎるジャンルだと、
腕によっては完成すらしねぇ・・・
はっきりいって、3Dを覚えるよりも、
バグを潰すことの方がよっぽど難題ではないかと。
結局のところプログラム的なコストなら弾幕STGは圧倒的に有利なんだよな。 ある程度のパターン化されたモジュールさえあればパラメータかえるだけで弾幕は数揃えられるんだし。 弾幕の絵も○や□だけ作って頂点色で色変えて終。 まぁ極端な話だけどな。 シルフィードや斑鳩みたいな2D視点3Dシューティングだと アニメーションがドット絵でパターン用意するのに比べて楽で修正も簡単ってのがあるな。 座標にしても実質XZ平面だけで計算できるんだし、当たり判定なんて2Dでもいいしな。 背景を派手にしたけりゃMaxなりLWなりのシーンそのまま垂れ流しでいいだろ。
弾幕ゲーのオブジェクト管理と当たり判定チェックってどうやってますか? 素直にSTLのVectorでオブジェクト管理 総当りで当たり判定チェックなどだと当然のごとくオブジェクトが増えると 処理落ちが激しくなります。 弾幕ゲーを見てると500〜600以上の弾数でも処理落ちしないのが疑問なんですが。 初歩的な質問ですが弾幕ゲーの開発経験のある方、ご教授おねがいします。
たかが数百のオブジェクトを当たり判定したくらいで処理オチっていうなら マシンスペックがよほど貧相か、無駄に判定しているかのどっちかではないかと。 前者ならどっちにしろ描画で処理落ちるだろうし、後者ならアルゴリズムを見直すとよいかと。 あと弾幕STGのように大量のオブジェクトの生成と解放が行われるゲームで そのたびににnew/delete(malloc/free)はしちゃあかんよ。 ステージ開始時とかに必要な数分のオブジェクトを作っておいてそれを使うように汁。 どうしてもC++でクラスを使いたいなら自前で速度重視のメモリ関係のコード書いて new/deleteをオーバーライドがいいんではないかと思ったり。 ていうか落ちてるのって実は描画とかいうオチではないかと思うんだけど。
本当に全てのオブジェクトを総当りしてるとか・・・・。
初心者がはじめに手をつける場合、 総当たり以外の方法ってどんなのがいいんだろう? エリアを区切ってチェックとか、距離で判定とか?
229がいってる総当りってひそかに弾同士も判定しちゃってるとかそういう意味かも。 普通に敵の数が10で弾の数が500としても処理オチなんて考えられないが。 ピクセル単位で判定してるのか・・・? 多角形で判定したとしても激しく処理が落ちるとは到底思えん。 つーか弾幕ゲーなんて自機は1ドットで弾は円で十分だと思うが。
232 :
名前は開発中のものです。 :04/10/26 19:43:33 ID:/b5gpP3q
敵弾は自機だけにしか当たらないだろ。 点と矩形の判定だし5000発でも200フレーム超えるぞ
やっぱ、228の言うように、new/delete,malloc/freeの問題では? メモリーの取得や解放は意外と重いぞ。
そういやSTLって、new/deleteはどう処理してるんだっけ?
なんでメモリ操作が重いんだ 100MHzない人? Javaですら毎フレームオブジェクト生成してVectorにつっこんでも余裕なのに
>>234 アロケータ指定を省略してるだけだから、デフォルトアロケータ使うんだと思う。
>>235 何で?言われても、、w
因みに、マルチスレッドを使わない版のnewなら、まだ比較的軽い。
例えば、貫通弾でもないのに、ヒット後、リターンしてないとか。>重い原因
、、重い原因という程の無駄でもないか。
まず、本当に判定で落ちてるかを調べるのが先決だろうね。
落ちてるのが描画でしたとかいうオチは勘弁して欲しいが。 どっちにしろソースとバイナリをうpして欲しい。
1000個newした後、newした順番にdeleteやると、重くなるぞ。 逆順でdeleteするとそうでもないけどな。
弾幕STGで逆順に消えることはまずないから やっぱそこがボトルネックな気もするな。 ただ描画にDirectXGraphicsとか使ってて 弾ごとにDrawPrimitive()呼んでるとしたら論外だが。
>>238 高々1000で重いってどんな環境なんだ?
AthlonXP1700+のマシンで秒間1000回のnew/deleteで3%程度。 1GHz程度のマシンで10%行くか行かないかってところか。 どの程度を基準スペックにするかによるけど軽くはないな。 当たり判定の速度を考えてもボトルネックは別のところにありそう。
ペンティアム1〜2クラスなら重たいかもなぁ。
>239 弾ごとにDrawPrimitive()呼んでますが何か。 GF2MX程度でも数百程度なら屁でもない。
244 :
名前は開発中のものです。 :04/10/28 06:03:49 ID:QM/dADVw
大抵は最初からプリミティブの最大表示数を決めておくだろ 敵弾ごときで動的メモリ確保なんてコストかかりすぎ 散々外出でウンザリだが、 リアルタイム性が求められるシーンでの動的メモリ確保で恩恵を受ける場面てのはあるのか?
逆! 動的メモリーの方が弾数とか気にしなくても良いから楽じゃん。
で、後から苦しくなるわけだが・・・
リアルタイムなシーンで動的確保が有効って場合はぶっちゃけ楽だからの一点だよな。 メモリの状況が把握できてるならいいけど そうでないなら分断化とかできつくなってくるんでないか。 事前にあらかじめ確保しておく利点としてはシーン中の確保のコストがほぼ0で メモリがまとまった領域に確保されてて分断化が起きないってことだな。 弾数気にしなくてつっても2000個くらい確保しとけば足りないなんてそうないだろ。 てか足りなきゃメモリと相談して増やせ。 あとDrawPrimitive()は可能な限りまとめたほうがいい。 1・画面更新 2・DrawPrimitve()関係の描画 3・CPU各種処理(オブジェクト制御やメッセージ処理やフレームレート調整など) っつー処理順序が一番GPUの恩恵を受けられるはず。 CPU処理中に並列してGPUが処理を出来るからな。 てか227はどこ行ったんだ。
>>244 1フレームでみると一気に大量のオブジェクトを作ったり削除したりということはそうそうないからな
敵の種類20*100機くらいのオブジェクトプーリングしてもメモリ使用量はたいしたことないはずだし
敵弾ならなおさら
ふつーにどこをどーやってもネックになるようなものではないな、CPU方面は
静的な弾数管理とはスタックを作って生成済みのオブジェクトを出し入れする方法だな 明らかに面倒な処理だがC#やJavaでパフォーマンスを上げるにはこの手しかないな >CPU処理中に並列してGPUが処理を出来るからな。 インデックス付きじゃないと並列にはならないと思うが気のせいかな?
動的にとってもいいんだが、総数もチェックしてないようじゃ、画面外の弾もどんどん動作してるかも知れんなw 1万発くらいでてんじゃねーの? あとノートのオンボードグラフィックがかなりパフォーマンス悪いんで、そのへんもターゲットに含めるなら いろいろ高速化がしやすいようにしといたほうがよし。
オンボード、というかUMAの統合チップセットでもここ数年は結構十分な値が出てるぞ 来年第一四半期には915がノートにもくるので大幅によくなるね もうビデオカードのせいにはしにくいぞい
P2-400MhzのTi4200のマシンでスムーズに動くものがセレ2.5G+オンボードじゃ処理オチしてたよ。
>>249 VRAM上にバーテックバッファをWRITE_ONLY作って、
描画するスプライトをリストなり縮退ポリゴン入れてストリップなりで
データ作成してDrawPrimitive()呼んだらブロッキング処理呼ばない限りは
バーテックス/ピクセル処理は非同期で処理されてるんじゃないんだっけ?
無論システムメモリにデータがあったら微妙だが、それでもピクセル処理は
非同期だったような。
>>252 >P2-400MhzのTi4200の
またずいぶんとバランス悪いな・・・
20万前後のノートPCでもGeForceFXとかが積んである時代だしなぁ。
ただ可能な最適化は出来るだけしとくのが吉でしょ。
作りこんでいくうちに想定より処理が重くなるってこともありえるし、
逆にCPUやGPUのリソースが余ってればより作りこめるわけだし。
>>252 ものにもよるがG400とかあのへん以降は
CPUパワーもかなりのものがないと
ビデオカードだけよくてもスプライト性能でなかったりするぞい
それ以前はかなりレスポンスがよかったんだけどね
3D方面へ注目したのがちょうどこの時期だからなぁ
255 :
名前は開発中のものです。 :04/10/30 00:01:14 ID:4AE1zPLc
Radeon9800やFX5950に合わせて開発をすれば 完成する頃(2年後)にはちょうど良い具合になる
そんな頃にゃ、64bitのCPUが普通になってるだろ、多分。
マルチコアがデフォになるのを見通して 並列化の恩恵を受けやすいJavaか.NETという手もあるな
>>249 細かい?事だけど、スタックという表現は如何なものか。
別にFIFOにする必要もないし、**オブジェクトプールで良いんじゃない?
スタックは情報処理の基礎だろ それに言語、プラットフォームに依存しないやり方だし PS2以前のゲーム機用には当たり前のように使われている
スタックそのものがどうのこうのは言うつもりはないが たしかに表現としておかしい気はする
>>259 ??何言いいたのかさっぱり。
ゲーム機用とか言ってもコンパイラが用意するものでしょ?スタックって。
ユーザーが作れるのは、スタックと同じデータ構造(FIFO)の何かでしょう。
知識を整理した方が良いとおもうよ。
PS2以後も当然、C,C++なら、、関数呼び出し、レジスタに乗れないオート変数は、
当然スタックに割り当てられるし、スクラッチパッドをスタックとして使うのもPS2で健在。
スタックはLIFO
STLも同じ人間が作ったものだし、なんでも作れるよ。スタックもなー。 LIFOのポインタ管理をスタックと呼んでも問題ないと思うが。 意味が通じない人がいるから名称を改めるべきというなら理由は判るが。 あとなに言いたいのか判らないくせに問題を指摘して解決させようというのも煽り臭いのでカンベン。
とりあえずここの連中はゲーム作る気がないということがわかった。
266 :
259 :04/10/30 16:49:45 ID:4AE1zPLc
>ゲーム機用とか言ってもコンパイラが用意するものでしょ?スタックって。 >ユーザーが作れるのは、スタックと同じデータ構造(FIFO)の何かでしょう。 FIFOは待ち行列(キュー)。ゲームプログラムではタスク管理などで常用します。 原理はスタックに似てますが構造はまったくの別物です。 情報処理の基礎勉強さえしないでまともなプログラムが組めるのですか?
267 :
259 :04/10/30 17:07:42 ID:4AE1zPLc
>>262 ネタだと思うけどスタックはLILOですよ
清掃の時間になると社員達がバケツの中にある雑巾を上から順番に取り出しますよね。
で、使い終わるとバケツへ戻すと。
つまり最後に入れたものが最初に取り出されるからLast In Last Out・・・LILOとなるわけです。
そしてこれをスタックと呼びます。
雑巾を弾と見立てればキャラクタ管理に大いに役立ちます。
最初に参照配列を作って生成済みのオブジェクトへの参照を切り替える程度のものでOKなわけで、
ベクトルやリスト、動的メモリ確保は必要ないです。
268 :
259 :04/10/30 17:10:29 ID:4AE1zPLc
↑すまん、LIFOであってるw 俺も勉強不足やな
>>266 ,
>>267 だから御免て。
俺が言いたかったのは、描画リソースやタスク等は削除されてるのに
規則性や順番は関係は関係ないだろ?て事。
だから、LIFOである必要ない>スタックという呼び方おかしくない?てだけ。
スタックは訳すと干草。積み上げて上から使う。それだけ。
なんで間違えたんだろ、、。
俺の場合、アプリ初期時にレイヤー(&テクスチャ)ごとに
プリミティブを登録させてる。(各種ソート負荷軽減が目的)
だから動的な配列Xn。
サイズをタイトルごとに調整出来るようにそうしてる。(STG以外も考慮)
スタック処理って、メモリーの上の部分しか参照出来ないヤツだろ? 下の方の情報はどうするんだ?
ポップして上の取り出して、下のを参照するしかない予感
>>270 俺も正直、259の処理モデルがイメージ出来ない。
固有の技からコンビネーション作るのとか、格ゲーのコマンド等でqueue使う事はあったけど。
俺の場合、挿入、削除の手間、ランダムアクセス不要というのから
タスクポインタはlistで管理してるけど、
ポインタのlistは、キャッシュミスを引き起こし易いから最近のマシン向けじゃねー。
見たいな事がCマガで書かれてた。
漏れの場合は動的メモリーを実現するために、 ガーベージコレクションを自作した。というか、 STLも悪くはないけれども、イマイチ扱いづらいんだわ。 あと、こーゆーのは、作っておくと色々と便利だしな。
Boostは使わないの?
で、結局227の弾幕のボトルネックは不明・・・と ソースうpしてくれたら見るのに・・・
オレ様のすんばらすぃ ソースなんかアップしたらパクられるから うpなんかするかよ…と思っているに違いない
>>274 CGファイルや音楽ファイルみたいに特定のフォーマットを使えれば
それで十分な分野ならまだしも、条件によって様々な形式を扱う分野で、
他人のライブラリを用いるのはどうかと思うぞ。拡張性が犠牲になりすぎるだろ。
使えるなら使ってもいいと思う。BoostやSTLは「使えない環境」で仕事しなきゃならん場合もあるんで
あったら便利に使うけど、なきゃ作れないっつーのは避けるのもまたよし。
Winで作る分にはガンガン利用できるものは利用してもいいと思う。
>>277 ダメになったらまた一から作り直せばヨシ。結局それしかないですよ。
CSとかの仕事でスマートポインタとかって、結構使われてきてるの? 俺はまだ1回しかない。
うちは会社の方針でPS2はC言語のみ。 デバッグ環境もLinux+Termでのコンソール画面だけ。 printfデバッグしかできねってこった。
281 :
279 :04/11/02 18:16:27 ID:2pyb8U/Z
>>280 最悪ですねw
どういう方針なんだろ?CWとかに金掛けたくないとかかな?
gdbも使えるだろ。レベル低すぎなんじゃね?
確かCWで作った実行ファイルの方がgccで作ったものより30%くらい 遅かったからそれ以後ずーっとLinuxって言ってた希ガス。 今は別になれたし他の環境なんて知らんから別に気にならないけどね。 流石にVC++並みの環境なんて期待してないし。
>>283 ナルホド、、しかし、30%か。
コード生成だけでそんなに違うものかね?
因みにスマートポインタとか使ってたミドルウェアは、700mポリ/sだそうだ。
ホントか知らんけど、パフォーマンスは結構良かった。
グラVとかで使われてる。
当然、クリティカルな所は生ポインタを推奨してたけどね。
今はCWでもgccでも速度変わらんみたいだから、 CW使えるなら明らかにそっちのがいいんだろうけどね。 Linuxセットアップからやってるから面倒だし。
>ポインタのlistは、キャッシュミスを引き起こし易いから最近のマシン向けじゃねー。 >見たいな事がCマガで書かれてた。 C++の場合は従来どおりリスト構造で弾管理すりゃいいしそのほうが簡単でよいが JavaとC#の場合はnewが糞重い(GCも兼ねて)のでスタックを使わざるを得ない、というか言語的に 参照配列(ポインタのリスト)しかないわけだから必然的にそうなるし、リアルタイムゲームにおいては コレクションクラスをC++風に気楽に使うことはできない。 スタック処理を批判するこのスレにはC++使いしかいないの? ちなみに俺はC#使い
批判されてるのは言葉の使い方知らない連中であってスタックではないかと。 リストが遅い? 配列から取り出したワークをリストで管理すればよし。
>>286 うそこくでね
実際にJavaでSTG作ってみればわかることだが
>>288 そうか?Javaでゲーム制作したことは無いがツール作っててVector管理から
普通の配列管理に変更したら激的に速度が向上したぞ?
Vectorが遅いってどういう環境だ 原因はそこじゃない気がするぞ
補足するとVectorやArrayListは固定バッファとるタイプな バッファがいっぱいになるとさらにサイズのでかい配列をとって そっちへのコピーをする 挿入削除を多用したいのならLinkedList使え こっちはいわゆるリンクポインタでの実装だ 当たり前だがそのかわり順次アクセスは遅い なんでもかんでもJavaのせいにするでねぇ CだってVectorやArrayListの実装で動的にサイズ変えていったら インタプリタより遅いといわれるだけだ
マルチスレッドじゃなきゃ、VectorよりArrayListの方が速いよ。
いまどきは内部構造をまったく意識しないで作ってる人も多いんだなぁと実感。
初めてSTGなんかを作るときはその辺のオブジェクト管理も 自作するのがいいだろうね。
295 :
272 :04/11/03 21:21:25 ID:3//sQu14
>>289 ちゃんとリザーブしてる?(ゲームなら出来る筈)
してるなら固定配列とそう変わらんよ。
STLはヘタなヤツが弄るより全然最適化されてるし。
俺もC#は少しだけかじってるよ。ツール目的だが。
リアルタイムゲームで使おうという人は少ないようだし、
俺もやってはみたいと思ってる。
取り敢えずスタック処理とコレクションの所がよく判らんけどなw
速度重視だと、普通にforeachじゃ駄目。って事?
具体的にはどうしてるの?
最初は間違ってても良いから自分なりの考え方で組んでいこう そして他人の意見を聞いて誤りや欠点を見つけ、良いところを取り入れてゆく とにかくじっくり考えること。これを何度も繰り返していくとやがて理想のコードが生まれる。 数学の問題でわからないからといって すぐ答えを見るやり方では絶対に点は取れないってのと同じ。 やり方を人に聞いてばかりでは進歩はない。
Javaにしろ.NETにしろ速度的なデメリットはもはや皆無 作りやすいならそれでいいじゃない 2DSTGなんてコレクションとインターフェースプログラミングで さくっとできあがるだろうに ゲームが面白いかどうかとは別問題だが たとえば面白い動きを考えたときとか実装が簡単だと それなりにメリットはあるだろうねぇ
どうせ、すぐ出来上がるのは同じようなものばかりなんだろ。
どうせなら、ボンボンに登場しそうな、無茶でパクリまくりのゲームを出してくれ。 敵機、敵弾をかするとPOWERUP、小刻みに自機を動かし続けるとPOWERUP ひたすらショットボタン連打でPOWERUP、じっとボムボタン押し続けでPOWERUP 敵機連続撃破でもPOWERUP、ただし、どれか一つが途切れたら一気にPOWEROWN。 自機スピードUPでスクロールスビードUP、敵機敵弾の登場数もUPし、さらに高得点圏に。 表示範囲拡大で敵機数と見える範囲が一気にUPだが、自機、敵機のアタリ判定が 比例せずに大きく変化。敵機、自弾の判定は小さくなり、自機、敵弾の判定は大きく。 硬いザコ敵には、一発で破壊可能な弱点1ドット分。ボスはありえないくらい硬い。 さらには弱点1ドットを攻撃しないと破壊できないザコ敵やボスも登場。 得点は1点刻みでカンストの限界に挑戦。エリアはループでEDなんてありえない。 これが今まで俺を熱くさせてくれたSTG要素だ。
ボンボンってなんですの
コミック?
>>298 マジレスすると、システム層は同じでいいけどね。表層部分さえ自由度高ければ。
>>302 マジレスすると意味不明だぞ。
少なくともシステム層は同じでいいけど、なんておれは思わん。
例えば絵が綺麗になっただけ、難易度が上がっただけ、
キャラが大幅に増えたりetc
オブジェクト数100のものが1000になって10倍おもしろい訳でないし。
元の部分に飽きていたとしたら、なんの面白みもないのでは。
単純にパラメタ変化した「だけのもの」にもう興味ないというか。
299ではないけど、今まではまったゲーム要素をいくつか組み合わせる。
それに独自の工夫、アイディアがあれば良いと思う。
と熱く語ってしまったが、なんか開発環境の話だったのか? なに勘違いレスしてんだ折れ、と気づくのがおs(ry
>>303 一般にシステム層自体は、STG以外のジャンルでも使う汎用性が高い部分。
>>299 程度のものは全部、表層部分に含まれる。
システムも毎回起こすとかこだわりだすと、OS含めて使いまわすことが許されなくなり 自社基板開発になってしまうのです。
307 :
名前は開発中のものです。 :04/11/07 09:45:00 ID:tHCeGyRd
どうせなら汎用性の高いもの作るだろ
>>305-306 そろってマジレスしてるが頭、大丈夫か?
ゲームの取り説にも〜システムなんて普通にあるんだが。
一言で言えばスレ違いだ。
「ゲームプログラムの基幹システムについて語るスレ」でも立てとけ。 漏れもこの手の話には、少しは興味があるし。
目に見えてくるとこだとメニューとか そういうのか
テキスト窓の表示とか、スコア表示とか、 CPU稼働率が100%にならないような組み方とか・・・
テンプレは、こんな所か? ・ゲームプログラムの基幹システムについて語るスレ このスレッドは、OS的な処理やら、スクリプト処理、 メニュー表示、スコア表示、テキスト表示、枠表示、 CPU使用率が100%にならないプログラムの組み方など、 ゲームプログラムの基幹システムについて語るスレです。 ○○パワーアップ方式や、△△メーター、××ゲージ、 □□式レベルアップなど、表層システムについて語るスレ ではありません。
立てれなかったよ・・・orz
315 :
名前は開発中のものです。 :04/11/08 00:41:19 ID:itzSfkpY
ゲームつくってショボイと思ってんなら、なんでうpするわけ? なんて言われたくてうpしてんのさあ?? で、やってみたらショボイっちゃ〜ショボイけど。 そう言われなきゃ、GJのひとつも言ってやりたいぞ(315の存在って、一体w しかし内容としては弾よけというより、障害物よけゲームだ。 昔のPCだと多分、遅すぎてゲームにならんね。 そこからして、フロッピーの整理ってのはウソくさいですなあ。 パワーアップしない、背景が無いとか、音もないといったレベルで ショボイと思ってんなら間違いだからね。 画像やデータ量が充実しても、ショボイものは同じ。 たぶん君はゲームデザイン、プログラムともに向かないんでないかな?
30秒後・・・。OTL ワルカッタ、ちょっと言いすぎた。 314ごめんよ。おまえは悪くない、がんばれ。
酔ってるのか?
せめてたて読みにしろよ。
心の病気か?
>なんて言われたくてうpしてんのさあ?? 日本語でしゃべってください
↑なんだ、ザコの負け惜しみかい。 こんな程度のヤツらばっかりなんだな、ココ^^
323 :
314 :04/11/08 11:23:55 ID:3QjDAsyO
(´・ω・`)がんばる 爆発エフェクトの画像作成ツールとかあったので、機体とか 弾とかの画像を頑張って探してくるよ でも背景だけはどうにもならない(´・ω・`)ゴメンネ
探せば背景に使えそうなテクスチャも結構あるよ ガンガレ
↑煽ることしか出来ないお前の中身のない頭の方が心配
327 :
名前は開発中のものです。 :04/11/08 17:36:48 ID:GxqAGkBF
↑ほら、わかりやすい奴
ひきこもりか
316 名前:名前は開発中のものです。[sage] 投稿日:04/11/08 02:10:13 ID:GxqAGkBF 322 名前:名前は開発中のものです。[sage] 投稿日:04/11/08 10:46:08 ID:GxqAGkBF 327 名前:名前は開発中のものです。[] 投稿日:04/11/08 17:36:48 ID:GxqAGkBF 真夜中も昼も夕方も家に籠もりっきりのニート君でした
ID:pKteSxetは( ゚ロ゚) 「ゴルァ!!」と「モルァ!!」は違うぞモルァ!!
>>308 取り説なんかの俗に言う「ゲームシステム」と
プログラムの話のシステム層を混同する奴があるか。
前者は「ゲーム仕様」、後者はゲームエンジン、ゲームライブラリ、カーネルとか言えば伝わるか。
STGに限らず、仕様とシステムを混同すると1度限りの捨てコードしか書けなくなるよ?
C++使ってるなら大丈夫な筈ではあるが。
>>330 今日はずっと家にいたが。
アンタにはそういうことがないんだな。そりゃ結構なことでw
× 今日はずっと ○ 今日もずっと
↑オマエのことだろ氏んじまえ。
まあまあなスレなんだからあんま汚すなよ。
あたりまえのことかもしれないけど キャラクタ座標やフラグなどの変数の値を変える処理の場合、すぐに更新せずに 一時的にキューに溜め込んでおいて次のフレームの開始直後に一斉に更新するのが吉なんでしょうか? そのほうが処理の順序が変わっても整合性が取れるような気がしますが
>>337 俺はキューとかは使わないが、キャラに優先順位を付けるとかはやる。
後、俺の場合は衝突判定だけ後で一斉に処理するようにしてる。
座標更新もそういう事が出来るようにはしてあるけど(3Dを考慮して)、今の所してない。
ACTとかに比べてSTGはその辺は楽だと思う。
ム板やゲ製板はキレやすい子供が多いのだろうか つまらんことで荒れ過ぎだぜ・・・
うわー静的確保とか動的確保の話題に参加したかったが乗り遅れちまった 今からでもいいか? 動的確保前提でキャラごとにクラス作ってたたい(←何故か変換できない)、させる方法だと 柔軟に動きつけたりできるんだが、その反面、 メモリの断片化がやっぱ気になるし、 1フレームに数百もオブジェクト追加なんかするとどうしても一瞬遅くなる。 静的確保だとキャラごとにクラス作ってーな方法がとれず、 どうしてもデータ駆動型になって、柔軟な動きがつけられない。 こちらはABA氏のソースを参考に試してみたが、 数が多くても上記の動的確保のような問題はでず、すっきりする。
341 :
340 :04/11/09 18:01:04 ID:7wL+3x1I
結局は、パーティクルや敵弾やザコ敵のような単純なものには静的確保型、 ボスキャラや複雑なザコ敵には動的確保型の組み合わせが一番ベストだと思ったけど、 みなさんはどうですか? 静的確保のコストでクラスを動的確保できれば最高なんだがなー なんとかいい方法はないか?
342 :
名前は開発中のものです。 :04/11/09 18:29:01 ID:2v8UpvD/
速度最優先のMalloc、Freeを自作して new、deleteをオーバーライドするのが一番のような気がする。 てか漏れはそうやってるけど、今のところ不具合は出てないな〜。 まぁMalloc、Free部分はLunaをそのまま使ってるだけだったりするが。
2Dゲーム制作で速度気にするやついる? 多分PentiumV600MHz等の骨董PC上ですら、動的確保処理バリバリでも 60フレーム以下になることはないだろうし。
まぁ望むパフォーマンスさえ出ているなら問題はないと思う。 ようはどこで折り合いをつけるかではないかと。
345 :
337 :04/11/09 23:17:16 ID:ZsHc5T6E
>>338 あぁ、同一フレームで同一の変数が更新された場合なんかで優先順位は重要ですね。
自分の場合は更新内容に発行者と優先度を添えようと思います。
更新内容:MX=140、発行者:自機、優先度:1
更新内容:MX=50、発行者:システム、優先度:5
てな感じで。
まあいろいろ試してみます。
>>340 自分は、前者の方法で2DSTG実装したんだけど、ツールとの連動が
ある程度出来るなってきた時点で、後者にスベキだったと後悔した。
(なんとなくは思ってたんだけど)
例外的に多態使う以外は、データ駆動で十分。
>>345 その辺は、俺も理想系はわからない。
3DACTだと、キャラ同士で押し出し>背景の押し出し、、等がややこしそう。
種類ごとの順番が狂わなければ2DSTGなら何でもいいと思うが。 ただ、新規で作成されたものは、それ以前に作成された同種のものより あとに実行されるようにだけしとけばいいんじゃないかな。 自機処理 自機ショット処理 敵処理 敵弾処理 背景処理 その他演出キャラ 当たり判定 みたいな感じで。表示も同じ順番かな。 配列で順番も配列順とかにすると連携処理でハマルことがあると思う。 AがBを操作するとかってのがAのあとにBの場合とBのあとにAの場合で結果が違ったりするんで。 あとは敵が敵を生み出す場合とか、敵弾を生み出す場合にリクエストスタックでも作っておいて通常処理のまえに いっかつで発生処理にするとよりおかしなことが起こりにくいかな。 エフェクトと自機ショットを生み出す背景がいた場合とかに開始フレームが狂ったりするから。
気にしすぎ。
大は小をかねる。 メモリーを動的確保する場合は、そこそこ大きめにメモリーを取っとく。 で、確保した以上の領域が必要にならない限り、同じメモリーを使い回す。
そしてmallocの再発明。
351 :
340 :04/11/10 20:58:28 ID:xHEMRKEu
352 :
名前は開発中のものです。 :04/11/10 23:05:15 ID:V7z6a0PP
プログラミングめんどくさくてジャンルを問わない汎用的な ゲームエンジン作りたいからJavaVMやらWindosの仕組みをパクろうとおもう。 さらにコードが自動生成できてコマンドラインでコンパイル可能にするツール制作を目指す。 つまりRPGツクールがC++のソースコード吐き出せてコンパイルまでしてくれるようなツール。 依然いたゲーム会社(K○○○)にあったそんなシステムがあまりにも恋しい
353 :
名前は開発中のものです。 :04/11/11 00:09:38 ID:8c4Lfc8G
そんなもん作るほうがよっぽど面倒くさいと思うけど・・・ やねうらおのシステムのぱくりくさいし。 大体結局コンパイルするならはじめからDxなり 何なりのライブラリ使ったほうが遥かに汎用的だぞ。
>>350 えっと、今のmallocが四作目だったかな?
どうも、ゲーム本体よりも、基幹システム
の構築の方が楽しくなっててな・・・orz
355 :
340 :04/11/11 19:06:33 ID:xwGyZvY4
ついでだから、みんなのmallocさらしてよ〜 参考になるwebでもいいからさ
356 :
340 :04/11/11 19:30:13 ID:xwGyZvY4
357 :
名前は開発中のものです。 :04/11/11 21:14:14 ID:8c4Lfc8G
参考になるかわからんけど、LunaのMallocは自作だったと思う。
>>353 そうか?
コーディングの場合文法エラー等の人為的ミスでコストがかかりすぎるし
量が増えたら管理が大変だろ。
それよりかはプログラム知らなくてもFFX等のPS2ゲームが作れるのは
ゲームの質に専念できるし魅力的だと思う。
そういう便利なライブラリやツールを作るのは大変なんだが
作り手の手間が、遊び手の楽しみに直結しているなら、 そうした考えも悪くないと思うけどな。今のFFの場合、 作り手の自己満足を押付けられてるような気分になるから、 あまり好きじゃないんだよな・・・
360 :
名前は開発中のものです。 :04/11/12 10:17:03 ID:+0sWaIpN
>>358 RPGツクールのようなものを自作しても
人為的な文法ミスやロジックのミスを消せるようになるわけではないだろ。
システム、ファイル、メモリ、グラフィク、サウンド、IO関係をライブラリから
簡単に制御&デバッグしやすいようになっていれば、ゲーム自体に専念できるのは一緒だし。
>>360 コンパイラより、インタプリタやウィザードの方が親切。て事では?
さらに言うと、データ入力時に弾くのが一番。(&エラーチップ表示)
362 :
358 :04/11/13 10:18:14 ID:nFlv5/v9
>>360 俺が言いたいのはたとえばメモ帳を作る場合、ゼロから組んでいくよりMFCでコントロール貼り付けるだけの
作業のほうがミスも少ないし楽だよなぁってこと。
言い換えるとホームページ作る時に
ホームページビルダー等の専用のエディターを使うか、それとも自力でメモ帳なりでソース書いていくかという違い。
文字ばかりの作業よりも、図式で組み立ててゆく作業のほうが分かりやすいってことだ。
ソースが10万ステップ超えるような仕事を複数受け持った場合、MFCのようなコード生成機能は不可欠なのさ。
まぁ5000ステップ程度の小規模プログラムならコードだけのほうがいいかも。
363 :
名前は開発中のものです。 :04/11/13 10:34:49 ID:i2Rnq5dE
シューティング ゲーム の略なら SG だろ?
ツクールのようなものを自作する手間は、考えてないのか。
365 :
名前は開発中のものです。 :04/11/13 11:56:10 ID:i2Rnq5dE
意味わかんね 新手の宣伝手法?
アスキーから出てたMSX2以降用のシューティングツクールのこと。
なんで
>>365 がぐぐらせたいのかは解らんけど。
本当だ「吉田工務店 MSX2」でぐぐったらでてきた でもわかりにき手に入りにくいMSX時代のを出すのは何故? 参考にするなら今のツクールで十分じゃねえの?
>>364 一度だけの手間なら安上がりだろ?
ゲーム会社はゲーム制作においてどの工程を削ればよいのかってのは身にしみて分かっている。
一番無駄なのがプログラムね。これはハードの性能向上とともに大きく変わってしまった。
考えてみればプログラム部分なんて顧客には分からないし悪い言い方すればどうでもよい部分だろ?
実際、優秀なゲームエンジンのライセンスを買って制作するところもある。
つまりゲームの外観的品質(面白さ含む)を上げることに金をつぎ込むほうが大事なんだよ。
ツクールシリーズもランタイム形式を廃止してランタイムのソースコードを吐き出すようにしていれば
厨房御用達ツールなんて言われずに済んだかもw
370 :
名前は開発中のものです。 :04/11/13 16:12:58 ID:i2Rnq5dE
作る技術は持ってても、大金積まれないと作ろうとはしない 作る技術は持ってても、ケツを叩たかれないと作ろうとはしない それが人間さ
プログラマなんてもう猿並の扱いになっていくのか
>>363 アクションゲーム AG
ロールプレイングゲーム RG
シミュレーションゲーム SG
シミュレーションゲーム SG
シミュレーションゲーム SG
シミュレーションゲーム SG
シミュレーションゲーム SG
セックスゲーム SG
PCエンジンスーパーグラフィックス SG
>>368 いわゆる最初のツクールだからねぇ
これを進めることに意味はあるだろう
たとえば擬似3DタイプのダンジョンRPGをさすときに
魔道物語タイプというべきかWIZタイプというべきかとかその程度とおもわれ
どっちもふるいとかいうな
人によってはカオスエンジェルスタイプかもしれん
がんばって作ってくれ。 出来上がったらまた報告してね。
吉田工務店うごかなんだから、吉田コンツェルン見てみたが・・・_| ̄|○ 初代デザエモンを彷彿させたのは俺だけか? まああれだ、見なくていいよ別に
技術が枯れてくると、そういったツールが出てくるよね ツールが出てないジャンルは、まだ枯れてない技術だってことだ
つまり3Dエンジン、人工知能、ネットワークだな。 実際、ゲームプログラマなんてもう必要ないって言われてるから この道進もうなんて考えたらおしまいだよ もはや趣味の分野だよ
382 :
名前は開発中のものです。 :04/11/15 19:08:34 ID:v7UdMm/z
んなこたぁない。
コンシューマーなら、まだまだ必要だけどね。 エロゲーはノベルゲーばっかりだから、需要無いでしょ。
うちのパブリッシャも広告に1億かけるくせして、1500万のミドルウェア使わせてくれずに やっすいクソ使い物にならないライブラリに意味不明のスクリプト乗せて作らされてる コンシューマ業界なら3Dグラフィクスの基礎ができるぐらいで引く手あまたですよ
スレチガイが目立ちますね
386 :
リアル厨房!七誌さん :04/12/06 22:30:24 ID:x8ikmLa7
>>386 >>387 全くゲームになっていないものをどう評価しろってんだ。
画面に自機が表示するだけ、
しかもまともにコントロール出来ない
(一度移動すると画面端にぶつかるまで止まらなくなる)
と思ったら
>>39 のこれか
Level3
自機が画面からはみ出ないようにしましょう。自機が画面からはみ出ないようにしましょう。
↑これか
しかしキー入力部分を見直したほうがいいよ。
いやいや、そういう操作のSTGもありだろ Level3の条件は満たしている訳だし
同じレベルの人がいるところで頑張るしか。張り合いができますよ。
了解です、俺ってクズすぎですね・・・。 回線切って首吊りに逝って来ます。
そういう意味じゃないんだが。またあとで。
395 :
名前は開発中のものです。 :04/12/15 14:22:44 ID:9Vs+nhAY
>>393 ちと遅くなったがレスすると、結局自分のレベルと同じ程度か興味のあるレベルじゃないと人はあまりかかわろうとしないわけ。
指標となるテンプレ作った人だっていつまでもそこにとどまってないし、キミだってパソコン初心者がマウスって何?とか質問
してる場所に赴いて指導してあげたいとは思わんでしょ。
オレも最初に作ったプログラムはベーシックで5行とかそこらのものだし、いまじゃ会社で仕事としてその1万倍くらいの量を
こなしているけど、いきなりそうなったわけじゃない。
こんな多人数のいろんなレベルの人が居る場所で全員にかまってもらおうと思うとかならずヘコむことになると思うんで
ある程度やる気が維持できる自分と同程度のレベルのライバルが居る場所にいったほうがいいよってことだよ。
スレ的にはあってるがもはや人おらんのだよ。みんなもう卒業しちまったのか。
>>391 個人的にはジョイパッド、ウィンドウモード非対応が気に入らない
特にリフレッシュレート変更されて画面ゆがみまくりで超ムカツク
ソースのほうはifの条件が見づらい
キー操作の上と下、左と右が同時に処理される可能性があってキモイ
ゲーム内容は敵を全然狙えないし自機の速度が可変の意味わかんないしつまんない
でも敵キャラかわいい
以上です
>>391 次は弾を複数発射可能に、あたりかな。
あと移動なんだけど、宇宙空間で慣性を使っての移動みたいな
感じでいくなら加速するような感じにしたほうがいいかも。
なにはともあれ、どういう設定があるかによるんでその辺を軽く決めたほうが
方向が見えやすくなると思う。
あとは強制フルスクリーンはあまり印象よくないから選択できたりするといいかも。
399 :
C++/SDL :04/12/16 19:15:55 ID:i1ipf8b0
出来は悪くないし確かに無難にまとまってるけどパッド関係の処理がちょっと可笑しい。 勝手に右上に移動しちゃうからあそびが少なすぎるか、 ライブラリ側の設定の問題じゃないか。 DirectInput使ってるならスティックの範囲を設定できるんだけど、 これがうまくいかないパッドも存在するからデフォルトの範囲を取得して、 自分で任意の値に補正するような処理の方が確実なんだが・・・ SDLがどうやってるかは知らないしなぁ。
401 :
399/C++/SDL/Level6 :04/12/17 20:53:00 ID:8m3WufBX
いい加減というか、機械式の装置はどれもそれなりの遊びが必要だよ。 PS2のデュアルショックは8bit程度の精度だったと思うので、DirectXでの256をだと、実体としては0〜1 の遊びしかないようなものだな。 256*16程度の遊びでも大丈夫だと思うが、ウチの壊れたアナログだと自力でセンターに戻さないと 動いちゃうかも名。(ワラ 8方向ボタンの代用だったら30%か50%くらいで、外側の方も遊びをつけてやるとなおよしだな。 もしかしたら最大まで入力できないコントローラもあるかもしれんので。
・・・強制フルスクリーン(というか使えるスクリーンモードを勝手に選ぶんですけど)は 仕様でつ。ダイアログを出して選択させたかったけど無理ぽ・・・。 (出せるっちゃあ出せるのだけれど、Allegro独自仕様のGUIでしか出せなOTL) 自機の操作はグラディウスみたいにキーを離すと徐々にブレーキが掛かるように したかったのですが試行錯誤してわからなかったので放置。 そのせいであんなのになってます。
>自機の操作はグラディウスみたいにキーを離すと徐々にブレーキが掛かるように どこのグラディウスだ? それは。
アーケード版のグラディウス3(2かな?)です。 あれで操作したときの感覚をイメージしてもらえれば・・・。 如何にせよ自分の技術力の無さに泣けてきます・・・。
おいおい、お前ゲーム名間違って覚えてるぞ。それグラディウス3じゃなくて エクセリオンだぞ。
>>403 >ダイアログを出して選択させたかったけど無理ぽ・・・。
iniファイルか起動オプションで選べるようにしておくだけでもかなり助かる
>キーを離すと徐々にブレーキが掛かるように
加速度
キーを離せば加速する数を減らせばいい
>>408 ABA氏のゲームをプレイして思いつきました。
起動オプション付ければいいかな、と。
今現在プログラムを練り直し中です・・・。
>>405 なさ杉w
あれは自機の慣性じゃなくて画面スクロールの慣性だよ。
ああ、やっと意味がわかったw レイフォースのほうが分かりやすいな
んんー ひょっとして画面が右左にも動くってやつ? そういえばグラディウスは横シューだけど 自機が動くと、画面が上下にも少しスクロールするよね。 (全画面縦スクの面もあるし)
413 :
名前は開発中のものです。 :05/01/26 09:36:03 ID:JeRKJ8s4
414 :
39 :05/01/27 17:14:04 ID:dwq/pNWF
>413 ガンガレ!
>>39 のをがんがって成し遂げていきます、よろ。
Level1ができない。しばらく考えてきます。
レベル3までいけた。HSPだけど。
開発環境は関係ない。 最終的に目的とするものが出来たかどうかだ。
レベル4ができない・・・
漏れも便乗で
>>39 のをがんばってみます、よろ。
レベル4までできたがソースが汚くなってきた・・・。
レベル5もクリア。 レベル6が当たり判定やら爆発やらやる事多いな・・・。 レベル4は自機のコピーに弾の画像と速度持たせて表示させましたがいかが('A`;)
いまだにレベル4ができません・・。
>>421 すごいヽ(´ー`)ノ
はやくも抜かれちまった
>>422 レベル1に1、2ヶ月かかってますのですごくないですorz
爆発の表現が難しい・・・。
レベル4
ショットボタンが押されたら、新しく作った弾の座標x , y に自機の座標セット フラグに1をセット。
描画部分でフラグチェック
1 ならyに速度をたしこんで弾の絵を描画、y が画面外ならフラグに0をセット。
こんな感じでいかがですか('A`;)
使う変数が多くなってきてソースがきたなく・・・orz
一行が長くなっても良いから、 理解しやすい変数名を使った方が良いぞ。 EnemyBullet MyBullet ってな感じで。
先頭に変数型をつけておく、なんて話もあったな。 int iMyBullet;char cMyBullet;short sMyBullet; あと、グローバル変数なら int g_iMyBullet; メンバ変数なら int m_iMyBullet; とか。
>>423 ありがとうヽ(´ー`)ノ
アドバイスとウェブのサンプルでなんとかレベル4できました。
そしてレベル5の敵が下まで消えたら上に現れるができない・・(´Д`)
私もがむばらねば・・・
if ( enemy.y > 480 ) { enemy.y = 0; }
爆発処理するのにアルファブレンドとかややこしい
一応半透明にはできたけどまだまだ問題あるぽいorz
>>424 思いっきりローマ字でやってます。ダメダメです('A`;)
HSPってコーヒーカップのアイコンの奴だったのか。
数年前に使おうとして一瞬で挫折した記憶がある・・・。
>>428 ありがとうヽ(´ー`)ノ できました。
いろんなサンプルをネットで見てるけど、サンプルを見ないとつくっていけない
頭の中にプログラムが入ってないのかなー 見ないとなんにもできない
ま、それはさておき、レベル6いくぞ、ゴルァ( ゚Д゚)!
とりあえずレベル6までクリア レベル7はゲージ製にするので体力値の表示のみ。。。 レベル8の一定時間事に弾って カウンタを使うか時間を取得するかどっちのがいいんだろう?('A`;)
432 :
39 :05/02/18 03:40:25 ID:m7f27BiL
みんなガンガッテて楽しそうだ。 >431 ゲームループで毎回カウントするフレームカウンタを使うと良い。 STGは必ずこのカウンタでゲーム進行を行うから便利。
434 :
413 :05/02/18 13:21:40 ID:z0IsTzVm
あっさりバグを発見www 夜にでも直します
>>430 漏れもウェブ参考にやってます、見ないとわかりませんorz
>>432 レスありです
とりあえずカウンタで付けてみました。
30カウントごとに一発のループですが('A`;)
そしてレベル9も実装。でも、レベル8の方向弾はまだ...(ぁ
同じく行き当たりばったりプログラミング。
法則性が無い上にマジックナンバー使いまくり、ソースが・・・orzガンバロウ
436 :
413 :05/02/19 15:05:55 ID:ArmgEL5G
sin()関数を廃止して、全部サインテーブルにしてもスピードが変わらん・・・
┐(´ー`)┌ ワケワカンネ
>>435 行き当たりばったり同士がむばりましょ。
マジックナンバーという単語は初めて聞きました。
調べてみると、もちろん使いまくり・・・ orz
まあ、何だ。今から直せば良いかと。
438 :
413 :05/02/19 18:11:58 ID:ArmgEL5G
さらに固定少数化してもじぇんじぇん変わらな〜い♪ ざけんな ヽ(`Д´)ノゴラァア
レベル10の複数の敵を実装。画面が賑やかになった。
全部同じ敵、同じ動作でキモイケド(;´ー`)
でるだけ当たり判定減らすように細工したけど
どうやら当たり判定より先に描画の限界がくるもよう('A`;)
>>437 直したいんですが適当な数字が多すぎ・・・
徐々に置き換わってるけど増えたりもしてるようなorz
やっぱり基礎からやるべきなんだろうけど。
>>438 sinを使えという事とか。。。
漏れはsinとcos使ってます 速度にぶつかったら修正の方向で(ぁ
レベル6の爆発が難しい(´Д`)
自機ショットと敵の当たり判定はなんとかなったけど・・。
敵が死んだら、敵画像消して代わりに爆発画像を一瞬表示するってのは分かるんだけど・・、うまくできない・・。
>>440 ヽ(´ー`)ノ レベル超えるのはやいッス
ダウソさせてもらいます。
なんかうまく実行できないです、スマソ(´Д`)
>>441 レベル6の爆発
敵が死んだら、敵画像消して代わりに爆発画像を一瞬表示する・・・・
漏れは自機から弾出す時と同じで、新しい変数作って座標ぶちこみました。
こうして増えて行く変数達orz
あたり判定 = HIT
bakuhatu X , Y = teki X, Y 敵の座標を入れる
bakuhatu cunt = 30 カウンタをセットする 30カウント表示 この30がマジックナンバーorz
teki X,Y = 0 , 0 敵を違う位置に出す
爆発の描画部分 bakuhatu cunt > 0 爆発カウンタが0以上なら
Draw bakuhatu 爆発表示する
bakuhatu cunt = bakuhatu cunt - 1 毎フレーム爆発カウントから1引く。
>>442 HAL専用になってました、漏れダメポ・・・orz
445 :
413 :05/02/20 00:41:15 ID:SOnpTBuA
>>443 ヽ(´ー`)ノ ありがと、できました。
でもカウンタがよく分からなかった・・。
外して実行してみたらうまくいきました。
何故だろう・・
なんかプログラムの基本が分かってないな、俺(´Д`)
>>444 ダウンロードさせてもらいます。&レベル7いくぞゴルァ!( ゚Д゚)
・・なんかうまくやっぱ実行できないッス 俺のパソが悪いのかな、実行すると3秒ほど砂時計がでるけど、何もおこらない・・
449 :
413 :05/02/20 17:07:09 ID:57n8YpeD
>>448 実行できましたよー。
環境は WinXP, GeFoce4, ビデオメモリ32, システムメモリ512, 東芝のノートパソです。
レベル10クリア ヽ( ゚∀゚)ノ オメ!!
私もがむばらねば。
450 :
名前は開発中のものです。 :05/02/20 17:37:03 ID:Xy8wlwf3
bulletmlつかってみれば、面ろい弾幕だせるよ
>>445 SSまで取ってくれてありがとう、こんなかんじです(´ー`)/
>>447 これでもダメだと漏れの頭ではどうにも・・・スマソorz
後はDirectX 9.0b 以上でないと動かいないかも
後ソフトウェアモード?で試してみたんですが、FPS 1・・・orz モウダメポ
>>448 ダウソして実行しました。
方向弾避けるのムズイーとか思ってたら
上下移動忘れてるアホな漏れ(;゜д゜)
スクリーン描画ってどうやるのが鉄板なんでしょうか。 (C#プレーンな環境で開発中) 今のところ 画面サイズのBitmapオブジェクトを用意する ↓ Graphicsクラスで延々とBitmapに描く ↓ 別のGraphicsクラスでウィンドウにBitmapを描画 という方法を取っているのですが、 純粋にGraphicsで画面直書きに比べてfpsが半分に落ち込みます。 速度を稼ぐための描画方法ってないものですかね?
課題がなくなったから次なにやっていいのか分からない・・ 俺はなんて受動的なヤツなんだ・・(´Д`)
>>452 漏れはGDI使ったこと無いんでわかりません、スマソorz
>>453 実行しました。
順調に進んでますねぇ、左上のアイコンがイイ
漏れ CもC++もWINAPI GDIもすっ飛ばしてDirectXに突入しましたorz
そのつけは確実に回ってきてるようで、スパゲティソースを書き直し中・・・。
>>454 上の方にLV10以上もあったはず。。
只いきなり難しくなってた気がします('A`;)
とりあえずマウスを使えるようにしてみたり。
空飛べるようにしてみたり(;゜д゜) スパゲティ直すのマンドクセ
Level 11 敵機の動作パターンを増やそう。 Level 12 複数の敵機を連携させよう。(多関節を作ろう) Level 13 ボスを作ろう。 lv14-ステージ定義ファイルを読み込み、それに従って敵出現 lv15-ステージ終了判定を実装し、ステージ終了後、次ステージへ(当面はステージ再開) lv16-背景を実装する lv17-背景に同期する敵を出現させる ドウゾ ( ゜д゜)つ
ゲームとしての体裁を整えるなら ・タイトル画面をつける。 ・タイトル画面でボタンを押すとゲーム開始、ゲームオーバーになるとタイトルに戻る ・ハイスコアランキングをつける ・ネームエントリーをつける とかもどうだろう。
>>456 ヽ(´ー`)ノ ありがと。
そしてレベル11が越せないわけだが・・。
敵の動作してる部分(y座標にスピードを加えてるとこ)は分かってるんだけど
そこを変えたら、動きがおかしくなる・・。
右に行ったり左にいったりする敵の動きを作りたいんだけど、難しいなぁ・・。(´Д`)
状態遷移を使うと良いぞ これヒント
460 :
413 :05/02/22 12:43:10 ID:p5aKw6II
現在サウンドの実装検討中・・・ヨクワカンネorz
そういやLVにサウンド関係無いね。。
>>460 いきなりDX> まさに行き当たりばったりなんで
詰まったら調べる・・・場所がC++だったりCだったり('A`;)
ポインタとかクラスとかいまだに分かってないですヽ(。∀゜)/
オープンソースのHSP製シューティングを参考に敵の動きを変えてみました
まだなんか右行ったっきりだったり、左行ってそのまま消えちゃったりしてるけど
まあ、とりあえずレベル11クリアーですヽ(´ー`)ノ
レベル12の意味が分からない・・多関節って、敵の縦一列の集団とかのことかな?
>>459 状態遷移っていう考えがあるんですねー
これをアルゴリズムっていうのかな
>>460 レベル高いシューティングッスね・・
爆発もかっこいいなぁ
多関節の動きの作り方がわからなかったので、(多関節は
>>463 さんのレスですごくよく分かりました)
レベル12とばしてレベル13やってみました。
ボスつくりで、ボスをくるくる画面上を回って欲しかったりするんですが、まったくできない・・(´Д`)
というか、まっすぐ進む敵しかつくれない俺・・。サンプル見たらできるんだろうけど、
ボスの動きや多関節の仕方はちょうどいいサンプルが見つからないッス。
ちょっとつまっちゃった感じ(´・ω・`)
敵キャラに経過時間(経過フレーム)のカウンタを持たせるとイイ(・∀・) 敵キャラの行動部分で timer++; if(timer < 120)position.y += 2; if(timer > 119)position.y -= 2; とか timer++; position.x = cos(timer / 定数1) * 定数2 + 定数3; position.y = sin(timer / 定数1) * 定数2 + 定数3; とか
あと、速度と座標っていう考え方は大事だけど、 単純に、 「この時間になったら、この座標に敵を置く」 みたいなのを関数で与えてしまうのも1つの手。 三角関数とかベジェとかの曲線で敵を動かしたいときは こっちの方が楽だよ。 もちろん、速度と座標の方が楽なものもある。 自機を目標にして誘導するミサイルとかは速度の方が楽。
467 :
413 :05/02/23 21:37:40 ID:VXYBuWTX
今日はここまでー。やっとclassの基礎に突入!
classの説明を本で読んでるだけだと、「なにこれ、構造体といっしょじゃん」
とか思ってたんだけど、いざ使ってみると、なんかイイ!!
なんて言うか、作ってるときにドキドキ感みたいなのを感じる。
「オレは今設計してるんだ〜」的な感じ。
マスターしたら、
>>453 のプログラムの構造体を全部クラスにするぜい!!
しかしマスターはいつになることやら・・・明日もがんばろう。
>>464 なんか楽しそうでうらやましいです。
ボスできたら見せてね〜。
>>465 - 466
おお、非常に役立ちそうな情報っぽい。
未知の単語も多いですが。。。
今やってるのが一段落したら、そちらにも取り組んで見ます。
サウンド実装完了とりあえずBGMだけだけど。
次は地形にそって動くように・・・これまたムズイorz。
そって動けるようになったらUPしたいと思います(ぉ
>>464 円運動とか。
>>465 で出てますがアホな漏れの頭で翻訳すると↓て事であってますでしょうか?('A`;)
X’ = (COS(角度) × 半径R) + 中心座標X
Y’ = (SIN((角度) × 半径R) + 中心座標Y
角度が変わるとX’ Y' が円を描くようにセットされまス(謎)
角度 = 角度 + 速度 を毎フレーム実行するとイイ。
>>467 class って便利ですよねぇ
漏れも最近やっと使えるようになってきて思いました。
最初は ハァ?(;゜д゜)ワケワカンネェ コンナモン ツカエルカッ!! だったんですがw
>>465 ありがとうヽ(´ー`)ノ
ボスが下に行ったり上に行ったりします。
上に行ったきりで画面から消えていってしまうので、timer=0と入れたら次はなんか途中で突然消えてしまうようになってしまったorz
俺のHSPの命令にいろいろ問題があるみたい。
ボス作りに入るまではいろんなサイトを見てたけど、ボスの書いてるとこないなぁ・・(´Д`)
おもしろいけど、難しい・・(´・ω・`)
>>468 そんな感じ。ガンガレー
>>469 timerは経過時間/フレームだけにして、初期化しない(timer = 0しない)方がいいと思う。
HSPにはあるか分からないけど、modや%演算を使うのはどうだろう。
これは余りを求める演算子ね。こんな感じに使うとイイ(・∀・)
// 60フレーム毎に上下往復
if( timer % 60 < 30){
position.y += speed;
}else{
position.y -= speed;
}
// 110フレーム毎に攻撃
if(timer % 110 == 0)Attack();
>>470 ありがとうヽ(´ー`)ノ
んでも途中で消えることがあるのが解決できない・・
60フレームごとに上下運動の命令をさせてもらったら、下の行きっぱなしだったから、数字を変えたら、やっぱり下に行きっぱなし・・、消えることもある・・(´・ω・`)
その60フレームごとに上下運動をスクリプトから取り外したら、今度はまったく動かない・・(´Д`)
せっかく教えてもらったのに申し訳ないです・・。
もうちっとがんがってきます。。
ベクトルとか内積とか外積とか・・・頭いたくなる罠 3Dなんてやるんじゃなかったと思うヒトトキorz 漏れも敵の動作とか考えてぇ(つд`)ゥヮーn
474 :
413 :05/02/26 09:22:08 ID:zkrgMJOo
>>473 実行できました!
環境は seleron1.8, WinXP, GeFoce4, ビデオメモリ32, システムメモリ512, 東芝のノートパソです。
ちゃんと浮島みたいなのに書いてある文字wwまで見えたので、
たぶん表示のほうも大丈夫だと思います。
敵をいっぱい出しても、fps50以上は維持してたようです。
ちょっと空飛んで虐殺プレイしちゃいました。
音も鳴ってました。音楽が一周しかしなかったのは仕様でしょうか?
視点の変更だけがちょっとわかりませんでした。
NUM_PAD 1 て、どのボタンでしょか。
いや、作るの早いですね。ちょっと感動しました。
がんばってください。
私もがむばらねば・・・。
>>474 ちゃんと動きましたか よかったです(´ー`)
音楽が一周・・・リピート機能つけてませんでしたorz
NUM_PAD 1はノートのキーボードには無いです・・・
次回あたりファンクションキーにしときますorzゴメンナサイ
プログラムがしょぼいのでFPS引っ張ってそうなんですが
意外と大丈夫なのだろうか('A`;)
とりあえず移動のバグつぶしから・・・
いつまでたってもゲームにならない罠 orz ミナサマガンバリマショウ
宇宙ぱいろっとぉ〜♪
>>476 所詮そのスレ自体、某ゲームを必死に追いかけてるに過ぎない
ザコの寄せ集めに過ぎんよ。
まぁ、春になる頃はすべておしまいだよ! そしてわかる
せいぜいガンバレ♪
480 :
413 :05/03/02 16:20:48 ID:Rc+SDxHs
プログラムって、一週間近くあけると全然わからなりますね。 さて、どうしたものやら。
挫折してましたがまだ地道に頑張ります(´Д`)
さらにこねくり回してると どうやらポインタのポインタが必要になった。 ポインタわかんねぇヨ('A`;) まだまだこねくり回すと、コピーコントラスタとかオペーレーターオーバーロードとやらが・・・。 詰まる時は言語の知識がたらんという事ですかorz そういえばファイルオープンの仕方もわかりません・・・。 fopenとfgetsでいいんだったけ? こっちはしばらく動かせそうにないです('A`;)
>>482 C#をやってみると良い。
驚くほど簡単で、ポインタは必ずしも使う必要がなくて、恐ろしくコードは短くでき、
IDEがぬるま湯よりも良い温度に設定されていて、開発者にとっては至れり尽くせりだ。
Eclipseでも同じくらい快適プログラミングは可能だが、グラフィック関係が貧弱なので
ゲームには不向き。
>>483 ゲームの場合GUIエディットってさほど重要じゃないような気が
3DならSDLラッパ類使えばいいし、2DならJava2Dで大体動く
一応補足しておくとゲーム開発でもC#は肯定派。 いまだにC++じゃないとプログラムがかけないとかいいつつ 開発が遅いやつは頭が痛くなる。 しかもバグ満載だったり、ネットが普及した性かもしれんが 跡でパッチ出せばいいだろ的なのも嫌い。 言語が目的になってるやつもいるからなぁという戯言。
490 :
413 :05/03/09 17:53:29 ID:kfGl0A1P
>>489 どうも私の環境では動きませんでした。
私の環境は
>>474 に。
たぶんスペック云々ではなく、irrlicht.dll というのが無いから動かなかったと思います。
私にはよくわからないのですが、これはグラフィックエンジンか何かでしょうか?
どっかから落としてくれば動くのかな。
493 :
489 :05/03/11 04:09:37 ID:+CR+vsqA
>>493 特にひっかかるような動きはなかったよ。
ただ、まずないことだろうけど、2つ以上のキーを完全に同時押しされたときに
今の判定方法だとまずいような感じがした。
495 :
74 :2005/03/21(月) 18:20:06 ID:B2fq32mT
誤爆スマソ みんなで作るスレと間違えてた しかもageてるし| ̄|○
>>496 どっちのスレも見てるから問題なかったw ガンガレ。
498 :
489 :2005/03/25(金) 00:24:51 ID:ZnQqwJbk
499 :
489 :2005/03/26(土) 22:51:09 ID:UgJN4z8p
がんがれ!
ソースを見直して、理解しやすくした方が良いかもな。 プレイヤーの座標変数をx,yと設定していたなら、 PlayerPosX,PlayerPosYと設定し直すとかな。
502 :
名前は開発中のものです。 :2005/03/29(火) 04:01:32 ID:C+v7mDAS
ウチのマシンじゃ鬼のように高速に動いてるよ。 とりあえず、ソースを見やすくするために関数分けでもしてみたらいいんでないかな。 あとは管理を楽にする方法がいろいろあるので、そのへんのお勉強も。 タスクとかなんとか。 つーか、C++使ってるし、その辺はすぐ理解できそうだね。
>>502 ためしにソフトウェア描画からOPENGL描画に切り替えたら速過ぎてゲームにならんかったよw
せっかくIrrlichtつかってんだから、Animator使うといいんじゃないかな。
Irrlicht A GoGoあたり参考にしたり、このスレの中にもIrrlicht使ってるSTGがあったはづだが、
あれもAnimatorクラス使ってたはず。
って書いてから気づいた。これ2DだからSceneManager使ってないよねw なので、タイマー使って、 「前回の処理から**ms経過してるからこれだけ動く」 というやり方になるかな。 ヒント;IrrDevice::getTimer()周辺
506 :
489 :2005/04/14(木) 23:34:36 ID:S3AnfiHo
とりあえずOPENGLでも安定。 そのうちタイトルでもついた時点で描画方式を選ばせるとよいかも。 ステップ式の移動ロジックを使ってる場合、 経過時間式に簡単に置き換えるやりかたとして、 while([全体の経過時間] - [移動用タイマー] > 16){ // ゲーム処理 [移動用タイマー] += 16; } // 描画処理 こうしてやれば、FPSが16ms以下ならスキップしてくれるし、 逆に遅くて16ms以上なら複数回ゲーム処理を回すので吉。
508 :
名前は開発中のものです。 :2005/04/28(木) 23:53:49 ID:rhUGk/7B
だから かかわりたくねぇんだよ
509 :
名前は開発中のものです。 :2005/05/06(金) 10:06:41 ID:Bl2A0zcU
保守
>>507 なんらかの理由で一時中断(HDDスワップや全画面切り替えなど)されていた場合から
復帰した場合にえらい早送りにならないか?
一度にスキップできる個数を制限すればいいんじゃないの?
その制限した速度でしばらくゲームが進行してしまう
513 :
名前は開発中のものです。 :2005/05/06(金) 13:02:19 ID:DV+Wcm75
>>512 外的要因での処理落ちならしょうがないんじゃないの?
アプリ側からは対処できない事項なんだから。
しばらくゲームが進行してしまう、といってもスワップや切り替えが終われば戻るんだし
何が気に入らないのかワカンネ。
たしかに
>>507 の書き方だとしばらく超スピードになるな
ああ、なるねw 漏れもそんなコード書いたことあるわwww
まあまあ、あくまで例示なんだからそう叩いてやんなさんな。 まあ実際にはアクティブじゃない時にはメインタイマー止めるとかそういう処理はいるわな。 処理構造がどうこうじゃなく、タイマーカウンティングの方で対処すべき問題な気がすゆ。
518 :
名前は開発中のものです。 :2005/05/07(土) 15:29:24 ID:Kmedhide
シューティングをやっている途中で ウィンドウを切り替える方に ものすごく興味があります。
519 :
名前は開発中のものです。 :2005/05/07(土) 16:05:53 ID:0Eqro9/9
最近、山田ウィルスのカキコが多いな。
521 :
sage :2005/05/07(土) 23:20:25 ID:hvZKFPvj
>>518 切り替えなくても切り替わる
ゲームで遊んでいるときも他の常駐ソフトが動いていることを忘れるな
522 :
521 :2005/05/07(土) 23:21:55 ID:hvZKFPvj
初カキコなので間違えた 二度と間違えないのですまん
523 :
名前は開発中のものです。 :2005/05/07(土) 23:24:04 ID:U9IeBThS
524 :
名前は開発中のものです。 :2005/05/08(日) 00:32:15 ID:17WLl5Vl
>521 ゲームのときくらいポップアップするものは閉じとけ。
>>521 初カキコで凡ミスやらかして内容はどうでもいい煽りとは素晴らしいGW厨ですね
二度と間違えないっつーか二度と書き込むなよ( ´,_ゝ`)プッ
どうだろうな。 例えばZoneAlarmは容赦なくポップアップしてくれるし・・・。
うむ。一日一回の番組表ダウンロードが激しくあせる
普通に if (counter<=16) { sleep (16-counter); } counter=0; でいいんじゃないの。処理落ちの必要性って考える必要ある? そもそも処理落ちするPCでのプレイを考えたら処理が少ないときでも 完全処理できるかどうか怪しいわけでしょ?
530 :
名前は開発中のものです。 :2005/05/19(木) 22:30:36 ID:iK+wTGAP
16ビットカラーだからでは? RGBが555のグラボとRGBが565のグラボでは、 実装によっては色が変わる。
テクスチャフィルタじゃないの?
テクスチャgamdevが読み込まれたときに512へリサイズされてると思うんだけど その手法が違うんじゃないのか? つーかなんで半端なサイズのテクスチャ使ってるの?
534 :
530 :2005/05/20(金) 20:31:13 ID:TPTGV+sb
テクスチャサイズを512x512にするとうまくいきました ありがとうございます
敵が発射するレーザーの実装がうまくいかないので誰かアドバイスお願いします・・・ 発射前にatan2で敵と自機との角度をとってレーザーを描画する時に角度の分だけ回転させるという方法でやってるんですが それだと画面に出ているレーザーのグラフィックと実際の当たり判定が回転させた分だけずれてしまいます。 当たり判定は自機の一点とレーザーのグラフィック(矩形)でやってるんですが、ずれないようにする方法はないでしょうか?
当たり判定も回せよ… 何がわからないんだ?
その当たり判定の回し方ですorz 左上の座標が(100,100)で矩形の大きさが幅10,高さ30でも、右に90度回転させて幅30,高さ10の時でも 適応できる当たり判定を組むにはどうしたらいいんでしょうか?
幅10高さ10の判定にする
そしてそれを斜めに インド人は右に
ウリアッ上
>>537 幅8高さ8ぐらいのあたり判定を3つ用意して並べる。
回転するときはそれぞれの判定の中心座標を回転にあわせて移動させる。
□ □
□ → □ → □□□
□ □
厳密なあたり判定はそうそう必要になるものじゃないので、
それらしく適当に近似すればいいよ。
543 :
535 :2005/07/16(土) 16:30:24 ID:Gsm/9+Co
>>538 とりあえずグラフィックと当たり判定を正方形にしてみました。
発射してる時に自機を左右に動かすとレーザーの形がギザギザになるのがorzですが
>>542 それぞれの判定の左上座標をラジアンにあわせて移動させる方法が難しいorz
ですが長方形の弾を出すことになった時のためにがんばって考えてみます
>>543 座標系は、キャラの「左上」じゃなくて「中心」にあわせた方がやり易いと思う。
別に左上でも、平行移動→回転→平行移動で処理できるぞ。
回転がそもそも分からないなら
つ[回転行列]
というか任意角度の矩形同士の判定が取りたいんだよね? 取るべき方法は ・矩形を組み合わせてそれっぽく頑張る(今の手法) ・ちゃんと判定する ちゃんとの場合は、点が線分の右側か左側か、を組み合わせることで判定を取れます。 タダの矩形同士のように座標の大小で判別でなく、数学っぽくなりますが調べて実装してみてください。 ガンガレ。
547 :
543 :2005/07/16(土) 18:13:55 ID:Gsm/9+Co
>>544 自分の環境だと画像を表示させる関数を使うときに指定する座標が、グラフィックを描画する領域の左上頂点の座標
なので当たり判定を考える矩形も左上をベースに考えてました。逆に中心にあわせる方法がわからないorz
回転行列は調べてみたらcosとsinを使って座標をラジアン分だけずらせそうなのでうまく使えるように考えてみます
>>545 ,546
見てみたら何か外積?を使うみたいですね、もっと高校の時に数学勉強しとけばよかった(つд`)
ゲーム開発のための数学入門って本に外積のこと載ってるらしいので買ってみます。
高校の教科書捨てちゃったのか
549 :
544 :2005/07/17(日) 06:10:51 ID:zwEOMmnR
>>547 待て待て。中心に合わせるのは簡単じゃないか?
その設計なら作画にしろ判定にしろ「位置座標(X,Y)」と「幅/高さ(w,h)」で表されるハズだ。
なら、中心座標(center_X,center_Y)と、左上座標(X,Y)の関係は
center_X = X + w / 2
center_Y = Y + h / 2
でいいんジャマイカ?
あと、「ぐぐれ」。
550 :
名前は開発中のものです。 :2005/08/05(金) 18:58:10 ID:pVhdZ+/G
等速移動してない件について。
>550 割と丁寧にまとまってるね。 あとは細かいところを直していけば普通にゲームっぽくなるんじゃないかと思うわ >551 別にいいんじゃないの・・・ 縦移動 横移動 斜め移動 に別々の速度を設定してるゲームなんてざらにあるわけだし
いい感じに動いてるね。 この調子でがんばれ。
554 :
550 :2005/08/06(土) 18:37:20 ID:kiKN2dkv
555 :
550 :2005/08/06(土) 18:37:52 ID:kiKN2dkv
右詰だった。。
足りない桁数分だけ 文字列の左に'0'か'空白'を追加してやればいいんじゃね。
>>554 - 画面下半分にきたら弾を撃たないようにTeki::Shotで判定
- 敵の耐久力を1に DE_TEKI_HP 1
- その代わりに敵の数を増やす
するとたいぶよくなると思うがどうか
あと"iroiro.h"はあまりにあんまりな名前なのでどうにかして
558 :
550 :2005/08/07(日) 14:04:55 ID:R3h9B0Kq
スコアの右詰はsprintfで十分ですよ。 そんなに回数必要ないし。
Level1 自機を表示する
Level2 キー入力を作る
Level3 画面からはみ出ないようにする
Level4 弾を出す
Level5 敵を作る
Level6 敵と弾の当たり判定を作る
Level7 自機と敵の当たり判定を作る
Level8 敵の攻撃を作る
Level9 弾の数を増やす
Level10 敵の出現数を増やす
Level11 移動アルゴリズムを作る
Level12 敵機を連携させる ×
Level13 ボスを作る
Level14 ステージを作る
Level15 ステージ終了を作る
Level16 背景を作る ×
Level17 同期させる ×
Level18 BGMを付ける
Level19 効果音を付ける
Level20 ボムを付ける
ALL_LEVEL モチベーションを維持する ×
http://gamdev.org/up/img/3497.zip いいさびれっぷり。なので、
LV20まで勝手に付けてみた('A`;)
次のLevelはパワーアップアイテム(改造)か、敵の種類を増やす どっちにしようか(・ω・`)
技術的には「パワーアップ」だけど、モチベーション的には「敵の種類」なのか? どうかは解らないけど。個人的には「中型機」とかもありかも。
|д`)こんばんわ、何気に見てる人は要るのですな(漏れもだけど。)
とりあえず回復系アイテムだけ作った。というわけで、LEVEL21 アイテムを作る ○
敵の種類ってのは、今は戦艦しか出てこないので戦闘機を作ろうかなと思ってた。
けど、
360度動く上に、攻撃をプレイヤーに当てなければならんとなると・・・
かなりメンドクサソ(´д`;
>>563 中型機ってのはちょっとタフなやつってコト?
今のBOSSがそんな感じだけどどうなんだろ。。
>>564 アリガトン
しかし中身はスパゲティですが(´д`;
>中型機
デカキャラってことじゃないかなぁ。
>>565 の場合は、空母とか出してみる?
でもそれって "Level13 ボスを作る" と若干被るよな。
http://gamdev.org/up/img/3536.jpg とりあえず戦闘機も大方作れたぽい。
かなり適当だけど('A`;
ああ、そういや当たり判定とか入れないわな。。。
>>566 母艦もつくらんといけませんな
空母をボスにしなければかぶらないと言うか、まぁ戦闘機は敵の種類なのでOK。
Level22 敵の種類を増やす(動作等も)
の、方向で。。
Level23 は何にしようか(・ω・`)
でもLv.20まで出来たら、もう、このスレは卒業しちゃった方が いいような気がしないでもないぞ
|д`) コンバンワ Level22の敵の種類を増やすは、Level10でやるらしい事が書いてあったので Level22を出撃準備画面に・・・ 漏れレベルダウンorz とりあえず準備画面とゲーム画面の切り替えだけできたけどあんまりすすんでね(´・ω・`)
|д`)こんばわ
>>573 やってみました。
すごくしっかり出来てると思います。
このまま行けば普通に一本できそうですねぇ
・・・そして、ソースみて漏れのレベルの低さを実感しました(つд`;)アハハ
行き当たりばったりじゃなくて基礎勉強しろと>>漏れ
575 :
573 :2005/11/07(月) 21:28:19 ID:A1gd0p6O
>>574 テストプレイありがとうです。
upするときにかなりバグ潰したつもりですが、まだかなりのバグ残ってましたね。
たまに敵が無敵になる、とかたまに敵が突然消える、とか自機が死ぬとスコア倍増(!)とか・・・
とりあえず、バグ潰して敵の種類や攻撃増やして、ボスまで出てきたらまた来ます〜。
576 :
名前は開発中のものです。 :2005/12/04(日) 23:41:45 ID:It4ZWmMC
期待age
俺もやってみるかな
これはなかなか
579 :
名前は開発中のものです。 :2005/12/25(日) 16:43:00 ID:koFLEbr+
期待age
580 :
名前は開発中のものです。 :2006/01/01(日) 18:19:35 ID:MPoEwxbT
新年あげ
581 :
名前は開発中のものです。 :2006/02/15(水) 15:24:20 ID:e4u4aivn
age
HSP3.0でLevel6までやってみた。
使っていない変数もソースにはあるが、
まだLevel6だからその辺は勘弁してほしい。
http://gamdev.org/up/img/4662.lzh 次はLevel7に行こうかと思ったんだが、
1年前に諦めたC/C++の勉強を再開して自作関数が便利だと気付いた。
そこでHSP3.0で色々実装しようかと思ったがエラーの嵐。
2時間かけてやっとヘルプに載っている2分の1にする関数が作れた。
……ここまで作ったからもうちょっと作り込みたいが、
このエラーと戦うのもなんだか無謀そうだ。
>>582 やってみたよー。
敵キャラの動きが激しいなw
次はレベル7だと言いたいけど確かにソースみたら
このままで更に拡張するのは大変そうだな・・・。
勉強始めたのならこの次はC++で作ってもよくない?
>>583 レスサンクス。
敵キャラの動きはランダムのお勉強中に作った。
次は編隊組んだ動きをさせたいと思っているが、それはまた別の話。
C++でも作ってもみたいが、
HSPの関数作りも色々とやってみたし、もうちょっと頑張れそう。
だから、今のやつを自作関数とか自作命令とか
インクルードとかconstとか使って読みやすくしてみる。
次はレベル7ガソバノレ。
hspで続けるならmodule機能を使ったらどうでしょう。 iとかworkとかの変数をカプセル化できるから 他の場所で使ってるループの変数を変えなくて済みます。 hspはまだ微妙におかしなとこありますね。 実行時エラーも本当にエラーのところじゃないとこで出たり、 ループがネストしてるとき、一段目に戻ってもcntがその 一段目の値を示していなかったり・・・これは今後 修正されるでしょうけど。 C++ということは.net持ってるのですか、それともBCCですか?
>>585 どうでもいい事かもしれませんが、IDカッコイイっすね。
ちなみに私のIDは仕様により毎回変わります。
HSPはなんだかんだ言って楽ができるから、
要領得るまでもう少しだけ続けていこうと思います。
moduleはただいま挑んでおります。
もっぱらdeffuncをincludeするためだけですが……。
C++はBCCです。.netはOSのインストールミスったので
あったとしてもきっと動きません。
587 :
585 :2006/02/18(土) 00:13:43 ID:n0wGDeb0
hspでループ変数cntがどうのこうのいうのは 勘違いみたいです。間違い情報すみません・・・ おかしなところをメモったテキストもどっかいっちゃったし 夢でもみてたんかなぁ >586 どうも。
588 :
582 :2006/02/22(水) 19:05:37 ID:2kLl4v8f
Level6まで作り直し中…… moduleで自機データとかを全部管理しようと思ったが、 データが全てint型で保存されてしまって ('A`) もう多次元配列で我慢する
589 :
582 :2006/02/24(金) 10:27:47 ID:af6xCQ8/
HSPからちょっと離れてWIN32APIの勉強中。 Windowsアプリケーションの動作がちょっと分かってきた。 いつかSDLとかDirectXにも手を出したい……。
590 :
582 :2006/02/25(土) 21:42:50 ID:p3aD2uEl
591 :
582 :2006/02/26(日) 14:28:10 ID:02BDbcmN
http://gamdev.org/up/img/4792.lzh 紆余曲折の末レベル1まで作り直した。
謎のシステムエラーとの戦いはまだまだ続きそうだ。
なぜか、character/CHARACTERS.hsp の
#define ???_MAX を変えると、
しょっちゅう"システムエラーが発生しました"って出てしまう……。
本体はHSP_STG_2.hspだから誰かこの問題について
解決策を出してくれないだろうか……?
>>591 エラーとは関係ないだろうけど
a_dMy.cnt = double( cnt )
a_dMy.cnt.a_X = 16.0
a_Xが0だからcnt = double( cnt )が無意味
ヘルプに
>配列要素の自動確保で次元を拡張することはできません。
って、あるけど実際には出来ちゃう
だから出来てるように見えて、正常に確保できて無いって事もあるかもしれない
こっちでは、HSP3.0a を使ってるからか変えてもエラー出ないので特定できない
後、俺ならこうするかなぁって事
#enum a_X=0
#enum a_Y
・
・
・
#enum a_ChrWidth
#enum a_ChrHeight
#enum a_ChrDetaEnd
ddim a_dEnemy,a_ChrDetaEnd,ENEMY_MAX
logmes "enemy.hsp_a_dEnemyステータス設定"
repeat ENEMY_MAX
a_dEnemy.a_X.cnt = 0.0,0.0, 32.0,32.0・・・
loop
>>#define ???_MAX を変えると って #define ENEMY_MAX99 を #define ENEMY_ABC_MAX99 とかに変えるって意味? だとすると、「ENEMY_MAX」使ってるところ全部書き変えないといけないというメンドクサーな事になると思うんだけど。
594 :
582 :2006/02/26(日) 23:29:38 ID:UtuhUPya
>>593 考察サンクス。参考にしてみる。
>>594 すまない。???_MAXの置き換え値をいじるとエラーが出たりするんだ。
MY_MAX 4 → MY_MAX 128
とかにすると時たまシステムエラーが出る。
593が参考になること言ってくれたので、もう一度マニュアル読んでみる。
595 :
582 :2006/02/28(火) 20:28:56 ID:UUvAl6b5
ちょっと休憩してC/C++の勉強中。 とりあえずDirectXを初期化しようとした。 だがな、俺のPCはWinMEなんだ。 そして俺はまだ学生だからPC買う金がない。 ……で、コンパイルしてみた。 Error: 外部シンボル 'Direct3DCreate9' が未解決 DXSDKは9x系をもうサポートしていないのは明白なんだよな? だから俺はもうSDL使う事にする。
HD+OEM版XPなら比較的安価。
597 :
582 :2006/03/01(水) 00:13:05 ID:Q+jgs7F4
PC情報dクス。 ノシ いつかまとまった金が手に入った時の為に考えておく。
おれはHSP2.6でSTGつくってる
うpはまだか、うpは!
600 :
582 :2006/03/05(日) 22:21:21 ID:H4tcPotj
俺は今HSPを離れてSDLでウィンドウ生成する方法を勉強している。 つまりあれ以降STG制作は進んでいない。 ……最近STG熱が下がっている気がする。 回復させるためにちょっとらじおぞんでやってくる。
おれはHSP3.0でSTGつくってる ……BGMがつくれねぇ orz
よし、おれもHSP3.0でシューティング作ってやる まだ何も出来てないけど
俺漏れも。 まだ自機を動かすとこまでしか行ってないけど…orz
604 :
582 :2006/03/07(火) 00:21:29 ID:MNusHBBF
HSP3.0 - Level3
http://gamdev.org/up/img/4887.lzh とりあえず自機移動制限かけてみた。
次は自機弾作成だ。
それはそうと592の、
ddim a_dEnemy,a_ChrDetaEnd,ENEMY_MAX
という書き方がかなり役に立った。
これでもう謎のエラーと戦わなくてもよさそうだ。
乙。 でもちょっと動きがカクカクしてない?
606 :
582 :2006/03/08(水) 21:18:26 ID:odZ7fIzL
それは垂直同期とってないからさ。 今は追加プラグインなんて触る気はないから使わない。 とりあえず目指すはlevel10。ガンガルか。
ウィンドウモードだと同期も何もないけどな
582に期待age
610 :
582 :2006/03/16(木) 19:49:38 ID:rXyPCyUg
悪い。この数日間自動車免許取りに行っていたり、 取ったら取ったで東方文花帖やったり、 趣味の小説を書いたり絵を描いたりとかしてた。 きっと当分STG制作の優先度は低いままだと思う。 ……期待に添えなくて本当にすまん。
611 :
名前は開発中のものです。 :2006/03/16(木) 23:07:48 ID:D4nG6iK3
>>582 じゃないけどLv10まで行った。
次は何するか…
と思ったらLv17まであるのか
STG用の画像素材どこかにないかな?
スターフォースのやつってまだあるのかね
なんかわからんけど、自機がやられた場合の爆発アニメーションが上手くいかない… 敵キャラの時はちゃんとできるのに。
617 :
名前は開発中のものです。 :2006/03/17(金) 23:11:31 ID:1Ibah+f+
AGE
618 :
名前は開発中のものです。 :2006/03/20(月) 12:00:43 ID:PMTGalOb
619 :
向こうの69 :2006/03/21(火) 03:21:58 ID:U02HKI82
こっちにレスしようと思ったら向こうに誤爆したwwwwww C++なら読めるソース多そうだからなんとかならね?
620 :
名前は開発中のものです。 :2006/03/24(金) 14:57:13 ID:Keoep/nW
浮上する!
621 :
名前は開発中のものです。 :2006/03/30(木) 08:22:46 ID:wmhClhbi
保守
622 :
名前は開発中のものです。 :2006/03/31(金) 15:24:31 ID:HVx5ZqV2
60FPSで弾幕バリバリのゲームが作りたくて修行中です 今日からこのスレに住み着くことにしました 今後ともよろしくお願いしますorz
624 :
582 :2006/03/31(金) 15:58:05 ID:dTzciyPS
ガンバレ、応援している 処理落ちしない弾幕という事はC++なんだろうなあと ちょっと尊敬のまなざしで応援している そして俺は小説書きに逃げる。ガンバレ
625 :
名前は開発中のものです。 :2006/03/31(金) 16:34:56 ID:xcqWghAL
みんなガムバレ
やべえ 明後日までに完成させないと・・・
627 :
622 :2006/03/32(土) 21:35:57 ID:s4X3KODN
HSPって遅いんですか ゲーム用だから速いってイメージでした 実はまだどの言語にするか決めてません HSPが手軽そうでいいなぁと思ってたけどググったら遅いという評価が多かったのでNG YaneuraoGameSDK.NETが正式リリースなのでC#2.0にしようか 無難にC++かと悩み中 ほかにもDelphi、LGP、GameMakerいろいろあるけどwikiをみると C++ 8作品 GameMaker 1作品 Delphi 1作品 だったのでやっぱりC++が作りやすいのかな
628 :
582 :2006/03/32(土) 22:33:25 ID:sXRrxf0o
気軽にプログラムできるのと簡単にプログラムが組めるのは 似ているようでかなり違うと思う 俺は慣れているやつで作るのが一番気楽で確実だと思っている
HSPは遅いし、C#も遅いよ。 C++でみんなが組むのは、速くて資料が豊富だから。
俺DelphiとDDDDで作ってるよ
631 :
622 :2006/04/02(日) 02:37:30 ID:smYZpNCV
632 :
名前は開発中のものです。 :2006/04/03(月) 00:19:18 ID:iKC3RJ0q
633 :
◆src/N3iz.2 :2006/04/03(月) 00:20:58 ID:iKC3RJ0q
buffer 2,640,480 screen 0,640,480 bx=320.0 by=240.0 tx=rnd(640) ty=rnd(480) rad=atan(tx-bx, ty-by) //計算箇所1 repeat gsel 2,0 cls 4 await 1 color 255, 255, 255 mes rad /*
634 :
◆src/N3iz.2 :2006/04/03(月) 00:22:04 ID:iKC3RJ0q
*/ // rad=atan(tx-bx, ty-by) //計算箇所2 circle tx, ty, tx+16, ty+16, 1 circle bx, by, bx+16, by+16, 1 bx=bx+sin(rad)*10 by=by+cos(rad)*10 if abs(tx-bx)<16 and abs(ty-by)<16 { tx=rnd(640) ty=rnd(480) rad=atan(tx-bx, ty-by) } gsel 0,1 gcopy 2,0,0,640,480 loop
空気読めない阿呆は□んで下さい。
636 :
名前は開発中のものです。 :2006/04/03(月) 00:57:39 ID:iKC3RJ0q
ここは初心者が一人で何かしらをするスレじゃない。 その程度の事も配慮できない奴は、 実社会に出ても周囲に迷惑かけるだけだ。 だから世の為人の為にiKC3RJ0q は死んだ方がいい。
638 :
名前は開発中のものです。 :2006/04/03(月) 01:07:52 ID:iKC3RJ0q
違うわタコ
C++とDXライブラリで作ってるんだけど、 宣言したclassを別のソースファイルから参照する方法が分からない… あれか、ファイル分割しないで作るか クラス使うの止めてextern地獄で作ればいいのか('A`)
普通に#includeじゃだめなん?
ヘッダファイルだけじゃなくてソースファイルもincludeでいいのか… 全然考えてませんでした。ありがとう 家帰ったら試してみるよ
#include"****.cpp"じゃ無理だとおも #include"****.h"ならいける
***.cppってファイルをincludeするときは #include "***.h"って書けって事?
>>643 あまり見ないけど、****.cppの方もできるよ。
>>646 そうなの?
俺は例えばこういう風にやってた↓
ファイル名[teki.h]
class teki{
int X,Y
int i;
public:
teki();
void Move();
}
ファイル名[teki.cpp]
#include"teki.h"
teki::teki(){
/* 変数を初期化 */
}
void teki::Move(){
/* Move関数の処理 */
}
ファイル名[main.cpp]
#include"teki.h"
teki Enemy;
GameLoop {
Enemy.Move();
}
大きいdefineみたいなもんだからね。拡張子あんま関係ない。
>>644 ようするにヘッダファイルとして作れって事。
myclass.hとかつくってその中にクラス宣言して
それをインクルード
ヘッダファイルでテンプレ宣言、ソースファイルでメンバ定義はちゃんとやってるんだけど、
聞きたい事はそことはちょっと違うところで。
>>647 を使わせてもらうと、
main.cppでtekiクラスの実体enemyがつくられてるけど、
そのenemyのpublicなメンバをmain.cpp以外で呼ぶことは出来るかどうか、て事が知りたいんだけど、
何か方法ありませんか?
分かりにくい説明でゴメン(´・ω・`)
説明は苦手です
他のcppファイルでも、#include"teki.h"してあればtekiクラスのインスタンスは作れるし、メンバも呼べるよ ただし循環参照になったりするときは気をつけてね
>>650 例えば[main.cpp]の teki Enemy を、
新しいファイル[hoge.cpp]から参照したいっていうことだとしたら、
extern teki Enemy; を[hoge.cpp]に書くか、
どこかのヘッダーファイルにextern teki Enemy; を書いて、
そのヘッダーファイルを[hoge.cpp]にインクルードする。
>>652 ありがとう、試したら解決しました
externすればよかったのか
>>632 あ、ズブスレが落ちてる。この板、滅多に1000いかないから次スレ立てるの忘れてましたよ。
というわけで、立ててきますんで、そちらでよろしく。
最近本ばかりで鬱症状が出てきたんで俺もちょっとやってみようかなと思う みんなWinMain辺りの組み方どうしてる? ゲームループやゲームオーバー時の処理を記述したGameMainクラスにキャラや辺り判定などゲームシステムのオブジェクトを持たせて、 それをWinMain.cpp内に持たせようと思ってるんだけど、こんなもんで大丈夫だろうか
656 :
名前は開発中のものです。 :2006/04/05(水) 03:10:01 ID:5Pm/+QWD
理論より実践
>>655 そういうSTGと直接関係ないところはあまりこだわらなくていいんじゃなかな?
自分はライブラリを使っているのでその仕様に従ってるけど。
大分サマにはなってきたんだけど、 自機狙いの時の計算で結構マシンパワーを食うみたいで 弾幕張るとすぐ処理落ちする(´・ω・`)
ホーミングじゃなくて弾生成のときの角度計算の話ではないの? 1万発出してるとかじゃない限りその程度で遅くなるとも思えんが…。
弾生成を1フレームでやるんじゃなくて、 数フレームに分けたら良いんじゃないの? 1フレームに1000発じゃなくて、1フレームに200発を5回繰り返すとか。
つか、1フレームに1000発も発生させることなんてないだろ? 同時1000発も出てないことが多いとおもうが。 基本的なところでおかしな処理を入れてるんじゃないか?
そもそも
>>658 は1000発なんて言ってないのだが、
俺はそんな事を言うためにここにやってきたわけではない。
俺が言いたかったのは…
>>658 は発車時に決めた角度の基づいて、
毎フレーム三角関数を呼んでいる。
…なぜ判るかって?
なぜなら俺はエスパーだからだ!!!
三角関数なんぞ1000回呼んでも痛くもなんともありませんが。 なんにせよ、 >基本的なところでおかしな処理を入れてるんじゃないか? これ
>>663 エスパー
>>おかしな処理
どうもそうくさい
三角関数と平方根計算止めても遅い
何やらプロファイラーというものを使うといいと人に言われたが、
プロファイラーがどんなものか皆目検討がつかないので、
とりあえず猫の口になりながら犯人を心理学的に分析してみる
いろんなところに時間計測挟みまくって、時間かかってる所を地道に探したら?
STGスレが多いな。 いや、いいんだけどさ。
668 :
名前は開発中のものです。 :2006/04/15(土) 23:30:13 ID:33zKEMfU
そう?以外に少なくない??
絵の担当とかプログラム担当とかいませんの?
何を言ってますの?
671 :
名前は開発中のものです。 :2006/04/30(日) 19:11:46 ID:E2SmZDvB
age
>>671 ageるぐらいならなんかうpしろよ!!
スレタイが問題だ。
過疎ってるのは「シューティング」で引っかからないスレタイに問題あり。
無理に盛り上げなくてもいいよ、別に
F岡隊長 「これ…、ギャルゲーの…、ツンデレ…に…似てないか…?」 「いや、あくまでも、仮説なんだけどな…」
でもみんなうpしないと進んでるのか、わからないからな みんな飽きてやめちゃったのかと思う
このスレもう4年になるのか… ゲ製作って普通に4,5年越しの長期スレがあるから凄いな >672 何年後になるか分からないが次スレは「シューティングを最初からみんなで作るスレ」とかにしたらいいんじゃない
ここって本来、共同製作を目指したスレなんだろうね。 そういうのも楽しそうなんだけど、プラットフォームがまとまらないだろうなあ…
>>77 でVRAMの使用方法を検討してるけど、4メガバイトってw・・時代を感じる。
03年の大量AA荒らしの傷跡も残ってる。
こういうのを生きた化石というのだろうか……
自機周りの演出とか、凝り出すとキリがねぇな。 しかし、少しずつ雅やかになっていく喜び。ムハー(゚∀゚)=3
敵、敵弾の生成と管理用のスクリプトもどきが どうにもうまく作れない
>>681 いくつかの命令文と関数と変数組み合わせればいいんじゃないか?
俺は取りあえずポーランド記法で書いて、ひっくり返してスタックに突っ込んで解釈させてる。
例えば
ADD POSX MUL VX COS(MUL 45 DIV PI 180);
みたいに。つまるところ posx+=vx*cos(45*PI/180); だけど。
この板でageは意味内きがす
DXライブラリ限定になってしまうけれど、 「14歳からはじめる C言語わくわくゲームプログラミング教室」 という本にシューティングゲームの作り方が載ってましたよ。
それで?
よかった
どんなとこが?
わくわくできるとこが
よかったね
ありがとう
どういたしまして
ぬるぽ
695 :
名前は開発中のものです。 :2006/07/03(月) 01:50:44 ID:Qm3e+RgC
なんだこれw
「わくわくゲームプログラミング教室」ってシリーズ本なんだな 4冊もあるとは思わなかったw
クラスの事で少し聞きたいんだけど 敵管理用のENEMYクラスのテンプレートをつくっておいて、 敵を出現させるときに ENEMY enemy1,enemy2みたいにクラスの実体を作った時。 例えばenemy1で管理してる敵が画面外に出たから enemy1に割り当ててるメモリを解放したい、なんていうときにはどうすればいいの? クラスからスコープが外れないからデストラクタが呼び出されなくて困ってます deleteで解放出来たりせんものでしょうか?
deleteで消したいならnew
STL
700 :
名前は開発中のものです。 :2006/07/24(月) 23:02:26 ID:U7uDxGT0
age
701 :
名前は開発中のものです。 :2006/07/25(火) 17:09:56 ID:Cwy+uikH
ほ?
702 :
名前は開発中のものです。 :2006/07/25(火) 17:31:04 ID:Cwy+uikH
>697 C++の入門書みてみ。 newとかdeleteとかの所に載ってるから。 あと、Cでクラスみたいなことをするにはどうするかを考えると クラスの挙動がみえてくるよ。
あぼーん
あぼーん
705 :
俺 :2006/08/19(土) 01:50:19 ID:33YS7iT7
ここってどこの専門生が立てたスレなの? この次期夏休みだから多いよね
4年以上前のスレに何一dじゃ
707 :
名前は開発中のものです。 :2006/10/28(土) 21:56:30 ID:neOzRfFQ
age
708 :
名前は開発中のものです。 :2006/10/29(日) 17:06:51 ID:/WFtlPet
あげ
710 :
名前は開発中のものです。 :2006/11/30(木) 01:39:29 ID:4F5KhKr8
保守
711 :
582 :2006/12/25(月) 23:00:15 ID:taUJ5V+A
こっそり戻ってきたり……。誰もいないわな。
http://www.plustarnet.com/aspil/Programming/ 0からのゲームプログラミングを参考に、
C/C++&DirectX9.0cでコーディング中。
今じゃ昔に書いたHSPのソースも読めやしない有様。 (汗
当たり判定まで作ったのはいいが、
スケルトンファイルまんま使っている罠。
クラスとかポインタとか分かってきたけれど、
これは勉強になっているんだろうか……。
712 :
名前は開発中のものです。 :2006/12/25(月) 23:24:02 ID:P/i244Fk
何を言ってほしいのかが分からん
713 :
582 :2006/12/25(月) 23:28:42 ID:taUJ5V+A
全自作ではなく、 他人が書いたコードを読み、 他人が書いたコードをほとんど丸写しし続けるのが、 段階的学習の主旨から外れているのではないか……。 だとしたらコードはサンプルと大して変わってないから、 わざわざうpするまでではないよなあと。 熱が戻りやってきたはいいが、 このままだとまた潜伏状態に戻ってしまいそうだ STO
714 :
名前は開発中のものです。 :2006/12/25(月) 23:35:49 ID:P/i244Fk
他人のコードを見ていいところは真似するのはいいこと そのうちそれを参考に自分でベース作ってみるといい
715 :
582 :2006/12/25(月) 23:44:30 ID:taUJ5V+A
ありがとう。励みになる。 正直DirectXの初期化まわりはさっぱりなので、 とりあえず関数の自作から ちょっとずつ変えていく事にするよ。 いつかスケルトンプログラムの恩恵にあやからずとも DirectXを扱えるようになるその日まで。
DirextXの初期化なんて適当に丸写しして、写した傍から忘れちまえ!!! 必要になったら一つ一つの関数/メソッドの機能調べてカスタマイズで良い。 本 当 の 戦 い は こ れ か ら だ ぞ? ま、「1プログラム、複数ウィンドウ、時々頂点バッファ」とかだと、 1つ1つの初期化を吟味して切り分ける必要あるけどね。。。
DxLibなどで最初をすっとばして始める人もいるんだからまぁ問題無い
718 :
582 :2006/12/26(火) 20:00:25 ID:6T/f5Yoo
>712,713 な ん か 急 に 気 が 楽 に な っ た まずは座標系関数と比較系関数の作成から始めるよ ノシ
719 :
名前は開発中のものです。 :2007/03/06(火) 21:19:50 ID:aM0UjHqH
シューティングゲーム製作技術総合の次スレまだ〜?
C言語の基礎をとりあえず習得した俺がSTG作ろうと思うんだが DxLib使った方がいいのかな? 何やら重いとかいう噂があるけど…
始める前から重いとか気にするな 使わなきゃ始めることすら出来ないんだろうから
722 :
720 :2007/06/15(金) 23:51:25 ID:STmy9GyW
>>721 おk
弾も最大で200程度の予定だからそこまで重くならなさそうだね
頑張ってみる
hosyu
ふぉす
725 :
名前は開発中のものです。 :2008/02/12(火) 13:58:23 ID:nOFlfntm
過疎ってんな〜
726 :
名前は開発中のものです。 :2008/03/03(月) 22:14:59 ID:yL34OST2
まだあったのか
「スクリプト」俺はただ、この言葉に惹かれた
よいではないか、よいではないか。
730 :
名前は開発中のものです。 :2008/11/26(水) 21:23:14 ID:bxsuU9Ti
シューティング♪シューティング♪やっほう、やっほー♪
A.I.M.S.もあるし、Lua言語で少し頑張ってみるかな
このスレ見てたら作りたくなってきた そういえばパッドのあそびってアナログパッドの話? 俺アナログパッド持ってないからその辺の動作確認できないんだが
デフォルトで10%ぐらいにしといて、設定で変更できるようにすれば
あー、変更式にすれば解決か thx
735 :
名前は開発中のものです。 :2009/10/27(火) 08:36:59 ID:pyTi/aCB
がんばれー
保守
737 :
名前は開発中のものです。 :2012/01/24(火) 22:54:06.40 ID:1yGa6dIP
738 :
名前は開発中のものです。 :2013/04/25(木) 19:51:21.23 ID:Mhha+ISW
スペースハリアー作りたいんだがまったくわからん
誰か作ってくれ
>>738 あの市松模様をプログラミングしようと挑戦したことが過去に何度かあったが、
てんで上手くいかなかったわ。
もう20年以上も前か… そんなに難しいことしてるわけじゃないだろうけど 俺もわかんね
742 :
名前は開発中のものです。 :2013/04/27(土) 19:03:12.14 ID:CJbL8ZcB
>>742 それを横や手前にスクロールさせるとなるとどういうループにしたらよいのやら
744 :
名前は開発中のものです。 :2013/05/06(月) 22:51:04.10 ID:OcdBRIHU
>>743 コピー元座標をスクロールに合わせてずらせば良いだけ
コピー先座標は
>>742 の右側みたいな画像を作った時の座標から変えなくて良い
745 :
名前は開発中のものです。 :2013/05/11(土) 22:30:14.25 ID:5yfnRn37
Shooting Game Builderを使った方が早い(キリッ
>>742 それって四角い絵を三角形にする話?
上左右の角はどうやって埋めてるの?
>>746 >それって四角い絵を三角形にする話?
本物がそう言う処理してると思った
>上左右の角はどうやって埋めてるの?
埋まるように横に複数回コピー(元の絵を縮小しても画面いっぱいになるようにする手もあるが)
本物はハードウェアが同じような事してるはず
横にいくつコピーしても、中央の消失点は点になってしまうと思うが・・・ 他のゲームだと、正確には台形になっていて三角形の上が切られてたりするね。 リアルでは弧を描いていて消失点付近はほぼ直線になっている。
いやいや スペハリの話だろ
△の上部分は最少では1ドットになるから、横に1ドットずらしながら画面の横解像度分画像を張ってるのか。 横が320ドットなら、画像を三角に加工しながら320個。