C/C++ゲーム製作総合スレッド Part6
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2014/07/08(火) 19:30:19.51ID:J+zVqUil元スレ
DXライブラリ 総合スレッド その17
http://toro.2ch.net/test/read.cgi/gamedev/1383795645/
前スレ
C/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/
C/C++ゲーム製作総合スレッド Part2
http://toro.2ch.net/test/read.cgi/gamedev/1351015269/
C/C++ゲーム製作総合スレッド Part3
http://toro.2ch.net/test/read.cgi/gamedev/1357899040/
C/C++ゲーム製作総合スレッド Part4
http://toro.2ch.net/test/read.cgi/gamedev/1376262450/
C/C++ゲーム製作総合スレッド Part5
http://peace.2ch.net/test/read.cgi/gamedev/1389798031/
0602名前は開発中のものです。
2014/11/08(土) 19:04:20.72ID:kQCHHHLCでもマップ画面でショップ画面になっても、画面とは名ばかりの操作できるウィンドウが表示されるだけなのかもしれないし
0603名前は開発中のものです。
2014/11/08(土) 19:26:18.89ID:omvuHK+K0604名前は開発中のものです。
2014/11/08(土) 20:42:42.63ID:hcp3vt2Iこうしなきゃいけないなんて決まりはないんだから複雑さ見て決めりゃいいと思うけど
0605名前は開発中のものです。
2014/11/08(土) 21:13:23.69ID:omvuHK+Kメニューはメニューウィンドウ、買い物は販売メニューウィンドウ、
所持金は金額ウィンドウ、ってな感じに分けてるが、
戦闘シーンは別プログラムで処理している
タイトルシーンではメニューウィンドウ出してるし
あと、フィールドマップと町マップとダンジョンマップでは、
データを変えて同じプログラムで処理している
この辺はわざわざ別個のプログラムにする事は考えもしなかったな
0606名前は開発中のものです。
2014/11/08(土) 21:33:54.63ID:0KWVrT870607名前は開発中のものです。
2014/11/08(土) 22:19:46.15ID:zEUiJRA7やっぱりGoFの流用?
0608名前は開発中のものです。
2014/11/08(土) 23:09:04.26ID:xWQV6qjI0609名前は開発中のものです。
2014/11/08(土) 23:25:12.94ID:hcp3vt2I0610名前は開発中のものです。
2014/11/08(土) 23:48:44.70ID:zEUiJRA7振る舞いに関するパターンやね。メモリ管理も含めた。
0611名前は開発中のものです。
2014/11/09(日) 00:03:30.39ID:tU74c/u+スクリプト言語のコルーチンを使えば簡単簡単
マルチスレッド?あれは同じメモリに複数アクセスすると例外を発生させるから難しいんだよ、
処理速度は早くなるけどな
0612名前は開発中のものです。
2014/11/09(日) 00:20:14.91ID:tU74c/u+スレッディング・ビルディング・ブロックに対応するのかな?
0613名前は開発中のものです。
2014/11/09(日) 02:11:09.89ID:b6C1rYs5以下、あくまでも私感
演出上の場面(シーン)として。テレビゲームの典型的な和RPG(例:ドラクエ)
同様にマップ移動と戦闘で完全に切り替えてるなら、別シーンとして区切る
ゲームルールというかゲームマスター視点で。マップ移動中と戦闘中では
時間も移動距離も各キャラの見た目も状態もできる事も挙げればキリがない
くらい仕事が異なるので、別シーンとして区切る
プログラミングの視点で。自分は戦闘だけでテストできるようにしときたい派。
戦闘における値のやり取りが面白さの肝だと思う戦闘厨(ストーリーとか設定
とか見た目なんて飾りだよ派)なので、まず戦闘が面白くなるまで練り込みたい
から。マップ移動時とは別のモジュールとして区切る
0614名前は開発中のものです。
2014/11/09(日) 02:45:25.53ID:CGct2DUQなんで階層を一つまでに制約してるん
0615名前は開発中のものです。
2014/11/09(日) 07:19:30.89ID:b6C1rYs5んー。そんな話はしていないと思うんだが…何か誤解があるようなので
もう少しkwsk頼む。整理するために確認させてもらっていいかな?
・モジュール分割する事 (或いはシーンを分ける事)
・入れ子(ネスティング)しない事 (或いは階層を一つまでに制約する事)
これらは直結するか?(YES/NO)
0616名前は開発中のものです。
2014/11/09(日) 10:41:43.85ID:IF+insbOマップ画面中に戦闘画面とか
0617名前は開発中のものです。
2014/11/09(日) 11:21:15.79ID:ot2OM0IR階層構造付きのStateパターン(?)って、どうやるの?
Scene
├Title
├Game
|├Play
|├Pause
|└Result
└Config
みたいな構成で、Game::PauseからTitleに飛ぶとか。
単に名前空間で分けるだけにして、シーンとしては並列に扱うのが楽だとは思うんだけどさ。
0618名前は開発中のものです。
2014/11/09(日) 11:29:19.51ID:8zzCuCYW0619名前は開発中のものです。
2014/11/09(日) 11:54:42.19ID:ot2OM0IRあるシーンの中で、別のシーン(メニュー画面など)を挿入するという話だったのね。失敬した。
0620名前は開発中のものです。
2014/11/09(日) 11:58:46.71ID:mPPfhXcl実際の持ち方としてはリストの方がいい。
RPGで戦闘画面の背景にマップ画面を使ったり、
ARPGでメニュー画面開いてる間も敵が動くようにできる
Stateパターンはシンプルな動作の切り替えに留めて、
シーンの遷移はAndroidのintentを参考にして作りこんだ方が良い
0621名前は開発中のものです。
2014/11/09(日) 12:05:20.17ID:ot2OM0IRテイルズシリーズのどれかだったか、
フィールドでメニュー画面を開いて、そこからタイトル画面に戻ると、
暗転中にフィールドのBGMが一瞬だけ流れるというネタがあったなあ。
シーンそのものはともかく、BGMをスタックで管理してたからなんだろうか。
0622名前は開発中のものです。
2014/11/09(日) 17:00:17.96ID:IF+insbOstoiとかctoiとかcptoiとかならわかるけどなんでaなの?
0623名前は開発中のものです。
2014/11/09(日) 17:02:41.77ID:EiTaW/mCasciiコードから変換だから
0624名前は開発中のものです。
2014/11/09(日) 21:42:38.03ID:6dA8GNBZあいうえおのaかと思ってた
0625名前は開発中のものです。
2014/11/11(火) 00:52:56.10ID:XQVF6NRm0626名前は開発中のものです。
2014/11/11(火) 01:38:28.59ID:Ml1KtPS50627名前は開発中のものです。
2014/11/11(火) 09:36:35.03ID:KfLTdZLl0628名前は開発中のものです。
2014/11/11(火) 11:07:29.28ID:uQazbP0q0629名前は開発中のものです。
2014/11/11(火) 11:46:03.47ID:NdomKUg0いつからアラビア数字はアルファベットになったんだよ
0630名前は開発中のものです。
2014/11/11(火) 14:06:45.04ID:l6H8mfSNシェーダー・・・座標変換と色の計算
バッファ・・・シェーダーの変数
バインド・・・バッファの適用
ソケット・・・ネットワークの変数
send・・・データの送信
recv・・・データの受信
っていう感じであってる?
0631名前は開発中のものです。
2014/11/11(火) 15:51:23.77ID:FlAn94PSそういう理解で構わないから、実際に使って(試して)(手を動かして)みたほうがいい
あれこれ疑問を持つのはその後でいい
0632名前は開発中のものです。
2014/11/12(水) 10:33:52.89ID:3FzO9Rn6学習にはいいと思うけど、現実的ではないように思えるんだけど…
0633名前は開発中のものです。
2014/11/12(水) 11:21:02.43ID:tRAW/G/v0634名前は開発中のものです。
2014/11/12(水) 12:10:58.56ID:nj7UpIrk0635名前は開発中のものです。
2014/11/12(水) 12:13:44.26ID:2wLmFIfAやっぱトロい言語じゃ駄目だぁな
0636名前は開発中のものです。
2014/11/12(水) 12:15:34.55ID:Jp7fJIBGwikiかどこかに集約してくれ(他力本願
0637名前は開発中のものです。
2014/11/12(水) 12:25:14.03ID:U9TuOuDT動的言語はハードウェア側での最適化が難しいけど
0638名前は開発中のものです。
2014/11/12(水) 12:25:50.29ID:AuBOaCee>>636
言い出しっぺの法則
0639名前は開発中のものです。
2014/11/12(水) 12:36:22.31ID:NowaE2rM今は速度が必要なら並列化を目指せばいいからな
0640名前は開発中のものです。
2014/11/12(水) 13:07:42.51ID:dBZQKyvTC#がどうなってんのかわかんないけど
0641名前は開発中のものです。
2014/11/12(水) 13:18:03.99ID:uNUWqhDA0642名前は開発中のものです。
2014/11/12(水) 13:24:07.08ID:nj7UpIrk0643名前は開発中のものです。
2014/11/12(水) 14:19:53.36ID:Uu3QrSPF0644名前は開発中のものです。
2014/11/12(水) 14:33:14.13ID:ovXfI3JTUnityでC#の人気が爆発してるし、薄いクラスライブラリで良いのがあればいいのだが
http://d.hatena.ne.jp/Nagise/20090322/1237723661
0645名前は開発中のものです。
2014/11/12(水) 17:16:29.25ID:5VJqGqvpそういう理解で構わないから
@自分に適した道具選べ
Aそれ使って面白いもの作れ
B人に遊んでもらえ
これ出来る奴は、お前の疑問とは縁がない。関係ないからな
0646名前は開発中のものです。
2014/11/12(水) 17:46:38.37ID:AuBOaCee別にすべての開発者が作った物を「俺のゲームをやってくれ!!!!1」ってガンガン公開する訳じゃないから
他人に公開するにしても、自分すら楽しめないようなゲームはクソの中のクソ キングオブクソ
0647名前は開発中のものです。
2014/11/12(水) 21:20:04.82ID:SYY1txKH0648名前は開発中のものです。
2014/11/12(水) 21:53:11.34ID:GHnQwsv6Visualスクリプトエディタが強力になったのもあるけど
0649名前は開発中のものです。
2014/11/13(木) 07:26:45.01ID:R9H0HNzV誰か買ったことある人いたら教えて
0650名前は開発中のものです。
2014/11/13(木) 11:32:24.41ID:pEhVoeVbもう一度根本的に一から設計しなおしてくれと言いたくなるぐらいグチャグチャになってる…
最新の仕様も含めて深く理解するにはとてつもなく困難な言語なのは間違いない
0651名前は開発中のものです。
2014/11/13(木) 11:36:07.43ID:HK6+TuGrやりたいことがはっきりしてれば目的は達成できる
0652名前は開発中のものです。
2014/11/13(木) 12:45:39.27ID:UMYfazR7いろいろあるからこそ汎用性はダントツのトップだし、
掘ろうと思えばどこまででも掘れる拡張性もある
バグの出やすさに目をつぶれば開発者理想の言語じゃないですか
なお初心者には
0653名前は開発中のものです。
2014/11/13(木) 16:15:51.23ID:mQixsQeM0654名前は開発中のものです。
2014/11/13(木) 23:08:38.36ID:5guIEaf6生産性が必要な所はOOPで書く
みたいに分けられて良い…のかな
0655名前は開発中のものです。
2014/11/14(金) 13:14:55.84ID:5wiMUdhH「水陸両用ですね。最高じゃないですか」
0656名前は開発中のものです。
2014/11/14(金) 20:31:26.83ID:yjqeER4j0657名前は開発中のものです。
2014/11/14(金) 20:36:28.88ID:BUwtlw7S0658名前は開発中のものです。
2014/11/14(金) 21:31:13.67ID:PGsqEl+k0659名前は開発中のものです。
2014/11/15(土) 00:35:42.62ID:QsaQ9+YOスクリプト使う理由が一つ減った?
0660名前は開発中のものです。
2014/11/15(土) 01:07:43.80ID:ocCnTJxq0661名前は開発中のものです。
2014/11/15(土) 01:51:29.18ID:FYIlPqIe0662名前は開発中のものです。
2014/11/15(土) 02:44:54.65ID:csIS2THdC++でyieldが使えるようになる
0663名前は開発中のものです。
2014/11/15(土) 06:20:29.97ID:QsaQ9+YOhttp://blogs.msdn.com/b/vcblog/archive/2014/11/12/resumable-functions-in-c.aspx
0664名前は開発中のものです。
2014/11/15(土) 07:59:55.58ID:v6LA9C/H0665名前は開発中のものです。
2014/11/15(土) 08:21:47.08ID:a7IQ1KUVgeneratorの関数内の変数は静的な領域に確保されんのかな
普通にスタック積んでたらこんなん実装出来ないよな
0666名前は開発中のものです。
2014/11/15(土) 08:33:02.98ID:v6LA9C/HBoost.Coroutine
0667名前は開発中のものです。
2014/11/15(土) 09:14:58.45ID:/7FTHmq8何が嬉しいのかさっぱり分からん・・・(汗)
コロチン??
0668名前は開発中のものです。
2014/11/15(土) 09:51:15.18ID:v6LA9C/H例えばオブジェクトを順番に返したいときに楽するならlistとかvectorに入れて返すよね?
でも一つずつ順番に処理していくだけであれば一度に全部作ってメモリに持っておくのはメモリの無駄
parserとか作るとき、なるべく省メモリにしたいけど(XMLのSAXみたいに)使い勝手は落としたくないときとかに便利
0670名前は開発中のものです。
2014/11/15(土) 11:15:19.49ID:a7IQ1KUVよくわからんけどヒープに確保されんのかな
0671名前は開発中のものです。
2014/11/15(土) 12:26:57.64ID:VJG7MPsg0672名前は開発中のものです。
2014/11/15(土) 12:41:40.07ID:v6LA9C/Hhttp://d.hatena.ne.jp/melpon/touch/20091212/1260584012
0673名前は開発中のものです。
2014/11/15(土) 17:09:58.52ID:VJG7MPsg誰か一言で言い表して
0674名前は開発中のものです。
2014/11/15(土) 17:13:41.84ID:skgsPBOlコルーチン
http://en.wikipedia.org/wiki/Coroutine
0675名前は開発中のものです。
2014/11/15(土) 17:23:51.51ID:VJG7MPsg関数の途中でデータ返せるってだけか
でもこれ返り値受け取る側はどういう処理になるんだ?
受け取ったらそのまま次の行に行きそうだけど、そうすると次呼び出された時中断したところから再開するのか?
0676名前は開発中のものです。
2014/11/15(土) 17:28:35.72ID:IlcXR0Tx0677名前は開発中のものです。
2014/11/15(土) 21:07:43.80ID:csIS2THd何のためにLua導入してまでコルーチン使ってると思ってるのかと・・・・
0678名前は開発中のものです。
2014/11/15(土) 21:28:20.19ID:nxADb3aY0679名前は開発中のものです。
2014/11/15(土) 21:49:25.06ID:Cvi6GQeLサブルーチンでマルチスレッド制御をするよりもお手軽だし
0680名前は開発中のものです。
2014/11/15(土) 23:50:56.76ID:/7FTHmq8へぇ〜。
コルーチンを使ったテクニック・トリック集みたいなの欲しいな。
0681名前は開発中のものです。
2014/11/16(日) 22:25:19.06ID:BmMQH27Tオレの理解がおかしいのかこれw
0682名前は開発中のものです。
2014/11/17(月) 00:42:18.99ID:WLL2OPoM0683名前は開発中のものです。
2014/11/17(月) 10:29:07.85ID:Ld14qEhv別にLua導入せずともsetjump longjumpでコルーチンは作れるけどね
非同期処理が同期処理と同じように書けるから滅茶苦茶便利なのは使った人にしか分からんだろうね
0684名前は開発中のものです。
2014/11/17(月) 11:54:49.69ID:J8hAdEWAその理解であっているとおもうよ。
状態を(コード上は)ヒープに持たなくても、ローカル変数を引き継いだり、
ループを途中から再開できる、構文糖みたいなもの。
0685名前は開発中のものです。
2014/11/17(月) 20:35:59.87ID:KwtC8N0w原理的にはシーンをStateパターンで切り替えるのと変わらないし
0686名前は開発中のものです。
2014/11/18(火) 18:34:34.98ID:tX1o0EDZ無改造の物をオリジナルとして、
そのデータ配列を丸ごとコピーして改造(変数に変更を加える)して、
それをあらかじめ確保しておいた保存用の配列にぶっ込めばいいのだろうか
0687名前は開発中のものです。
2014/11/18(火) 18:45:45.72ID:MnekbNE00688名前は開発中のものです。
2014/11/18(火) 18:58:45.41ID:VF38SoXrステータスを上げるだけの改造なら
修正値を保持するor改造回数を保持するって感じじゃない?
0689名前は開発中のものです。
2014/11/18(火) 21:07:47.07ID:Lfan6beG最初からアイテム欄にある全ての武器について、名前・ステータス・種別などのデータを個々に持たせてしまったほうが良さそう。
要は、「どうのつるぎ」が「2本」という管理じゃなくて
「どうのつるぎ(武器ID:001)/攻:12/防:0/価格:100G」 「どうのつるぎ(武器ID:002)/攻:12/防:0/価格:100G」 みたいにするっていう。
0690名前は開発中のものです。
2014/11/18(火) 21:48:09.63ID:qY3UPxZdアイテム名+1みたいに変動が決まってるなら最初から別のアイテムとしてデータ作ればいい
0691名前は開発中のものです。
2014/11/18(火) 22:44:11.50ID:QzZupUBq------------------------------
装備マスタ(装備ID, 名前, 基礎攻撃力, 基礎○○力, ...)
生成装備(生成装備No, 装備ID, 攻撃力補正値, ○○力補正値, ...)
プレイヤー所持装備(生成装備No, 装備中キャラNo) //ここに持たせる[装備中キャラNo]は冗長だけど、ここで持たせておくと便利
キャラクターマスタ(キャラID, 名前, 属性, 攻撃力成長率, ○○力成長率, ...)
生成キャラクター(生成キャラNo, Lv, 生成装備No, ...)
------------------------------
(かなり端折ってるけど)こんな風で、起動時にロードされてプレイ中ずっと不変なマスタと、
動的生成したり変化する部分に分けて、武器の能力を可変にして自動生成できるようにしたり、
敵モンスターのレベルを変動させて自動生成できるように頑張ったな
作っていく上で失敗したと思ったのが、キャラの属性がマスタ側で固定なせいで、
敵の色違いキャラ作るごとにマスタ1行作るハメになったり、主人公をキャラメイクさせたいときに、
キャラメイクパターン分の主人公マスタを作らないといけなくなって、スマートじゃなかったので諦めた
ただ、これはこれで設計としては正しかったんじゃないかな、とも思ってる。
というのも、バランス調整する時に、マスタを変更すればセーブデータ上の「生成装備」の能力も修正されたから。
今作ってるのは、↑でいうマスタの部分を「テンプレート」と称して、
装備テンプレート(テンプレID, 連番, 名前, 基礎攻撃力) //アップデートで能力を修正したら新規行で連番を振る
生成装備(生成装備No, テンプレID, 現在適用連番, 名前, 攻撃力)
生成装備側に値を複写(基礎攻撃力→攻撃力)して、その後は自由に変更できるようにする。
アップデート時は、連番が一番大きいテンプレートとの差分で修正できるようにするつもり
0692名前は開発中のものです。
2014/11/19(水) 00:34:02.86ID:OX7d9Gn4実は真っ先に考えたのはそれなんだけど、
アイテムや改造の数を増やせば増やすほどモコモコとアイテムの全体数が増えて、
管理を考えるとおしっこもっちゃいそうな量になって困った
自由度も低かったし
>>689-691
やっぱりそういう風にやるしかないか、再利用性も高そうだし
いろいろな意見をありがとう 参考になった
0693名前は開発中のものです。
2014/11/19(水) 07:21:33.65ID:/n+zepvC実態ではなくアイテムIDで保持しようとするから難しくなるんじゃ?
0694名前は開発中のものです。
2014/11/19(水) 07:53:10.12ID:VDiSqvaf要するに、データを丸々コピーするのじゃいかんのか?って事だろ?
俺は逆に最近レコード管理に切り替えた
っつーかソースコードを一カ所に纏める方が楽だし、メモリ消費も減るから、俺はこの方がいいと思ってる
って言うか、存在しない名前のアイテムが発生するバグに対応するのが面倒で
0695名前は開発中のものです。
2014/11/19(水) 08:04:49.35ID:VDiSqvaf0696名前は開発中のものです。
2014/11/19(水) 16:05:10.60ID:MSY6gmXEこれだからRPGは初心者にはおすすめできないんだが、何故初心者に限ってRPGを作りたがるんだ
0697名前は開発中のものです。
2014/11/19(水) 19:21:08.31ID:HWXJ3kGsSIM・・・バランス調整や、AIやナビゲーションマップ等が面倒
ADV・・・フラグ管理やテキスト作成が面倒
ACT・・・地面や壁との接触判定、マップを作るのが面倒
RCE・・・車を操作するAIが面倒、サーキットのウェイポイントの調整が大変
STG・・・当たり判定を飛ばすだけ、壁なんて要らん、AIも適当でいい、テキストもいらん、敵がいつ出てくるかだけ考えろ、伸ばしたい分野だけ拘れる登竜門的存在
0698名前は開発中のものです。
2014/11/19(水) 20:59:46.83ID:OX7d9Gn4まあ、パズルはそれこそAIがな
将棋で超AI作ってプロ棋士と戦わせるだけでお祭りになるくらい
0699名前は開発中のものです。
2014/11/19(水) 23:18:55.69ID:7ML/+Uac0700名前は開発中のものです。
2014/11/20(木) 00:30:04.14ID:vWl5cX6m土日の内に作っちゃう人間なので、RPGとかデカブツは無理だなぁ
元々好きじゃないから作る気も起きないわけだが
0701名前は開発中のものです。
2014/11/20(木) 04:07:38.08ID:h+JiqRdV集中力自慢で4日間睡眠時間2時間で仕上げきる、それを自慢にしてた。
だが社会人になって悟った。
ある程度以上のものを作ろうと思ったら、それじゃ駄目なんだと。
プロマネとしてチームを率いることができなければ、いつまでも
徹夜自慢のバカのままで終わるんだと。
■ このスレッドは過去ログ倉庫に格納されています