RPGサンプルプログラム

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
管理人

RPGサンプルプログラム

#1

投稿記事 by 管理人 » 18年前

要望を受けてサンプルプログラムを作っています。

え~と具体的にどういう感じのRPGが作りたいかわからないので自分で勝手に考えて作ってるんですけどこんなんでいいですかね?

コンパイラはVisualStudio2005です。

http://dixq.net/zip/rpg.zip

ここにプロジェクトファイルも全部あります。
slnファイルを開いて中身をご覧下さい。
とりあえず実行だけさせたい時はトップにある実行ファイルをダブルクリックしてください。
現在方向キーのみ使用できます。戦闘シーンにはいると何も出来なくなるのでEscボタンで終了してください。

ヘタクソな管理人が作っているサンプルですからこれでいいのか保証は出来ませんよ。。(_ _||)

とりあえずキャラがマップ上を動くところ、マップ間移動するところ、戦闘に入るところ、戦闘の最初までを作りました。
8時間かけてそれだけかよ!!
という突込みがきそうですが、亀並みの作成スピードなのでお許しを(_ _||)
ずっと作っているんですけどなかなかサクサクとは・・。

今日は遅いのでこの辺にしておきます。

こんな感じでいいですかね?どの辺まで作ったらいいんでしょう?
戦闘シーンとか完璧に作ろうと思ったらかなり時間かかると思います。
町を作ったり人があるいていたり、武器屋作ったりアイテム作ったりしていると無限に時間がかかるので、
どこまでという線引きしてもらった方がありがたいです。

あまり長いプログラムコード書いても読むのがしんどくなると思いますから
ホンの基本だけみて後自分で作っていったほうがいいような気もします。


あ、あと戦闘に入る時の演出方法なんかはホントに書く人それぞれになると思いますからね、
あくまでサンプルということでご覧下さい。
本当はガラスが割れたみたいにちらばらせたらカッコイイんでしょうけど、そんなことしたらものすごく複雑になってしまいそうだったんで長方形にしました。

で、注釈はまだ全然書いていません。
ざっとみ、こんな感じで作っていいのかだけ見てもらえたらと思います。

風鈴

Re:RPGサンプルプログラム

#2

投稿記事 by 風鈴 » 18年前

わざわざ本当にありがとうございます。
まさにこんな感じのサンプルがほしかったんです。

ただ、slnファイルが開けないのですがどうすればよいでしょうか。
includeの中にあるヘッダファイルは開けるのですが・・・。

インストールしてあるソフトは下記です。
Borland C++ Compiler 5.5
BCC Developer

管理人

Re:RPGサンプルプログラム

#3

投稿記事 by 管理人 » 18年前

あぁ、VC++じゃないですね><

slnファイルはVisualStdioのプロジェクトを開くためのファイルなんで、BCCでは無理です。
BCC使った事無いんで、よくわからないんですが、、。

分割コンパイルしないといけないので、
dat\sorce\
にはいっているソースと
include
に入っている
hファイルとlibファイルで環境を整えてください。

私の場合画像のように環境を作っています。




一応VisualStudio2005の宣伝も・・。
何万もするソフトですが、学生ならものすごい安く手に入ります・・
http://www.coneco.net/PriceList/1051221 ... ONEY/#list

管理人

Re:RPGサンプルプログラム

#4

投稿記事 by 管理人 » 18年前

って別にまだ完成じゃないんで、構築はしなくていいです^^;
こんなファイルでもお渡しして力になれそうですか?

風鈴

Re:RPGサンプルプログラム

#5

投稿記事 by 風鈴 » 18年前

はい、すごく参考になります。
形になってるのを見るとすごく面白いですね。

VisualC++ 2005 Express Editionというのが無料でしたので、そちらをDLしてインストールしてみたのですが
そちらは、なぜか最後のインストールのところでエラーになってしまったので・・・。
色々調整してやってみようと思います。

管理人

Re:RPGサンプルプログラム

#6

投稿記事 by 管理人 » 18年前

あ、その手がありましたね。

http://homepage2.nifty.com/natupaji/DxLib/dxuse.html

こちらにエクスプレスエディションの設定方法が書いてあるので参考にしてください。

風鈴

Re:RPGサンプルプログラム

#7

投稿記事 by 風鈴 » 18年前

なんとか、インストールのときのエラーも解消し、登録等もしてslnファイルも開けました。
本当にありがとうございます。

まだ使っては無いですが、VCはBCCより使いやすいかもですね。

管理人

Re:RPGサンプルプログラム

#8

投稿記事 by 管理人 » 18年前

よかったです☆
ただ今その続きを作成中です。

管理人

Re:RPGサンプルプログラム

#9

投稿記事 by 管理人 » 18年前

今日もずっと作ってたんですが、戦闘シーンが少し出来ただけです。
ゲームは素材を用意するのにプログラムと同じ位時間がかかってしまうので、ちと時間かかってしまいました。

