DXライブラリ 総合スレッド その16
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2013/06/30(日) 23:57:05.06ID:j62MvD3e「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
【公式】
http://homepage2.nifty.com/natupaji/DxLib/
【関連スレ】
C/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/
ゲームプログラムなら俺に聞け(プログラム技術板)
http://toro.2ch.net/test/read.cgi/tech/1366526476/
●DXライブラリではなくDirectXの質問ならこっちへ
【C++】DirectX初心者質問スレ【C】(プログラム技術板)
http://toro.2ch.net/test/read.cgi/tech/1370015791/
0795名前は開発中のものです。
2013/11/04(月) 22:29:20.67ID:WyeoCWwd龍神録の館はそれができてるから重宝されてるわけで
0796名前は開発中のものです。
2013/11/04(月) 22:31:43.30ID:84QWcKjq>>782のサイト見てからじゃあ何が出来るか?っていうと何も出来ないし
DXライブラリならDixqのサイトでも見ればいいし言語ならロベールとか猫わかとか見ればいい
0797名前は開発中のものです。
2013/11/04(月) 22:32:06.05ID:wVKdSea2サービスによるけど広告クリックは1〜2%
アフィリエイトは大体20%〜グライ
キチンと業者と契約を結べば別だけど、アクセス数や利用者数が膨大に必要
知識の浅い初心者が頻繁にプログラミング入門サイト作って失敗している
書籍やサイトで紹介されてる内容、程度なら半年持たない
ユーザーが必要としているのは一歩進んだ知識だから最低でも大規模プログラミング
できる程度の知識が必要。
0798名前は開発中のものです。
2013/11/04(月) 23:43:47.74ID:OotvFeysこれはもうシングルスレッドゆとり設計の限界なのかね
GPUに行列の計算させるのってDirectXの関数使えばいいの?
なんかCPUでやってる気がするわ
0799名前は開発中のものです。
2013/11/04(月) 23:53:06.95ID:Duwm9B/d0800名前は開発中のものです。
2013/11/05(火) 00:06:51.80ID:J83UpZs3横からだけど、確認を込めて一応掘り下げると…
・「nフレームのスパンで動作するとある処理Aを、毎フレーム n個作ると遅くなる」
→ 処理Aの開始から終了までのフレーム数と、1フレーム当たりの処理数 自体は普通特に関係無い訳で、
話の主題は単に 「1フレーム当たりの処理量が多くて、1フレームを通過するのに時間がかかる」 って話だと思う。
ならば単位当たりの処理を軽量化するように設計したらいいんじゃね、って話。
・「これはもうシングルスレッドゆとり設計の限界なのかね」
→ 上で書いた通り、あなたの 「その」 設計の限界だから見直すべき。
その上で、シンクロのステップも含めた上で、マルチスレッドの方が良いならそのように設計するべき。
ただしその場合、「はたしてマルチスレッドにした場合、シンクロのポイントも含めて考えた上で、1フレーム当たりに可能な処理量がどれほど増えるか」
は把握しておくべき。 その正解はあなたの実装による。
・「GPUに行列の計算させるのってDirectXの関数使えばいいの?」
→ ある意味 DirectX の関数と言えるけど、正確には GPU側で計算させるならシェーダの中の話。 DirectX で言うなら HLSL の中の関数の話。
で、GPU側で計算させたい場合、普通は CPUから引き渡した内容に対して、シェーダ内で表示物向けに計算させるだけなので、
その用途で良いならそうしたらいい。
・「なんかCPUでやってる気がするわ」
→ 気がするんじゃなくて、自分がCPU側で計算させて DirectX 関数に引き渡してるならそうだし、シェーダ内の関数でやってるなら GPU側。
気がするんじゃなくて、自分で明示的にわかってるはず。
0801名前は開発中のものです。
2013/11/05(火) 00:12:40.70ID:J83UpZs3>180フレーム寿命があるエフェクトを毎フレーム30個ぐらい作るとReleaseモードでもFPSが40ぐらいになるんですが
↑こういう、ふわっとした理解で何も考えずに、単に言葉だけ知ってるレベルでマルチスレッド化なんてしたら、
100% 正常に動作しないので、問題点の要点を勘違いしないで、ちゃんと整理する事。 自分が書いてる処理は具体的にどういう動作なのかを本当に理解すること。
終わり。
0802名前は開発中のものです。
2013/11/05(火) 00:19:12.85ID:K3Hz6QZHちゃんと設計してギリギリ60fps保てるレベルだな
オブジェクト生成毎にメモリをnewしてるとかだと間違いなく無理だが、
それ以前にエフェクトにこれほど大量のオブジェクトを作る設計が間違い
0803名前は開発中のものです。
2013/11/05(火) 00:57:01.93ID:J83UpZs3俺が書いてるオープンワールドのアクションゲーもどきだと、マップ中にある火山や温泉の間欠泉や、海辺の波と、あと
敵を殴った時に飛び出る★のようなエフェクト、必殺技的な物使うときの透過光や走行線なんかの内、
一番長くアニメーションさせてる物は 60fps 定速管理の場合 3.5秒ほどの間表示処理を行うから、期間で言えば 250フレームの間描画を繰り返す計算になるけど、
しかしそんな事自体は大した意味は無くて、本当のポイントはメインループ中の1回の処理で、どれだけの内容をこなさないといけないかって事。
その意味を踏まえて言うなら、一番込み入った場面では最大 150個ほどのエフェクトが同時に動作している事があるけど、
メインループから定速固定用の時間経過処理(fps管理用スキップ処理)をコメントアウトすると、大体 2400fps ぐらいの速度で動作している。
内容的に特にそれでも速いとは思わないが、要は、「どういう処理書いてるか、1ループ(フレーム)の間にどんな事してるか」 で結果なんて変わる訳で、
数字だけ見ても ふわっとした事しか言えないって話。 本当に終わり。
0804名前は開発中のものです。
2013/11/05(火) 07:22:11.85ID:+x+EoQCL0805名前は開発中のものです。
2013/11/05(火) 07:28:11.84ID:K3Hz6QZH大体の目安だからいいんじゃね
クロック数とかもマルチコア主流の今の時代じゃ意味ない数値だし
0806名前は開発中のものです。
2013/11/05(火) 07:39:09.41ID:D7RLQ/7t頂点操作してないから重いんだと思う
そう考えるとFF14のあのエフェクト量であの軽さはやばいな
0807名前は開発中のものです。
2013/11/05(火) 12:35:49.76ID:Y6UuuJq+コントロールを使おうと思ったらやっぱり自作するしかない?
それとも他のライブラリとか使った方がいい?
0808名前は開発中のものです。
2013/11/05(火) 13:01:44.40ID:ao+vnFi7慣れないとメッセージの調べかたに手間どうが
0809名前は開発中のものです。
2013/11/05(火) 13:08:49.28ID:CTkkt81/DXライブラリを使う以前に
C言語をちゃんと理解していれば
悩む必要もないと思うよ
ON/OFFのチェックを表現したいなら
まず、ONの画像とOFFの画像の2つを用意する
さらにどの条件の時にON/OFFなのかを組む
2種類しかないならbool型で、Trueとfalseでいいと思う
bool型がtrueなら、ONの画像を表示
falseなら、OFFの画像を表示するように組む
あとは、bool型をどうすればtrue/flaseにするのかの仕組むを組めば良い
ゲーム画面でマウスの左クリックでON/OFFにしたなら、
マウスの座標が、チェックボックスの座標内にあった時に、
左クリックをして、ONならOFFになる
OFFならONにするようにして表示画像も変えるようにする
0810名前は開発中のものです。
2013/11/05(火) 13:12:05.87ID:itfUHADsDirectXベースでテクスチャ貼った板ポリ並べて並行投影で表示する恰好のGUIライブラリをかなり前に作ってあって、
なんだかんだ改修しながらずっと使ってる。
普通のボタンと、チェックボックス的なトグルボタンと、テキストエディタと、リサイズ可能なウィンドウと、Excel風のグリッド表示するリストボックス
0811名前は開発中のものです。
2013/11/05(火) 13:22:31.45ID:CTkkt81/スクロールバーの座標にマウスを移動させた時に、
左クリック押しっぱなしの状態で、ドラッグ状態にして、
マウスを下に移動させれば下に移動、上に移動させれば上に移動
あと、SetDrawArea関数を使って
指定した座標範囲内だけに
スクロール内の内容を描画するようにして
スクロールバーのドラッグ&マウスの上下移動で
SetDrawArea関数内の領域に描画した全ての画像の座標を
y軸にプラスにしたりマイナスにすれば、
そのウィンドウ内だけで表示内容がスクロールされる
0812名前は開発中のものです。
2013/11/05(火) 13:34:30.35ID:RmjgnHAM0813807
2013/11/05(火) 13:34:48.29ID:Y6UuuJq+>>808
API大丈夫か?
ダイアログボックスだしてその中なら正常に表示できそうではあるが。
>>809
いや、作成方法は分かるんだ。
ただ、スクロールバーのつまみみたいなD&DとかTAB移動の実現とか
一つ一つGUIパーツを作ろうと思ったらコーディングが手間すぎる。
>>810
やっぱり自作ライブラリをつくるしかねーかなぁ。だりぃw
0814名前は開発中のものです。
2013/11/05(火) 13:35:10.56ID:RmjgnHAM0815名前は開発中のものです。
2013/11/05(火) 13:35:54.94ID:CTkkt81/メッセージウィンドウみたいなものです
ドラクエでメッセージを表示する時は、
続きのメッセージは、そのウィンドウ内でメッセージ内容が下にスクロールしますが
それを表現する時に使うのが、SetDrawArea関数です
詳しくはDXライブラリの公式サイトの
SetDrawArea関数の解説を読んでみてください
0816名前は開発中のものです。
2013/11/05(火) 15:50:34.81ID:wZ5UkH7I何故そんな非効率なことをするのでしょうか
0817名前は開発中のものです。
2013/11/05(火) 16:00:00.60ID:DHq7wQK70818名前は開発中のものです。
2013/11/05(火) 16:18:17.24ID:R05ELT5z0819名前は開発中のものです。
2013/11/05(火) 17:05:30.44ID:S58YQK+W自作する場合、言語の知識よりも細かい部分の動きに悩みそうな気がする。
何気なく使ってるGUIだけど、意外に理解してない部分って多いんだよな。
0820名前は開発中のものです。
2013/11/05(火) 17:14:13.68ID:CTkkt81/リファレンスは中級者向けなので
初心者が見た場合、一体、何のために使う関数なのかが解かりにくいと思います
なので、私はDXライブラリ関数リファレンスを
もっと分かり易く初心者でも理解できるような
DXライブラリ関数リファレンスを制作中です
http://c-games.main.jp/dxlif.html
公式サイトの解説の丸写しではなく
自分で検証して、もっと分かり易く噛み砕いて、
実行結果の画像もキャプチャー画像を紹介するように作ってるので
かなり時間が掛かっています
改めてDXライブラリ関数をイチから全てを検証していくと
なんて膨大な関数なんだろう…と、絶句していますw
0821名前は開発中のものです。
2013/11/05(火) 17:25:06.00ID:S58YQK+W「上書き」が何を指すかは分からんが、
ソースコード上では表示領域より大きめにセットしておいて、実際の描画時にライブラリ側で切り取るのが楽チンだと思う。
0822名前は開発中のものです。
2013/11/05(火) 17:35:28.02ID:iLOOpAeu広告ばっかりw
0823名前は開発中のものです。
2013/11/05(火) 17:35:48.41ID:wZ5UkH7I何でそんな無駄な事してるの?
しかも余計わかりにくくなってるし
時間の無駄だから止めた方が良い
0824名前は開発中のものです。
2013/11/05(火) 17:42:09.39ID:a385+tCj0825名前は開発中のものです。
2013/11/05(火) 17:51:59.04ID:zIwV/11Aこのトップ画面のさ、メインコンテンツ部分のお知らせとか更新情報って書いてあるのって
どうやってやるの?
鍵型っぽいやつ
0826名前は開発中のものです。
2013/11/05(火) 18:10:21.67ID:HZNT4GIsじゃあ、以下のを Dxライブラリを使って作って
3D空間に複数のモデルを配置してあって、その中の一つをマウスでクリックすると、
そのモデルが赤色に変色するプログラム。
0827名前は開発中のものです。
2013/11/05(火) 18:12:41.83ID:ycnlihTEリファレンスより動くゲームのサンプルコード載せて欲しいわ。
リュウジンロクとかコピペで使えたから便利だったんだよ。
0828名前は開発中のものです。
2013/11/05(火) 18:52:59.00ID:aHhWEzy00829名前は開発中のものです。
2013/11/05(火) 18:55:10.74ID:vtyuM1C3>「w」などを連呼するような低俗な輩の発言など目に入れないようにしている
>あと「こいつ」などの単語も同様の理由でNGワードにしている
とかなんとか言っておきながら
>なんて膨大な関数なんだろう…と、絶句していますw
と自らが設定したはずのNGワードを使うとかw
流石は他人から「こいつ」呼ばわりされるのが怖い怖いのバkazuki君だw
0830名前は開発中のものです。
2013/11/05(火) 19:05:50.92ID:aQwTFB2I他のライブラリだと引数の型しか書いてなかったりそもそもリファレンス自体ないのもある
ソース見ろやって事なんだろうけど…
0831名前は開発中のものです。
2013/11/05(火) 19:21:34.03ID:hCvpDVI/kazukiに反応する人もkazuki も知らんのか
0832名前は開発中のものです。
2013/11/05(火) 19:45:27.52ID:S58YQK+Wでもまあなんだかんだで最終的にはヘッダファイル見るようになるよなw
0833名前は開発中のものです。
2013/11/05(火) 19:55:25.90ID:K3Hz6QZH龍神録の館を抜きにしても、実装に専門知識が要らないからシューティングが一番簡単なのは事実だよ
逆に、他の動的ゲームを作るときにはシューティングを作るとき使った技術すべてを駆使することになる
0834名前は開発中のものです。
2013/11/05(火) 20:37:20.59ID:Kq66E5ow場合によるでしょ。
専門知識が何を指すかしらないけど。一番簡単ていうのは意味不明。
俺に言わせればじゃんけんゲームとか○×ゲームの方が簡単w
まあ、だれも遊んでくれないクソゲーでいいなら「一番でなくて」実装が楽て言うのなら100歩譲って同意する。
エースコンバットレベルになるとまったく同意できないが。
0835名前は開発中のものです。
2013/11/05(火) 20:41:01.91ID:K3Hz6QZH動的ゲームの中で、な
アスペじゃないんだからそれくらい察そうぜ
0836名前は開発中のものです。
2013/11/05(火) 20:42:38.59ID:Kq66E5owお前想像力ゼロで既成概念に縛られてるみたいだな。
まあいいわ。
0837名前は開発中のものです。
2013/11/05(火) 20:44:57.16ID:K3Hz6QZH0838名前は開発中のものです。
2013/11/05(火) 20:48:55.92ID:Kq66E5owいいと言ってるのに。
じゃあ、なぜ動的ゲームでシューティングが一番簡単なのかご説明願おうか?
一番ていうところが重要だからな。頑張ってくれ。
0839名前は開発中のものです。
2013/11/05(火) 20:51:34.53ID:K3Hz6QZHオブジェクトの生成、衝突判定、キャラの移動、シーン切り替え
これだけがあれば最低限ゲームとしての形にはできるからだよ
0840名前は開発中のものです。
2013/11/05(火) 20:52:25.40ID:aQwTFB2Iポンやブロック崩しの派生だしね
0841名前は開発中のものです。
2013/11/05(火) 20:53:06.02ID:Kq66E5owブロック崩しは動的ゲームに入らないのか?
0842名前は開発中のものです。
2013/11/05(火) 20:57:10.09ID:K3Hz6QZHブロック崩しは反射の計算にベクトル演算が要るだろ
ベクトル演算を用いなくても実装することはできるが、それににはどういう処理で誤魔化すかというジャンルの専門知識が要る
そして実装的には、シューティングのショットを反射するボールに変えただけに過ぎない
0843名前は開発中のものです。
2013/11/05(火) 20:59:09.87ID:Kq66E5owwww
マジ受けた。ベクトル演算なんかしなくても作れるよブロック崩しはw
お前ほんともういいや。
0844名前は開発中のものです。
2013/11/05(火) 20:59:20.18ID:xroRRHz30845名前は開発中のものです。
2013/11/05(火) 21:00:17.66ID:S58YQK+W>まあ、だれも遊んでくれないクソゲーでいいなら「一番でなくて」実装が楽て言うのなら100歩譲って同意する。
一番かどうかは別にしても、STGが楽ってのはまあそーゆーことよね。
0846名前は開発中のものです。
2013/11/05(火) 21:01:40.09ID:K3Hz6QZHまぁ馬鹿の相手しても無駄だからいいけど
>>844
自分で判断できないレベルなら、とりあえず矩形と円2つ実装すればいいんじゃないかな
見た目そのままの判定は、実用に足る実装をするのは難しいだろうし
0847名前は開発中のものです。
2013/11/05(火) 21:01:44.31ID:aQwTFB2Iまぁシステムはどれも似たようなもんだよねということで
ベクトルを使わないってしばりならインベーダーなんて直線にしか撃てんぞ
0848名前は開発中のものです。
2013/11/05(火) 21:02:55.74ID:S58YQK+Wゲームにもよるが、
小型の雑魚は矩形、大型のボスはある程度画像に沿った判定が良いと思う。
0849名前は開発中のものです。
2013/11/05(火) 21:03:31.94ID:Kq66E5owお前さ、ブロック崩しってどれくらい前からあるかしってる?
8bitのCPUでベクトル演算なんかしねーし。
する必要もないよ。
0850名前は開発中のものです。
2013/11/05(火) 21:06:02.75ID:S58YQK+W上方向にまっすぐ弾を出すのも同じくらいベクトルなんじゃね?w
0851名前は開発中のものです。
2013/11/05(火) 21:07:25.74ID:K3Hz6QZHそういう作品は誤魔化しの手法使ってるって最初に言ってるじゃん
そういう手法を使う作品は、作るにあたってその知識が要るから一番簡単とは言えないんだよ
また、ステージ作る場合にも、簡易エディタ等を作らないとなると大量にブロック配置をコードに直書きしなけりゃいけなくなる
そこら辺はわかってるか?
0852名前は開発中のものです。
2013/11/05(火) 21:08:08.33ID:NVLUESBq0853名前は開発中のものです。
2013/11/05(火) 21:09:06.12ID:Kq66E5oww
ああ、そういう意味だったの?ごめんごめんw
それで専門知識って。
0854名前は開発中のものです。
2013/11/05(火) 21:12:09.01ID:K3Hz6QZH0855名前は開発中のものです。
2013/11/05(火) 21:16:59.50ID:itfUHADs0856名前は開発中のものです。
2013/11/05(火) 21:18:03.04ID:iHrYn65Aその手のはSELENEにあったな
永いこと止まってるようだが
0857名前は開発中のものです。
2013/11/05(火) 21:18:36.68ID:C7EI6CbS確かあいつエースコンバット信者だったろ
0858名前は開発中のものです。
2013/11/05(火) 21:22:16.31ID:Kq66E5owID変えご苦労様w
0859名前は開発中のものです。
2013/11/05(火) 21:26:02.81ID:C7EI6CbS0860名前は開発中のものです。
2013/11/05(火) 21:31:31.39ID:itfUHADs例えば 「シューティング」 なんて曖昧な言い方せずに、
・自機1つ、弾1つ、敵1つ、自機はユーザからの入力で2方向に移動、弾は一定方向に移動、敵は自分のロジックで好きに移動
・敵が自機に触れると負け、弾が敵に触れると勝ち
くらいのド簡素なインベーダーみたいな物なら、その後のアクションするゲームのひな形を色々と含んでいるよ、
例えば座標変えながら絵を表示、座標の一致(交差)判定 など etc… みたいな話を書いてればそこで終わったのではと。
あとテーブルテニスの反射の計算とか、別に専門知識でもなんでもないのでって言うか、
単にやりたい事を観察した上で、どうロジックとして書き表すかって言う基本的なプログラミングのあり方の上にある程度の物だから、って思うが。
0861名前は開発中のものです。
2013/11/05(火) 21:35:31.33ID:CTkkt81/だって角度と当たる速度で
反射する覚悟が微妙に変わるじゃないですか
プレイヤーが操作する「棒」みたいな奴に「弾」が当たる時、
どの角度で、どの速度で当たるかで
反射角度もスピードも微妙に変化する
0862名前は開発中のものです。
2013/11/05(火) 21:39:37.25ID:itfUHADsつまり、角度と速度を意識してマジメに計算するような前提のブロック崩しを言ってるなら、意外と難しいのかもしれないけど、って事。
とにかく、前提を曖昧にして話すと話がムダにこじれるよ。 もしも自分が本当に意味をわかっているなら、省略しないで話すこと。
特に、省略するとムダな混乱起きそうだと気を回せるならば。
0863名前は開発中のものです。
2013/11/05(火) 21:40:45.85ID:CTkkt81/シューティングがあまり好きじゃない私からすれば
ゲームが完成しても、ちょっとやりごたえがない
俺はRPG好きだから
どうせ苦労してゲーム作るなら
C言語/C++でRPGを作ってみたい
で、RPGは難しいかと問われるなら
確かに他のゲームに比べれば、多少は大変かも知れません
ですが、RPGの基礎の部分(戦闘、買い物、装備、会話、レベルアップ、お金などなど)を
構築してしまえば、あとは楽だと思います
物語のほとんどは、そのRPGの基礎を使いまわせば
いくらでも長い物語が作れます
0864名前は開発中のものです。
2013/11/05(火) 21:41:24.29ID:C7EI6CbS0865名前は開発中のものです。
2013/11/05(火) 21:41:52.85ID:+x+EoQCL確かに間違いではないが、因縁つけてるレベルの話。それと同じ。
0866名前は開発中のものです。
2013/11/05(火) 21:44:19.41ID:CTkkt81/会話、移動、買い物、道具、装備、戦闘、レベルアップなど
考えられるだけの、RPG要素だけを構築した
オリジナル関数を作成しておきます
あとは、それらのオリジナル関数を使う用途の場面で
呼び出せばいいだけです
0867名前は開発中のものです。
2013/11/05(火) 21:45:48.88ID:itfUHADs急に話の軸がブレたけど、まぁ、好きにしたらいいじゃね。
>>865
言いたい事はわかるけど、多分そこまでナチュラルな日常会話の例えはちょっと合わないと思うww
0868名前は開発中のものです。
2013/11/05(火) 21:46:33.69ID:+x+EoQCL意外と難しいSTGを作るのならそうでないブロック崩しより難しいかもしれないが、
そうでないSTGならそうでないブロック崩しよりは楽だと思う。
極端な話、動かない敵キャラに、カーソル(照準器)を合わせてボタン押したら敵が消える、だけでもSTGだ。
0869名前は開発中のものです。
2013/11/05(火) 21:50:49.17ID:itfUHADsそうそうそう、そういう事。 そういう 「こういう場合」 を具体的に書くようにすると話が混乱しないでいいよな。
0870名前は開発中のものです。
2013/11/05(火) 21:53:00.12ID:Kq66E5ow>>860 の人も行ってるけど定義をはっきりしろよw
バラバラのもの想像して話してたらかみ合うわけないわ。
>>856
Seleneなついな。作者さんにIRCでよく質問したよ。
今、HDDを探したら最後に取っておいたSeleneのソースがどっか消えた。
軽く鬱。
0871名前は開発中のものです。
2013/11/05(火) 21:54:42.62ID:Kq66E5ow0872名前は開発中のものです。
2013/11/05(火) 22:02:24.23ID:CTkkt81/反射する方向を計算して、
その方向に真っ直ぐ飛んでいく必要があります
x軸とy軸を同じ比率で操作しないと
真っ直ぐには飛んで行ってくれない
その角度で壁に当たれば、
反射もその角度の真逆に飛んで行く必要があり
上のブロックに当たると、少し失速して
また、その速度によって、ブロックから跳ね返る角度を計算する必要がある
ブロック崩しがゲーム開発の参考書で取り上げられる理由が
少し解かりますね
意外とロジックが難しいですからね
あれは、数学好きな人が作るゲームだと思うね
0873名前は開発中のものです。
2013/11/05(火) 22:20:55.06ID:CTkkt81/断然、RPGをお勧めしたい
RPGを突き詰めていくと
ただの「変数で足し算や引き算をするだけのゲーム」です
宝箱から100G手に入れたなら
お金に割り当てた配列変数に+100するだけです
店で10Gを薬草を購入したなら
お金に割り当てた配列変数に-10するだけです
戦闘シーンのダメージ計算も
HPに割り当てた配列変数に対して
敵の防御力の値に、主人公の攻撃力の値を引き算して、
あと何かのプラスアルファを加えて
ダメージ計算をして、その値で引き算すればいい
敵を倒して戦闘が終了したら経験値の配列変数の値を
その敵の経験値ぶんだけ足し算して、ある値に達すれば、レベルアップ!
回復アイテムを使ったら、その値だけHPの変数にプラスさせる
回復魔法なら、MPの変数のマイナスも付け加える
こんな足し算と引き算だけをするゲームのどこが難しいのでしょうかねw
0874名前は開発中のものです。
2013/11/05(火) 22:25:03.62ID:HC9c4XUl0875名前は開発中のものです。
2013/11/05(火) 22:29:37.44ID:5wW1CrKZ現実にそうなの?
0876名前は開発中のものです。
2013/11/05(火) 22:32:47.87ID:CTkkt81/そうかな…
詳しいアルゴリズムまでは考えてないけど
「どうやればブロック崩しが作れるのか?」を少し考えるだけで、
「お?意外と難しいな…」というのが俺なりの感想です
ま、そのうち、ブロック崩し開発に本気で挑戦してみるつもりですが、
その前に、腕試しとして、テトリスを解いてみたいですね
今は「どうすればテトリスが作れるのか?」を
少しずつ考えているところです
俺はテトリスも中々、よく考えられたゲームだと思います
0877名前は開発中のものです。
2013/11/05(火) 22:33:19.79ID:HC9c4XUl株は上がるか下がるかの二択だけだから、かんたんだよね。
現実にそうなの?
0878名前は開発中のものです。
2013/11/05(火) 22:34:10.93ID:aQwTFB2IRPGはシューティングやアクションと比べてモチベが続きにくいんよなー
アドベンチャーとかノベルもそうだけどある程度エンジンを作った上で素材を構築していかないとだめだしの
0879名前は開発中のものです。
2013/11/05(火) 22:35:50.84ID:HC9c4XUl順番がどー考えても逆だろあほか
0880名前は開発中のものです。
2013/11/05(火) 22:37:19.30ID:CTkkt81/1.ブロックを下に落とす
2.ジョイパッドの左右キーで回転
3.床まで落ちたら、落下を停止
4.横一列は全て揃ったら、その列だけ消す
5.それとともに点数が加算
まで、頭の中で組みました
今は、どうやってランダムでブロックを登場させるのか?
で、少し頭を悩ませているところです
ランダム計算って意外と難しいよね…
0881名前は開発中のものです。
2013/11/05(火) 22:38:14.28ID:3ZEesbsQ少なくとも>>873は違うよな
変数で足し算や引き算をするだけのゲームなら、電卓もRPGになるわ
0882名前は開発中のものです。
2013/11/05(火) 22:41:04.71ID:aQwTFB2I>>881 素材的な意味でいうとウィザードリィ?
ほぼグラフィックいらないからシステムの構築には楽なモチーフだよね
計算式もTRPGゆずりな1d6とかだし
0883名前は開発中のものです。
2013/11/05(火) 22:41:43.70ID:CTkkt81/いや、テトリスの方がブロック崩しよりも簡単そうな気がします
まあ、深いところまで突き詰めて考えないとわかんないけど
多分、テトリスの方が楽のような気がします
0884名前は開発中のものです。
2013/11/05(火) 22:57:30.97ID:itfUHADsいったいどんな想像してるんだろうかとふと思った。
0885名前は開発中のものです。
2013/11/05(火) 22:57:36.51ID:+x+EoQCLそれでも完成まで一週間くらいかかったわけで、数年前に3行テトリスを知った時には戦慄したわ……。
0886名前は開発中のものです。
2013/11/05(火) 23:01:07.50ID:CTkkt81/うん、だからRPGは電卓なんだよw
たくさんの電卓を用意して
足したり引いたりしているだけです
まあ、物語の部分を考えるのは大変だけど
適当なクエストを用意すりゃいいでしょう
スライムを100匹討伐したらクエスト達成!
そして報酬をゲット!
そんな簡単なクエストをたくさん作ってRPGを作る
0887名前は開発中のものです。
2013/11/05(火) 23:02:20.38ID:itfUHADs0888名前は開発中のものです。
2013/11/05(火) 23:05:01.28ID:PClnd3060889名前は開発中のものです。
2013/11/05(火) 23:06:55.80ID:nxfMyBJ10890名前は開発中のものです。
2013/11/05(火) 23:08:59.27ID:HC9c4XUl1.画面の端で反射(移動方向の符号を反転)する球を作る
2.ブロックとバーを表示させる
2.バーを左右に動かせるようにする
4.球をバーから発射させられるようにする
5.ブロックとバーに球の当たり判定をつける
どこがテトリスより難しいかわからない
0891名前は開発中のものです。
2013/11/05(火) 23:10:56.21ID:Kq66E5ow別にいんじゃねーの。作れるならw
>>885
7行ならしってる。500バイト位のスクリプトのやつ
>>887
そうだよ。1400バイトくらいで1行だと言いはっていた人もいたわ。
>>888
雑談もたまにわいいじゃん。
まあ、そろそろ自治っぽいのがスレチとか言いそうな雰囲気ではあるなw
0892名前は開発中のものです。
2013/11/05(火) 23:11:19.98ID:S58YQK+Wその中で難易度の差はあるだろうけど、あくまでそのレベルというか。
0893名前は開発中のものです。
2013/11/05(火) 23:13:39.06ID:CTkkt81/■←こういう四角のボックスを一つ用意するだけです
これを
■
■
■
■
■
■■
■■
■■
■■■
■
こんな風に色々組み合わせてブロックを作って
色は、プログラム側で赤にしたり青にしたりします
ちなみに画像ファイルは使いません
DXライブラリには、DrawBox関数があるので、それでブロックを作ります
0894名前は開発中のものです。
2013/11/05(火) 23:21:58.61ID:iBycBYPW床にもぐろうとすると床の前に表示されてしまいます。
一時的に表示順を変えるのは難しいので、画像の一部だけ非表示にすることってできないでしょうか
■ このスレッドは過去ログ倉庫に格納されています