がんばりましょう。
前スレ
1人でゲームが作れるように修行します。
http://pc11.2ch.net/test/read.cgi/gamedev/1006284805/
1人でゲームが作れるように修行します。2
1名前は開発中のものです。
2010/05/04(火) 00:44:29ID:HN0quC1A4887
2010/05/04(火) 14:26:38ID:IyaaQmWj レイアウト情報の手打ちがしんどいのでinkscapeで作れるようにした。
アニメーションデータは結局手打ちなんで、それほど効率的にはならないんだけど
レイアウトだけでもwysiwygができると違う。
ステータス画面を作ろうと思いステータスを考えていた。
他のゲームを調べてみるとFFTとか女神転生3とかは防御力がなかったり
物理攻撃も斬り・打撃・突きみたいなものに別れていたり色々と奥が深い。
もうそろそろ戦闘システムを考えないといけない時期に来た。
名前が887だとスレが変わったからまぎらわしいなぁ…
どうしよう。
アニメーションデータは結局手打ちなんで、それほど効率的にはならないんだけど
レイアウトだけでもwysiwygができると違う。
ステータス画面を作ろうと思いステータスを考えていた。
他のゲームを調べてみるとFFTとか女神転生3とかは防御力がなかったり
物理攻撃も斬り・打撃・突きみたいなものに別れていたり色々と奥が深い。
もうそろそろ戦闘システムを考えないといけない時期に来た。
名前が887だとスレが変わったからまぎらわしいなぁ…
どうしよう。
5SGGK ◆6pZCoAtaxk
2010/05/05(水) 00:28:41ID:cHnb9MOr >>1
乙〜!!
思いつく方法は、やっぱり名前付けるかコテハンにするかといったところでしょうか。
進捗はプログラムのファイルをコピーして、名前のバージョンの数字を1つ上げて保存のみ…orz
が…頑張ります〜。
乙〜!!
思いつく方法は、やっぱり名前付けるかコテハンにするかといったところでしょうか。
進捗はプログラムのファイルをコピーして、名前のバージョンの数字を1つ上げて保存のみ…orz
が…頑張ります〜。
6名前は開発中のものです。
2010/05/05(水) 17:11:20ID:zqw2r7FZ 俺もつい最近ゲーム作りを始めた
7SGGK ◆6pZCoAtaxk
2010/05/06(木) 00:35:45ID:3I0cpMiE >>6
お互い頑張りましょ〜!
自分は進捗止まりそうですが、細々とでもやっていくつもりです。
前スレで書いてた小目標、「選手の守備範囲にボールが入ったときにだけ選手がボールを追うようにする」は
ちょっと止めておいて、この前実装した、「前半から結果表示までの流れ」を遷移図のような感じで表現できないかを
試してみる予定。大雑把な遷移図は以前書いてアップした事があったけど、その後の実装は全く別な感じになったので
一度見直してみて、今後の作業の参考になればと思ったから。
お互い頑張りましょ〜!
自分は進捗止まりそうですが、細々とでもやっていくつもりです。
前スレで書いてた小目標、「選手の守備範囲にボールが入ったときにだけ選手がボールを追うようにする」は
ちょっと止めておいて、この前実装した、「前半から結果表示までの流れ」を遷移図のような感じで表現できないかを
試してみる予定。大雑把な遷移図は以前書いてアップした事があったけど、その後の実装は全く別な感じになったので
一度見直してみて、今後の作業の参考になればと思ったから。
8名前は開発中のものです。
2010/05/06(木) 02:12:39ID:eUAJiIs7 ゲ製板の過疎は洒落にならないね
最近製作スレはVIPに移動したりしてるし・・・
スレが簡単に落ちないのはいいことだけど
最近製作スレはVIPに移動したりしてるし・・・
スレが簡単に落ちないのはいいことだけど
2010/05/06(木) 02:45:12ID:JbTMIa/N
ローカルルール的に、何もない0の状態からスレ建てして新規企画を立ち上げるわけにはいかないからね、この板
そのせいもあるかと。
そのせいもあるかと。
2010/05/06(木) 07:15:06ID:SMYLunWk
>>1
乙です。
前のスレでクォータービューは描画だけで重いと言っていました。どうも僕です。
DXライブラリの仕様を調べていると描画範囲の外はクリッピングとか言う処理がなされて描画自体されないと聞いていて
確かに画像を描画範囲から出すとFPSは安定したので、納得していたんですが
CPUはあんまり減りませんでした。気づきませんでした。
そこで画面の表示範囲外はDrawGraphを行わないような処理を加えると、かなりぬるぬる動きました。
色々遠回りしたけど結局これだけでそこそこ実用に耐えられそうな性能を発揮したのでこれでなんとかなりそうです。
また、チップを組み合わせたブロックを生成して一つの画像として表示するような仕組みを作って利用すればさらに軽量化できそうです。
外部から参照するファイルというか、文字列って何かと難しそうですけどマップエディタを作れたら作ります。
せっかくなんで今回のテストプログラムを置いておきます。
ゲ製板のアップローダが過疎でなんか逆に恥ずかしいんですけど
ttp://gamdev4.hp.infoseek.co.jp/cgi-bin/up/No_0101zip.html
迷ったあげくおソースもついてます。これでもまじめに書いたんです。
FPSがふらふらするのは仕様です。けどこのままでいいのかなぁ・・・
乙です。
前のスレでクォータービューは描画だけで重いと言っていました。どうも僕です。
DXライブラリの仕様を調べていると描画範囲の外はクリッピングとか言う処理がなされて描画自体されないと聞いていて
確かに画像を描画範囲から出すとFPSは安定したので、納得していたんですが
CPUはあんまり減りませんでした。気づきませんでした。
そこで画面の表示範囲外はDrawGraphを行わないような処理を加えると、かなりぬるぬる動きました。
色々遠回りしたけど結局これだけでそこそこ実用に耐えられそうな性能を発揮したのでこれでなんとかなりそうです。
また、チップを組み合わせたブロックを生成して一つの画像として表示するような仕組みを作って利用すればさらに軽量化できそうです。
外部から参照するファイルというか、文字列って何かと難しそうですけどマップエディタを作れたら作ります。
せっかくなんで今回のテストプログラムを置いておきます。
ゲ製板のアップローダが過疎でなんか逆に恥ずかしいんですけど
ttp://gamdev4.hp.infoseek.co.jp/cgi-bin/up/No_0101zip.html
迷ったあげくおソースもついてます。これでもまじめに書いたんです。
FPSがふらふらするのは仕様です。けどこのままでいいのかなぁ・・・
2010/05/06(木) 21:02:02ID:eUAJiIs7
俺もCとDXライブラリ使ってる
横スクアクション作ってるけど、重力設定とかややこしいな
横スクアクション作ってるけど、重力設定とかややこしいな
12887
2010/05/06(木) 22:31:58ID:HGB4ep5J OpenOffice.org CalcのExcel 2003 XMLでのエクスポートがバグってる。
しかも結構重要な機能。=1+2が保存できない。
あきらめるかと思って、データ打ち込むのにフリーで楽そうなのないかなあと探していたら
Google Docsを見つけた。しかも、どんなファイルでもアップロードできるみたい。
ソースコードは今 http://github.com/happana/srpg で管理してるけど
データ管理をどうしようかと思っていたので丁度いいかもしれない。
ただ、google アカウント作るのが面倒だなあ。
しかも結構重要な機能。=1+2が保存できない。
あきらめるかと思って、データ打ち込むのにフリーで楽そうなのないかなあと探していたら
Google Docsを見つけた。しかも、どんなファイルでもアップロードできるみたい。
ソースコードは今 http://github.com/happana/srpg で管理してるけど
データ管理をどうしようかと思っていたので丁度いいかもしれない。
ただ、google アカウント作るのが面倒だなあ。
13SGGK ◆6pZCoAtaxk
2010/05/06(木) 22:32:34ID:GlB3Y70A14名前は開発中のものです。
2010/05/07(金) 13:42:02ID:ZZNz05BZ 一人でがんばるならスレたてないでずっとひとりでやれよ
15887
2010/05/07(金) 16:53:14ID:3Ul87uT/ 積読してたGame Programming Gemsを久々に見てみたら結構役立つ情報があった。
1だけ持ってるんだけど、今はいくつまで出てるんだろう。7?
参考になるけど全部買うのは無理だ…
1だけ持ってるんだけど、今はいくつまで出てるんだろう。7?
参考になるけど全部買うのは無理だ…
2010/05/07(金) 19:50:35ID:eeBXJ7GH
17SGGK ◆6pZCoAtaxk
2010/05/08(土) 00:04:29ID:lZFiwz/w >>12
Google Docs、ググってみました。エクセルで書いた遷移図を共有するような使い方も出来るような雰囲気。
>>14
アンカー付全レスでプログラムが進んでないと、そう思われてしまうかもしれないけど、やる気維持に役立てています〜。
>>15、16
Gems、難しそうで立ち読みすらしなかったけど今度見てみようかな…。
ソースの件、以前は付けてたけど過去に指摘があって付けなくなってました。
でもたまにはという事で先日upしたSGGK019のときのソースを載せておきます。
清書しようかと思ったけど、そのままの状態でアップしてます…。
ttp://gamdev4.hp.infoseek.co.jp/cgi-bin/up/No_0102zip.html
Google Docs、ググってみました。エクセルで書いた遷移図を共有するような使い方も出来るような雰囲気。
>>14
アンカー付全レスでプログラムが進んでないと、そう思われてしまうかもしれないけど、やる気維持に役立てています〜。
>>15、16
Gems、難しそうで立ち読みすらしなかったけど今度見てみようかな…。
ソースの件、以前は付けてたけど過去に指摘があって付けなくなってました。
でもたまにはという事で先日upしたSGGK019のときのソースを載せておきます。
清書しようかと思ったけど、そのままの状態でアップしてます…。
ttp://gamdev4.hp.infoseek.co.jp/cgi-bin/up/No_0102zip.html
18SGGK ◆6pZCoAtaxk
2010/05/08(土) 00:41:02ID:HtkhpRQD …という事で自分もちょっと考え直して、プログラムに少し進捗があったら書きこむみたいな感じで
不定期登場、レスもその時のタイミングに応じて書いたり書かなかったり…みたいになるかもしれないです。
でももちろん全部見てますのでよろしくです〜。では…。
>7の作業は今日も終わらず…。
不定期登場、レスもその時のタイミングに応じて書いたり書かなかったり…みたいになるかもしれないです。
でももちろん全部見てますのでよろしくです〜。では…。
>7の作業は今日も終わらず…。
19887
2010/05/08(土) 01:19:28ID:Qe4xM2Bu やばい、完全に行き詰った。
戦闘時のコマンド実行の実装の仕方が思いつかない…
色々とごちゃごちゃになってきたんで、戦闘部分だけCUI版とかで別プログラムを一から書いてみようかな。
一番大事な部分なのに…振り出しに戻った…
戦闘時のコマンド実行の実装の仕方が思いつかない…
色々とごちゃごちゃになってきたんで、戦闘部分だけCUI版とかで別プログラムを一から書いてみようかな。
一番大事な部分なのに…振り出しに戻った…
20887
2010/05/08(土) 06:43:31ID:Qe4xM2Bu ttp://github.com/happana/tatara
戦闘システム実装練習用に新たにプロジェクトを作った。
こっちはグラフィックは文字だけになる予定。
ある程度目処が立ったらSRPGと統合する。
戦闘システム実装練習用に新たにプロジェクトを作った。
こっちはグラフィックは文字だけになる予定。
ある程度目処が立ったらSRPGと統合する。
21名前は開発中のものです。
2010/05/09(日) 23:11:16ID:aiTWM3+o 皆さんは今のプログラミングレベルに到達するまでどれくらいの時間かかりましたか?
2010/05/10(月) 00:27:01ID:rQgi2tSO
どうも、クォータビューのマップエディタを作ろうにも何から手をつけていいかわからない僕です。
887先生とSGGK先生のおソースを拝見しました。
あらゆる書籍を持たず完全独学なんで非常に参考になります。
僕がやたらレベルが低いので理解にまでは至りませんけども
別のスクリプト組み込んだりとかクラスオブジェクトを使いこなしたりとかは雲の上の話です。
書籍とか形のある知識を持ってないとこういう得た情報をどこにしまったか忘れてしまうんで
サーバを使わないローカルで動く超個人的wikiみたいなのがあったらいいな
と思ってたらありますね。世界は広いっす。
たくさんあったけれど「ひとりwiki」がまさしくこのスレにぴったりな名前なんで
これで最終的にはゲーム製作の虎の穴として書籍になってウハウハ
マップチップのひし形部分とマウスの当たり判定をとりあえず実装するために
クリックボタンのクラスを作りました。
これを継承して例えばスタートボタンにしたり
マップエディタでクリックでチップを置いたり
そういう方法で正解なのかしら?クラスはよくわかりません。
>>21
ロベールのC++教室という有名なサイトを見ながら
1週間でC言語のポインタまで理解したつもりでしたが半年たっても使いこなせないです。
887先生とSGGK先生のおソースを拝見しました。
あらゆる書籍を持たず完全独学なんで非常に参考になります。
僕がやたらレベルが低いので理解にまでは至りませんけども
別のスクリプト組み込んだりとかクラスオブジェクトを使いこなしたりとかは雲の上の話です。
書籍とか形のある知識を持ってないとこういう得た情報をどこにしまったか忘れてしまうんで
サーバを使わないローカルで動く超個人的wikiみたいなのがあったらいいな
と思ってたらありますね。世界は広いっす。
たくさんあったけれど「ひとりwiki」がまさしくこのスレにぴったりな名前なんで
これで最終的にはゲーム製作の虎の穴として書籍になってウハウハ
マップチップのひし形部分とマウスの当たり判定をとりあえず実装するために
クリックボタンのクラスを作りました。
これを継承して例えばスタートボタンにしたり
マップエディタでクリックでチップを置いたり
そういう方法で正解なのかしら?クラスはよくわかりません。
>>21
ロベールのC++教室という有名なサイトを見ながら
1週間でC言語のポインタまで理解したつもりでしたが半年たっても使いこなせないです。
23887
2010/05/10(月) 01:31:44ID:9myjIzu+ >>21
Cから始めて大体分かったなと思うまで1年
その後C++に移行しつつ
- STL, template 周り
- Windows API
- オブジェクト指向
同時並行な感じで1,2年。
これから後はあんまり成長してない気がする。
プログラム勉強しだして8年くらい。
Cから始めて大体分かったなと思うまで1年
その後C++に移行しつつ
- STL, template 周り
- Windows API
- オブジェクト指向
同時並行な感じで1,2年。
これから後はあんまり成長してない気がする。
プログラム勉強しだして8年くらい。
2010/05/10(月) 01:40:23ID:OawYtSG+
何歳ですか?
25887
2010/05/10(月) 01:48:23ID:9myjIzu+ アラサー。
多分このスレ一番の年寄りだろう。
多分このスレ一番の年寄りだろう。
26STG
2010/05/10(月) 01:54:52ID:ruVit98w >>21
・最初にRPGツクール5を高校時代に
・社会に出てからRPGツクール2000へ
・ツクール投げてHSPを半年使う
・HSP投げてC++を勉強〜二年で今に至る
ポインタやクラスあたりはもう無くてはならない存在。STLも超基本にだけ触れた程度かな
クラスは構造体の延長みたいな感じで使ってる。
・最初にRPGツクール5を高校時代に
・社会に出てからRPGツクール2000へ
・ツクール投げてHSPを半年使う
・HSP投げてC++を勉強〜二年で今に至る
ポインタやクラスあたりはもう無くてはならない存在。STLも超基本にだけ触れた程度かな
クラスは構造体の延長みたいな感じで使ってる。
27STG
2010/05/10(月) 01:57:58ID:ruVit98w 連投になるけど21歳
2010/05/10(月) 21:39:11ID:V6qtfDQ7
本も買わずに他人のソース参考とか思いっきり他者依存じゃねえかw
29887
2010/05/10(月) 23:22:22ID: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だと思うんですけどね。
一緒に作りませんか?みたいなのはスレ違いな気がしますけど。
そんな本が出てたんですね。調べてみます。
>>22
先生とかめっそうも無い。
ポインタは最初の1歩で1ヶ月くらい悩んだような気がする。
1. 値渡しとポインタ渡しの使い分け。(これが分かるまで1ヶ月くらいかかった)
2. 配列&ポインタ、構造体&ポインタの理解。
3. 双方向リンクが作れるようになる。
くらいの段階を踏んでだんだんと理解していったような気がする。
2とか分かってくると a[1] は *(a + 1) のシンタックスシュガーみたいなもんだから
a[1] == *(a + 1) == *(1 + a) == 1[a] で 1[a] とかでもコンパイルできることが面白かったりするんですよね。
>>28
個人的には意見交換とか参考にするのはOKだと思うんですけどね。
一緒に作りませんか?みたいなのはスレ違いな気がしますけど。
30SGGK ◆6pZCoAtaxk
2010/05/11(火) 00:44:39ID:3ZUxXN6n ソースのUPもこのスレでは意見交換みたいな雰囲気だし、同じくOK〜!と思います。
それにソースを解読できるのって凄いと思います。(自分は解読とか全然出来ないし)
時間については2007年の8月頃にこの板の某スレに書き込んだのをきっかけに開始。
14歳のC++本のサンプルを改造するために最低限の知識をCとC++の文法書で調べただけで、
プログラミングにあまり詳しくないので、いつどうなるかわからない状況でバグを取ってます。
それにソースを解読できるのって凄いと思います。(自分は解読とか全然出来ないし)
時間については2007年の8月頃にこの板の某スレに書き込んだのをきっかけに開始。
14歳のC++本のサンプルを改造するために最低限の知識をCとC++の文法書で調べただけで、
プログラミングにあまり詳しくないので、いつどうなるかわからない状況でバグを取ってます。
31887
2010/05/11(火) 03:09:27ID:ecU8F6rN ソースコードの整理とか設計をするついでに Google Docs でドキュメントを書いている。
武器やアイテムの仕様やプログラムの設計ことも書いている。
なかなか使いやすくていい感じ。
エクスポートも出来るので PDF でアクター周りの設計を書いたものをアップしてみる。
ttp://gamdev4.hp.infoseek.co.jp/cgi-bin/up/No_0103pdf.html
ここらへんの設計。
ttp://github.com/happana/srpg/tree/master/srpg/
プログラムが進まなくてもドキュメントを書いていると進んだ気になる!不思議!
武器やアイテムの仕様やプログラムの設計ことも書いている。
なかなか使いやすくていい感じ。
エクスポートも出来るので PDF でアクター周りの設計を書いたものをアップしてみる。
ttp://gamdev4.hp.infoseek.co.jp/cgi-bin/up/No_0103pdf.html
ここらへんの設計。
ttp://github.com/happana/srpg/tree/master/srpg/
プログラムが進まなくてもドキュメントを書いていると進んだ気になる!不思議!
2010/05/12(水) 01:21:16ID:H213asAR
工学図書(株)の「これでわかった C言語ポインタの活用」
という本がポインタ理解に役立った
書籍や技術サイトじゃ個別の疑問は解決し切れないので
直接指導してくれる人がいるのが最善だけれども
という本がポインタ理解に役立った
書籍や技術サイトじゃ個別の疑問は解決し切れないので
直接指導してくれる人がいるのが最善だけれども
2010/05/12(水) 05:47:51ID:nteqJ1cd
おはようございます。クォータービューに対応したマップエディタを作ってます。僕です。
>>29
1はそこそこ程度に使えるようになりましたけど
2. 配列&ポインタ、構造体&ポインタの理解。
3. 双方向リンクが作れるようになる。
ここからですね。
構造体は毎回エラーの壁を越えられないんで避けてます。さらにポインタまで考えるともう・・・
すでにD&Dが出来るクラスを作ってしまいましたが、
思い切って1度構造体でデータを作って動作を妄想しながらクラスにすべき物としない物とに分ける手法を考えて実践してみました。
データ主体という言葉を愚直に捉えた発想なんですけど悩みすぎて気づいたら朝チュンです。
当たり前ですが座標を持つものは座標をデータとして持っていないといけないわけで座標を構造体にして
そこから肉付けして画像データ構造体や範囲データ構造体を追加して
それらを用途別に組み合わせた物が「実体を得し者」、オブジェクトとして活躍する仕組みなんですけど
妄想しながらデータを作っている段階で
別のオブジェクトの座標や種類みたいなのを取得するような動作や
オブジェクトを動的に配列に格納できないとうまく動かないみたいで
どうやらここで高レベルなポインタの出番のようです。さらに多分コンテナみたいなのも使わないとダメっぽいです。
でもこれで思い通りの操作になればマップエディタどころかちょっとしたファイラすら作れそうな勢いです。嘘です。
朝チュンまでして詰むのは悔しいので一旦開発はストップしてポインタのおさらいとSTLをまじめに学ぶことにします。
>>29
1はそこそこ程度に使えるようになりましたけど
2. 配列&ポインタ、構造体&ポインタの理解。
3. 双方向リンクが作れるようになる。
ここからですね。
構造体は毎回エラーの壁を越えられないんで避けてます。さらにポインタまで考えるともう・・・
すでにD&Dが出来るクラスを作ってしまいましたが、
思い切って1度構造体でデータを作って動作を妄想しながらクラスにすべき物としない物とに分ける手法を考えて実践してみました。
データ主体という言葉を愚直に捉えた発想なんですけど悩みすぎて気づいたら朝チュンです。
当たり前ですが座標を持つものは座標をデータとして持っていないといけないわけで座標を構造体にして
そこから肉付けして画像データ構造体や範囲データ構造体を追加して
それらを用途別に組み合わせた物が「実体を得し者」、オブジェクトとして活躍する仕組みなんですけど
妄想しながらデータを作っている段階で
別のオブジェクトの座標や種類みたいなのを取得するような動作や
オブジェクトを動的に配列に格納できないとうまく動かないみたいで
どうやらここで高レベルなポインタの出番のようです。さらに多分コンテナみたいなのも使わないとダメっぽいです。
でもこれで思い通りの操作になればマップエディタどころかちょっとしたファイラすら作れそうな勢いです。嘘です。
朝チュンまでして詰むのは悔しいので一旦開発はストップしてポインタのおさらいとSTLをまじめに学ぶことにします。
34887
2010/05/13(木) 13:42:13ID: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
決まった順序で遷移する状態を 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
2010/05/14(金) 23:53:56ID:aIk67VKF
C言語習いたての俺がSRPG制作に挑戦してみる。
・・・って企画たててよかったのか?
・・・って企画たててよかったのか?
3735
2010/05/15(土) 16:31:45ID:XqTbv+Zz うん。なんか勘違いしてたorz
さて、AVD×SRPGな感じで作っていきますよっと。
何すればいいかよくわからんがスクリプトエンジンを作ればいいのかね?
ちびちび作っていくのでよろしく。
さて、AVD×SRPGな感じで作っていきますよっと。
何すればいいかよくわからんがスクリプトエンジンを作ればいいのかね?
ちびちび作っていくのでよろしく。
38887
2010/05/15(土) 17:55:24ID:D0Xi8/Su39887
2010/05/15(土) 23:32:48ID:D0Xi8/Su P0がE0に攻撃。P1がE1にスキルAで攻撃。みたいな各コマンドを
貯めて後で順番に実行するって仕組みを作っているんだけど
実行する段階で対象がすでに死んでいた場合の対象の再検索とか結構面倒。
後、敵のAIをどうしよう・・・Luaとかのスクリプトを使うのが一般的なんだろうか。
貯めて後で順番に実行するって仕組みを作っているんだけど
実行する段階で対象がすでに死んでいた場合の対象の再検索とか結構面倒。
後、敵のAIをどうしよう・・・Luaとかのスクリプトを使うのが一般的なんだろうか。
40887
2010/05/16(日) 15:55:40ID:Mo8dO9rd ttp://github.com/happana/srpg/downloads
SRPG version 0.0.12
戦闘のコマンド実行とダメージ処理の追加。
全員、自動で「たたかう」を選んで実行するだけです。
細々としたところでモーションの追加とか武器の追加とか。
これから、コマンド選択UI、ゲームオーバー処理とかを作る。
SRPG version 0.0.12
戦闘のコマンド実行とダメージ処理の追加。
全員、自動で「たたかう」を選んで実行するだけです。
細々としたところでモーションの追加とか武器の追加とか。
これから、コマンド選択UI、ゲームオーバー処理とかを作る。
41SGGK ◆6pZCoAtaxk
2010/05/17(月) 23:22:34ID:RpiuCETK42SGGK ◆6pZCoAtaxk
2010/05/19(水) 00:20:03ID:+kD8rOAe43887
2010/05/23(日) 02:17:27ID:ne7zja47 ttp://github.com/happana/srpg/downloads
SRPG version 0.0.13
バトル時のコマンド選択など追加。後ダメージも武器の値を使うようにした。
カメラの制御が難しい。
なんかモチベーションが下がってきて駄目な感じになってきた。
SRPG version 0.0.13
バトル時のコマンド選択など追加。後ダメージも武器の値を使うようにした。
カメラの制御が難しい。
なんかモチベーションが下がってきて駄目な感じになってきた。
2010/05/23(日) 21:58:24ID:VDqMKVb3
45887
2010/05/23(日) 23:27:33ID:ne7zja47 >>44
ごめん。SRPGって書いてるけどRPGなんだ。
SimpleなRPGってことでSRPGにしたら、シミュレーションRPGとかぶっちゃったんだ。
分かった。全滅とか作ってみる。
ちょっと敵も増やしてみようかな。
意見もらえてモチベーション上がった。ありがとう。
ごめん。SRPGって書いてるけどRPGなんだ。
SimpleなRPGってことでSRPGにしたら、シミュレーションRPGとかぶっちゃったんだ。
分かった。全滅とか作ってみる。
ちょっと敵も増やしてみようかな。
意見もらえてモチベーション上がった。ありがとう。
46SGGK ◆6pZCoAtaxk
2010/07/14(水) 23:35:58ID:E0crx8nl47SGGK ◆6pZCoAtaxk
2010/07/15(木) 22:11:02ID:K2yOe2RI や…やめた。>>46で言ったソース改善も中止〜!
バグが出てるわけでもないし、わかりにくくてもなんとかソースを読むこともできるから、
整理に時間をかける程でもないなと思った。
とりあえずこのままにして、前スレで言っていた以下の目標をやってみる。
>967 :SGGK ◆6pZCoAtaxk [sage]:2010/04/27(火) 23:03:19 ID:puWvjObW
>次の小目標は、
>今まですべての選手が一斉にボールを追いかけていたのをやめて、
>FWは前1/3、MFは中1/3、DFは後ろ1/3の範囲にボールがある時だけ
>ボールを追いかけるようにプログラムを直す。
>…にしてみる予定。
バグが出てるわけでもないし、わかりにくくてもなんとかソースを読むこともできるから、
整理に時間をかける程でもないなと思った。
とりあえずこのままにして、前スレで言っていた以下の目標をやってみる。
>967 :SGGK ◆6pZCoAtaxk [sage]:2010/04/27(火) 23:03:19 ID:puWvjObW
>次の小目標は、
>今まですべての選手が一斉にボールを追いかけていたのをやめて、
>FWは前1/3、MFは中1/3、DFは後ろ1/3の範囲にボールがある時だけ
>ボールを追いかけるようにプログラムを直す。
>…にしてみる予定。
48SGGK ◆6pZCoAtaxk
2010/07/19(月) 23:53:37ID:Enn47Jg4 ということで、取り組んでみたものの案の定うまくいかない…orz
まず、メインループの中にある選手の移動関数について。
移動関数の中で今が前半か後半かを判断する変数を使えるようにしたいけど、
いまのままではおそらく使えないと予想。
現在のプログラムは、選手関係の変数や関数をひとまとめにしたクラスの
オブジェクトをゲーム処理を主とした関数内に作ってあり、そのオブジェクトのメンバ関数で選手移動処理をするようになってるので、
ゲーム処理を主とした関数で定義した変数を認識させるにはたぶんその変数のアドレスを渡さなければいけないと思い、
とりあえず、
1.選手関係の変数や関数をひとまとめにしたクラスを宣言してるヘッダファイルに「前半か後半かを判断する変数」を
定義してる別のヘッダファイルを加える。
2.選手関係の変数や関数をひとまとめにしたクラスを宣言してるヘッダファイルの中の
選手移動処理の関数の引数に「前半か後半かを判断する変数」を追加する。
3.選手移動処理の関数の定義がfieldplayercontrol.cppの中にあるので、
これにも同様に「前半か後半かを判断する変数」を追加する。
ここまで書けば関数の中身を後回しにしてもコンパイラは通るはずだと思い、
コンパイルするとエラー。
error C2146: 構文エラー : ';' が、識別子 'fieldplayercnt' の前に必要です。
運よくバグは取れたけど、詳細は進まない作業の代わりにネタおよび自分の作業メモとして少しずつ書く予定。
てっきり、また全角の空白をどこかに入れてしまったのかと思ったが、そうではなかった。
知ってれば一瞬なのに何時間か掛かってしまい、これがプログラムのしんどいところ。
まず、メインループの中にある選手の移動関数について。
移動関数の中で今が前半か後半かを判断する変数を使えるようにしたいけど、
いまのままではおそらく使えないと予想。
現在のプログラムは、選手関係の変数や関数をひとまとめにしたクラスの
オブジェクトをゲーム処理を主とした関数内に作ってあり、そのオブジェクトのメンバ関数で選手移動処理をするようになってるので、
ゲーム処理を主とした関数で定義した変数を認識させるにはたぶんその変数のアドレスを渡さなければいけないと思い、
とりあえず、
1.選手関係の変数や関数をひとまとめにしたクラスを宣言してるヘッダファイルに「前半か後半かを判断する変数」を
定義してる別のヘッダファイルを加える。
2.選手関係の変数や関数をひとまとめにしたクラスを宣言してるヘッダファイルの中の
選手移動処理の関数の引数に「前半か後半かを判断する変数」を追加する。
3.選手移動処理の関数の定義がfieldplayercontrol.cppの中にあるので、
これにも同様に「前半か後半かを判断する変数」を追加する。
ここまで書けば関数の中身を後回しにしてもコンパイラは通るはずだと思い、
コンパイルするとエラー。
error C2146: 構文エラー : ';' が、識別子 'fieldplayercnt' の前に必要です。
運よくバグは取れたけど、詳細は進まない作業の代わりにネタおよび自分の作業メモとして少しずつ書く予定。
てっきり、また全角の空白をどこかに入れてしまったのかと思ったが、そうではなかった。
知ってれば一瞬なのに何時間か掛かってしまい、これがプログラムのしんどいところ。
49STG
2010/07/21(水) 20:04:43ID:jGZViznh もうサッカーの人しかいないのかな(ヽ´ω`)
ゲーム仕様でどうしても2Dでは実現しづらい部分が出てきたので3Dに移行。
サンプルプログラムで大体どんな感じに組めばいいかはわかったのでモデル製作の勉強開始。
モデリングソフト高すぎワロタ…のでBlenderを使うことに。
ゲーム仕様でどうしても2Dでは実現しづらい部分が出てきたので3Dに移行。
サンプルプログラムで大体どんな感じに組めばいいかはわかったのでモデル製作の勉強開始。
モデリングソフト高すぎワロタ…のでBlenderを使うことに。
50SGGK ◆6pZCoAtaxk
2010/07/22(木) 00:32:00ID: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 "soccergame.h"したfieldplayercontrol.hとで重複してしまうのではと思い、
#include "soccergame.h"を消したら、コンパイルできた!…という話。
こんばんは!。見ている人がいるからには、諦めずにもう少し頑張ってみようと思います。
自分もいつかは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 "soccergame.h"したfieldplayercontrol.hとで重複してしまうのではと思い、
#include "soccergame.h"を消したら、コンパイルできた!…という話。
51SGGK ◆6pZCoAtaxk
2010/07/22(木) 22:16:41ID:lTzR4XWC >>47(前スレ>967)の目標完了。珍しく予想以上に早く出来た。
ソースはifとswitchの組み合わせなので長文になってしまっているのが相変わらずの難点。
次の目標は、出来れば走ったり、ジャンプをさせたりとかいろいろ思いつくけど、
選手それぞれの近くにライフゲージを表示させて、ライフが少しずつ減り、0になったら
選手が停止する
に挑戦。
ソースはifとswitchの組み合わせなので長文になってしまっているのが相変わらずの難点。
次の目標は、出来れば走ったり、ジャンプをさせたりとかいろいろ思いつくけど、
選手それぞれの近くにライフゲージを表示させて、ライフが少しずつ減り、0になったら
選手が停止する
に挑戦。
2010/07/23(金) 02:53:39ID:C4gQhbld
53SGGK ◆6pZCoAtaxk
2010/07/25(日) 12:32:50ID: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' の前に必要です。
というエラーが出てるのかと思った。
そうです。その通りです。
「選手移動処理の関数」に「前半か後半かを判断する変数」つまり
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' の前に必要です。
というエラーが出てるのかと思った。
54SGGK ◆6pZCoAtaxk
2010/07/25(日) 12:35:16ID: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←指摘ありがとうございます!)
enum MATCHSTATE{
FIRST_HALF=1,HALF_TIME,SECOND_HALF,RESULT_DISPLAY
};
だけを直接書きこんでみると、
error C2011: 'MATCHSTATE' : 'enum' 型の再定義
というエラーが出た。
自分が思っていたバグの原因は間違いで、
>>50で
>#include "soccergame.h"を消したら、コンパイルできた!
ときのコンパイルできた理由はほかにあるらしく、
しかもenum MATCHSTATE{略};は問題なく認識されていたらしい…orz
(>>52←指摘ありがとうございます!)
55SGGK ◆6pZCoAtaxk
2010/07/25(日) 14:01:28ID:p6Ls+avh 「error C2146: 構文エラー : ';' が、識別子 'fieldplayercnt' の前に必要です。」というエラーメッセージが出る原因について調査。
#include "soccergame.h"で発生したバグだから、そのsoccergame.hの中に';' が抜けてるところがあるのかと思ったが、良く見たけど見つからない。
他のヘッダーファイルに#include "soccergame.h"をやってコンパイルすると、
「error C2146: 構文エラー : ';' が、識別子 'fieldplayercnt' の前に必要です。」
が出る。"soccergame.h"に何かあるのか…。
もしかするとヘッダーファイル2重読み込み防止(いわゆるインクルードガード)の書き方が
"soccergame.h"だけ何かの作業でずれたか消えたかしてたか?と見てみたがなんともない。
ためしに「ヘッダファイル 2重読み込み」で検索するとやっぱりこれといったのが無く、しかし、
その中に「ヘッダーファイルは慎重に扱わないと危険です」という言葉が目に付き、
クリックすると内容が難しすぎて解らなかったけど、雰囲気的に「循環参照」というのが気になる。
#include "soccergame.h"で発生したバグだから、そのsoccergame.hの中に';' が抜けてるところがあるのかと思ったが、良く見たけど見つからない。
他のヘッダーファイルに#include "soccergame.h"をやってコンパイルすると、
「error C2146: 構文エラー : ';' が、識別子 'fieldplayercnt' の前に必要です。」
が出る。"soccergame.h"に何かあるのか…。
もしかするとヘッダーファイル2重読み込み防止(いわゆるインクルードガード)の書き方が
"soccergame.h"だけ何かの作業でずれたか消えたかしてたか?と見てみたがなんともない。
ためしに「ヘッダファイル 2重読み込み」で検索するとやっぱりこれといったのが無く、しかし、
その中に「ヘッダーファイルは慎重に扱わないと危険です」という言葉が目に付き、
クリックすると内容が難しすぎて解らなかったけど、雰囲気的に「循環参照」というのが気になる。
56SGGK ◆6pZCoAtaxk
2010/07/25(日) 14:03:02ID:p6Ls+avh 自分のソースを見てみる。
fieldplayercontrol.h に soccergame.h をインクルードしたときを考えてみる。
soccergame.h は #include "fieldplayercontrol.h" してるので、
お互いがお互いをインクルードしあってる。
念のため、soccergame.h がインクルードしてないヘッダーファイルにsoccergame.hをインクルードしてみる。
これなら循環じゃないから、バグが出ないはずだと思ったが、
バグが出る場合と出ない場合がある。
バグが出ないと予想したのにバグが出たヘッダーファイルは、もしかするとsoccergame.hのインクルードしたヘッダーファイルからまたヘッダーファイルが呼ばれてて…のような感じで呼ばれていたのかもしれないが、調べきれず。
さらに
error C2146: 構文エラー : ';' が、識別子 の前に必要です。 ヘッダーファイル 循環参照
で検索してみると、掲示板関係ばかり引っかかるけど、どうも循環参照が原因の可能性が高い。
「ヘッダーファイル内でのインクルードはできるだけ避けたい。」という書き込みもあるし。
仮に循環参照が原因として何故、「error C2146: 構文エラー : ';' が、識別子 'fieldplayercnt' の前に必要です。」というメッセージになるのかわからないけど、
とりあえずヘッダーファイルをインクルードしているうちに循環参照になっていたのが原因の可能性が一番高いと考えて、
>>51の課題挑戦を再開。
fieldplayercontrol.h に soccergame.h をインクルードしたときを考えてみる。
soccergame.h は #include "fieldplayercontrol.h" してるので、
お互いがお互いをインクルードしあってる。
念のため、soccergame.h がインクルードしてないヘッダーファイルにsoccergame.hをインクルードしてみる。
これなら循環じゃないから、バグが出ないはずだと思ったが、
バグが出る場合と出ない場合がある。
バグが出ないと予想したのにバグが出たヘッダーファイルは、もしかするとsoccergame.hのインクルードしたヘッダーファイルからまたヘッダーファイルが呼ばれてて…のような感じで呼ばれていたのかもしれないが、調べきれず。
さらに
error C2146: 構文エラー : ';' が、識別子 の前に必要です。 ヘッダーファイル 循環参照
で検索してみると、掲示板関係ばかり引っかかるけど、どうも循環参照が原因の可能性が高い。
「ヘッダーファイル内でのインクルードはできるだけ避けたい。」という書き込みもあるし。
仮に循環参照が原因として何故、「error C2146: 構文エラー : ';' が、識別子 'fieldplayercnt' の前に必要です。」というメッセージになるのかわからないけど、
とりあえずヘッダーファイルをインクルードしているうちに循環参照になっていたのが原因の可能性が一番高いと考えて、
>>51の課題挑戦を再開。
レスを投稿する
