1人でゲームが作れるように修行します。2 (487レス)
1人でゲームが作れるように修行します。2 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
351: SGGK ◆6pZCoAtaxk [sage] 2012/05/07(月) 22:11:35.39 ID:Q0zXyG9A そこで考えたのは、 1.ボールの移動目標、 2.選手の移動目標 という2つの変数を用意し、これを状態を表す変数だと考える。 ボールや選手の移動関数はこの2つの中身を見て移動先を知るようにプログラムをもっとわかりやすく書けるのではと思った。 そのための次の作業は、ボールの移動目標、選手の移動目標の状態遷移図を書くこと。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/351
352: SGGK ◆6pZCoAtaxk [sage] 2012/05/07(月) 22:32:50.84 ID:Q0zXyG9A 説明不足だったかもしれないので…、 >>350のプログラムの場合、ある場所でフラグをセットして、 そのフラグを別な場所のif文で利用して処理を進めるやり方になり、 これは後々ソースが分かりにくくなるような気がしたので、>>351のようにしてみようと思ったという事。 >>350のリンクで最初のhを取り忘れてしまった。 もしかすると直接クリックしてもアプロダのページにいかないかもしれないので、 アドレスをコピペすればページが見れると思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/352
353: SGGK ◆6pZCoAtaxk [sage] 2012/06/12(火) 23:21:21.15 ID:LaJwmlYj 生存報告。なかなか作業進まず。 選手の移動目標の状態遷移図は書いてみた。 この遷移を本で見たステートデザインパターンを使ってFieldPlayerクラスの中に実装できないかを思い、 FieldPlayerクラスがPlayerDataクラスを継承しているところにPlayerDataクラスがBaseGameEntityクラスを継承、 つまり継承の継承のように3段階にしたら、 「 クラス、構造体、共用体に既定のコンストラクタがありません 」というエラーが出た。 とりあえず、デフォルトコンストラクタを書いてないクラスがあったので書いてみたらコンパイラを通ったけど、 選手が真っ直ぐ動くだけでマウスについて行かなくなった。そろそろ限界かもしれない…。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/353
354: 名前は開発中のものです。 [sage] 2012/06/15(金) 22:27:24.54 ID:PTxBNQ6c ちょっと難しくやろうとしすぎてるのでは? BetterCな感じで関数型な組み方してとりあえず完成に持っていった方がモチベ維持できるかも 見たところオブジェクト指向に移行しきれてないみたいな感じもあるから継承とか使ってても余計ややこしくなってるだけかも http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/354
355: 名前は開発中のものです。 [sage] 2012/06/16(土) 18:28:14.57 ID:44+Yj3Br 影ながら応援していたけど 初めから難しい物を作りすぎてるって感じがするなぁ 今までの経験を生かして新たに1から出来るだけシンプルに ファミコンレベルのサッカーとして動くものを作ってみて それを改造していく方がいいんじゃないかなと http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/355
356: SGGK ◆6pZCoAtaxk [sage] 2012/06/16(土) 20:50:48.24 ID:281LS4tC >>354,>>355 アドバイス、ありがとうございます! 1人でやってると気付かなくて、言われてみると確かにそうだな〜と思える…、ような感じです。 数年やってもこんな状況なんだから、きっとこの先も完成は難しい。 まずは第一段階として、今までの経験上作業に詰まる原因になりやすかったところ、 例えば、継承やコンテナ、デザインパターンを無くすか減らす事を考え、 クラスの組み方も見直して、選手の可能な操作も減らして、それでも先に進めそうになかったら、 第二段階として、さらに簡略化して1から組み直していこうと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/356
357: SGGK ◆6pZCoAtaxk [sage] 2012/06/16(土) 23:58:57.88 ID:281LS4tC >>353でやろうとしていたステートパターンを中止。 FieldPlayerクラスがPlayerDataクラスを継承していたのをやめて、FieldPlayerクラスに一体化した。 そして選手移動関数の切り替えに使っていたストラテジーパターンの処理も外して、速度一定で歩く関数ひとつにした。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/357
358: SGGK ◆6pZCoAtaxk [sage] 2012/06/18(月) 23:32:07.93 ID:kpasVy0J Application基底クラスとSoccerGame継承クラスの継承関係もなくして、 SoccerGameクラスに統一。基底クラスの変数があちこちで使われてて、直すのに苦労した。 SoccerGameクラスは印刷するとA4、10ページの分量なので、頭の中を整理中。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/358
359: SGGK ◆6pZCoAtaxk [sage] 2012/06/19(火) 23:44:58.47 ID:M4sPlsXK SoccerGameクラスのソースが長すぎるので、GameTitleクラス、GamePlayクラス、GameOverクラスを作り、 SoccerGameクラスのソースをこの3つのクラスに振り分けてみた。 この3つのクラスをSoccerGameクラスの中でオブジェクト化すればなんとか出来るかもしれないので、試すつもり。 失敗してもこの直前まではバックアップあるので戻れるから大丈夫w http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/359
360: 名前は開発中のものです。 [sage] 2012/06/20(水) 21:56:07.67 ID:trY5wmki 最初から作り直した方が早いかもね http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/360
361: SGGK ◆6pZCoAtaxk [sage] 2012/06/20(水) 23:15:46.22 ID:/B/K6MdL >>360 >>356では2段階でやるような気持ちでいたけど、いざやってみると、 クラスのつながりの一番根っこを分解したので結局全部書き直し同然の状態です。(汗) とりあえず、スタート画面を出す為に、関係ないヘッダファイルやcppファイルはコンパイラから外して作業中…orz http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/361
362: SGGK ◆6pZCoAtaxk [sage] 2012/06/21(木) 23:49:12.39 ID:ArXkgTjY デザインパターン使わないと言ったけど、ちょっとだけ試してみたかった。 本に書いてたステートパターンの中で最初の1番簡単な例を使ってスタート画面を出せた。 でも実はバグの行を//付けて注釈行化して強引に表示させただけなのでまだなんとも言えない。 残りのゲームプレイとゲーム終了画面表示の遷移が出来なければswitch文使った方法に戻る。 あまり時間が無いのでゆっくり作業…。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/362
363: SGGK ◆6pZCoAtaxk [sage] 2012/06/26(火) 23:26:56.00 ID:qwjvXfmc スタート画面とゲームオーバー画面をキー押しで表示切り替えできた。 ステートパターンの1番簡単な例と言いながらも苦戦した。 以前苦しんだ相互参照、前方宣言が関係してくるパターンだった。 本はその部分は知ってる前提で書いてあるので説明が無かった…orz ネットも調べて知識を得てから考えた実装が動かず、結局試行錯誤で インクルードと前方宣言を入れたり消したりして奇跡的に運よく動いた感じ。 せっかく書いたので、もし問題なく動くならこの部分だけはそのままにしておいて、 またバグ出たら、ifかswitchでやるしかない…orz これ以降、遷移をさせたい処理が出てきたら、それはもちろんifかswitchでやるつもり(苦笑) 数年続けてきて自分には無理だという事がやっとわかった感じ。 やらないで諦めるよりは、やってみて気付いたんだから、よしとしよう! とりあえずはファミコンサッカーを目標にしよう!(これすら出来るか怪しいかもしれない…) 空き時間ができたら作業を少しでも続ける気はあるので、がんばろう〜!…orz http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/363
364: SGGK ◆6pZCoAtaxk [sage] 2012/06/27(水) 22:59:33.76 ID:1q/ptGIo 昨日のプログラムを少し変えた。 1つの状態について1ヘッダーファイル、1cppファイルというのはファイル数が多すぎて分かりずらいのでやめて、 複数の状態を1ヘッダーファイル、1cppファイルにまとめた。 ステートパターンの参考にした本、オライリーのゲームAIプログラミングもそうなっていたし…。 一応、インクルードファイルや前方宣言も本に合わせてみた。 しかし、1か所だけSoccerGameクラスのヘッダーファイルのコンストラクタの行でエラーが出た。 コンストラクタだけ実装(というか定義?)がヘッダーに書いてあったので、 この定義部分だけをcppファイルに移したらコンパイル出来た。 とりあえず、この書き方で進めよう。 タイトル、ゲームオーバー画面が出せたので、次はメインのゲーム部分を書く予定。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/364
365: 名前は開発中のものです。 [sage] 2012/06/28(木) 21:49:03.02 ID:ckB52e4z SGGK氏には「まとめサイト」を作ることを提案します。 これまでに考えて行ってきたことと、それに対するコメントを対応付けると、 現在のご自身のポテンシャルが見えてくると思います。 また、まとめサイトを持っていたほうが、建設的なコメントが得られるように なると思いますよ。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/365
366: SGGK ◆6pZCoAtaxk [sage] 2012/06/29(金) 00:19:39.71 ID:0PUJkiiN >>365 な…なるほど!、ありがとうございます。 ゲームが完成するか自信がないため、まとめサイトについては考えてませんでした。 去年9月頃に受けたアドバイスの後半から追いつけなくなってしまってたので、 そういうのもまとめられたらと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/366
367: SGGK ◆6pZCoAtaxk [sage] 2012/06/29(金) 00:20:46.65 ID:0PUJkiiN ホームページは初めてだけど、頑張ってみます。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/367
368: SGGK ◆6pZCoAtaxk [sage] 2012/07/09(月) 00:12:38.91 ID:wFKWfjV1 できるだけ簡略化した状態で作ろうと思い、 今まで使っていたフリー素材はやめて(ラインの座標が正確にわかっていたわけでは無かったから)、 フィールドは緑の板一枚にして、ゴールの絵は無し、ラインを毎ループプログラムで書き、 そのラインも外枠だけにすることを考えた。 緑色のポリゴンの板をとりあえず作成したが、メタセコイアの使い方をすっかり忘れてて苦労した。 今度はこれを画面に表示しようとしたら画面が真っ黒。 フィールドを原点(0,0,0)において、カメラは(0,100、0)で(0,0,0)注視にしたから見えるはずなのに…。 ふと、カメラ座標を(100、100、0)にしてみたら一部が見えた。一応データは読めてるようだ。 メタセコイアで作った時の座標系やDXライブラリの座標系についていろいろ忘れてしまってるようだ…orz ホームページは作業始めるまでにはかなり時間かかりそうだけど、あきらめずにやるつもり。 FC2で練習する計画。一応グーグルにホームページの登録はしてみた。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/368
369: SGGK ◆6pZCoAtaxk [sage] 2012/07/09(月) 23:59:59.89 ID:1ssCdaiG 3Dで真上から見れば2Dになるかなという考えがあったから昨日のような事をしてたんだけど、 いろいろ悩んだ結果、2Dに戻ってやり直してみようと思った。 3Dについては、今までいろいろアドバイスもらっているのに止めるのはなんだか申し訳ない気持ちもあるけど、 今年の8月末で5年経つはずだし、まずは形に出来る可能性が少しでも高い方法を選ぼうと思う。 3Dでいろいろ学んだり考えたりした経験もきっと役立つだろうし…。 当時作った2Dスクロールはがくがく振動してたけど、それでも良しとするつもり。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/369
370: SGGK ◆6pZCoAtaxk [sage] 2012/07/15(日) 22:56:50.87 ID:UGezkUv1 フィールドの画像データ作成に時間がかかってしまった。 最初はファミコンサッカーのフィールドを意識して奥行を考慮したフィールドにしようと思ったが、これはやめた。 真上から見たフィールドにしたが、ドット絵なので、例えばある点と点を結ぶ直線の太さを4ドットにした時、 どのように書けば良いのかといった事にまで悩んでしまい、一度書きあげたが、なんとなく1〜2ドットずれてるような気がした。 そこで思いついたのが、真上からの絵なのだから1/4だけ書いて、これを3枚コピーして上下左右反転してから結合するというやり方。 幸いそのような機能がついていたので、ようやくフィールドの絵が完成した。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/370
371: SGGK ◆6pZCoAtaxk [sage] 2012/07/22(日) 23:13:51.85 ID:NkhxMf+5 選手の絵を書き直した。 1チーム分の4コマx8方向分、キックの絵を1コマx8枚方向分まで完了。 これがもう1チーム分(色変えるだけでも結構手間な感じ)と ゴールキーパー2人の移動も今日書いた絵を色変えるだけにして、ボールに飛びつく絵を1コマx8方向分欲しいとして…。 (32+8)x3+8x2=136枚書かなければならない…orz 絵の経験は全く無いので今まで使っていた影絵レベルに色を付けた程度のものになった。 ちなみに使用ツールはフリーソフトのEDGE。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/371
372: SGGK ◆6pZCoAtaxk [sage] 2012/07/29(日) 23:26:09.03 ID:YNDBJ1FS 自分に負けて今週末は残りの絵を用意出来なかった。 それでも何かしようと考え、この前書いたフィールド(今回のは、1280x420ドット)を座標(-320,60)に書いてみたら一応表示できた。 もしかすると(-319,59)かもしれないが、追及はしない…orz グラフィックデータをロードするときのエラー関係の処理で書いてたC++の文法、throwやcatchの文も思い切ってカットした。 今度は思いつく限りの状態遷移をノートにでも書いてみようかと思う。 例えば、得点表示、時間表示、ボールがラインアウトしたとき、得点時、前半・後半・ハーフタイムの切り替わりの時どうなるかなどの遷移を整理して、それらをどうやってプログラムにまとめるかといった事を考える予定。 ゲームの設計図というものを知らないので、結局我流。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/372
373: SGGK ◆6pZCoAtaxk [sage] 2012/07/31(火) 22:11:31.45 ID:Cy8rBdoX ゲームが1ループする毎に1ずつ増える変数を宣言・定義した。 この変数は、選手のアニメパターンの何コマ目を表示するかを判断するのに使われる。 「14歳から(略)C++(略)」に書いてあった手法なので特に新しいことはしてない。 つまり、自分はこの方法しか知らない…orz http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/373
374: SGGK ◆6pZCoAtaxk [sage] 2012/08/19(日) 21:40:11.74 ID:vVyCK6D6 まだクラスを増やさないでテスト的にプログラム中。(作業時間をなかなか確保出来ないので…) 選手の画像データを読み込むところまで書き、バグも出なくなった。 次は、選手をキーボードで8方向移動出来るようにする予定。 今までのマウスカーソルに選手が向かう仕様はやめることにした。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/374
375: 名前は開発中のものです。 [sage] 2012/08/23(木) 21:40:24.24 ID:1+Zgsvnu 完全0の状態から小規模の3DMMORPGを作ろうとしてるんだが、勉強とトライアンドエラー続けて10年で稼働まで持っていけるだろうか。 とりあえずC言語の基礎本買ってきた。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/375
376: 名前は開発中のものです。 [sage] 2012/08/24(金) 05:31:27.52 ID:ZnGzYILD 努力の仕方次第で10年かからずとも勿論可能だろうけれど、 そのゲームシステムやデザインが10年後通用するものかどうかは解らない。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/376
377: 名前は開発中のものです。 [sage] 2012/08/24(金) 06:38:37.94 ID:RwA1Lyd+ >>376 レスありがとう。 たしかに。進歩するの早いからな…。 最新情報つねに仕入れつつ、とにかく始めてみる。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/377
378: SGGK ◆6pZCoAtaxk [sage] 2012/08/24(金) 22:58:53.06 ID:YHdN9J8K >>375 自分は今年の8月末で5年経過。まだ1本も作ったことが無いのであと5年で出来るかわかりません。 今思えば、平均して1日どの程度の時間やっていたのか、集中力、やり方とかの管理や工夫が足りてなかったかもしれない。 5年やって実際何時間作業したかとか記録してなかったし…orz(今後は時間だけでもメモ!) 平均的にある程度時間を確保して継続して10年やれればなんとかなりそうに思います。 ゲーム用ライブラリは、既存のものが使えれば時間の節約になってさらに良いと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/378
379: 名前は開発中のものです。 [sage] 2012/08/25(土) 07:20:40.77 ID:uvPogsDK >>378 アドバイスありがとうございます。 作業工程管理って大事なのですね。 基礎を勉強しつつ、完成までに何が必要かを調べて、いつまでにこれができるようにするみたいな逆算は必要かもですね。 ライブラリもちと調べてみます! http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/379
380: SGGK ◆6pZCoAtaxk [sage] 2012/09/20(木) 22:13:17.22 ID:qj08WVBT 確認し忘れてしまいましたが、 もしも学生で、しかも受験生だったりする場合は、勉強に100%専念した方がいいです。 約1ヶ月経ってしまってるけど、ちょっと気になったので…(汗;) http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/380
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 107 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.018s