今日は遅いので・・というかもう朝なのでこの辺で。

今日出来たところまでアップします。

http://dixq.net/zip/rpg2.zip


・読み込みの%は正確に計算していません。
・歩いたらすぐ戦闘になるようにしてあります。
・戦闘項目はどれを選んでも通常攻撃になります。

管理人

Re:RPGサンプルプログラム

#10

投稿記事 by 管理人 » 18年前

http://dixq.net/zip/rpg3.zip

町を徘徊する人を作ってみました。

20歩前後歩くと戦闘になります。

風鈴

Re:RPGサンプルプログラム

#11

投稿記事 by 風鈴 » 18年前

ありがとうございます。
でも、お体を壊さぬ程度にお願いします;

rpg3.zipもrpg2.zipも両方とも解凍できないのですが、何か問題でもあるのでしょうか。
rpg.zipのほうは今も解凍できます。

管理人

Re:RPGサンプルプログラム

#12

投稿記事 by 管理人 » 18年前

え、解凍できない・・・ですか?

http://dixq.net/zip/rpg3.lzh

にもあげましたので試してみてください。
他の方はうまく解凍できたと報告があったのですが・・。

風鈴

Re:RPGサンプルプログラム

#13

投稿記事 by 風鈴 » 18年前

無事解凍できました。どうもです。
さきほどのは、なんか解凍が途中で中断(?)みたいになってしまってたんですが。

管理人

Re:RPGサンプルプログラム

#14

投稿記事 by 管理人 » 18年前

次のアップします。

http://dixq.net/zip/rpg4.zip

戦闘に入って一応一方的に戦えます。
もし作ってほしい路線外れてると感じられましたら言ってください。

ダメージの計算方法は何がいいですかね?

ダメージの計算方法は色々考えて色々実験してみたんですが、
rand1=GetRand(10000)/10000.0;
rand2=GetRand(20000)/10000.0;

D = (lv*2) + ((自分の攻撃力+武器のダメージ値)-(相手の防御力+相手の装備)) * 自分の力 * rand1 + 自分の力 * rand2;

もしDが負になればDは0

以下10000回計算した結果です。

lv攻撃力など全部25にした時
最小値=50.005000  最大値= 99.997500  平均71.461380

攻撃力を1上げた時
最小値=50.055500  最大値=102.269000  平均72.632101

力を1上げた時
最小値=50.005200  最大値=101.997400  平均72.319835

だいたい攻撃力や力を1あがれば平均のダメージも1あがります。
 
 

で、計算してみました。
ホントは突然Dを0にしない方がいいでしょうけど、計算が複雑になるので、このようにしました。
特にご希望がなければこれで以降と思いますが、何かいい計算方法ご存知でしたら教えてくださいm(_ _)m

管理人

Re:RPGサンプルプログラム

#15

投稿記事 by 管理人 » 18年前

色々考えたんですが、実際に遊んでみるとどの値も均等に出てくるのはなんか変ですね。
中心ないし、特定の値を最頻値として分布するようにプログラムしないといけないかもしれません。
例えば上記画像のような式で計算すると正規分布が表現できますよね。

このように特定の値を最頻値としてばらつきを持たせた方が自然かもしれません。
正規分布はこんな感じです。

画像

最頻値を最小値よりにしておき、何かのアイテムを使用したり何かの魔法を使用すると最頻値が最大値よりになるといった計算式の方が面白いように思います。

実際のRPGってどんな風に値を決定しているんでしょうね?

Hermit

Re:RPGサンプルプログラム

#16

投稿記事 by Hermit » 18年前

正規分布の乱数が欲しいってことかな?
ボックス・ミューラー法が、一番手っ取り早い気がします。
あとは、それを加工すれば何とかなりそうな気がしますが。

管理人

Re:RPGサンプルプログラム

#17

投稿記事 by 管理人 » 18年前

一応勝敗判定を付け、エンドレスで遊べるようにはなりました。
微妙に注釈もつけ始めています。
行動は何を選んでも一種類しか行いません。

http://dixq.net/zip/rpg5.zip

今日はこの辺にしておきます。

ダメージの計算式考えていたら朝になってしまった^^;

>Hermitさん、

ありがとうございます。
http://atmori.info/engineer/matx/matxnormalrand.htm
この辺みてみると
rnd()を0~1とした時
t=sqrt(-2.0 * log(1-rnd()));
u=2*PI*rnd();
r1=t*cos(u) ; r2=t*sin(u);
で求まると書いてあったのでやってみたんですけど、うまくいかないんですよね・・;

実行結果
min:-1.711381 max0.803275 平均-0.247841

分布を表現させてみると

****************
************************************
********************
****************
**************
************
***********
**********
**********
*********
*********
********
********
********
********
********
********
********
*************************************
*************************
***********************
***********************
************************
****************************
********************************
****************************************************************
***********

