ロールプレイングゲームの設計
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNGどんな感じなんでしょうか?
やっぱり
extern.hなんていうヘッダに
extern Player player;
なんて書かれているんでしょうか?
町の人の管理もやっぱり
extern TownObject town_object[ MAX_TOWN_OBJECT ];
となっているんでしょうか?
力業で色々やっているんでしょうか?
ドラゴンクエスト、ファイナルファンタジー、ポケットモンスター
など、どんな設計(データ構造)なのかとても気になります。
ほげほげRPGのソースはXX行だ。なんてのでもいいです。
是非教えてください。
0002名無しさん@お腹いっぱい。
NGNG0003名無しさん@お腹いっぱい。
NGNGデザインパターン使ってだな。
あとで自分でもなんでそんなことしたのか良く
分からなくなるようなソース書くのは、もういや。
0004名無しさん@お腹いっぱい。
NGNG終了
0005名無しさん@お腹いっぱい。
NGNGまだそういうの作るには早すぎる。
0006名無しさん@お腹いっぱい。
NGNG試行錯誤する事も大切だよ。
0007名無しさん@お腹いっぱい。
NGNGま、それも経験だろう。
0008名無しさん@お腹いっぱい。
NGNG自分がいかにアホなことを言ってたのか気づくためにも
一度実際に作ってみることをお勧めする。
0009名無しさん@お腹いっぱい。
NGNG作らない。あとスタックメモリではなく、mallocを使ってヒープ
メモリにインスタンスを作成しましょう。
こうゆうレスでいいの?
0010名無しさん@お腹いっぱい。
NGNGなんでそこでmalloc使っちゃうかな?
ところで3の人に聞くが「デザインパターン」って、
あの妙な本ですか?あれってオブジェクト指向の本質じゃ
ないきがするんだよね。小さい概念をゴチャゴチャゴチャゴチャ
書いてあるだけでよくわからなかったんだけど。
あの本は一体どのレベルで話してあるのか?
EffectiveC++って本もひたすら謎だった。
0011>10
NGNG「デザインパターン」も「Effective C++」がだめだとすると、
どんな本がおすすめなの?
0012名無しさん@お腹いっぱい。
NGNGextern宣言ってインスタンスじゃないよ
0013名無しさん@お腹いっぱい。
NGNG0015名無しさん@お腹いっぱい。
NGNGあったら俺が聞きたい。
ただ、なんか概念という感じではなく、
ちょっとした小細工気味に感じる。
「憂鬱なプログラマのためのオブジェクト指向開発講座」
っていうのを読んでから今度は中級者本ぐらいのを探してるんだけど
なんかいいのがないんだよね。現在はHPを徘徊中。
0016名無しさん@お腹いっぱい。
NGNGプログラムが組みにくくなり開発速度が落ちていくのは私だけ?
0017名無しさん@お腹いっぱい。
NGNGhttp://www2s.biglobe.ne.jp/~sinmasa/RPG/index.htm
0018ね
NGNG君らがやたら頭いいように思えてしまうんだが、
どうせ「ゲームソフトってのはハードがないと遊べないんだ!」
くらいのレベルのことしか言ってないんだろうね。
君らが分かることくらい俺も分かるし。
錯覚って怖いよ。
0019名無しさん@お腹いっぱい。
NGNGこちらなのでは?
http://www.latech.edu/~acm/helloworld/rpg.html
http://www.latech.edu/~acm/HelloWorld.shtml
0020名無しさん@お腹いっぱい。
NGNGこやつどうしましょう?(;´Д`)
0021名無しさん@お腹いっぱい。
NGNGほっとこう。
0022名無しさん@お腹いっぱい。
NGNG専門学校生でもプログラムできるしな。
0023名無しさん@お腹いっぱい。
NGNG無知も怖いぞ
00241
NGNGまずはなにか完成させてみます。
現在マップを表示してキャラクターが動くくらい出来ました。
イベント関連はlibguileでも使おうと思います。
いい感じです。
ただ一つ気になるのがマップのスクロールが出来ないことです。
まぁなくてもいいやと思ってますがやはり気になります。
0025>1
NGNG2ちゃんねらーでもある宍戸氏のぺーじ
0026名無しさん@お腹いっぱい。
NGNGハードって言うのは電気がないと動かないんだピカァちゅ
0027名無しさん@お腹いっぱい。
NGNG>プログラムが組みにくくなり開発速度が落ちていくのは私だけ?
私もです。汎用性も生まれているのも解かるのだが開発速度は落ちる。
やっぱり、オブジェクト指向って人海戦術的なとこあるよね。
覚えればアホでも組めるようになる反面、人が必要になるって感じの。
0028名無しさん@お腹いっぱい。
NGNG>汎用性も生まれている
>人海戦術的なとこ
なんか根本的な誤解があるような...
0029名無しさん@お腹いっぱい。
NGNG0030名無しさん@お腹いっぱい。
NGNGの成果が、どれほど開発を楽にするかすぐわかると思うんだけどなあ。
(Javaがおそいとか、糞だとかはは置いといて)
27みたいになるのは、ライブラリの基本設計が馬鹿だったから
じゃないの?
0031名無しさん@お腹いっぱい。
NGNGほにゃらら2とか第2作なら速いのは確かでしょう。
0032>30
NGNGコード・データの制御をすべて自分が支配しないときがすまないんだよ。
0033名無しさん@お腹いっぱい。
NGNGそれそれ、作るものほとんど完備しなくちゃいけないんだもん
面倒臭いよ。って完備しなかったときは面倒じゃすまないんだけどさ。
作り逃げがきかないじゃん(なんてこというんだと思うが)
0034名無しさん@お腹いっぱい。
NGNG設計に未熟なやつが組んだライブラリは使うほうも地獄に道連れだが
0035名無しさん@お腹いっぱい。
NGNGオブジェクト指向クラス設計とそれを使った開発は別だといわれればそれで終わりだが。
0036>35
NGNGどこにも行ってないよ。ただ目の前にぶら下がっているのが見えてない人がいるだけ。
汎用的なクラスライブラリのクラスとアプリ固有のクラスは全く別物。
アプリ固有のクラスは完備する必要なんてないし、
逆にその時点では必要ない機能を完備する事を禁じてる開発スタイルすらある。
そしてそのことは将来の拡張を前もって制限するものでもない。
したいときに拡張するだけ。
0037名無しさん@お腹いっぱい。
NGNGそしてMFCになる(藁)
00389
NGNG>extern宣言ってインスタンスじゃないよ
externは省略できるから、別にどうでもいい。
1はインスタンスをヘッダーで作成してるよ。
コレ=>extern TownObject town_object[ MAX_TOWN_OBJECT ];
0039名無しさん@お腹いっぱい。
NGNG自分で組んだ方がいいの?それとも出来合いの使った方が楽?
おせーて
0040名無しさん@お腹いっぱい。
NGNGexternの意味分かってる?
externを省略したら同名の別変数になっちゃうよ
ヘッダに構造体とかmallocとか、ちょっと前時代的なのも気になる
0041名無しさん@お腹いっぱい。
NGNGはぁ?
0042名無しさん@お腹いっぱい。
NGNGはぁ??
0043名無しさん@お腹いっぱい。
NGNGデザインパターン本は「憂鬱な・・」より遙かに上級向けだよ
オブジェクト指向とはなにかという概念がしっかり分かってる人たち向けに
実際に使いやすい実装とはどんなものかの好例を示してる
004440>42
NGNGb.hのexternがある時と無いときで
bccでコンパイルして試してるから安心して読んでくれ。
--- a.c ---
#include<stdio.h>
#include"b.h"
int main(void){
i=3;
funcb();
printf("%d"@`i);
return 0;
}
---- b.h ---
void funcb(void);
extern int i;
---- b.c ----
#include<stdio.h>
#include"b.h"
int i;
void funcb(void){
i=2;
}
0045厨房
NGNG結局、38の解釈まちがってますよね?
0046名無しさん@お腹いっぱい。
NGNG00471
NGNG私はlibguileを使おうと思ってます。
http://www.gnu.org/software/guile/
私はextern、staticを
*関数にexternを付けるとglobalな関数になる。
*関数にstaticを付けるとfile privateな関数になる。
*変数にstaticを付けるとfile privateな変数になり、そこに実態が確保される。
*変数になにも付けないとそれはglobalな変数にない、そこに実態が確保される。
*変数にexternを付けるとほかのどこかにあることを示す(実態は確保されない)。
グローバル変数を用いる時
global.h
int id;
a.c
#include "global.h"
b.c
#include "global.h"
としてしまうとidの実態が2つ存在することになります(試してください)。
この場合の動作は未定義だと思います。
そうではなくてexternを使って、
global.h
extern int id;
global.c
int id;
a.c
#include "global.h"
b.c
#include "global.h"
とすればidの実態は1つだけ存在することになり、万事OKというわけです。
00481
NGNGも追加です。
0049>1
NGNGそのまえに普通、ヘッダは
#ifndef hoge
#define hoge
...
#endif
ではさむんじゃないの?
005039
NGNGありがとうございます。
こんなのもみつけたんですが、どっちがいいですかね?
http://www.tecgraf.puc-rio.br/lua/
0051名無しさん@お腹いっぱい。
NGNGだから、中級向けで良い本無い?
デザインパターンとかじゃ、まだ理解不能。
0052名無しさん@お腹いっぱい。
NGNG突然発生するイベントとか移動中での例外処理とか
その他やらせ的演出をいかにコードをスパゲッティにせずに
拡張性を考えて詰めこめるかは、すごく難しい問題だと思う。
知識ベースとかそのへんの設計が鍵になるかな。ああいうのって
本物はフラグの嵐なのかね?
0053>52
NGNGないです。フラグは確かに大量に使います(スクリプトエンジン
に食わせるスクリプトで)が極力ローカルフラグを使うことで
管理の手間を減らします。
005453
NGNGですね。すばびせん、最終的にできたものは当然スパゲッティです。
0055名無しさん@お腹いっぱい。
NGNGデバッグしてます? ないし、どの時点で出荷OKと判断してます?
やはりバグ曲線が安定してきてから一定期間、とかでやるんでしょうか。
0056名無しさん@お腹いっぱい。
NGNGウチではだいたいそんな感じです。
もっともフラグを減らす工夫はしますけどもね。
実は目視による机上デバッグが一番効率的だったりする‥
005753
NGNGしますが、論理バグにはどうしようもないです。ちから任せです。
56さんと同様です。
最終的にはアルバイトを動員しての人海戦術となります。
00581
NGNG忘れていました。
それも必須ですね。
>>50
どっちがいいかは好みの問題だと思います。
私は
*Lisp系の言語が好きならGuile
*C@`Pascal系の言語が好きならLua
*簡単さを求めるならLua
*今すぐ使いたいならLua
ですかね。
LuaをCから呼び出す場合
lua_open();
lua_dofile("test.lua");
lua_call("main");--main関数を呼び出す(--以降がコメント)。
lua_close();
こんな感じです。
Lua - The Application Program Interface
http://www.tecgraf.puc-rio.br/lua/manual/manual.html#5.
005950=39
NGNG使用例までつけていただいて、ありがとうございます。
わたしは、、、Luaで行こうかな。
006052
NGNGぼくは知識表現とかに興味があるので、ゲームの
ストーリーをなんらかの意味表現、たとえば述語論理とかで
表現して多様な(そして論理バグのない)分岐を可能にする、
というのができたらすごいと思います。あるいは会話の流れを
もっと複雑にするとかね。個人の趣味で作るとしたらそういうところを
研究すればおもしろいと思う。
0061名無しさん@お腹いっぱい。
NGNGあんたその前に日本語勉強した方がいいよ(ワラ
00621
NGNG行数をご存知な方いましたら是非教えて欲しいです。
0063名無しさん@お腹いっぱい。
NGNGなんでそんなのを気にする???
0064名無しさん@お腹いっぱい。
NGNG仮に3万行として100行/日書けるなら300日とか。
0065名無しさん@お腹いっぱい。
NGNG100行/日は少なすぎるだろ?
100行/時のペースでも遅い。
0066名無しさん@お腹いっぱい。
NGNGOLのワープロ作業じゃないんだから、何行書いたかで効率決めるなよぉ。(;_;)
0067名無しさん@お腹いっぱい。
NGNGそりゃコーダーの基準だろ。
ある程度の規模のプログラムは、100行/時は無理。
(設計やデバッグを適当にやったとしても)
0068名無しさん@お腹いっぱい。
NGNG2〜3年前に、ポケモンのコードを逆アセンブルして公開してた
サイトがあったから、探せば、そーゆーのがあるかもよ。( ̄ー ̄)
0069名無しさん@8085
NGNGコ−ダ−以外には、パンチャ−か?
0070名無しさん@お腹いっぱい。
NGNGそぉね、使い捨てコードならアタシもそんくらいはイケルと思うわ。
でも、製品コードをその速度で作り続けるのはとんでもないグルか、
とんでもないヴァカのどっちかだと思うわよ。
0071名無しさん@お腹いっぱい。
NGNG0072>1
NGNGあった。作者は元ドラクエを作ってたとこの社員で、ソース流用が
ばれてクビになったとかいう噂を聞いたが本当かどうかわからんです。
0073名無しさん@お腹いっぱい。
NGNGTDQ発表当時は作者は高校生だった記憶があるが…。
TDQはX-BASICをXBAStoCでCに変換してgccでコンパ
イルだった記憶もある。
0074名無しさん@お腹いっぱい。
NGNGこっちは配布中止命令が下った。
0075名無しさん@お腹いっぱい。
NGNG0076名無しさん@お腹いっぱい。
NGNGだいたい6502アセンブラで書かれてるソースと、C言語のソースの行数
比較して何になるよ?
0077比較すると
NGNG0078名無しさん@お腹いっぱい。
NGNG馬鹿、死ね。
逝って良し。
0079名無しさん@お腹いっぱい。
NGNGあげんなゴルァ!
78=75=1か!?
00801
NGNG62が最後の発言です。
0081名無しさん@お腹いっぱい。
NGNG超遅レスでスマンが、JavaScriptのエンジンも結構いいぞ。
www.mozilla.org/js/
0082名無しさん@お腹いっぱい。
NGNG限定すれば、意外に簡単かもね。フラグとメッセージ文字列のテーブルを持って
おいて、随時参照・変更していけば出来そう。
0083名無しさん@お腹いっぱい。
NGNGDQ1はコード・データ合わせて64KB以内に収まってるはず
0084名無しさん@お腹いっぱい。
NGNG画像、音楽が著作権フリーであるウェブサイトを
知りませんか?
0085名無しさん@お腹いっぱい。
NGNGキーワードがわかってるんだから検索エンジンで探せよ>84
0086名無しさん@お腹いっぱい。
NGNGplaza23.mbn.or.jp/~hir/rpg/sozai.htm
www.geocities.co.jp/Milano-Aoyama/1686/
www.microkids.or.jp/%7Emack/home1/tukuru/rpgfree.html
www02.u-page.so-net.ne.jp/rb3/orea/
こんなとこかな。
海外の鬼畜サイトで、ドラクエやFFから吸い出したマップチップやキャラ
を置いているサイトがあったな。場所は自分で探してくれ。
0087名無しさん@お腹いっぱい。
NGNGそう言えば「大容量」とされたメガロムって確か1M「ビット」なんだよね。
128KBか....。それ以前のドラクエなんかだと、街のマップチップが32種類
しか使えなかったりと容量の制約はかなりきつかったみたい。
0088デフォルトの名無しさん
NGNGむちゃくちゃ嘘です
た○ぼさんはそんなひとではありません
0089デフォルトの名無しさん
NGNG今更ageなくても、アンテナが壊れてて怪電波受信中の72以外は
みんなわかってますって。
■ このスレッドは過去ログ倉庫に格納されています