1人でゲームが作れるように修行します。2 (487レス)
1人でゲームが作れるように修行します。2 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
28: 名前は開発中のものです。 [sage] 2010/05/10(月) 21:39:11 ID:V6qtfDQ7 本も買わずに他人のソース参考とか思いっきり他者依存じゃねえかw http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/28
29: 887 [sage] 2010/05/10(月) 23:22:22 ID:9myjIzu+ >>16 そんな本が出てたんですね。調べてみます。 >>22 先生とかめっそうも無い。 ポインタは最初の1歩で1ヶ月くらい悩んだような気がする。 1. 値渡しとポインタ渡しの使い分け。(これが分かるまで1ヶ月くらいかかった) 2. 配列&ポインタ、構造体&ポインタの理解。 3. 双方向リンクが作れるようになる。 くらいの段階を踏んでだんだんと理解していったような気がする。 2とか分かってくると a[1] は *(a + 1) のシンタックスシュガーみたいなもんだから a[1] == *(a + 1) == *(1 +
a) == 1[a] で 1[a] とかでもコンパイルできることが面白かったりするんですよね。 >>28 個人的には意見交換とか参考にするのはOKだと思うんですけどね。 一緒に作りませんか?みたいなのはスレ違いな気がしますけど。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/29
30: SGGK ◆6pZCoAtaxk [sage] 2010/05/11(火) 00:44:39 ID:3ZUxXN6n ソースのUPもこのスレでは意見交換みたいな雰囲気だし、同じくOK〜!と思います。 それにソースを解読できるのって凄いと思います。(自分は解読とか全然出来ないし) 時間については2007年の8月頃にこの板の某スレに書き込んだのをきっかけに開始。 14歳のC++本のサンプルを改造するために最低限の知識をCとC++の文法書で調べただけで、 プログラミングにあまり詳しくないので、いつどうなるかわからない状況でバグを取ってます。 http://mevius.5ch.
net/test/read.cgi/gamedev/1272901469/30
31: 887 [sage] 2010/05/11(火) 03:09:27 ID:ecU8F6rN ソースコードの整理とか設計をするついでに Google Docs でドキュメントを書いている。 武器やアイテムの仕様やプログラムの設計ことも書いている。 なかなか使いやすくていい感じ。 エクスポートも出来るので PDF でアクター周りの設計を書いたものをアップしてみる。 ttp://gamdev4.hp.infoseek.co.jp/cgi-bin/up/No_0103pdf.html ここらへんの設計。 ttp://github.com/happana/srpg/tree/master/srpg/ プログラムが進まなくてもドキュメントを書いていると進んだ気になる!不思議! htt
p://mevius.5ch.net/test/read.cgi/gamedev/1272901469/31
32: 名前は開発中のものです。 [sage] 2010/05/12(水) 01:21:16 ID:H213asAR 工学図書(株)の「これでわかった C言語ポインタの活用」 という本がポインタ理解に役立った 書籍や技術サイトじゃ個別の疑問は解決し切れないので 直接指導してくれる人がいるのが最善だけれども http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/32
33: 名前は開発中のものです。 [sage] 2010/05/12(水) 05:47:51 ID:nteqJ1cd おはようございます。クォータービューに対応したマップエディタを作ってます。僕です。 >>29 1はそこそこ程度に使えるようになりましたけど 2. 配列&ポインタ、構造体&ポインタの理解。 3. 双方向リンクが作れるようになる。 ここからですね。 構造体は毎回エラーの壁を越えられないんで避けてます。さらにポインタまで考えるともう・・・ すでにD&Dが出来るクラスを作ってしまいましたが、 思い切って1度構造体でデータを作って動作を妄想しながらクラスに
すべき物としない物とに分ける手法を考えて実践してみました。 データ主体という言葉を愚直に捉えた発想なんですけど悩みすぎて気づいたら朝チュンです。 当たり前ですが座標を持つものは座標をデータとして持っていないといけないわけで座標を構造体にして そこから肉付けして画像データ構造体や範囲データ構造体を追加して それらを用途別に組み合わせた物が「実体を得し者」、オブジェクトとして活躍する仕組みなんですけど 妄想しながらデータを作っている段階で 別のオブジェクトの座標や種類みたいなのを取得するような動作や オブジェクトを
動的に配列に格納できないとうまく動かないみたいで どうやらここで高レベルなポインタの出番のようです。さらに多分コンテナみたいなのも使わないとダメっぽいです。 でもこれで思い通りの操作になればマップエディタどころかちょっとしたファイラすら作れそうな勢いです。嘘です。 朝チュンまでして詰むのは悔しいので一旦開発はストップしてポインタのおさらいとSTLをまじめに学ぶことにします。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/33
34: 887 [sage] 2010/05/13(木) 13:42:13 ID:ml734QBW 簡単な状態遷移って switch でやることが多いと思うんだけど 決まった順序で遷移する状態を switch でやると流れが分かりにくい。 int state; switch(state) { case IN: in(); break; case LOOP: loop(); break; case OUT: out(); break; } IN->LOOP->OUT の順番は決まってる。 in(); while(is_loop()) { loop(); } out(); みたいに書けないかなと思っていたらこんなの見つけた。 ttp://f3.aaa.livedoor.jp/~gsyoku/index.php?[[Fiber]]#content:3 機能をゴリゴリ削って使うとこ
ろだけ自分なりに実装してみた。 ttp://github.com/happana/srpg/blob/master/srpg/base/flow.hpp ttp://github.com/happana/srpg/blob/master/srpg/scene/battlescene.cpp#L36 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/34
35: 名前は開発中のものです。 [sage] 2010/05/14(金) 23:53:56 ID:aIk67VKF C言語習いたての俺がSRPG制作に挑戦してみる。 ・・・って企画たててよかったのか? http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/35
36: 887 [sage] 2010/05/15(土) 11:08:05 ID:D0Xi8/Su >>35 企画ってのが何のことを言ってるのか分かりませんが、 がんばりましょう! http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/36
37: 35 [sage] 2010/05/15(土) 16:31:45 ID:XqTbv+Zz うん。なんか勘違いしてたorz さて、AVD×SRPGな感じで作っていきますよっと。 何すればいいかよくわからんがスクリプトエンジンを作ればいいのかね? ちびちび作っていくのでよろしく。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/37
38: 887 [sage] 2010/05/15(土) 17:55:24 ID:D0Xi8/Su >>16さんが教えてくれた本が届いた。 プレイヤーと敵のダメージ、死にモーションを作った。 あと1ヶ月くらいで「たたかう」を選んで殴りあえる位までは出来そうな気がしてきた。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/38
39: 887 [sage] 2010/05/15(土) 23:32:48 ID:D0Xi8/Su P0がE0に攻撃。P1がE1にスキルAで攻撃。みたいな各コマンドを 貯めて後で順番に実行するって仕組みを作っているんだけど 実行する段階で対象がすでに死んでいた場合の対象の再検索とか結構面倒。 後、敵のAIをどうしよう・・・Luaとかのスクリプトを使うのが一般的なんだろうか。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/39
40: 887 [sage] 2010/05/16(日) 15:55:40 ID:Mo8dO9rd ttp://github.com/happana/srpg/downloads SRPG version 0.0.12 戦闘のコマンド実行とダメージ処理の追加。 全員、自動で「たたかう」を選んで実行するだけです。 細々としたところでモーションの追加とか武器の追加とか。 これから、コマンド選択UI、ゲームオーバー処理とかを作る。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/40
41: SGGK ◆6pZCoAtaxk [sage] 2010/05/17(月) 23:22:34 ID:RpiuCETK >>34,>>40 戦闘シーン確認出来ました〜。 サッカーゲームの遷移も前半→ハーフタイム→後半は一方通行で似ているかもしれないので、参考にしてみようと思います。 >>35 ど〜ぞよろしく〜! こちらは進捗が思い通りにならなくて、これはもしかするとソースをUpして なんとなくホッとしてしまったからかもしれない…と自己分析していた矢先に来月の15日頃予定で転勤が決まりそうな感じ。 もしかすると最低でもこの前後1カ月ぐらいは落ち
着かないと思うので進捗が無いかもしれない予感。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/41
42: SGGK ◆6pZCoAtaxk [sage] 2010/05/19(水) 00:20:03 ID:+kD8rOAe 次の日になって自分の書き込みを見るとなんだか赤面な感じ。 別にフェードアウトするフラグでは無いので…(汗)。 一応>>7をやって頭の整理をするところまではやらねば〜!。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/42
43: 887 [sage] 2010/05/23(日) 02:17:27 ID:ne7zja47 ttp://github.com/happana/srpg/downloads SRPG version 0.0.13 バトル時のコマンド選択など追加。後ダメージも武器の値を使うようにした。 カメラの制御が難しい。 なんかモチベーションが下がってきて駄目な感じになってきた。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/43
44: 名前は開発中のものです。 [sage] 2010/05/23(日) 21:58:24 ID:VDqMKVb3 >>43 RPGな気もするが、動作はちゃんとできている。 まだ製作序盤だと思うが、クリア、全滅があると面白いと思う。 洞窟にゴール地点を作ったり、敵を強くしたり。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/44
45: 887 [sage] 2010/05/23(日) 23:27:33 ID:ne7zja47 >>44 ごめん。SRPGって書いてるけどRPGなんだ。 SimpleなRPGってことでSRPGにしたら、シミュレーションRPGとかぶっちゃったんだ。 分かった。全滅とか作ってみる。 ちょっと敵も増やしてみようかな。 意見もらえてモチベーション上がった。ありがとう。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/45
46: SGGK ◆6pZCoAtaxk [sage] 2010/07/14(水) 23:35:58 ID:E0crx8nl 久しぶりに書き込み。 887氏、もしかして開発中止だろうか。 再開して戻って来れるように、こちらの進捗0でも何か書いてみる。 自分の方は2か月の空白を作ってしまい、>>42で辞めないと言ったものの、開発続行はやはり怪しい。 とりあえず、>>42、>>7で言った頭の整理は時間が掛かりすぎるので中止。 ゲームのメインの部分で前半、後半で同じような内容が書かれてあり、 長すぎてわかりにくい感じがするので、少し改善できないか考えてみる予定。 http://me
vius.5ch.net/test/read.cgi/gamedev/1272901469/46
47: SGGK ◆6pZCoAtaxk [sage] 2010/07/15(木) 22:11:02 ID:K2yOe2RI や…やめた。>>46で言ったソース改善も中止〜! バグが出てるわけでもないし、わかりにくくてもなんとかソースを読むこともできるから、 整理に時間をかける程でもないなと思った。 とりあえずこのままにして、前スレで言っていた以下の目標をやってみる。 >967 :SGGK ◆6pZCoAtaxk [sage]:2010/04/27(火) 23:03:19 ID:puWvjObW >次の小目標は、 >今まですべての選手が一斉にボールを追いかけていたのをやめて、 >FWは前1/3、MFは中1/3、D
Fは後ろ1/3の範囲にボールがある時だけ >ボールを追いかけるようにプログラムを直す。 >…にしてみる予定。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/47
48: SGGK ◆6pZCoAtaxk [sage] 2010/07/19(月) 23:53:37 ID:Enn47Jg4 ということで、取り組んでみたものの案の定うまくいかない…orz まず、メインループの中にある選手の移動関数について。 移動関数の中で今が前半か後半かを判断する変数を使えるようにしたいけど、 いまのままではおそらく使えないと予想。 現在のプログラムは、選手関係の変数や関数をひとまとめにしたクラスの オブジェクトをゲーム処理を主とした関数内に作ってあり、そのオブジェクトのメンバ関数で選手移動処理をするようになってるので、 ゲーム処理を主とした関数で定義し
た変数を認識させるにはたぶんその変数のアドレスを渡さなければいけないと思い、 とりあえず、 1.選手関係の変数や関数をひとまとめにしたクラスを宣言してるヘッダファイルに「前半か後半かを判断する変数」を 定義してる別のヘッダファイルを加える。 2.選手関係の変数や関数をひとまとめにしたクラスを宣言してるヘッダファイルの中の 選手移動処理の関数の引数に「前半か後半かを判断する変数」を追加する。 3.選手移動処理の関数の定義がfieldplayercontrol.cppの中にあるので、 これにも同様に「前半か後半かを判断する変数」を追加する
。 ここまで書けば関数の中身を後回しにしてもコンパイラは通るはずだと思い、 コンパイルするとエラー。 error C2146: 構文エラー : ';' が、識別子 'fieldplayercnt' の前に必要です。 運よくバグは取れたけど、詳細は進まない作業の代わりにネタおよび自分の作業メモとして少しずつ書く予定。 てっきり、また全角の空白をどこかに入れてしまったのかと思ったが、そうではなかった。 知ってれば一瞬なのに何時間か掛かってしまい、これがプログラムのしんどいところ。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/48
49: STG [sage] 2010/07/21(水) 20:04:43 ID:jGZViznh もうサッカーの人しかいないのかな(ヽ´ω`) ゲーム仕様でどうしても2Dでは実現しづらい部分が出てきたので3Dに移行。 サンプルプログラムで大体どんな感じに組めばいいかはわかったのでモデル製作の勉強開始。 モデリングソフト高すぎワロタ…のでBlenderを使うことに。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/49
50: SGGK ◆6pZCoAtaxk [sage] 2010/07/22(木) 00:32:00 ID:umEPonN6 >>49 こんばんは!。見ている人がいるからには、諦めずにもう少し頑張ってみようと思います。 自分もいつかは3Dをやりたいと思っているので、Blenderの事は記憶に留めておきます。 >48のバグは、最初「error C2146: 構文エラー : ';' が、識別子 の前に必要です。」で検索したところ、 その中で、「変数宣言の位置によってエラーになったりならなかったり ...」という言葉が目に付き、 ソースを見たところ、ヘッダファイルの左端の縦棒が太く表示されていて何かここ
に問題のあるしるしなのかと思い、 考えてみると、今回、選手の移動関数の引数として読み込ませたいと思っている変数は、 enum MATCHSTATE{ FIRST_HALF=1,HALF_TIME,SECOND_HALF,RESULT_DISPLAY }; で、これはsoccergame.hで宣言されてて、しかし、選手の移動関数は fieldplayercontrol.hで宣言されているので、ならば、fieldplayercontrol.hの上の行に #include "soccergame.h"をいれてやればいいのではと思ってそうした。 しかし、先ほどのMATCHSTATEはクラスなどの外側に記述してあるので、コンパイルしたら、 soccergame.hと#include "soccergam
e.h"したfieldplayercontrol.hとで重複してしまうのではと思い、 #include "soccergame.h"を消したら、コンパイルできた!…という話。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/50
51: SGGK ◆6pZCoAtaxk [sage] 2010/07/22(木) 22:16:41 ID:lTzR4XWC >>47(前スレ>967)の目標完了。珍しく予想以上に早く出来た。 ソースはifとswitchの組み合わせなので長文になってしまっているのが相変わらずの難点。 次の目標は、出来れば走ったり、ジャンプをさせたりとかいろいろ思いつくけど、 選手それぞれの近くにライフゲージを表示させて、ライフが少しずつ減り、0になったら 選手が停止する に挑戦。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/51
52: 名前は開発中のものです。 [sage] 2010/07/23(金) 02:53:39 ID:C4gQhbld >>50 つまり・・・どういうことだってばよ いやすまん、偶然スレ覗いたら気になったんでちょっと質問させて欲しい enum A{}; enum A{}; void main{} 例えばこう書くと、VisualC++では「error C2011: 'A' : 'enum' 型の再定義」っていうエラーになるんだけど >>50の下6行で言いたいのは、こういう事とは違うの? http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/52
53: SGGK ◆6pZCoAtaxk [sage] 2010/07/25(日) 12:32:50 ID:p6Ls+avh > >>50の下6行で言いたいのは、こういう事とは違うの? そうです。その通りです。 「選手移動処理の関数」に「前半か後半かを判断する変数」つまり enum MATCHSTATE{ FIRST_HALF=1,HALF_TIME,SECOND_HALF,RESULT_DISPLAY }; を引数として持たせたい。 でも、この「前半か後半かを判断する変数」の宣言は、soccergame.hにあり、「選手移動処理の関数」の宣言はfieldplayercontrol.hにあるので、 fieldplayercontrol.hの中でsoccergame.hを#includeしなければ、引数として
認識できないかなと思った。 でもそうするとfieldplayercontrol.hとsoccergame.hの両方に enum MATCHSTATE{ FIRST_HALF=1,HALF_TIME,SECOND_HALF,RESULT_DISPLAY }; があるので、コンパイルしたときに enum MATCHSTATE{ FIRST_HALF=1,HALF_TIME,SECOND_HALF,RESULT_DISPLAY }; enum MATCHSTATE{ FIRST_HALF=1,HALF_TIME,SECOND_HALF,RESULT_DISPLAY }; void main{} と2重になるので、 C2146: 構文エラー : ';' が、識別子 'fieldplayercnt' の前に必要です。 というエラーが出てるのかと思った。 http://mevius.5ch.net/test/read.cgi/gamedev/1272
901469/53
54: SGGK ◆6pZCoAtaxk [sage] 2010/07/25(日) 12:35:16 ID:p6Ls+avh しかし、>>52氏の指摘が気になり、試しにfieldplayercontrol.hに enum MATCHSTATE{ FIRST_HALF=1,HALF_TIME,SECOND_HALF,RESULT_DISPLAY }; だけを直接書きこんでみると、 error C2011: 'MATCHSTATE' : 'enum' 型の再定義 というエラーが出た。 自分が思っていたバグの原因は間違いで、 >>50で >#include "soccergame.h"を消したら、コンパイルできた! ときのコンパイルできた理由はほかにあるらしく、 しかもenum MATCHSTATE{略};は問題なく認識されていたらし
い…orz (>>52←指摘ありがとうございます!) http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/54
55: SGGK ◆6pZCoAtaxk [sage] 2010/07/25(日) 14:01:28 ID:p6Ls+avh 「error C2146: 構文エラー : ';' が、識別子 'fieldplayercnt' の前に必要です。」というエラーメッセージが出る原因について調査。 #include "soccergame.h"で発生したバグだから、そのsoccergame.hの中に';' が抜けてるところがあるのかと思ったが、良く見たけど見つからない。 他のヘッダーファイルに#include "soccergame.h"をやってコンパイルすると、 「error C2146: 構文エラー : ';' が、識別子 'fieldplayercnt' の前に必要です。」 が出る。"soccergame.h"に何かある
のか…。 もしかするとヘッダーファイル2重読み込み防止(いわゆるインクルードガード)の書き方が "soccergame.h"だけ何かの作業でずれたか消えたかしてたか?と見てみたがなんともない。 ためしに「ヘッダファイル 2重読み込み」で検索するとやっぱりこれといったのが無く、しかし、 その中に「ヘッダーファイルは慎重に扱わないと危険です」という言葉が目に付き、 クリックすると内容が難しすぎて解らなかったけど、雰囲気的に「循環参照」というのが気になる。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/55
56: SGGK ◆6pZCoAtaxk [sage] 2010/07/25(日) 14:03:02 ID:p6Ls+avh 自分のソースを見てみる。 fieldplayercontrol.h に soccergame.h をインクルードしたときを考えてみる。 soccergame.h は #include "fieldplayercontrol.h" してるので、 お互いがお互いをインクルードしあってる。 念のため、soccergame.h がインクルードしてないヘッダーファイルにsoccergame.hをインクルードしてみる。 これなら循環じゃないから、バグが出ないはずだと思ったが、 バグが出る場合と出ない場合がある。 バグが出ないと予想したのにバグが出たヘッダー
ファイルは、もしかするとsoccergame.hのインクルードしたヘッダーファイルからまたヘッダーファイルが呼ばれてて…のような感じで呼ばれていたのかもしれないが、調べきれず。 さらに error C2146: 構文エラー : ';' が、識別子 の前に必要です。 ヘッダーファイル 循環参照 で検索してみると、掲示板関係ばかり引っかかるけど、どうも循環参照が原因の可能性が高い。 「ヘッダーファイル内でのインクルードはできるだけ避けたい。」という書き込みもあるし。 仮に循環参照が原因として何故、「error C2146: 構文エラー : ';' が、識別子 'fieldpl
ayercnt' の前に必要です。」というメッセージになるのかわからないけど、 とりあえずヘッダーファイルをインクルードしているうちに循環参照になっていたのが原因の可能性が一番高いと考えて、 >>51の課題挑戦を再開。 http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/56
57: 名前は開発中のものです。 [sage] 2010/07/25(日) 16:05:50 ID:7RX0IWHa ('A`) http://mevius.5ch.net/test/read.cgi/gamedev/1272901469/57
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 430 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.021s