[過去ログ] DXライブラリでアクションRPGを作る (102レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
45: 1 ◆UQLL.hKNIk 2018/11/03(土)00:25 ID:REv/hEQW(1) AAS
>>44
どうも^^;
46: 1 ◆UQLL.hKNIk 2018/11/06(火)14:13 ID:kN6kGhP6(1) AAS
#7 未来遺跡パンドラ
動画リンク[YouTube]

47
(1): 2018/11/07(水)19:25 ID:7O8iBTVD(1) AAS
ゆっくり実況として編集されてるから、せっかくならニコ動にも投稿したら
ちょっとはコメントも来るかもしれん
48: 1 ◆UQLL.hKNIk 2018/11/08(木)00:16 ID:W4VhrPs2(1) AAS
>>47
そうですね。
でもニコ動のアカウント作ったら、ニコ生をずっと見てしまって
ゲーム作れなくなるから難しいかも…
49: 1 ◆UQLL.hKNIk 2018/11/10(土)15:18 ID:E/mMrvvI(1) AAS
#8 未来遺跡パンドラ
動画リンク[YouTube]

50: 1 ◆UQLL.hKNIk 2018/11/14(水)13:05 ID:lanIHw7H(1) AAS
#9 未来遺跡パンドラ【自作ゲーム/DXライブラリ/アクションRPG/レトロゲーム】
●追加機能
雑魚キャラ追加(スケルトン、オーガ)
ダンジョン追加
動画リンク[YouTube]

51: 1 ◆UQLL.hKNIk 2018/11/18(日)15:44 ID:rifZ8+U1(1) AAS
動画リンク[YouTube]

52
(1): 2018/11/19(月)04:12 ID:bEhLp9Ag(1/2) AAS
こういうスレは結構あるけど
途中で頓挫する人多いんで
>>1にはぜひ頑張ってほしい
53
(1): 2018/11/19(月)04:16 ID:bEhLp9Ag(2/2) AAS
あと良かったら教えてください

膨大になるであろうNPCたちの台詞って
外部ファイルで用意するの?
>>22
>Luaと言うスクリプト言語で管理
とあるけど、Lua使ったら
台詞DATAの外部ファイル用意しなくていいってわけじゃないと
思うんだけど、違います?
54
(1): 2018/11/19(月)16:53 ID:uAsHf25M(1) AAS
すごいな中ボスまで来たか
55: 1 ◆UQLL.hKNIk 2018/11/20(火)00:18 ID:bar2632g(1/3) AAS
>>52
応援ありがとうございます^^
56: 1 ◆UQLL.hKNIk 2018/11/20(火)00:20 ID:bar2632g(2/3) AAS
>>54
来ちゃいました〜^^
57
(1): 1 ◆UQLL.hKNIk 2018/11/20(火)01:18 ID:bar2632g(3/3) AAS
>>53
function search()
msg("こんにちは")
msg("今日もいい天気ですね")
keyWait()
clearMessage()
end

上記はLuaスクリプト(test.lua)の一部です。参考になりましたらどうぞ。

セリフは例のようにLuaファイルに全部べた書きしています。 テキストファイル等から読み込む方法は知らないのでやっていません。 『外部ファイル』の意味がザックリしてて、よく分からないかったので あのように答えました。

C言語からLuaがどのように呼び出されているか説明します。 function search()関数はプレイヤーがNPC等を調べた時にC言語側からLuaを呼び出す ようにしています。

msg("こんにちは")
次のmsg関数はC言語で定義されています。 ここでLuaからC言語を呼び出しています。 C言語側でメッセージを表示します。

メッセージが表示されたら次に
keyWait()
が実行されます。キー入力があるまで待機します。

キー入力があったら次の行の
clearMessage()
が実行されてメッセージを消去します。

基本的に
C言語 ⇒ Lua ⇒ C言語
の順番で呼び出す事によりLuaとの連携が実現されます。この説明で分かりましたでしょうか?
58
(1): 2018/11/21(水)17:43 ID:qaJCec5N(1) AAS
>>57
ありがとう、すごくわかりやすい。
そうか、備え付けのフォント打ち出す分には
テキスト直打ちでいいのかー
それはラクそう!
59: 1 ◆UQLL.hKNIk 2018/11/22(木)00:05 ID:qBtTzCkW(1/2) AAS
>>58
わかってもらえて良かったです^^
楽でいいですよ
60: 1 ◆UQLL.hKNIk 2018/11/22(木)15:27 ID:qBtTzCkW(2/2) AAS
動画リンク[YouTube]

61: 1 ◆UQLL.hKNIk 2018/11/26(月)15:00 ID:b3EUPUzF(1) AAS
動画リンク[YouTube]

62
(1): 2018/11/30(金)02:34 ID:lH6FeEMp(1) AAS
お疲れ様です!
PG歴20年だそうですが、過去に同人ゲームを完成させたり、
イベント販売した経験がある?
結構売れたりした??
63: 1 ◆UQLL.hKNIk 2018/12/01(土)01:29 ID:gO6NoQRi(1/3) AAS
>>62
過去に完成させた同人ゲームは23本です
未完成を合わせると100本ぐらいです
大手サイトに登録したのが5本で、雑誌に載った事が2回あります
その内の1本は雑誌の後ろの方のちょっと良い所に載せてもらいました
イベントで販売した事はありません
64
(2): 1 ◆UQLL.hKNIk 2018/12/01(土)02:19 ID:gO6NoQRi(2/3) AAS
そろそろこのスレのルールを決めます。
ゲーム製作技術以外の書き込みを禁止します。
もしあった場合はスルーしますのであらかじめご了承ください。
65: 1 ◆UQLL.hKNIk 2018/12/01(土)14:55 ID:gO6NoQRi(3/3) AAS
動画リンク[YouTube]

66: 2018/12/02(日)12:47 ID:o/n4MA2t(1/2) AAS
>>64
俺もDXライブラリかじってるんですが
アクションRPG作りたいです
広いマップの描画方法はどうしてますか?
一気に描画はしてないと思いますが、エリアごとに切り替え描画してるんですか?
制作技術の話ですよね?
教えてほしいです

あと、今回のゲーム制作で参考にしてる参考書、
サイト等あります?
67
(1): 2018/12/02(日)12:51 ID:o/n4MA2t(2/2) AAS
あと、ゲーム製作技術以外の書き込みを禁止ってことは
応援レスや進行具合への感想レスもしちゃいけないってことですか??
68
(1): 1 ◆UQLL.hKNIk 2018/12/03(月)01:53 ID:KyuaEvMn(1/2) AAS
#define CHIP_SIZE 16

int v = 0, h = 0;

int map_dat[8][8] =
{
0,0,0,0,0,0,0,0,
0,0,0,0,0,1,1,0,
0,0,1,0,0,0,0,0,
0,0,0,0,2,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,1,0,0,
0,0,0,0,0,0,0,0,
};

for (int y = 0, vw = v, i = 0; i < 4; i++, vw++, y += CHIP_SIZE)
{
for (int x = 0, hw = h, j = 0; j < 4; j++, hw++, x += CHIP_SIZE)
{
int dat = map_dat[vw][hw];
Draw(x, y, dat);
}
}

0 : 草原
1 : 森
2 : 家

こんな感じでどうでしょうか?
v,hの値を変化させるとマップがスクロールします。
69
(1): 1 ◆UQLL.hKNIk 2018/12/03(月)01:56 ID:KyuaEvMn(2/2) AAS
>>67
…続き

マップの広さは関係ありません。
エリアごとに切り替えて描画はしてませんよ。
今回参考にしている本やサイトは特にありませんが、何か分からない事があったら、その都度ネッ
トで調べています。今まで参考にしたサイトは余りにも膨大過ぎて自分でも分かりません。

>>ゲーム製作技術以外の書き込みを禁止
これに関しては中途半端な状態にしておくと、変な書き込みも増えてしまうので
仕方がないです。
70
(1): 2018/12/03(月)21:05 ID:fyG8by9I(1) AAS
>>68
map、自分も同じようにしてます。

ただ、RPG並みのmapサイズで作ったことは無いんですよ
全フィールドを作ってるなら
mapの配列の要素数、そうとうな数になってませんか?
例えば、こんな感じの桁数じゃないですか?
map_dat[100000][100000]

>>69
ストイックですね、すごいです
71
(1): 1 ◆UQLL.hKNIk 2018/12/04(火)01:14 ID:Oou+PYs5(1) AAS
>>70
ゲームの画面サイズ : 640 * 640
マップチップのサイズ : 32 * 32
640 / 32 = 20チップ

1画面、横の列が20チップになります。横に256画面あるとします
20チップ * 256画面 = 5120Byte

縦 * 横で、
5120B * 5120B = 26214400B

100万で割ると、
26214400B / 1000000 = 26.2MB

Int型は4バイトなので、
26.2MB * 4B = 104.8MB

レイヤ3つ分で、
104.8MB * 3レイヤ = 314.4MB

最終的にこうなります
int map_dat[3][5120][5120];
サイズ : 314.4MB

今の環境ならメモリが 314MB は大丈夫だと思いますよ。それに256 * 256画面は相当大きいです。
そんな壮大なRPG作り切れますか?

3 * 5120 * 5120 = 約7千900万
100000 * 100000 = 100億

>>ストイックですね、すごいです
どうも^^>>70
72
(1): 2018/12/05(水)12:43 ID:ojS8GHOx(1) AAS
>>71
解説上手ですね、納得しました。
あと三次元配列、便利そうですね。
自分はMapのレイヤー分けは別の配列宣言して最終的に重ねて描画してましたが、
2Dゲームにおいてもそんな使い方があったとは勉強になりました、ありがとうございます。
73: 1 ◆UQLL.hKNIk 2018/12/06(木)00:14 ID:0befijOQ(1/2) AAS
>>72
参考になってよかったです
ゲーム制作お互いに頑張りましょう^^
74
(1): 1 ◆UQLL.hKNIk 2018/12/06(木)12:56 ID:0befijOQ(2/2) AAS
動画リンク[YouTube]

1-
あと 28 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.010s