親父PGがゲームを作り始めるスレッド
■ このスレッドは過去ログ倉庫に格納されています
C++やC、アセンブラは昔こなしたし、プログラムの事なら自信はあるけど ゲームは作った事が無い方。現場からも引退したし(w。 ここは一つ趣味でDirectXでも勉強して、ゲームでも作ってみようかなぁと思った、 オジサンPGのスレッドです。 一緒にマターリライブラリから作りませんか? 帰宅が遅くなりました ほむぺ ttp://gpj.hp.infoseek.co.jp/ アクションやシューティングは難しそうな気がしますがどうでしょう? 一番簡単なのは実はシューティング ものにもよるが、主に縦だと細かい地形判定とか必要ないし 絵を表示できてキーボードからの入力ができればもうすぐだね 低コストで開発できるからこそいまだに細々とアーケードででたり 仕事のあいまに作る同人やフリーソフトでは2DSTGはわりとシェアがあるかと 仕事でやるならそれなり二時間掛けるからジャンルはなんでもいいのだろうけどね 逆にプログラムは容易でも開発が最後までいかないのがRPG なんか動作がおかしいですが 明日も朝はやいので寝ます つ ttp://gpj.hp.infoseek.co.jp/cgi-bin/uploader/src/0002.zip シューティングはグラフィックを用意しやすいというのもある。 >>522 別におかしいとは思わんが・・・ この調子だと516がシューティング作るのもそう遠くはないな。 >>522 いきなり音なってる。 ホムペもよくできてるし。 すごいなあ。 エロゲとか作ったことあるんですか? 動作がおかしいと言ったのは希に例外が出たりでうまく終了しなかったりするので 素材があるならシューティング作るのはかまわないんですけど あんまり見かけないですね 前回のは絵も音もフリー素材ですし コードも以前作った物から適当に切り貼りして辻褄合うように書き換えた だけなのであんまり手間はかかってないのですよ 明日も早いので今日は何も無しです 今後は早起きして作業する方向にします ゲーム作った経験があるなら、 シューティングにこだわる必要はないかもしれないですね。 早起きとか大変そうですけど、がんばってください。 言語何か知らないけど、無効なポインタにはちゃんとNULL代入している? 昼休みにUSBのコントローラ買って帰って来たのですが シューティングじゃなくてもいいっぽい流れになってるのですね・・・ 応援してくれる方もいるみたいでもうちょっとがんばろうかと思ったり? 言語はCですVC6使ってます 新しいDirectX SDKが対応しなくなったみたいなので そろそろ買い替えが必要そう 〜おかしい話ですが >>528 の問題はビルド時の構成でメモリ状態の違いがあり Releaseビルドした時に問題が出るってやつですかね? ポインタも含めて初期化はしてますが その他色々の所が激しくいい加減なのでモニョ 気にかけてくれてる人もいるみたいなのでこんな感じですってやつを↓に エラーが出るパターンはDLL内部で起きていてインターフェイスの破棄忘れとかがあるのかも? アプリが固まる流れはCoUninitialize でブロック↓ COM解放待ちのスレッドを WaitObject INFINITE で待ってる間イベントループもブロック↓ 結果固まってるように見える こんな感じです ネタなので無かった事にしてさらっと流そうかと とりあえず、また何か作ってみます マルチスレッドとかインターフェースとか使わない方が堅実に作れますよ。 帰ってきました 中学生も寝ない時間に寝ますのでレスだけ 今は縦シューティングっぽい何かを作ってます せっかくコントローラを買ってきたので対応しました 素人以下の絵が全力でやる気を削ぐ脱力風味です リリースまでしばらくお待ちを 不具合ですが悪い所の見当もついてますしそのうち直します マルチスレッドでのコーディングは好みの問題ですが OggVorbisのデコードに結構時間かかりますし アーカイバからデータ展開するのにも時間かかるので妥当だと思いますよ ではまた 作業途中のup つ ttp://gpj.hp.infoseek.co.jp/cgi-bin/uploader/src/0003.zip >>534 (>>516 ) すまんが、エラー出て何も言えん おそらく漏れPCに原因があるかと・・・ 動いた動いた。敵も倒せた。 俺のマシンが二世代ぐらい前(ThinkPad X20)だからかもしれんが、 開始時の中央位置から画面左端に移動するまで最高速で三分ぐらいかかるな…… おお、いいね。既にMSX時代よりいいね。 キーボードだと弾を撃ちながら、斜め移動できないのがちと気になるかな (同時押し最大数云々のハード的な問題じゃなくて)。パッドだと問題なかったっす。 まぁ、軽く作ってみただけだろうし。 一瞬「当たり判定が小さくて俺好み!」とか思ってしまった。 >>534 キャラが左上にかってにうごく キーボードだとまったく動かない 負荷はCPU使用率は2%程度なので問題なし 環境は PentiumM725/855GME、XP んじゃうちはビデオカードがタコでHALになってないんだな。 悪い悪い、気にしないでくれ。 こんばんわ ボロクソに叩かれてるだろうなぁと思いながら帰って来たのですが そんな事も無く動作報告までしてくれる貴殿方々に惚れそうです >>537 氏の言う通りDirectXの初期化は 早いデバイスから順に試して動く物を選択するようにしていますので 遅い場合もあるかもしれませんが タイミング管理がかなりいい加減なのでそっちが原因かもしれません >>539 氏の勝手に動く問題はプログラムの問題で 軸の中央値を設定してないのが原因です 軸を検出するCALLBACKの中でSetPropertyすれば直るかと思ってます 作ってる最中に同じ現象を確認してたのに放置してましたスマソ もしデジタル軸でこの現象が出てるなら考え方を改め もうちょっと手抜きしないように改心します キーボードだと動かないのはちょっと考えてみますね スペースキーも駄目ですか? >>538 氏の問題はちょっと興味があります プログラム的にはキーボードでも斜めに移動しながら弾が撃てるようになってます 開発環境では使ってるKVMスイッチがPS2なので キーボードもマウスもPS2の環境ですが斜め移動+弾の発射はできてます PS2またはUSBをPC直挿しでその状態でしたら、かなり悩ましいです キーボードはバッファリングして いらないデータを捨てる方向のがいいような気がしてきました ここは勉強になるインターネッツですね 長文失礼 > キーボードはバッファリングして > いらないデータを捨てる方向のがいいような気がしてきました 使用しないキーを捨てるって意味? それとも、多すぎたキーを捨てるって意味? キーボードで操作 そんなことが可能なのか・・・ あれはハードの問題だと思ってました。 >>541 それがPS/2なんですよ。いやでもうちだけかも知れないし、お気になさらずに。完成目指して下さいな。 些末に煩わされ始めるとモチベーション落ちますしね。 一応うちのをDirectInput、GetKeyState辺りでテストしてみましたが、拾えてるみたいです。 土日も仕事だったので全く進んでないですが生存報告 軸の設定はやりましたけど買ってきた物は8%位ずれてました >>542 氏の意図がわかりませんが両方です バッファリングしてサマリしたら操作感がどう変わるかみたかっただけですよ >>544 氏わざわざ検証までしてもらったみたいでありがとう 頭の片隅に残しておきながら何か思いつくまで無かった事にします >>545 Cです シューティングは次くらいで終わりにしようと思います 何のゲームでもいいけど、最低限の実装でいいから完成させるくらいじゃないとみにつかんぞー >>546 何でわざわざあんなことを聞いたかと言うと、 多すぎるキー情報を捨てた場合、 「おい、処理落ちでキー情報捨てられた! 俺はさっきからボム押してるっつーの!」 なんて状況が発生し得るから。っていうか間違いなく起こる。 使わないキーは捨てていい。 でも、必要なキーの情報は全部残せ。 じゃないとまともに動かなくなる。 あと、まあ他に作りたいものがあるから先にそっちやりたいってんならいいんだが、 >>547 の言う通りある程度大きなものを作らないとプログラム全域を見渡す能力がつかないぞ。 非常に視野が狭いまま、全体の整合性を付けるのに苦労し続けることになる。 グダグダでも何でもいいから少し大きいものに手を出して、 そしてどう改善していけばいいか考えるようにした方がいい。 >>549 あ、なんだやってたのか。 このスレ沈みっぱなしだったから見てる人かなり少ないだろうし、 多分みんなお前がいなくなったんだと勘違いしてたんだと思うぜ。 で、サイトの方にあったレスにレスするぞ。 > >>548 それはむしろ今の状態というか > 今はゲームループの中で1回ポーリングしてその瞬間のデータで処理をします > これは言い換えると次のポーリングまでの間のデータを捨てているのと同じです > 多すぎるデータは最終的に捨てなければなりません > バッファリングでキューにデータが溜まるなら > プログラムがデータの処理を選択できるのではないでしょうか?ということです > 嘘ついてたらスマソ OS 側にイベントキューってのがあって、 ポーリングとポーリングの間にアプリケーション(この場合お前のプログラム)が受け取った情報は全て OS 側で勝手にイベントキューのバッファに保存されてる。 つまり、「次のポーリングまでの間のデータを捨てているのと同じ」ではない。 巨大なファイルを圧縮したりして CPU に負荷をかけまくると、 チャットで入力した文字が遅れて表示されたりしないか? ありゃ負荷が掛かってる間に溜まってたイベントを アプリケーションが後からポーリングして受け取ってんだわ。 Windows とか、Unix + X とか、MacOS とか、最近の OS は普通そういう実装になってる。 Windows の場合、限界を超えた量のキー入力を受け取ると アプリケーションに渡す以前に Windows が根を上げてビープの警告音を鳴らす。 つまりキーイベントのバッファリングも、 受け取れないほどの量のキーイベントを破棄する処理も、 既に OS 側に実装されてる。 私の説明不足感が否めないのでレスします まずはじめに、最初に作ったプログラムはキーイベントから入力を拾っています 絵が表示できてキーボードで操作できたらシューティングっぽいって話だったので おまけ感覚で入力を付加したけどスルーでしたね・・・ 次のシューティングっぽい物はDirectInput直接データを使っています > キーボードはバッファリングして > いらないデータを捨てる方向のがいいような気がしてきました これは言い換えれば現在バッファリングしていませんということです >>544 氏も書かれていますが、Win32なら GetKeyboardState の方が近いでしょう > 軸を検出するCALLBACKの中でSetPropertyすれば直るかと思ってます 何故イベントから入力を拾っていると勘違いしたのかわかりませんが 実際に使ったことがある人なら、ここらへんでDInputを使っていると察しがつくだろうと考えていましたが浅はかだったようです ゲームパッドはDInput使ってもキーボードやマウスは従来通りで処理する人もいると思いますが 動きのあるゲームプログラムで入力をメッセージキューに結び付けるのはちょっと乱暴です >>548 氏の言っている事が間違っていると言ってるわけではなく 私は直接データの話をして、548氏はメッセージキューを使っている事を前提に イベントドリブンの話をしている違いに過ぎません > 動きのあるゲームプログラムで入力をメッセージキューに結び付けるのはちょっと乱暴です まったくその通りだ。 すまん、俺が勝手に勘違いしてしまってた。 言い訳すると、実はゲーム屋じゃないのよがはは。 一番最初の話に戻す。 キー情報はそのフレームで使う分を取得するだけでいいから、 バッファリングする必要は無いんじゃないかな。 フレームの開始ごとに新しくキーマップを取得すべきだし、 それ以外のタイミングで取得したキーマップを使う場面が浮かばない。 今ごろ、親父PGはどこで何をしているのだろうage http://gamdev.org/up/img/3529.lzh ちょっと作ってみたのですが、どうでしょうか? 敵は出ません。 カーソルキーで移動、Zキーで発射です。 最後までスクロールしたら、F9で最初に戻ります。 何を評価して欲しいんだかわからんす。普通に動くよ。 問題無く動いたらそれで良いです。 次はマップエディタ作って、敵を配置して 当たり判定付けます。 http://gamdev.org/up/img/3565.lzh 自動的に敵が出現します。 Sキーで敵が弾を発射します。 後は、 敵を沢山配置する。 攻撃を自動化する。 敵の種類を増やす。 敵と自機の攻撃方法を増やす。 画面だけ見ると期待できそうだけど、 ものすんごいつまらないからやめる。 http://gamdev.org/up/img/3907.jpg キーバッファがどうのこうのいうのが最後の書き込み? XPでキー同時押しで本体Beepがピーピーいうのは 最近初めて知りマスタ。たぶんこれの解消をしようとしてそれっきりに? とにかくなんでもあるからね・・・ライブラリならSDL、DXライブラリ、 他のスレではシューティングツクール、スクリプトなら豆乳、 アドベンチャーなら吉里吉里、簡易言語ならHSP、AB・・・ おやじさまが作りそうなものはすべて揃ってる。 もし一番欲しいものをと聞かれたら3DMMO RPGツクールだろうか。 スレ主は凄い知識もってるみたいだけど、結局2004年9月で まとめページの更新終了されてる。 やはりゲーム作りに必要なのは躓いても 投げ出さない根気なんだな…今の俺に作り始める 資格はあるのだろうか。 親父さま、結局動くものは一つもup無しでしたっけ? 良スレ!っと思ったら、もうだめぽ… という訳でこのスレでの議論内容は、僕が有効利用させて頂きます。 この出会いに感謝。 あ〜、素人が一人でゲーム作るなんて大変だ〜… まず十年はみとかないとね。 なんせ、技術的な事から調べないといけないからな〜… まったくもって一人ALL開発はマゾゲーだぜ。 参考にしようとした本のリスト (1)図解TURBO Cプログラミング入門、湯田幸八(一応全部読んだ) (2)14歳からはじめるC言語わくわくゲームプログラミング教室(約8割) (3)14歳からはじめるC++わくわくゲームプログラミング教室(約8割) (4)図解・標準最新C++ハンドブック、杉浦賢(約7割) (5)15歳からはじめるDirectX9 3Dゲームプログラミング教室C++編(DirectXに入る前の最初の数章だけ目を通したが、挫折。) (6)Windowsゲームプログラミング、赤坂玲音(挫折。ソースリストは飛ばし、文章のところだけ流し読みした。) やる気が続くかどうか微妙なところ from >>578 なぜか上がってる・・・orz ある2つのスレからの誘導を繰り返してココに来た。 誘導されたからその通りに・・・ってワケでもないけど、 単独専用スレを作ってもやり遂げる可能性は薄いので、 とりあえずココでやってみよ〜! ・・・と思った。 よし、親父点呼だ! とりあえずPG35歳定年説に基づいて35歳以上は親父かな… 誰も居なかったらPG30歳定年説に基づいt(ry from >>580 あれ?さっきは誰もいなかったのに・・・、行き違いのようです。 その分類だと親父・・・です。w 当分の間は本での勉強を続け、実際に組めるかどうかはその次の段階なのでまだまだ。 本(14歳からのC++)読みながらのコピペで最低限のシューティングは試したけど・・・。 本に付いていけなくなったらそれでオシマイかも。 2人だけかなw じゃ30歳定年説にもとづいて再点呼。あとage 俺も ノシ いちお現役PG上がりSEだが、 趣味でやる&作りたい物が出来るなら ツクールとかでも良いんじゃなかろか 巷の素材も豊富だしw ノシ >>585 PGだったらそのツクールを作るとこから始めないとな。 プログラミングが趣味なら、なおさらのこと。 from >>582 個人的にはこのスレは、親父に関係なく誰でも参加OKだと思ってます。w 趣味だけどツクールで3Dオンライン対戦サッカーゲームwを作るのは不可能そうなので、 無謀とは思ったがプログラムに挑戦。 目標が高すぎるので早くも挫折しそうだけど、挫折するにしても自分でやれる所までは挑戦して、 もうこの先未練の無いようにしたいと思ってる。 このスレ懐かしいな あの時の住人はいないだろうが久しぶり!と言っておこう from >>588 未練の無いようにと書いたのは、今思うと我ながら大げさだった。w 軽い気持ちでやっていきます。 今は、「14歳から・・・C++・・・」(>578)を参考に基準のプログラムを組み、 それを改造していく方法を考えていますが、複数のキャラに異なる動きを実装する部分の 理解が不十分なので、ソースにコメントを追加しながらもう一度読んだが、どうも分からない。 やはり、フローチャートが無ければ理解するのは難しいと感じました。 ネットで色々調べてみた結果、 >>592 完璧に理解して動かそう、ってのは なかなか難しいもんですな 何がしたいか考えて、試して、違う部分を推測するって やり方もあり from >>592 やる気が続いてもう少し頑張れれば、その方法が出来そうな感じもするのですが、 自分はまだ本のソースに理解力が追いつけていないと言うのが実情です。(基本的にまだコピペレベル)・・・orz でも、今度の土日にもう一度頑張って理解できれば、次からはたぶんそのような感じのやり方になると思います。 で、ネットで色々調べてみたら今はUMLとかいう手法がある事が分かったけど、 かなり効率が悪そうな印象がしたので別の手法(本)で頭の中を整理してみる事にしたw from >>594 何故断念しないのか自分でも不思議になってきたw まだ本当に自分で組んだプログラムは一つも無いのに・・・。 C++でやろうとしたのが失敗の原因かもしれない。 しかし、C++から完全に逃れて目標に到達するのもおそらく無理な気がする。 ならば最初から挑戦したっていい。 それで挫折するなら、残りの時間を無駄にしなくて済むだろうし・・・。 「14歳・・・C++・・・」をもう一度だけ読んで、C++で組む場合の一例だけでも理解できればな〜。 沢山のクラスが複雑に繋がっていて、それを追う内に頭が混乱してくる。 元々PGに向いてなかったか・・・。 クラスを羅列して線でつなぐだけでも何かが見えるかもしれない。 ・・・と思い今読んでいるのが、 (7)憂鬱なプログラマのためのオブジェクト指向開発講座、Tucker!著、翔泳社(約4割読んだ) これでもダメなら・・・、また別の方法を考えるけど・・・orz 誤った方向に進んでいるかもしれませんが、もう少し頑張ってみます。 クラスが何かもよく知らんヘボプログラマだが2Dゲームくらいなら作れてる。 C++とDXライブラリで。 > 沢山のクラスが複雑に繋がっていて、それを追う内に頭が混乱してくる。 ここがダメ。 あれは理解するものではない。 実際動かしてデバッガで止めて値を見ながら個々のクラスの挙動を確認するものだ。 それぞれがシッカリ動いていれば、全体がちゃんと動くはず。 全体がちゃんと動かないなら、関連するクラスを一つ一つ確認していく。 理解しなきゃヤダヤダなら、せいぜいC言語程度でとどめるべき。 クラスって言っても中身は自分で書くんだから順番違うわな とアプリ一つも作らずデザインパターンの本いきなり読んで 意味不明だった自分が言って見る どんなに素晴らしい設計思想でも 自分が理解できないならゴミと同じ シングルタスクで順番に動くとこから覚えるべき 日記ならブログでも作ってそこでやれ。 つーか三点リーダ多すぎ、メンヘラじじいかよ。 >583 ノ 30代前半。外資系IT企業の社内SEやってるけど、コンテンツPGへの転身を画策中。 現在、メタセコ&Blenderでモデリング、irrlichitでゲーム開発中。 まずは…まずは同人レベルで一本完成させないと話にならんのでorz プログラムと立ち絵は描けるんだが音楽が出来ないんだよなぁ from >>595 まずは2Dゲームから挑戦しようと思ってます。 デバッグも意識します。 勉強段階なので簡単には進まないけど、頑張ります。 >>583 お、こんなスレがあったのか。ということでノ 30代後半に突入してしまった元ゲームPG。 今はまったり制御系PG。 ゲーム制作は趣味でやってる。 2DSTG制作中。弾撃って敵破壊するとこまではできた。 >弾撃って敵破壊するとこまではできた。 元ゲームPGならあっという間でしょうに、これだけ聞くとまるで初心者PG(w >>606 絵も描いてるんだと思うが、多分違う 俺も元ゲームPGだがセガ○ターンじゃ意味ねぇ >>606 ああ、うん。作業量の7割はライブラリ作成だよ。 あと2割はドット打ち。 今は音関係のライブラリやってる。 ゲーム本編はさすがに昔とった杵柄でいけるけど WinAPIとDirectXで時間取られてる。 まぁライブラリなんぞ自作しなくたって 世に山ほどあるのはわかってるけどね。 >>608 ライブラリから作るからこそ趣味PGですよ。 >>609 だが下手するとライブラリ整備ばっかりやってるライブラリ厨になりかねん罠。 すいませんライブラリのバージョンは3.0になのに完成したゲームは0です。 ver1DirectDrawで作る ver2:DirextGrapshics対応だけど2Dメイン。 ver3:ようやく3D対応。 そこでライブラリをフリー公開してくだされば、 俺達のようなへたれPGが潤います。 >>604 やっぱり自分でライブラリ作れないとこの先厳しいのかもしれないという気がしてきた。(でも無理w) 最近、もう少し難しい本でさらに勉強しようと思ったのですが、 よく見ると最初の章が「まずライブラリを作りましょう」となっていて ここで完全につまずく(買う前に気づけよと言われそうですが・・・orz) >595の「憂鬱なプログラマのためのオブジェクト指向開発講座」は 12章まで読んで区切りつけました。(大体7割読んだ。) それで「14歳から〜C++わくわく〜」本をもう一度読み、 クラス図もどきを作成してみた。クラスのつながりの表現はパスした。 そこまで理解しきれないし、時間も無い。 とりあえず、世の中にはクラス図やシーケンス図のような手法があるんだな〜と 知っただけでも良しとする。 複数のキャラに異なる動きを実装する部分のしくみについては ぼんやりながらわかってきた気がする。 この先どうするかは未定。 fron >>612 上の書き込みにfromを付け忘れていた。 とりあえず、次の目標はキャラを22個表示し、その内の1つだけ8方向移動させる。 一ヶ月位かかりそう。 今まで色々本読んで来てこの目標では恥ずかしい気もするが、そんな事言っても仕方ない。 >>613 というか、なぜ本をもう一度読むのか?? 一度読んだならあとは辞書的に使えばいいじゃない。 そもそも何か作りたい最終目標があるなら、 そんな練習問題してないですぐにとりかかりなよ 過去にこのスレを再利用していた連中は最低限動く物レベルでも最初に示してたな。 ターゲットプラットフォームで作った事が無いのならば、とりあえずで良いから何か作る。 話はそれからだ。 from>>613 なかなか一度で理解出来なくて部分的に読み直したりしています。 途中で挫折している本がほとんどですが、 読んだ部分だけでも何かの役に立っていればいいや位の気持ちでいます。 最終目標は、3Dオンライン対戦サッカーゲーム(>588)・・・orz >最低限動く物レベルでも最初に示してたな。 ttp://gamdev.org/up/ の11143にUpした。 実はサンプルソースの背景差し替えただけですが・・・。 最近忙しくなってきたので、一ヶ月以内で1キャラだけ8方向移動を実現する目標も ちょっと怪しくなってきました。 from>>619 でも、最初の目標はもちろん2Dからですので、3Dやオンラインは遠い遠い先の話です。 やる気が続けばですが・・・orz ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる