1read 100read
2012年6月ゲ製作技術23: DXライブラリ 総合スレッド その13 (369) TOP カテ一覧 スレ一覧 2ch元 削除依頼
GameDevWikiを何とかするスレ (542)
フリーの作成ソフト (484)
▼ノベルゲームツールを作っちゃうぞ!Ver4.0 (447)
8ヶ月間、この板を荒し続けたSO-NETの厨房 (326)
Android向けゲーム開発スレ Part2 (782)
スキルのある人材募集 (298)

DXライブラリ 総合スレッド その13


1 :12/06/11 〜 最終レス :12/07/05
Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
【公式】
http://homepage2.nifty.com/natupaji/DxLib/
【前スレ】
DXライブラリ 総合スレッド その12
http://toro.2ch.net/test/read.cgi/gamedev/1330000532/
【過去スレ】
01 http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
02 http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
03 http://pc11.2ch.net/test/read.cgi/gamedev/1238429676/
04 http://pc11.2ch.net/test/read.cgi/gamedev/1249822550/
05 http://pc11.2ch.net/test/read.cgi/gamedev/1259912953/
06 http://hibari.2ch.net/test/read.cgi/gamedev/1267108154/
07 http://hibari.2ch.net/test/read.cgi/gamedev/1286180687/
08 http://hibari.2ch.net/test/read.cgi/gamedev/1301818631/
09 http://hibari.2ch.net/test/read.cgi/gamedev/1310904069/
10 http://hibari.2ch.net/test/read.cgi/gamedev/1313655495/
11 http://toro.2ch.net/test/read.cgi/gamedev/1322844235/
【関連スレ】
C/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/

2 :
スレ立て乙

3 :
おつ

4 :
>>1
キー処理部分だけどこんな感じか?
int Key,BackKey;
Key = GetJoypadInputState(DX_INPUT_PAD1);
if(Key != BackKey){
一回だけの処理
}

5 :
>>1
乙 俺の貼ったテンプレを使ってくれてありがとう。
>>4
ソース眺めること数分……
BackKeyってBackSpaceキーじゃなくて前フレームの入力情報かよ!分かりづらいわw
前スレ994(入力データを保存/判定する便利クラスを作った人)がどういう処理をしてるかまでは分からんので、
あくまで、同じようなクラスを作った自分の場合ね。
【1】データ形式
各キー(上キーとか1ボタンとか)ごとに、ON/OFF及びその状態が何フレーム続いてるかを保持する構造体を用意。
この時、DXライブラリで用意されている PAD_INPUT_XXX とは別物として考えること。
【2】メインループ
メインループの頭で、GetJoypadInputState() のラッパ関数を呼び出す。
そのラッパ関数の中でゲームパッドの入力状態を調べ、【1】の構造体の中に、ON/OFFとフレーム数を代入。
この時、ゲームパッドの各ボタンと【1】の構造体との紐付けを変更することで、キーコンフィグにも対応できる。
また、ゲームパッドからの入力を捨て、別途保持していたデータを流し込むことでリプレイ機能っぽくもなる。
【3】実際に使用する
ゲーム中で使うときは、【1】の構造体がどうなっているかを見る。
ここも関数化すると良い。押した/離した瞬間や押しっぱなし検出、キーリピートなどもここで。
物理的な入力情報と切り離しているので、キーコンフィグ/リプレイ/ゲームパッド番号などに影響されない。
ただしメニュー画面など、物理ボタンの情報を見たほうが良いかもしれない。

6 :
言い忘れ。
DXライブラリ標準のパッド入力関数も、実際に物理キーを見てるわけじゃないと聞いた気がする。
だからそういう意味では二度手間だと思う。

7 :
新しいスレになったしゲーム作るかー

8 :
DXライブラリを内部使って2D向けのC++ライブラリを作ってます。
まだまだの完成度ですが、更新していくのでよろしく。
http://mint.ninja-web.net/dpp/index.html

9 :
記録開始フレームと
前保管値と現在値のxorがゼロじゃなくなったフレームを保管し続ければいいんじゃないの?

10 :
>8
乙、参考にさせてもらうぜ
>9
それは何に対して?

11 :
>>8
おおおお、良いね
2Dで更に使いやすくなるのか

12 :
DXライブラリをラップしてんのか

13 :
DXライブラリの中の人も、実際にはラップして使っとけ〜みたいなことを言ってた気がする

14 :
実際に使うときは普通ゲーム状態を反映する関数でラップする・・

15 :
チュートリアルを追加したよ

16 :
パックマン作ろうと思ったが結構大変だな
やはりシューティングが一番サンプルに向いてる

17 :
アクションはリアルタイムだからな…
初心者には当たり判定やマップの描画が辛過ぎる
だからRPGをオススメします

18 :
無い無い無い無いwww

19 :
RPGは、リアルタイムな要素を型に当てはめなきゃいけないから辛いw
PC98時代みたいなパタパタ移動ならまだしも

20 :
多人数で作るならRPGがオススメだがな
何せ作るのに必要なデータが山ほどあるからな
パタパタ移動の何が悪い!!

21 :
なぜ皆は平安京エイリアンを忘れてしまったのか
サンプルの簡単ゲームでも皆無

22 :
クソゲーだからだろ

23 :
初級者向けならSFCのドラクエとかDSの世界樹ぐらいで十分だろう。

24 :
このスレって実はこんなにレベル高かったのか
油断してた
RPGは状態遷移が多すぎて頭こんがらがる
ドラクエ式だってマップの時とメニュー開いてるときと戦闘シーンがあって
戦闘シーンにはさらにコマンド入力シーンとコマンド実行シーンがあって
シーン間でいろいろ情報のやり取りがあってetcetc
最初に作ったのがRPGって人は誇って良いと思うよ

25 :
SFCのドラクエとかプログラムの前にグラフィックと音楽が無理すぎだろ
SFCのドット絵とか芸術レベルやぞ

26 :
>>22
夢見てないで、出来るところからやれって話じゃないの?
物を作る側の人間の話として

27 :
>>25
素材もってくるとしたら、やっぱりツクール向けの素材屋からでしょう。
それを考えると意外とレガシーRPGが一番初心者向けかもしれん。

28 :
>戦闘シーンにはさらにコマンド入力シーンとコマンド実行シーンがあって
いくらなんでもそれくらいは簡単でしょーよ
初心者でも出来る

29 :
>>27
初心者が画面処理や内部管理や、その他ロジックについて勉強しながら応用して、そして実際のコードに落としていく事考える前提で言うと、
余計な物多すぎる気がするんだけど、その辺はどう考えてるの?実際の内容と経験的な話として

30 :
>>24
発想を変えてみたら?状態遷移を使うからややこしくなると。
スレッドを使ってみるとか、スクリプト言語を試してみるとか、
やりようはいくらでもある。一つのやり方に固執するからこそ、
余計にややこしくなる。

31 :
フィールドのみ、もしくは戦闘のみくらいが無難な気がする

32 :
じゃローグで

33 :
RPGとかプログラムよりもシナリオグラフィック音楽成長システムバトルシステムとか色々プログラム以外に考えないといけないことが多すぎ
パズルとかがいいじゃね背景がスクロールしないで1画面完結型のミニゲーム的なのがいいと思うよ

34 :
>>33
実際、テトリスや倉庫番は定番の1つだしねー。

35 :
>>33
そしてその、多すぎるゲーム内容をまた、実際にプログラムに落とさないと形にならない訳だしな
とりあえず、画面固定のロードランナーとかからで
それか、バーガーバーガーとか

36 :
RPGはリッチなものという固定観念がありがちだよな
mapは1次元、先に行くほどランダムエンカウンターが強くて一番奥はラスボス
1匹倒したらHPと攻撃力が1,1倍up
一番最初まで歩いて戻ると町で回復
とかのプアRPGでも、一応RPGだ

37 :
>>29
何を指しているのかわからないけど、
イベントとか成長システム、魔法、アイテムがほぼなくても成立するでしょ。
スクロールのない小さな一画面フィールドでモンスターに出会って、
殴って倒して、町に帰って回復できればそれで一段落。
シナリオがどうこうとかゲームとして完成度が高いってのを
求めているなら、それはもう初心者ではないはず。

38 :
そこまで削るならもうマップも必要ないしテキストだけでRPG作れちゃうな
作る目的がDXライブラリやプログラムの学習だとしたら、
やっぱり形にするための最低限の形でも必要な要素が全部詰め込まれてるSTGに落ち着いてしまう

39 :
そうそう。つまりそこまで削る前提で言うと、RPGである必要が無いってこと

40 :
やっぱりRPG講座が必要だよな
http://gumina.sakura.ne.jp/CREATION/OLD/MAKING/index.html

41 :
ゴミ箱にゴミを投げ入れるクソゲーでも作ってろ

42 :
>>40
まだC++に手を出してない頃、そのサイトみながらツールでSLGの移動アルゴリズム組んだわ
懐かしい

43 :
作るの難しいからこの要素は削ろう
これじゃいつまで経っても成長せんでしょ

44 :
それはもちろんあるね
ただ、優先するのは、何か作品を完成させること、だと思う
最初の作品が完成すらせずに挫折するよりは、
要素を削りまくって一つ完成させるほうがいいよ
もちろん度合いの問題はあるけど。
「hello worldできました!ゲーム完成!」
とかないし

45 :
トップダウン設計しかないの?
システムの骨組みに成功すれば、そこから増築・改修は可能。

46 :
>>45
今回のような場合は。要素を削りまくった上で
設計はトップダウン、実際の開発はボトムアップ……くらいかなあと思っている。

47 :
俺は最初に一つのアイデアから最もシンプルなゲームを作って、
それにマッチするような要素をどんどん追加してくよ
作ってて楽しいよ

48 :
基礎部分をシンプルに組んだ後、がむしゃらに機能追加していくのって楽しくて良いよな
あんま考えナシだと詰んでしまう場合もあるけど
構造化の段階で効率の良いもの作ろう作ろうと考えすぎて手が止まってしまう方が俺としてはツライ

49 :
>>40
よし、言いだしっぺの法則でお前がRPG講座始めろ

50 :
講座が欲しいっていうのは結局のところ、そのジャンルの慣例とか定石が知りたいって意味なのか?
もし、実現方法がわからないって意味で言ってるならそこはもうちょっと頑張ってほしいが

51 :
ツクールを触ってみるべきだな
どうやって組めばいいかがわかってくる

52 :
脳内でフローチャートが出来上がるねツクールは
あれさえ分かれば同じ命令の関数を作ることも出来るし

53 :
技術があるならトップダウンでいいけど
技術があいまいの場合、
トップダウンですすめていって、
できないことがぶちあたると詰むw
ボトムアップでできることをすすめていくとなんとなくできるが
構造がつぎはぎがちになってこれまた詰むw

54 :
そうやって何回か挫折したあと、
ようやく曖昧でない技術だけでトップダウンで作れたりするわけだなw

55 :
>そのジャンルの慣例とか定石が知りたいって意味なのか?
そうなんだけど、結局そういうのはないんだよね。
一つは仕様の差があるのと、もう一つは速度を意識しないといけないから。
Webプログラミングなんか単純な定石で固まってるのに。。。

56 :
速度って?

57 :
パフォーマンス、処理速度のことかな
どっちかというとC++スレ向きの話な気もする

58 :
>>53
トップダウン以外ありえない
最初に見落としがあるとかで技術的な壁にぶち当たったら
涙を飲んで、今の技術の範囲内で実現できるやり方に変える
詰んだとかいうのは気合が足らん

59 :
ボトムアップってそもそも何も出来なくなっちゃう
やっぱりトップダウンやな

60 :
トップダウンで計画を立ててボトムアップでプログラムするのが普通だろ

61 :
男ならビッグバン

62 :
ミドルスパイラルでやるわ

63 :
アジャイルでいいじゃん

64 :
\エクストリーム!/

65 :
作るゲームジャンルや規模によっていろいろだよな

66 :
ボトムアップ設計はラッパークラス作る場合には必須だと思うんだが・・・

67 :
まず瞑想して
設計の全体像を考えたら思いつく所からコードを書き連ねて行く

68 :
瞑想のリファレンスマニュアルください

69 :
WaitTimer(10000000);