こんな感じに・・。
もうちょっと正規分布のプログラムついて調べてみます。
randn関数もあるようですが、これも利用方法がよくわからないので・・。
ちょっと今日はもう遅いので(っていう時間でもないですが^^;)明日調べてみようと思いますm(_ _)m

Hermit

Re:RPGサンプルプログラム

#18

投稿記事 by Hermit » 18年前

昔見ていたところがわからなくなったので、

基本的に、rand を 2個利用します。

    v=root(-2ln(x))*cos(2πy)
    w=root(-2ln(y))*cos(2πx)

ふたつの rand の値で、二つの正規分布乱数が発生できます。
でも面倒なので、ふたつの rand 値で、一つだけ作っただけでもよさそうな気がします。
cos だけ使っていますが、乱数を使って、0~2Πまでまわしているだけなので、sin だけでもかまいません。

使っている、x,y の乱数を、さしかえるだけで、ふたつの正規分布乱数を作っているだけですので、
2値を返すようにするか、一回二つの乱数を発生させたら、次は乱数を発生させないようにして、
x,y を差し替えるなどの対策が必要ですので、
めんどうなので、毎回、rand ふたつを使った方が楽だと思います。

ln (log) は、大域エラーがでないように注意する必要があるのは・・・これはわかりますね(^^;

これで、平均値 0.0 標準偏差(σ) 1.0 になるはずです。

Justy

Re:RPGサンプルプログラム

#19

投稿記事 by Justy » 18年前

 まとめると、こんなかんじでしょうか
[color=#d0d0ff" face="monospace]double rand_normal()
{
    static double r1, r2, s;
    static int valid = 0;
    double c;
    if(!valid)
    {
        r1 = (double)(rand() - 1) / RAND_MAX;
        r2 = (double)(rand() - 1) / RAND_MAX;
        s = sqrt(-2.0 * log(1.0 - r2));
    }
    valid = !valid;
    c = 2.0 * M_PI * r1;
    return valid? s * sin(c): s * cos(c);
}[/color]
 static使っちゃってるところがアレですが、クラス化すれば
すっきりするかと。

管理人

Re:RPGサンプルプログラム

#20

投稿記事 by 管理人 » 18年前

あら、なんか私が質問したみたいになってしまってすみません^^;

Hermitさん、理論の説明ありがとうございます。
Justyさん、サンプルありがとうございます。

無事出来ました☆
といってもほとんど写しですが^^;

double rand_normal(double to);

として、toまでの正規分布する乱数を返す関数としました。

ただ、定義のKAISUの0を少なくするとただしく平均が表示されるんですが、
これだときちんと表示されないのは何でなのでしょう・・。
実行結果は画像のようになりました。

ん~平均はdoubleで計算されているし・・。なんできちんと表示されないのか・・。
#include <math.h>
#include <time.h>
#include <stdlib.h>
#include <stdio.h>

#define PI  3.14159265358979323846264
#define KAISU 100000

double rand_normal(double to){
    static double r1, r2, s , r;
    static int valid = 0;
    double c;
    if(!valid)
    {
        r1 = (double)(rand() - 1) / RAND_MAX;
        r2 = (double)(rand() - 1) / RAND_MAX;
        s = sqrt(-2.0 * log(1.0 - r2));
    }
    valid = !valid;
    c = 2.0 * PI * r1;
    r=valid? s * sin(c): s * cos(c);
    r=(r+5.0)/10.0;
    return r*to;
}

int main(){
	int i,j,bunpu[100]={};
	int lv=20,power=20,weapon=20,def=20,equip=20,strong=20;
	double p,min=50,max=50,total=0.0;
	srand((unsigned)time(NULL));

	for(i=0;i<KAISU;i++){
		p= lv*2+(power+weapon-(def+equip))*strong*rand_normal(2.0)+strong*rand_normal(4.0);
		if(min>p)min=p;
		if(max<p)max=p;
		total+=p;
		for(j=0;j<100;j++){
			if(10+j<p && p<=11+j)
				bunpu[j]++;
		}
	}

	printf("min:%f	max%f	平均%f\n",min,max,total/KAISU);
	for(i=40;i<100;i++){
		printf("%2d:",i);
		for(j=0;j<bunpu/(KAISU/4000);j++)
			printf("*");
		printf("\n");
	}

	return 0;
}

Justy

Re:RPGサンプルプログラム

#21

投稿記事 by Justy » 18年前

 まずはさっきのルーチンはちょっとバグってました。
 すみません。
 ごく希に NaNになってしまいます。

 改善版です。
[color=#d0d0ff" face="monospace]#include <math.h>
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
#include <float.h>

#define PI  3.14159265358979323846264
#define KAISU 10000
#define ARRAY_BUFFER_SIZE   100

double rand_normal(double sigma, double average)
{
    static double r1, r2, s , r;
    static int valid = 0;
    double c;
    if(!valid)
    {
        r1 = rand() / ((double)RAND_MAX+1);
        r2 = rand() / ((double)RAND_MAX+1);
        s = sqrt(-2.0 * log(1.0 - r2));
    }
    valid = !valid;
    c = 2.0 * PI * r1;
    r=valid? s * sin(c): s * cos(c);
    return r * sigma + average;
}

int main(void)
{
    int index, div, bunpu[ARRAY_BUFFER_SIZE]={};
    double min=DBL_MAX, max=DBL_MIN, total=0.0, avg;
    srand((unsigned)time(NULL));

    for(index=0;index<KAISU;index++)
    {
        double p = rand_normal(5.0, 50.0);
        int ip = (int)p;
        if(min > p)     min = p;
        if(max < p)     max = p;
        total += p;
        if(ip < 0)                      bunpu[0]++;
        else
        if(ip >= ARRAY_BUFFER_SIZE)     bunpu[ARRAY_BUFFER_SIZE-1]++;
        else                            bunpu[ip]++;
    }
    avg = total/KAISU;
    printf("min:%f  max%f   平均%f\n", min, max, avg);
    
    div = (int)bunpu[50] / 60;
    for(index=1; index<ARRAY_BUFFER_SIZE-1; index++)
    {
        printf("%2d:",index);
        int count = 0;
        for(count=0; count<bunpu[index]/div; count++)
            printf("*");
        printf("\n");
    }

    return 0;
}[/color]
 今度のは Nanになりませんし、引数で散らばり具合と中央値(平均)を指定できるようにしてみました。
 綺麗に分布できてると思います。

 ちなみに bunpu[0]と bunpu[ARRAY_BUFFER_SIZE-1]は範囲からはみ出たもの、
として扱っているので表示していません。

Justy

Re:RPGサンプルプログラム

#22

投稿記事 by Justy » 18年前

実際のRPGってどんな風に値を決定しているんでしょうね?

 スキルがどうとかアイテム補正、立ち位置とかによって変化するので
いろいろ複雑になっているとは思いますが、普通にぶれ幅決めてランダムって
パターンかと思いますよ。

 やっぱり、RPGとかだと厳密性よりも気持ちよくバトルできるかどうかに
かかってきますから、そのあたりはゲーム性に関わらない限り単純化されると思います。
(式が複雑だとデバッグ・調整も大変ですし)

 シミュレーション系とかじゃないと、正規分布を使う、ってところまでいかない
ような気がしますね。

管理人

Re:RPGサンプルプログラム

#23

投稿記事 by 管理人 » 18年前

おぉ、rand_normalとても使いやすいです☆
ありがとうございます^^
この関数を利用させていただきたいと思います♪

管理人

Re:RPGサンプルプログラム

#24

投稿記事 by 管理人 » 18年前

そうですかぁ、FF11のようにものすごく厳密な計算式で表現されているであろうゲームをよくやっていたせいかダメージの計算式もちょっとこだわってみたくなりました。
いや~FF11はすごかったです。限りなく完成されたゲームでした。

どんなレベルとレベルで戦ってもおかしい数値が出ないように、
またレベルが上がるごとにふさわしい値が出るように計算式を作るのは結構大変ですね。

ま、今回はサンプルということで(私のような人間が作るものがサンプルとなっていいのかわかりませんが・・)厳密性より単純化したものを一通り作る事に力を入れたいと思います☆

風鈴

Re:RPGサンプルプログラム

#25

投稿記事 by 風鈴 » 18年前

私にはまだ理解はできませんが、この一連の流れを保存させていただいております。
いつか、理解できるように。

本当にサンプルありがとうございます。
少しずつですが、自分なりにアレンジしてみたりしてます。
「習うより慣れろ」って、まさにその通りだと思います。

管理人

Re:RPGサンプルプログラム

#26

投稿記事 by 管理人 » 18年前

まだ注釈も何も書いてないんで、流れを掴むのは難しいと思います。
私も人の書いたプログラムを理解するのは大の苦手です・・;
ましてやフラグの仕様もわからないのにプログラムだけ渡されても解る方が不思議です^^;
最後にはちゃんとフローチャートみたいな流れも書いて説明しますので、ご安心下さい^^

Hermit

Re:RPGサンプルプログラム

#27

投稿記事 by Hermit » 18年前

Justyさんのプログラムで、
1回目と2回目で、sin と、cos での変化しか無いようですが・・・

例えば、θが45度だったら、1回目と2回目の数値は同じになってしまいます。
その為、x と y を入れ替える必要があります。
Justyさんのプログラム中だと、r1 と、r2 を入れ替えて、
log の方で使った rand で得た数値を、sin(またはcos) の方で
sin(または cos) の方で使った rand の数値を、log の方で使う必要があります。

まあ、そこまでする必要が無ければそれでもいいのですが。
(正規分布にはなるので)

Justy

Re:RPGサンプルプログラム

#28

投稿記事 by Justy » 18年前

1回目と2回目で、sin と、cos での変化しか無いようですが・・・
 ご指摘の通りだと思いますが、意図したとおりでもあります。

 一様分布ではないのでそういう偏りはあっていいでしょうし
(実装的に45度ぴったしが出るというのも今の RAND_MAXの精度ではなかなか)
根本的に「同じ値が連続して出る可能性が全くない乱数」というのは乱数としては
ちょっとどうだろう、というところもあります。

 正規分布な乱数を出力する方法は他にも幾つかあるので、
そのうちの1つ、と思って頂ければ σ(^_^;)

風鈴

Re:RPGサンプルプログラム

#29

投稿記事 by 風鈴 » 18年前

rpg5.zipですが、壊れていて解凍ができないのですが・・・。
いつも使っていた解凍ソフトがいけないのかと思い、LhazをDLして解凍してみたのですが
書庫が壊れていると表示されます。

ちなみに、ファイルのサイズ
rpg.zip |8,351KB
rpg5.zip|1,123KB

管理人

Re:RPGサンプルプログラム

#30

投稿記事 by 管理人 » 18年前

ちょっと調べてみますね。

管理人

Re:RPGサンプルプログラム

#31

投稿記事 by 管理人 » 18年前

これでどうでしょうか?

http://dixq.net/zip/rpg6.zip

ちなみにこれは作りかけですので開けるかどうかだけ確認してください^^;

風鈴

Re:RPGサンプルプログラム

#32

投稿記事 by 風鈴 » 18年前

そちらは無事解凍できました。
ファイルサイズも8KBを超えています。

管理人

Re:RPGサンプルプログラム

#33

投稿記事 by 管理人 » 18年前

>ファイルサイズも8KBを超えています。

8MBですね?いや、一応念のために^^;
今後拡張性を持たせる為にもうちっと汎用的に書き直して、端から注釈かいているんで今日は少しまともなアップが出来るんじゃないかと思います(_ _)

風鈴

Re:RPGサンプルプログラム

#34

投稿記事 by 風鈴 » 18年前

あぁ、8MBです;

本当にわざわざありがとうございます。
実際にゲームプレイするのと、ゲームを作る肯定を考えながらプレイするのとではちょっと違いますね。
少しずつ形になっているのがとても面白いです。

Justy

Re:RPGサンプルプログラム

#35

投稿記事 by Justy » 18年前

@ 管理人さんへ

 前から気になっていたのですが、zipの中に

・ *.suo
・ *.ncb
・ Thumbs.db

 のファイルが入っています。
 これらはビルド&実行には(つまり配布時には)不要なファイルです。

 特に上2つは開発しているディレクトリがどこかとか、余計な情報を
含んでいることがありますので、削除しておいた方がいいかと思います。
(ncbはファイルサイズもでかいので、削除するとぐっと zipサイズが小さくなります)

管理人

Re:RPGサンプルプログラム

#36

投稿記事 by 管理人 » 18年前

わ~容量食ってますね~このファイル!
ありがとうございますm(_ _)m

管理人

Re:RPGサンプルプログラム

#37

投稿記事 by 管理人 » 18年前

すみません、遅くなりました。
やっとアップロードします^^;

いい加減なメモ程度の仕様書ですが、仕様書もspecifications.cppファイルに書いておきました。
ちょっとフローチャートは時間がかかるので(_ _||)

全ての関数に注釈を書いておきましたので、メイン関数から順々に
みていけば理解していただけると思います。

一度実行して正常に実行できる事を確認していただいてから見ていただけますでしょうか?

描画される内容としてはほとんど変更がないですが、矛盾の起きる場所や複雑な場所、統一性のないところなどプログラムの修正をあちこちしました。

また、ダメージの計算式はあれこれ実験してこれがいいだろうと思うものがいれてあります。
少々レベルがかわってもあれで対応できると思います。
ただステータスにかなり差が有る場合、ダメージがマイナスになる事がありますので、
そこは、負に成る時はすっぱり0にするのか、
工夫して限りなく0に近くなるようにするのかお好みでどうぞ。

防具や武器は作っていませんが、
ch[0].weaponにセット出来るようになっています。
防具も
ch[0].equip
にセット出来ます。
帽子や手袋を使用するときはここを増やしてください。

ファイルアップしておきます。

http://dixq.net/zip/rpg7.zip

これからもご希望があれば時間があるとき沿って拡張していこうと思います。

風鈴

Re:RPGサンプルプログラム

#38

投稿記事 by 風鈴 » 18年前

本当にありがとうございます。
なんか、なるほど・・・って感じで読ませていただいてます。

ちょっと話はそれますが
マップエディタやグラフィックエディタ等ゲームを作りに役立つソフトでオススメのものなどありますか?
フリー・シェアどちらでも構わないので、あったら教えてください。

管理人

Re:RPGサンプルプログラム

#39

投稿記事 by 管理人 » 18年前

>マップエディタやグラフィックエディタ等ゲームを作りに役立つソフトでオススメのものなどありますか?

そうですねぇ、手書きでマップを書くのは限界がありますもんね。
特にマップチップの種類が2桁になると配列書く時にとてもみにくく・・。
私は
・プログラムでマップを書くには限界がある・・
・趣味の範囲で利用する
ということからRPGツクールの体験版を利用し、(データが保存できないのでスクリーンショット使って保存)、その画像を使っていました。
だからマップチップを使うと言う事ではなく。
しかしこれは容量が大きくなってしまうと言う問題があり、プログラム内で絵が変更できないという問題がありました。

マップエディタを利用するという事を考えた事がなかったので今日探してみます。
いいソフトが見つかったら報告しますね。

Re:RPGサンプルプログラム

#40

投稿記事 by » 18年前

【HSP】
http://www.onionsoft.net/hsp/contest200 ... st_524.zip
【不明(ぇ】
http://www.vector.co.jp/soft/win95/game/se231004.html?g

これとかどうでしょうか?

昔HSPでかなり良いのがあったことを記憶していますが、場所がわからなくなってしまいました。
時間が無いので少ししか調べてませんが、良ければ調べてみてください。
【マップエディタ】【作り方】【HSP】見たいな感じの言葉で…

Justy

Re:RPGサンプルプログラム

#41

投稿記事 by Justy » 18年前

 下の Platinumはレイヤー機能が結構充実しててよさげですね。


 既にこれで十分な気がしますが、一応ググってみたのを参考までに乗せておきます。

ME MapEditer(Windows95/98/Me / ゲーム)
http://www.vector.co.jp/soft/win95/game/se190983.html

TMapEditer2D 使用上の注意
http://homepage1.nifty.com/mizu-yan/dow ... _manu.html

Map Editor
http://www.geocities.com/SiliconValley/ ... robmpy.htm

マップエディターQuoyle(Windows95/98/Me / ゲーム)
http://www.vector.co.jp/soft/win95/game ... tml?site=n

マップエディター ANoME(あのみぃ)(Windows95/98/Me / プログラミング)
http://www.vector.co.jp/soft/win95/prog/se222575.html

EgA(Windows95/98/Me / ゲーム)
http://www.vector.co.jp/soft/win95/game/se148524.html

簡易凡用マップエディター(Windows95/98/Me / 文書作成)
http://www.vector.co.jp/soft/win95/writ ... 03463.html

リンカとイオナの C++ Diary
http://s-werke.sakura.ne.jp/cppdiary/

管理人

Re:RPGサンプルプログラム

#42

投稿記事 by 管理人 » 18年前

おぉぉ、沢山あるんですねぇ。
一つずつ見て行きますね。
雷さんの下の奴結構使えますね。
ただ私はスクロールより固定のマップを使用するんで最初から作ったマップでもいいようなきがするんですよねぇ容量は多くなりますが。

やっぱRPGはスクロールマップのほうがいいのかな?

Re:RPGサンプルプログラム

#43

投稿記事 by » 18年前

昔HSP使おうとしてたとき、マップの製作で両方とも使えるのがあったはずなんですがHD死んだときに一緒にぶっ飛んでしまったので・・・^^;

一番したのは使っては居ませんがw

管理人

Re:RPGサンプルプログラム

#44

投稿記事 by 管理人 » 18年前

魔法が使えるようにしてみました。

http://dixq.net/zip/rpg8.zip

まだ新しく作った部分の注釈は書いてないです^^;

魔法はキュア以外が使用できます。
下の魔法ほど強く、詠唱に時間がかかります。

他通常攻撃以外を選択しても全て通常攻撃になるようになっています。

管理人

Re:RPGサンプルプログラム

#45

投稿記事 by 管理人 » 18年前

HPの減少にモーションをつけてみました。
戦闘シーンのオープニングは省略してあります。

http://dixq.net/zip/rpg9.zip

またまた新しく作った部分の注釈は書いてないです^^;

管理人

Re:RPGサンプルプログラム

#46

投稿記事 by 管理人 » 18年前

HPやアイコンの表示をキレイにしてみました。
項目を選択中に選択項目の説明が上に出るようにしました。

http://dixq.net/zip/rpg10.zip

まだ作成中のアクションのものを選択すると全部通常攻撃になります。

風鈴

Re:RPGサンプルプログラム

#47

投稿記事 by 風鈴 » 18年前

ちょっと最近用事があり、返事が遅れてしまいました。
その間に相当進んでるみたいで、ありがとうございます。

マップエディタも色々あるんですね。
自分で調べていろいろ試したりしたんですが、中々なじめなくて^^;
少しずつ試して、自分に合ったもの探してみます。

管理人

Re:RPGサンプルプログラム

#48

投稿記事 by 管理人 » 18年前

勝手に作ってるんで、気が向いた時見てください(笑

HP,MPなどの表示をキレイにして関数をモジュール化しました。
ダメージ値のポップの仕方も少々工夫しました。

http://dixq.net/zip/rpg11.zip

まだ作成中のアクションのものを選択すると全部通常攻撃になります。

BAZZ

Re:RPGサンプルプログラム

#49

投稿記事 by BAZZ » 18年前

がんばっておいでですね(≧∀≦)
サンプルプログラム結構重要だと思いますので
応援してますw

さてドット絵ドット絵・・・
いいんですよね?雑談だし・・・

管理人

Re:RPGサンプルプログラム

#50

投稿記事 by 管理人 » 18年前

あるところから早くボムマンをオンライン化してくれという要望が・・w
春休みが終わってしまった・・。

ぼちぼちがんばりますw

いや~雑談はいつでもウェルカムですよ^^
もう掲示板を個人的な日記帳にしてくれてもいい勢いですからお気遣い無くw

管理人

Re:RPGサンプルプログラム

#51

投稿記事 by 管理人 » 18年前

新しくアップします。

毎回違う記述のしかたをすると見にくいと思うので、今度から追加した機能と仕様を以下のようなフォーマット記述でお伝えします。

http://dixq.net/zip/rpg12.zip

今回追加した機能
・メッセージボード2を追加。メッセージが2段にわかれて表示されます。2つ以上同時に表示すべきメッセージがあったときは時間差で表示します。
・アビリティを下から4つ実装しました。

仕様
・戦闘突入モーションは省いてあります。
・「通常攻撃」「魔法下から4つ」「アビリティ下から4つ」が実装済み。それ以外を選択すると通常攻撃になる。
・アビリティが時間がたたなくても再度使用可能なのはまだ入力禁止が未実装だからです。

追加注釈
なし

管理人

Re:RPGサンプルプログラム

#52

投稿記事 by 管理人 » 18年前

別トピでは皆さんお世話になりました(_ _)
魔法は全部唱えられるようになりました。
今回ヘイトの向きを表示するシステムを追加しました。

http://dixq.net/zip/rpg13.zip

今回追加した機能
・ヘイトの向かう向き表示
・キュア

仕様
・ダンジョンで戦闘になる確率は極端に高くしてあります。
・通常攻撃、魔法全部、挑発以外のアビ、が実装済みです。
・アビの使用可不可はまだ判定していません。

追加注釈
なし

管理人

Re:RPGサンプルプログラム

#53

投稿記事 by 管理人 » 18年前

今日の更新は
「管理人が桜を見に行ってきた」という個人的などうでもいい理由でちりゆく桜をつけてみました・・ただそれだけです^^;

桜が流れ始めて30秒くらい立てば3Dっぽく見え・・・・・ないか^^;

http://dixq.net/zip/rpg14.zip

風鈴

Re:RPGサンプルプログラム

#54

投稿記事 by 風鈴 » 18年前

おー・・・。すごいの一言です。
自分の好きな世界を作れるっていうのは、ゲーム作りの本当にいいところですよね。

ゲームを作る際、1番気にすることってなにかありますか?
例えばタイトル画面やシナリオ、音楽など。

管理人

Re:RPGサンプルプログラム

#55

投稿記事 by 管理人 » 18年前

>自分の好きな世界を作れるっていうのは、ゲーム作りの本当にいいところですよね。

そうですね~^^
雪のシーズンは雪降らせてみたり、クリスマスシーズンは星降らせてみたり☆

>ゲームを作る際、1番気にすることってなにかありますか?

SPボムマンを作る時に気をつけたのは「素人くささをどこまで無くせるか」って事でした。
私のような人間がそんな目標をもつのは恐れ多いですが、
実際フリーのゲームって「あ、やっぱ素人が作ったゲームだな」って感じパッとみただけで感じるじゃないですか。
そういうのなくしたいな~と思いました。
しかしそうなると自然とグラフィックを向上させる必要がでてきて、サウンドを向上させる必要が出てきて・・。
プログラムだけじゃどうにもならない話になってきますよね。
まぁその辺は自分で作れないのでどこまで素材サイトをうまく見つけるかという別の道になっていっちゃうんですけど。

私は・・全て凝りますかねぇ・・。凝ってる割にはたいした作品になってませんけど、無駄に時間だけかかっています^^;
RPGを作るならストーリーにももちろん力をいれますが、やはり一番RPGやってて沢山の時間行うのは戦闘でしょうからいかに戦闘シーンを面白くするかにも力をいれます。
ダメージ計算などももっと複雑にした方がプレイヤーは色々考えられるでしょうし。
シューティングならどれだけ鮮やかな弾幕を作るか、ZUNさんのような弾幕をお手本にがんばります。
教育ソフト系なら自分が解らなくてひぃひぃいていたことを思い出しながら作れば自然とわかりやすくなるように思います。

学校が始まって、バイトも始まって忙しくなってしまったので、あまり作れなくなってしまいましたがこれからも時間を見つけてアップしていきますよ^^
私のサンプルが出来上がるのはずっと先でしょうから、ある程度つかめたら、ご自分で作っていってくださいね♪

バグ

Re:RPGサンプルプログラム

#56

投稿記事 by バグ » 18年前

私の場合は、見た目よりも操作感にいっちゃいますね。
ようするに、どれだけ気持ち良く遊べるかって事なんですけどね。
カラードロップを作った時にも、キビキビと動くようにできる限りシンプルにしたつもりなんですが…今見ると、まだまだ無駄が多いです(;^_^A
気持ち良く遊べるってのは、スピードだけではなく演出も重要ですよね。落ち物パズルで最高に気持ち良い瞬間ってのは、ブロックが消えた時だと私は思っています。
ただ消えるだけではなく、ちょっとした演出をはさんで消える事で、更にプレイヤーの達成感を刺激できると思うんですよね。
そんな理由で小細工ではあるんですが、カラドロでは消える前にブロックを点滅させたりしてます。
見た目が派手で、演出も完璧なら言うことないんでしょうが、絵心が0な私なので、どうしようもないです(苦笑)

管理人

Re:RPGサンプルプログラム

#57

投稿記事 by 管理人 » 18年前

バグさんカラドロ力いれていらっしゃいますねw
いや~コンソールの自分の中での常識が打ち破られましたよ^^
DXライブラリでの製作は進んでますか?

バグ

Re:RPGサンプルプログラム

#58

投稿記事 by バグ » 18年前

DxLib版は完全に凍結状態です(笑)
今はMFC版とWIN32API版を勉強しつつ同時進行させてます。まだまだ知らない事ばかりだなぁ…と痛感する日々です(苦笑)
でも、それが楽しいんですよね(^-^)

管理人

Re:RPGサンプルプログラム

#59

投稿記事 by 管理人 » 18年前

なるほど~^^
私は逆にDXライブラリばっかり頼らずにそろそろ抜け出せよ、と自分で思っていますw
DirecXの勉強したいんですが、9の勉強すればいいのか10の勉強すればいいのかで悩んでいます。
どっち勉強するかでそんな違うものなんですかね~?
Directシリーズは新しいバージョンがでると一気に古いバージョンの本が店頭から消え去るので少しでも古いバージョンに手を出すと本屋で立ち読みができなく・・。
C++も勉強しないといけないし、ウィンドウズプログラミングの知識も付けたい。
授業にバイトもあるし、、あぁ春休みのように時間がないなぁ。。

てかずっとSPボムマン作ってて、大型の免許取りにいけなかった(T_T

parapara

Re:RPGサンプルプログラム

#60

投稿記事 by parapara » 18年前

サンプルのような
俺も管理人さんのようにRPG作れるようになりたいです。
特に古いバージョンの戦闘シーンに入るときの画面がいくつかの長方形に分かれたり、
する所とか、その直後の敵と自キャラのズームアップとか、憧れますね。
ただこんな事いえるようなスキル未だ無いんですけど、
自分としてはDirectXを使いたいです。

管理人

Re:RPGサンプルプログラム

#61

投稿記事 by 管理人 » 18年前

>特に古いバージョンの戦闘シーンに入るときの画面がいくつかの長方形に分かれたり、

古いバージョンとはどれでしょうか?
一応どのバージョンでも同じ戦闘の入り方ですが^^;

>憧れますね。

ありがとうございます、ただソースもプロジェクトファイルも一緒に同梱してありますので、どのようなアルゴリズムか確認できますよ。

一回画面を16分割してキャプチャから中心から外へ向かってすべらし、乱数つかって自由落下・・としています。
まぁ戦闘の入り方は人それぞれでしょうね。
本当はガラスが割れたみたいにしたかったのですが、そんなことするとコードが非常に難しくなってしまうのでただの16分割にしました^^;

管理人

Re:RPGサンプルプログラム

#62

投稿記事 by 管理人 » 18年前

どれが最新かわからない・・らしいので、明確にしておきます^^;

http://dixq.net/zip/rpg14.zip

今の最新サンプルはこれ↑

ただ桜が舞うのとか別に関係ない気が・・^^;

管理人

Re:RPGサンプルプログラム

#63

投稿記事 by 管理人 » 18年前

ダメージ計算についての質問があったので、アップいたします。特に更新はありません。

閉鎖

“C言語何でも質問掲示板” へ戻る