[過去ログ]
DXライブラリ 総合スレッド その19 [無断転載禁止]©2ch.net (1002レス)
DXライブラリ 総合スレッド その19 [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
63: 名前は開発中のものです。 [sage] 2016/05/06(金) 19:13:13.73 ID:jbS1d0cx 固定するならタイマー管理なのかねぇ 最近は120Hzとかのモニタも珍しくないし >入門サイトにありがちな経過フレーム数を1とする可変更新方式 どんなん? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/63
64: 名前は開発中のものです。 [sage] 2016/05/06(金) 21:28:30.41 ID:Grw/W8UC 俺も垂直同期切ってタイマー管理だな 75ヘルツのモニターで早送りになった経験があるから http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/64
65: 名前は開発中のものです。 [sage] 2016/05/06(金) 22:18:18.35 ID:l2ANUrOw 固定更新のために垂直同期切ってタイマー管理はありだけど ティアリングが気になったりしない? >>62はちょっと分かりにくかったかな 要は垂直同期をとりながら更新をカウントしてるようなタイプね メジャーなところだと龍神録とか この方法は環境の違いを直接受けるし、その対処も醜くなるんだよ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/65
66: 名前は開発中のものです。 [sage] 2016/05/07(土) 01:18:08.48 ID:oS0WNQLp 固定にするなら、リフレッシュレート制御かテアリングか どっちかを取るしかないんじゃないの? >カウント 龍神録ちろっと見てみたけど分からんかった 単位時間あたりのループ回数をチェックして、それ超えそうになったらウェイト入れる感じ? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/66
67: 50 [sage] 2016/05/08(日) 09:38:16.57 ID:y6rKy2Br 2フレームに一度スクリーンフリップをすることでゲームの進行速度が2倍になりました ゲーム中に速度の変更がきくようになったので目的は達成し解決しました http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/67
68: 名前は開発中のものです。 [sage] 2016/05/11(水) 22:20:44.58 ID:bMgn9LMw ttp://gameprogrammingpatterns.com/game-loop.html#play-catch-up http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/68
69: 名前は開発中のものです。 [] 2016/06/07(火) 01:07:55.74 ID:hB66gw1M 垂直同期でやってるけど何故かFPSが59.9が多いんだよな 偶に60いくんだけど。龍神録のFPS管理は何故か57FPSになる http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/69
70: 名前は開発中のものです。 [sage] 2016/06/07(火) 11:13:02.03 ID:AssHyOle もともとNTSCの垂直同期って59.94Hzだけど 今のは完全に60Pなんかね http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/70
71: 名前は開発中のものです。 [sage] 2016/06/07(火) 20:41:15.55 ID:wUcW1H+O 龍神録のところのプログラムって、垂直同期とタイマー待機を同時にやってた気がする どっちかだけにするといいはず http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/71
72: 名前は開発中のものです。 [] 2016/06/08(水) 16:24:56.19 ID:uqtESUHJ >>70 だからか、東方だと60FPSが多いからなんでだと思ってた >>71 龍神録のタイマー待機関数をSleepからWaitTimerにしたらいくらかマシになったけど なぜか垂直同期を切ってFPS制御するより垂直同期とFPS制御を同時にやった方が軽くなった http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/72
73: 名前は開発中のものです。 [sage] 2016/06/21(火) 16:36:29.41 ID:bN0TQeIa LoadGraph等で同じ画像を複数回読み込んだときは、やはり同じ画像が複数個分メモリに展開されるのだろうか? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/73
74: 名前は開発中のものです。 [sage] 2016/06/21(火) 18:42:57.95 ID:YpRlukE1 うん http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/74
75: 名前は開発中のものです。 [sage] 2016/06/21(火) 19:13:04.10 ID:2iYzZ5We 画像を改変したりして複数いるなら1回読み込んで、コピーするべき HDD等からの読み込みは遅いから http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/75
76: 名前は開発中のものです。 [sage] 2016/07/20(水) 18:57:39.10 ID:/hGHlgJA 垂直同期切ってもウィンドウモードだと60fpsになっちゃうんだけどこれどうにかならない? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/76
77: 名前は開発中のものです。 [sage] 2016/07/21(木) 02:55:43.25 ID:cqeRkCwh 垂直同期切れてないんじゃない? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/77
78: 名前は開発中のものです。 [sage] 2016/08/03(水) 16:59:01.47 ID:X+OZY+Fp 仮想関数の呼び出しが遅い 最初はDXlibと関係あるのかなーと思ったけどC++の仕様っぽい みんなも気をつけろ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/78
79: 名前は開発中のものです。 [sage] 2016/08/04(木) 02:17:02.01 ID:SwoLOy80 自分も聞いたことあるけど、それがクリティカルになるって、 他のところがボトルネックになってたりしない? あとは最適化オプションとかで何とかなりそうではあるが http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/79
80: 名前は開発中のものです。 [sage] 2016/08/04(木) 18:34:57.87 ID:BM0zlQCD 関数の呼び出し速度が気になるようじゃ元々が問題だと思うんだけど 実際に通常関数を呼ぶのと速度的にはどれくらいの差なんだろう http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/80
81: 名前は開発中のものです。 [sage] 2016/08/05(金) 17:45:28.67 ID:GXDTbL61 3Dモデルのボーンをプログラムで動かすときに、 ・ボーンをワールド座標の特定の場所を向くようにしたい(カメラの注視のようにボーンを一点に向けたい) ・ボーンをワールド座標の特定の角度にしたい。例えば、ボーンを水平な角度にしたい を行いたいのですが、 ボーンを動かすのは MV1SetFrameUserLocalMatrix でローカルの変換行列を指定する方法しかないですが どうやればできますか? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/81
82: 名前は開発中のものです。 [sage] 2016/08/07(日) 21:54:52.11 ID:0nKMuJM/ プログラムをステップ実行したときに DXライブラリのソースにステップインするにはどうやればできますか? Visual Studio 2013使ってます http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/82
83: 名前は開発中のものです。 [sage] 2016/08/07(日) 22:00:00.73 ID:0nKMuJM/ ちなみにDXライブラリのソースにステップインしたい理由は エラーコードが-1しかなくて、何が原因かわからなくて調べるためです たまに挙動不審になったときの調査もしたいです http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/83
84: 名前は開発中のものです。 [sage] 2016/08/07(日) 22:44:42.94 ID:0nKMuJM/ >>82は解決しました。簡単にできましたww http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/84
85: 名前は開発中のものです。 [sage] 2016/08/08(月) 00:03:13.72 ID:nCWjYGMh 自己解決した時は、どんなに簡単であってもその方法をだな http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/85
86: 名前は開発中のものです。 [sage] 2016/08/08(月) 09:58:38.04 ID:A5U2Nxs1 その方法も何もDXライブラリのソース公開されているからlibファイルの代わりにソースをプロジェクトに追加するだけやん http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/86
87: 名前は開発中のものです。 [sage] 2016/08/08(月) 10:00:13.35 ID:z9kN9Vnb pdbを置くだけでしょ ステップインしたらその時にソースの場所聞いてくるわ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/87
88: 名前は開発中のものです。 [sage] 2016/08/08(月) 10:03:39.19 ID:YjIAwMDj という風に、人によってやり方違うので どんなに簡単でも手順は書いておいたほうが それが質問した人の礼儀かと レスしようとして自分とこで検証して回答しようとしたら 自己解決しましたの一言でしまってたりすること多いしねえ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/88
89: 名前は開発中のものです。 [sage] 2016/08/08(月) 10:12:41.36 ID:A5U2Nxs1 pdbって使い道あったのか いつも使い道分からずに放置してたわ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/89
90: 名前は開発中のものです。 [sage] 2016/08/12(金) 09:00:00.33 ID:j8xGV0qx DXライブラリは3Dモデルの大きさをセンチメートルで管理するのがいいのか? メートルで管理してカメラの Near Clip を小さくするとアウトラインやZTestがおかしくなる http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/90
91: 名前は開発中のものです。 [sage] 2016/08/13(土) 05:15:02.85 ID:smt/5o17 単位は人それぞれだけど、精度を下げりゃ描画が甘くなるのはそりゃ当然よ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/91
92: 名前は開発中のものです。 [sage] 2016/08/13(土) 08:56:44.42 ID:kHkMVs63 Zバッファのビット深度を変更する関数があったような デフォは16bitだから32bitとかにしてみては http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/92
93: 名前は開発中のものです。 [sage] 2016/08/13(土) 09:38:49.80 ID:cO1Dtflu >>90 俺も以前同じようなことで悩んだわ Near Clipは破綻しない程度に大きな値をとる必要があるとのこと 俺の場合は1メートル〜数万キロのレンジで幅が広すぎて単位をどう弄ろうがZバッファの深度を深くしようがダメだったんで、 ここで教えてもらった「ワールド空間を複数の距離レンジに区切ってそれぞれを描画し最後に合成する」手法で切り抜けた おかげでカメラが物体から5メートルまで寄ろうが1万キロ離れようがあまり問題はなくなった ただし代償として描画処理の負荷は上がったけど・・・ >>92 SetZBufferBitDepthでZバッファの深度を変えられる でも確か24ビットまでじゃなかったかな? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/93
94: 90 [sage] 2016/08/13(土) 10:22:48.53 ID:MTyr6UWS >>91-93 レスありがとうございます SetZBufferBitDepthは簡単なのですぐに試してみます 「ワールド空間を複数の距離レンジに区切ってそれぞれを描画し最後に合成する」手法は ちょっと簡単にはできなさそうですが、プロのゲームっぽいですね。すごい http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/94
95: 名前は開発中のものです。 [sage] 2016/08/13(土) 13:32:29.62 ID:cO1Dtflu >>94 方法さえ教えてもらえればそんなややこしい実装じゃなかったよ 1. まずMakeScreen関数で合成用のサブ画面を作る 2. SetDrawScreen関数で作成したサブ画面を描画対象にしてその後カメラのパラメータを設定 3. SetCameraNearFar関数でカメラから一番遠いクリップ領域を指定 4. ワールド空間の物体を描画 5. SetDrawScreen関数で裏画面を描画対象にする 6. DrawGraph関数で合成用サブ画面に描いたグラフィックを裏画面に投下処理つきで描画 7. 2〜6をクリップ領域を1つずつ手前に近づけながらforループで必要回数だけ繰り返す 8. ScreenFlip関数で裏画面と表画面を切り替える みたいな感じ 継ぎ目がちょっと気になるという欠点があるらしいけど、俺の作ったプログラムでは大して問題にはならなかった http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/95
96: 名前は開発中のものです。 [sage] 2016/08/13(土) 17:10:08.44 ID:MTyr6UWS >>95 ありがとうございます。実装できる気がしてきました http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/96
97: 名前は開発中のものです。 [sage] 2016/08/23(火) 06:56:44.62 ID:8oK85pQf すいません。 初歩的なことを教えて下さい。 DXライブラリを3.12aから3.16d(最新版)に昨日上げたのですが、以下の様なエラーが出ます。 エラー 1 error LNK1104: ファイル 'DxDrawFunc_vs2012_x86_d.lib' を開くことができません。 丁度ドライブが一杯になったのでそれでファイル欠損起こしたのかと、整理して落としなおして 再インストールしても変わりません。 消さないでいた3.12aに戻せば正常にコンパイルできます。 どんなポカミスが考えられるでしょうか。 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/97
98: 名前は開発中のものです。 [sage] 2016/08/23(火) 08:00:58.44 ID:ZkV35hFb DXライブラリのフォルダの下を 'DxDrawFunc_vs2012_x86_d.lib' で検索して、 そのフォルダがプロジェクトのプロパティの「リンカー」の中の 「追加のライブラリディレクトリ」に設定されているか確認してみたか? 設定してなかったら設定する http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/98
99: 97 [sage] 2016/08/23(火) 10:52:44.72 ID:8oK85pQf ありがとうございます。 おっしゃるとおりでした。 C/C++全般のインクルードディレクトリだけ変更してリンカ全般の追加を変更していなかったのが原因でした。 これで総て正常終了できました。 ありがとうございました。 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/99
100: 97 [sage] 2016/09/16(金) 19:48:32.55 ID:/GVguODS DrawBox()って思った以上にコスト高なのね。 エディタ作っているのですが、マウスで指定範囲を決定するのに半透明のFilling=TRUEで サイズが{400,200}程度になると追いついて来ないし。うちの環境だと。 まあ範囲が分かれば良いだけなので、非透明のFilling=FALSEにしましたが。 機能の根幹に必要な命令じゃなくて良かった・・・。 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/100
101: 名前は開発中のものです。 [sage] 2016/09/16(金) 20:42:39.00 ID:arX7j3iZ ハードウェアで描画してないだけちゃうの? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/101
102: 100 [sage] 2016/09/17(土) 02:14:24.29 ID:bU3etqlH >>101 SetUse3DFlag()指定しなければデフォで使ってくれないの? TRUEで明示してみたけどやっぱ重かった。 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/102
103: 名前は開発中のものです。 [sage] 2016/09/18(日) 05:02:11.08 ID:/gg7FKD1 画面全体塗りつぶすのに毎フレーム使ったりするし重いわけないと思うがなぁ 最新版では試してないけど http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/103
104: 100 [sage] 2016/09/22(木) 22:23:47.41 ID:j/yM3Z13 >>103 すいません、DXライブラリは無罪でした。 コード読み直していたら、離れた所から12回ループでDrawBox()してからScreenFlip()しておりました。 そりゃ感覚とは結果が違うのも当たり前で。 大変失礼しました・・・。 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/104
105: 名前は開発中のものです。 [sage] 2016/09/23(金) 11:02:39.00 ID:grmg4z9F ∧∧ ヽ(・ω・)/ ズコー \(.\ ノ 、ハ,,、  ̄ まぁ原因判明してよかったね http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/105
106: 名前は開発中のものです。 [sage] 2016/09/26(月) 22:11:34.39 ID:gS8npJwc スーファミっぽくラスタースクロールの波うつようなあのぐにゃぐにゃした表現をしたいんだけれども DrawRectGraphで一列ずつ描画するのと SetDrawAreaで描画できる範囲を一列ずつ変更しながら描画するのと どっちが早いんだろう http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/106
107: 名前は開発中のものです。 [sage] 2016/09/27(火) 07:34:39.52 ID:6RU/4Se1 どっちもクソ遅そうな気が…… ラスタースクロールのシェーダー書くのがいいが、 シェーダーはDXライブラリではちょっと敷居が高くてプログラム難しそうなのな ボーンを仕込んだポリゴンの板に画面の画像を貼り付けて、 ボーンでラスタースクロールふうにアニメーションさせるのが楽な気がする http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/107
108: 名前は開発中のものです。 [sage] 2016/09/27(火) 12:29:31.97 ID:kk2kAC73 10年前のPCで動くSTG(弾は500発程度)で、640*480程度なら上から一行ずつ描画でも特に処理落ちしなかった DrawRectGraph使った 今のハードなら余裕だと思う http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/108
109: 名前は開発中のものです。 [sage] 2016/10/04(火) 20:15:50.94 ID:rnDdxDqG SetLoopAreaTimePosSoundMem() この関数めっちゃ便利なんだけどググっても全くヒットしなかったんだが、いつ頃からあるんだろ? ループ開始位置と終了位置をms単位で指定できるから音声ファイルを編集する必要がなくなった 無加工のファイルでもこっちの好みでループ範囲を指定できるから 音楽ファイルはこの素材屋からDLしてねってreadmeに書いておけば配布するファイルサイズも小さく出来る あと軽く検証しただけだけど再生中に指定しなおしても有効だったから FF6のラスボス戦みたいに イントロ‐Aメロ‐繋ぎ‐Bメロ‐繋ぎ‐Cメロ〜 みたいになってるファイルで 最初はAメロをループ、条件を満たしたら繋ぎを経由してBメロループに移行〜みたいな演出も簡単に出来る http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/109
110: 名前は開発中のものです。 [sage] 2016/10/04(火) 21:56:37.68 ID:HgclvPkb そんなのあったのか 最後まで行ったら途中から再生、ってのは 結構前からあったの覚えてるんだが http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/110
111: 名前は開発中のものです。 [] 2016/10/15(土) 11:32:13.14 ID:NMxKtSgQ 試してないけど アンドロイドでも 動くように なってたのね知らなかった 何処まで、動くのかな? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/111
112: 名前は開発中のものです。 [sage] 2016/10/16(日) 19:58:12.00 ID:ZsomXKa1 あらかじめ大きめのサイズの空っぽの画像をMakeScreenで用意しておくことの有用性に今頃気付いたぜ これとDerivationGraphのコンビで作り直したらぐっと軽くなった http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/112
113: 名前は開発中のものです。 [sage] 2016/10/16(日) 21:02:14.27 ID:ldA8bGPF テクスチャ切り替えはコスト大きいからね http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/113
114: 名前は開発中のものです。 [sage] 2016/10/23(日) 23:02:40.45 ID:t2BOiWAY >>109 使ってみたら、ほんとにスゴイですね。 時代がCDDAやストリーミング再生になってもう無限ループは無理なのかなーとか思っていたのだけど。 ただWAVEで成功したのでそのデータをMP3にしたら、上手く繋がらなくなっちゃった。 もう少しデータの作り方工夫すれば上手く行くのだろうけど。 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/114
115: 名前は開発中のものです。 [sage] 2016/10/24(月) 06:53:24.03 ID:YwSDnTaO >>114 MP3はこの関数に限らずループの時に違和感が出ると言われてるから たぶんMP3の仕様の問題もあると思う ogg形式では上手くいったよ ただ変換の時にビットレートを固定したファイルでしか検証してないから 可変ビットレートの方法で圧縮されたoggファイルで上手くいくかは未検証 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/115
116: 名前は開発中のものです。 [sage] 2016/10/24(月) 12:40:43.17 ID:GmlKA2wN MP3は権利の問題があるから他の使えって言われてた時期があったね http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/116
117: 名前は開発中のものです。 [sage] 2016/10/24(月) 13:10:36.88 ID:Y2gOrRK8 権利よりも仕様が問題だな MP3は無音が挿入されたり余計なことされる場合が多いからゲームに使うようなもんじゃない 他の環境では手抜き実装でWindowsの再生機能に丸投げできるメリットがあるが、DXライブラリなら関係ないし http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/117
118: 名前は開発中のものです。 [sage] 2016/10/24(月) 23:43:54.13 ID:UrCtC7CV ループできないからだったか、昔は DXライブラリではogg使うなとかもあったね http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/118
119: 名前は開発中のものです。 [sage] 2016/10/27(木) 13:49:28.51 ID:1Lorx2LL 昔は BGMにはmp3, 効果音にはwav だったでしょ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/119
120: 名前は開発中のものです。 [sage] 2016/10/27(木) 15:57:58.01 ID:HwaxCMEV 116の言う通りmp3はライセンス関係が危ないということで避けられoggが推奨されていた 仕様よりもこっちのほうが重大問題 ゲーム制作関係でmp3推奨というのは聞いたことがない http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/120
121: 名前は開発中のものです。 [sage] 2016/10/27(木) 17:43:02.40 ID:rFz+rXeH MP3登場時にはoggなんてなかったから Wavよりファイルサイズの小さいMP3を推奨する風潮はあったと思うけど http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/121
122: 名前は開発中のものです。 [sage] 2016/10/27(木) 18:10:43.67 ID:HwaxCMEV ogg普及前はソフトウェアMIDIが多かった もしmp3が主流だったと思う人がいたら、その人のいた界隈はライセンス関係の意識が薄かったんだよ まぁ00年代前半まではそういう時期でもあったけど http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/122
123: 名前は開発中のものです。 [sage] 2016/10/27(木) 20:01:09.28 ID:lueiMAyc 市販のゲームで5000本以上販売が課金の条件だったから、フリーゲームや小規模同人では普通に使われてたよ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/123
124: 名前は開発中のものです。 [sage] 2016/10/27(木) 20:28:51.91 ID:BuMiN4CL 制作中のゲームにはキャラの髪型や服や装備や小物を変えるキャラメイキング(着替え)の機能があって、 今はひとつのMV1ファイルにまとめておき、フレーム表示/非表示で切り替えてるのですが、 だんだんアイテムが増えてきてファイルが大きくなってしまったので 別の方法をとりたいのですが、 キャラメイキングや着替えを実装するのに何かいい方法ありませんか? 髪型や服や装備や小物ごとにXファイルでバラバラにしておいて、Xファイルをテキスト結合するのが 楽なのではないかと思っていますが、もっと良い方法ありませんか? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/124
125: 名前は開発中のものです。 [sage] 2016/10/31(月) 19:03:23.01 ID:X+KVjoNa DXライブラリのユーザーが作ってるのって 2Dゲーと3Dゲーのどっちが多いんだろ? 俺は3Dには手が出せてないんだけど http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/125
126: 名前は開発中のものです。 [sage] 2016/10/31(月) 19:10:44.78 ID:8dsRDt6U 2D http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/126
127: 名前は開発中のものです。 [sage] 2016/11/01(火) 22:09:07.08 ID:kJ7Uoghc 3Dは海外のゲームエンジンが無料化されてしまったので、 3Dゲーム制作者はそっちへ行ってしまった気がする 2Dだとどれもあんまり変わらない気がするが http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/127
128: 名前は開発中のものです。 [sage] 2016/11/01(火) 22:26:25.51 ID:+8ot24fl 2Dも描画しかないDXライブラリよりもオブジェクト管理出来たりするエンジンに流れている気がする http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/128
129: 名前は開発中のものです。 [sage] 2016/11/02(水) 07:20:39.55 ID:/aW+4m+D 全部コードに直書きする形でならなんとか自分の思う通りに作れるようになったとは思うんだけど さすがに会話イベント一個追加したり、マップに壺一個追加しただけで再コンパイルする必要がある状況って なんというか我ながらアホだよね この状況を卒業するには何を勉強したらいいのかアドバイスください 作ってるのは2DRPGで、主にNPCのイベント内容をコードの外に出すにはどうやればいいかで躓いてます とりあえず思いついてるやり方は セリフ表示とか効果音を鳴らすとかのイベント処理を担っている関数に番号振って引数の数を紐付けしておいて イベントの内容を全部、関数の番号、引数の数、引数の数値…って数字だけのデータにして そのデータを読み込んで、どの関数を呼び出し引数にはどんな数値を入れるかを判断して実行する関数を作り イベントの内容を全部数値に置き換える方法なんですけど http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/129
130: 名前は開発中のものです。 [sage] 2016/11/02(水) 08:13:58.60 ID:8LrVjVrS >>129 自分でも気付いてる通り、基本原則はコードとリソースを分離すること。 テキストファイルの読み込みと解析が出来るなら 単純なシナリオファイル(会話+αくらい)のローダくらいなら比較的簡単。 まあそれ以上に複雑なことをやるなら、素直に 既存のスクリプト言語の組み込み用ライブラリを頼ったほうが良いと思うけどね。 次点としては、ソースファイルの構成を見直して、最低限のビルドでも済むようにすること。 各クラスの書き方、各ファイルの依存関係なんかを整頓することで、 ちょっと修正したくらいなら、長時間のビルドを要さなくなる。 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/130
131: 名前は開発中のものです。 [sage] 2016/11/02(水) 13:45:37.24 ID:/aW+4m+D 大体の方向性はこんな感じでいいんだということであれば進めていきたいんですが 躊躇している理由が2つあります 基本的に作り始める時に クラスとかポインタとかよくわかんないけどとりあえずやってみるべ!と始めたので 配列と構造体だけで設計されてて、実は今でもクラスのことはよくわかっていません だけどキー入力を把握すことと、変数の操作と、画像と音を自分の望む形で望むタイミングに表示再生出来るなら 自分の作りたいゲームは作ることが出来るはずだ!という考えの下で強引に作り続け 変数の値に合わせて画像や音の状態を制御する関数を作って、それを毎フレームScreenFlipの前に呼び出している なんていう作りになってしまってます キャラクターに歩行アニメーションや特殊なポーズをとらせたりするのも BGMを変更するのも効果音を鳴らすのも、HPMPの増減やアイテムの入手なども picture[ kyaraDATA[kyaraid].pictureID ].pattern=8; SEplayflag[seID]=1; BGMID=BattleBGMID; とか kyaraHP[kyaraid]+=1000; itemstorage[itemid]++; とか ほとんどこういう形でイベントを組み立ててるんですよね…… ちなみにこの変数全部グローバル変数です この単純な変数操作を外に出のに、変数全部に番号振ってやる以外に方法が思いつかず その数が数だけにちょっと躊躇っているのです それに if(itemstorage[itemid]<99){ itemstorage[itemid]++; takarabakoOpenFlag[takaraID]=1; }else{ JISAKU_serihu(1,"これ以上持てない",0);//最初の引数がしゃべるキャラ、最後のは吹き出しの形のタイプ指定 } みたいに作ってるイベントの条件分岐の部分の外部への出力方法が思いつかないっていう問題点もあります なんかこう、こんな低レベルな人間にもできる上手いやり方ありませんかね? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/131
132: 名前は開発中のものです。 [sage] 2016/11/02(水) 15:10:54.49 ID:C/+BZRXz 2chは行頭の半角スペースやタブは無視する http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/132
133: 名前は開発中のものです。 [sage] 2016/11/02(水) 15:11:48.53 ID:C/+BZRXz 途中で書き込んでしまったけど、そういうわけでコード書くときは全角スペース使って見やすく書いて http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/133
134: 名前は開発中のものです。 [sage] 2016/11/02(水) 15:50:25.87 ID:/aW+4m+D if(itemstorage[itemid]<99){ itemstorage[itemid]++; takarabakoOpenFlag[takaraID]=1; }else{ JISAKU_serihu(1,"これ以上持てない",0);//最初の引数がしゃべるキャラ、最後のは吹き出しの形のタイプ指定 } 複数行にまたがってる部分はここだけです 後は本当に変数に代入してるだけというか… http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/134
135: 名前は開発中のものです。 [sage] 2016/11/02(水) 15:53:23.25 ID:22j5AZ4g >>131 データにしやすいパターンやお約束のイベントだけをデータベース化して 特殊処理はそのままハードコートでいいんじゃねぇの 「これをデータ化したら本当に効率化されるのだろうか」と考えて 非効率になりそうだったらハードコートのまま そんなことよりもっとプレイヤーから見て喜んでもらえることに意識を集中したほうがいい http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/135
136: 名前は開発中のものです。 [sage] 2016/11/02(水) 17:31:46.86 ID:mreiywNQ  あ この板Unicode参照出来なかった? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/136
137: 名前は開発中のものです。 [sage] 2016/11/02(水) 17:32:02.03 ID:mreiywNQ 無理か VIPなら出来るのに http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/137
138: 名前は開発中のものです。 [sage] 2016/11/09(水) 13:59:08.62 ID:DtsDG8yY 3Dゲームでマウスをクリックした位置にある3Dモデルをできるだけ高速に取得したいのですが、 何かいい方法はありますか? コリジョン(衝突判定)関数がありますが、当たり判定用のメッシュを用意しないといけないようなので ちょっと手間がかかりすぎるのでできればもっと手軽な別の方法がいいですが http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/138
139: 名前は開発中のものです。 [sage] 2016/11/10(木) 02:38:50.44 ID:woNsYOXh 他に方法無いやろ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/139
140: 名前は開発中のものです。 [] 2016/11/22(火) 19:00:44.40 ID:4Lu6ZO/B ちょっとウンコしてくる http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/140
141: 名前は開発中のものです。 [sage] 2016/11/22(火) 19:35:51.98 ID:amdDwmR+ Convert Mouse Location To World Spaceでライントレースしか分からない http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/141
142: 名前は開発中のものです。 [sage] 2016/11/22(火) 19:38:26.07 ID:amdDwmR+ >>141 ue4スレと間違った http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/142
143: 名前は開発中のものです。 [] 2016/12/10(土) 02:51:28.41 ID:H338C5QI しまった!お尻ふいてなかった http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/143
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 859 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.014s