70 :
ヴァルキリープロファイルみたいな感じに動いてるドット絵ってどうやって処理してるんですか?
部位ごとにアニメーションさせて、この部位はこの位置から描画とか決めたクラスで包めばいいんですかね・・・
サンプルとか館見ると同じ間隔で画像切り替えぐらいしか書いてなくて、
もうちょっと凝った演出を知りたかった
FLASHみたいに簡単にアニメーションを作成できるツールがほしい・・・

71 :
ドラクエ7だったか忘れたけど戦闘に入る時の画面が割れるようなトランジションを応用すればやれるんじゃない?

72 :
>ヴァルキリープロファイルみたいな感じに動いてるドット絵
まずそれが一般人には分からん 動画うpくらいしろ

73 :
>>72
すみません、こんな感じです
ttp://www.youtube.com/watch?v=6ER4ScY_JKs

74 :
コマ数の感じからして、これは画像としては1コマずつ全身像を持ってるんじゃないかな
ドット絵を起こすときに絵師がパーツごとに工夫して描いたりはするだろうけど、
そこは絵師の分担

75 :
なるほど・・・これ全身絵の連続だったんですね
主人公の周りに浮いてる盾とか、独立してるように見えてました

76 :
VPは武器変えてもグラフィック変わらんからそうだろうね

77 :
いや
多間接+アニメーション
だろ
http://www.youtube.com/watch?v=vkKkiFaZ-HY&feature=related
これ見りゃ分かるけど
半透明になると武器や縦が持ってるキャラの向こう側にある時も透けて見える

78 :
多関節キャラを半透明にすると、継ぎ目のところが重なって見えちゃうよ。
盾だけ別パーツになってるんだと思う。
多関節で動かしてから、一枚絵に合成して表示するという方法もあるけど、
普通に描くよりモーション作成等の手間がかかるから、そんなことやらないと思う。

79 :
あのゲーム処理落ち一歩手前で頑張ってるからそんな面倒な事でも軽くなるならやってるかもしれん

80 :
中期テイルズのキャラドットとか、おそろしい分割具合だったな

81 :
適当に作っていった縦シューに「そうだ影をつけよう」と思っただけで詰む
他の敵に影が重なるのを防ぐには、タスクを表示優先順位でリストでつなげた管理で困ってしまった
全てのスプライトをフレームごとに登録してソートして表示する仕組みを作ろうとして詰んだ
正解は想像するに、表示を機体の表示Renderと影の表示KageRenderに分けて
まずすべてのタスクで影表示、つぎに表示優先度通りに機体を表示、で足りてた

82 :
すべてのスプライトを描画順位つけて登録して描画するのが一番スマートだし、
今後の為にも頑張っといたほうがいいと思う
コンテナに積むならvectorが楽
ランダムアクセスしないし、ソートしやすいし

83 :
Zバッファとか使えないの?

84 :
影とか、本当は一番スマートなのは、Zバッファ用にfloatフォーマットで用意したオフスクリーンの単一バックバッファに
光源ベクトルからレンダして、描画処理時にそれ参照して影落とす方法だけど、
シェーダ書けない環境だと無理

85 :
縦シューなら、
自キャラ Z高

地形    Z低
でZバッファでなく、Z位置をキャラと地形の真ん中にいれて
影モデルを真っ黒にして描画したらそれなりにみえるのでは?
2dでも3dでもこれでできるとおもうけど

86 :
Zバッファ使ったら重いだけだろ。
>表示Renderと影の表示KageRenderに分けて
これでいい。だけど半透明の影だと重なった影の濃さが問題かな。

87 :
>>85ー86
Zバッファって別に特別な別の機能な訳じゃなくて、
その高低を判断して描画される時、そのもので中で使われる仕組みだよ
DXLibの範囲だけで触ってるとわかりにくいかもしれないが

88 :
あと、ピクセルのアルファ値使った合成についても、結局ざっくりしたラッパーであるDXLibの中の、
そのまたさらに通常の固定パイプラインの中で、結局ピクセルシェーダで演算された合成結果が出てる訳で、
その辺スマートに扱おうとすると、要る処理だけ自分で書いてまとめた方が、本当のところ都合が良かったりする

89 :
その縦シューの画面アップしてくれたら簡単な方法がわかるんじゃない
縦シューといっても3D見下ろし、2Dスプライトどちらかわからないし
一枚テクスチャにUV移動させてもいいかもしれないし

90 :
3D背景に2Dキャラでお願いします

91 :
>>87
私は2D前提で話してるけど、Zバッファは切るもんだと思ってる。
2Dシューティングの影で、重なりや高低による濃さをちゃんとやるなら
ピクセルシェーダよりスレッド+ソフトイメージ(CPU+システムメモリ)で
やるのがいいと思うぞ。

92 :
表示優先度順の描画は、表示優先度順ソートをつけたコンテナMAPに積み込むのが
よさそうに思えるけど実際はどうなんだろう

93 :
シューティングゲームの処理の順番ってどうすればいい?
キャラクターの移動
攻撃のあたり判定
キャラクターの攻撃
キャラクターの被弾時のリアクション

94 :
入力判定とプレイヤーのアクション
敵と敵弾のアクション
それ以外のアクション
当たり判定
描画
ってやってるけど、根拠は忘れた
ただ途中で何回か直した記憶はある

95 :
強いて言えば攻撃の前に当たり判定と消滅があった方が良いくらいで後はどうでもいいんじゃね?
あと余談で俺の場合だけど、速さの表現には移動距離を大きくするんじゃなくてイベントのループ回数を増やしてる

96 :
一回の移動を一ドット以内にすれば「一度に4ドット移動させたらすり抜けちゃった」ということも無いね
一ドット移動を四回すれば当たり判定の抜け落ち無し
でもそのときには当たり判定も四回する必要ありますね

97 :
>>95みたいにしないと曲線の時とか直前の情報持たせることになって面倒なのよね

98 :
うむ、わからん

99 :
凄い速度の時にキングクリムゾンが発生する

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
PGの面接で、使える言語はHSPですって言ったら (430)
C# C# C♯ でゲームを作ろう Part2 (331)
四次元ゲーム作らないか?? (708)
ニコゲー【みんなでGAMEを作ろう】 その2 (663)
■ ゲーム製作技術板自治03 (804)
こんなゲーム作ろうと思ってんだけど・・・ (252)
--log9.info------------------
キーボードを見ずに平家物語を打ち込むスレ (718)
=== レーザー自作・改造スレ 4本目 === (418)
ninja確認にでもどーぞ (441)
車中泊で一人旅 2泊目 (326)
狂ってるWikipediaの記事集めようずwwww (204)
散歩が趣味です【2歩目】 (707)
モデルロケットやっている人いませんか〜その壱 (670)
【はみがき】歯磨きが趣味【ハミガキ】 (364)
  粘土細工     (256)
女性の下着 (451)
楠灰カイロ (320)
16-04-17 29365 ¥100 [〒旅行貯金郵便局] *500 (952)
あなたのアブナイ趣味、お・し・え・て! (881)
ここだけ10年間進んでいるスレ ライトマニア限定 (400)
【容認派】 ポカーについて議論 【反対派】 (419)
【SSC】surefire 3【法則発動】 (336)
--log55.com------------------
【皇室】上皇さま、東京・上野の国立科学博物館をお忍びで訪問…哺乳類展を視察するなどして2時間半ほど滞在
【特集】「QRコード」生みの親に聞いてみた
【 #日本維新の会 】#長谷川豊 「昔、人間以下の存在の穢多非人がいた。人間以下だけど性欲はあるからRを繰り返していた」★6
【話題】大塚愛さん「さくらんぼ」にのせお経≠ェ読める?ネットで話題
【話題】滑舌の悪い岡山弁で危機一髪!教習所の実体験に「あるある」の声
【ネット】仕事中に「にゃーん」と呟きクビに ツイッター投稿が話題 「システムエンジニアにありがちな話」という声も
【携帯端末】“折れ曲がるスマートフォン”に暗雲 窮地に追いやられるファーウェイとサムスン、どうなるフォルダブル
【宮城】難病の生徒 スクールバス通学中たん詰まり窒息死亡 学校が謝罪