C++でRPGゲームを作成する
■ このスレッドは過去ログ倉庫に格納されています
少し前まではHSPで作ろうと思っていたのですが、HSPでRPGゲームを作るのは難しいらしいので、C++で作ろうと思います。
C++のプログラミングは初めてですので、みんなの力が必要です。
お願いします。
あと質問ですが、C++ってMMORPGつくれますか? AAの謎が解けマスタッ!!
| \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/
^^^^^魔王 ^^^^^^主人公&お姫様 >>612
漏れは別人。
つか、おにぃタソは多分この板以外でチーム製作してると思われ
>>新妻好みタソ
がんがれ応援してるぞ。なんかDDSを使う所がウチのステフみたいだw >>617
惜しいな。
【○○村の宿屋】
| \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/
~~~~~主人公 ~~~~~~~~宿屋を経営している夫妻
>>618
はいどうぞ。
具体的にどの辺りがお気に召さないのおっしゃってみろや。
>>619
ああ、頑張るよ。
ドッターが現れない原因がDDSなんじゃないかなとうすうす感じ始めた2006年初春。
スレ立てられるかな。立てられたら立ててそっちに移動する。
とりあえず部活逝ってくる。 シナリオは簿記1級の俺にまかせろ。
まあおまえが言ってた魔王を勇者が倒すなんて糞シナリオじゃ、せっかく苦労して作ったRPGが糞RPGになってしまうだろ。
そこでだ。とある理想国家を侵食し支配しようとする巨大な宗教組織を食い止めるため戦うレジスタンスの物語なんかいいんじゃないか。
2ch内でウケがいいネタだし、愛国心をはぐくむ意味でもストーリーとして最適だと思うぜ。 じゃあボクは、神話に埋もれた古代民族の足跡を辿りつつ世界の謎を解き明かしていく伝奇ファンタジーマロンがいいNA! >>622
却下。気にいらねぇ。
>>623
ああ、ああ?ああ・・・
| \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/
>>624
俺のモチベーションが維持できんから却下。
>>625
簿記1級のすごさがワカンネ
>>626
ああ、ああ?ああ・・・
>>623,>>626
ある程度具体的なストーリー考えてるのか? ストーリーとシステムを切り離して考えるのは生産的じゃないと思うよ
「こーゆーシステムがやりたいから、こーゆーストーリーにする」ってアプローチもあるし、
逆もまた真なりではあるまいか。
システムとストーリーがチグハグなRPGはなんかアレだからモニョっちゃうんじゃないかなー >>628
ああ、ああ?
ワカンネ
ストーリーとシステムって関連性いるか?
どっちかってーと、設定とストーリーだろ。
| \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/
中世をモチーフにしたストーリーなのに戦闘で衛星砲とか使ってたらオカシイからな。 >>629
例えばだけど、
「世界を救う為、竜を育てるRPG」には
「竜を飼育するシステムを作りたいから、そーいうストーリにするぜー」ってアプローチと
「世界を竜で救うストーリーやりたいから、竜育成システム作るぜー」ってアプローチがあるわけじゃない。
このスレはあなたさんが主体でやってるんだから、
プログラマーのあなたてきには、どういうシステムが作りたいのよ?
ってわけ >>中世をモチーフにしたストーリーなのに戦闘で衛星砲とか使ってたらオカシイからな。
FFなんかだとよくあるね。
この手のミスマッチも、世界のフレーバー作りに結構使えたりするのではあるまいか。 >>630-631
システム周りは普通のRPGだ。
拘るのは戦闘だ。
環境や仲間のステータスを考慮した戦略を組まなきゃならんようなシステムだな。
あとは、普通にアイテムを手に入れたり、技を習得したり。
まあ最終的には強くなって悪い香具師を倒すわけよ。
だから「魔王を倒してお姫様を助けるRPG」と思ったんだが。
| \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/
>>632
ワケワカンネ
>>633
きてねぇ >>634
じゃー戦闘システム晒してよ。
世界観の発想もそこから起こそうぜ
魔法の様式からでも世界を想像するきっかけになるもんだ >>635
まとめサイトに妄想がうpしてある。
どうせ満足いかねーだろうから後で更新しておく。
| \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/
ちなみに魔法を入れる予定はねぇ。
技(攻撃系)とアイテムのみだ。 こりゃまたエラく画像枚数が必要そうなシステムだね。
絵描きのアテはあるのかい? >>637
ないね。
場合によっちゃキャラの画像を使いまわすつもりだ。
描画位置やエフェクトを工夫して。
| \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/
あーあーあーあーあーあー・・・
ここまでにゲームデザイナーが現れなかったな。
仕方ない、万事休すだ俺が犯る。
◆DDSファイルのお陰で敬遠している絵描き共へ。
DDSファイルはBMPさえ渡してくれればこっちで作れる。
「Manual Fashion of Convert to DDS」が使えるからな。
後で仕様を公開する。仕様って程でもねぇけど。
まぁ待ってろ。 >>DDS
DXSDKにフォトショの読み書きプラグインやユーティリティが入ってなかったか? >>639
フォトショもってないからシラネ。
見てくる、ちょっと待ってろ。
| \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/ >>639
英語ばっかりでワカンネ。
| \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/ >>642
ああしてる。
| \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/ >>644
上限は問わないが、俺の糞絵以上。
タイプで言えば鋭い系がいいが、欲は言わん。
| \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/ 戦闘に拘るのはしんどいだろうな。
プログラムより戦闘バランスの方が時間かかりそうだ。
複雑になれば取っ付きにくくもなるしな。 >>646
うんしんどいな。
俺は「ゲーム」つったら真髄は勝つか負けるか、その駆け引きにあると思うんよ。
だからストーリーも重要だし、グラフィックも重要だと思うけど、戦闘にこそ力を入れたい。
| \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/
>>647
俺の糞絵(マシなほう)
ttp://homepage3.nifty.com/catfood/up/src/up2375.jpg 俺もゲームは駆け引きを楽しみたい派だな。
楽しみしてる、頑張ってくれ。 >>649
>レベル高いな
嬉しいよ。
>諦めとこう。
悲しいよ。
| \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/
>>650
オーイエー♪ >>635
更新は明日の夜になる。
| \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/
ああ、眠い。とりあえず風呂だ。 毎日よくがんばるね〜。
完走まで長いと思うけど、がんばってください。 ddsはDirectX SDKの TextureToolでbmpから作れる。
つーかtgaを作る方法がわかんねーw
tgaとddsってどっちがいいんだろか。 >>653
サンクス。
| \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/
>>654
tgaは使ったことないからシラネ
tgaってddsみたくわざわざ変換して作るのか?
俺の愛用しているフリーのペイントソフトはtgaで保存できるみたいだが。
ねるぽ >>654
便乗して質問だけど、アルファ付のA4R4B4G4のテクスチャを
作ろうと思ったら、どうやって作るか知らない?
フルカラーPNGから変換すると劣化して酷いことになってしまう。 てめぇら移動だ。
RPGを作ろうぜ!
http://pc8.2ch.net/test/read.cgi/gamedev/1140839113/
| \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/
>>656
まともなツールで減色しろ。
別のピクセルフォーマットのほうがいいと思うがな。 >>658
ありがとう。
でもツールで減色→別ツールでDDSに変換という手順にすると、
減色時にアルファが失われてしまう。
一気にアルファ付フルカラーPNGから、16bitDDSに変換してくれる
ツールがないかなぁ。 >>659
別のピクセルフォーマットにはできないのか?
減色時には、アルファと RGB を別々に減色しろ。
で、アルファは赤画像にして、DDS 変換するときに合成しろ。 くだらね
今更個人でショボイ二次元RPG作って飯が食えるわけでもないし 間違いなく662はくだらねー人間だって事は分かった
このスレと飯を食う事に何の関係があるんだ? 華麗に見切ってスルー。それが誇り高き武士の末裔である我等が使命。夢々忘れる事勿れ。 >>1があまりに叩かれすぎて、正義の使者に見えて来るという錯覚。 おにぃタンが、おにぃタンがきっとなんとかしてくれる・・ おにぃタソの「ちょっと」は、どれぐらいなのでしょうか・・・。 C++で、リスト構造とクラスを使ってキュー構造が作れたぜぇー
いや、かろうじてメンバ関数やコンストラクタを使ってる程度なので
きちんとオブジェクト指向ができる人からしてみれば突っ込みどころ満載なコードなんだろうけど・・・
キューの機能やコードが一つにまとまっていて
今後はこのクラス一つで簡単にキューが作れるかと思うと意味もなくワクワクする。
オブジェクト指向が有り難がられる訳がちょっぴり判った。
あまりの感動にチラシの裏にしてしまった
ゴメン >>678
STLは、出来の良いマニュアルがなかなか見つからないんだよ 682の前ではhello world!もおちおち作れやしない 車輪の再発明が楽しいんじゃないの!
プロだったらそんな暇ないだろーけどさ むちゃくちゃ凝った Hallo World !! を作れば良いんじゃね?
それこそメガデモみたいなヤツを作れば、あるいは・・・ 車輪の再発明云々言って何もしないより、
車輪の再発明をしたほうが100倍マシ。
車輪の再発明の利点は基礎PG力を養えると同時に、
車輪の再発明という比較的少ないコストで、
次の段階に進める点だ。
決して、いきなりターボ・ファン・ジェットエンジンを発明しようとしてはいけない。
ネタにマジレス格好良すぎ>>688
極小規模の車輪の再発明ならしたほうが実装が楽な場合が多い。
OOPで全て再利用できるなんてのは妄想。鼻で笑っちゃうね。
>>691
急にこんなさびれたスレでどうしたんだ。
なんか嫌な事でもあったのか。 CでSTLのlistとdequeを作った。
ちゃんとテンプレートになってて要素の型は何でもよい奴。
CでOOは楽しい。 C++ではなくCで、って所が味噌だな
C++の方が実装は楽だから
既存のものと同じものを作るのは無駄といえば無駄だが、
手を動かす無駄は身になる無駄だからなぁ。 車輪発明しないで、いきなりグレートなモノを作れると思ってる奴なんているの? >>696
>手を動かす無駄は身になる無駄だからなぁ。
それは無駄とは言わないのでは? class player
{
private:
char name[32];
public:
int inputName( char* );
char* outputName();
// 実装は省略
};
class gameInitialization
{
public:
char* setPlayerName();
};
char* gameInitialization::setPlayerName()
{
char buff[32];
printf( "名前を入力してください" );
gets( buff );
return &buff[0];
}
// ゲーム本体での処理
p_player->input( p_gameInitialization->setPlayerName );
C++の練習としてRPGを作ってみようと思っていまして
こんな感じのコードを書いてみました。
プレーヤークラスにはゲーム本編で色々処理を組み込むことになるだろうから、
一度しか使わない初期化処理はできるだけ外に追い出したいと思い
最低限、変数名の入出力をするメソッドだけを残しました。
そして、「名前を入力してください」の表示など一度しか行わない処理は
ゲーム初期化クラスを作ってそこに入れてみました。
自分としては、ポーカーの親のようなプレーヤーを超越した存在を想定して
ゲーム初期化クラスというのを作ってみたのですが、いざ書きあがってみると
本当にこのクラスが必要だったのだろうか、別に本当に親がいる訳じゃないのだから
main関数に直接
> printf( "名前を入力してください" );
> gets( buff );
なんかを転がしても良かったんじゃないかとも思えてきました。
要するにクラス化する方がよいのかどうかですが
どう思われますか? ゲーム製作のためのクラスか、
クラスのためのゲーム製作か、それが問題だ。 >>701
個人的な意見になるけど
ゲーム全体を管理する「親クラス」と初期化クラスは別物だと思う。
親クラスはゲーム中常に実体を持つけど、初期化クラスは初期化中にしか
実体を持たないような印象がある。
ところで
> return &buff[0];
これはまずいのでは?buffは関数内でしか保持されない確保のされ方を
してるから戻り値では返せない。 はじめまして。
個人的事情により、ネットにつながっている時間がほとんどと言っていいほど無いので、
ほとんど書き込めませんが、よろしくおねがい。
さて、
私が作った発展途上のRPG・SRPG総合制作ツールをうpしました。
つ http://gamdev.org/up/img/5482.zip
これを話のネタにしたり制作に使ったり参考にしたりしてください。
あと、特徴ですが、
・RPG・SRPG・ADV等制作可能。主にRPGの制作に特化している(と思う)。
・一つのソフトでスクリプトとマップエディタとプレビューが可能(になると思う)。
・特別必要なDLL無し。必要なライブラリは Boost のみ。
Boost は、ググるか、うpしたファイル内のReadMeの中にあるURLから手に入れられる。
では。
>>704
>現在、起動時ロゴ画面・メイン画面・新規作成画面しかありません。
これでいったい何を議論しろと?
>私が作った発展途上…
>…(と思う)。
>…(になると思う)。
お察しください。 質問です。
Item クラス
┣ Kougekiクラス
┗ Kaihuku クラス
┣ Yakuso クラス
┗ Poshon クラス
こんな感じで、アイテムクラスを基底に、効能別、名前別のクラスを作り
ゲーム内では Item* 型ポインタを使ってアイテムを一括管理しようと一度計画しました。
しかし、実際に拾えるアイテム( Yakusoオブジェクト等 )をランダムに生成しようとすると
クラスの外に switch( rand()%2 ){ case 0 : item = .... のようにずらずら書くしかなくなってしまいました。
最初は、 Item クラス自体に、ランダムでアイテムの種類を決定するメソッド(というかコンストラクタ)を
持たせたかったのですが、よく考えてみると子クラスを触らせることができないので手詰まりしました。
クラスの数をもっと減らして、アイテム名や効果(回復量など)を引数で渡すことで
オブジェクトの種類を稼いだ方がいいのだろうかとか(今は1クラス1アイテムだから)、
多少トリッキーなコードを書いてでも Item クラスにランダム生成メソッドを持たせられないかとか
色々考えているのですが、
ランダムに発生するアイテムを管理するクラスについて、何か定番みたいなものはないでしょうか static Item Item::CreateItem(int id)
{
case 0:...
}
みたいにやれば? アイテムを生成するクラスを使う。
その中で、switch〜caseの羅列になっても、外部からは
隠すことが出来るので、トリッキーなコードを書くより
ずっといい。
case分の羅列でもいいけど、それよりはメソッドへのポインタでテーブルを作成しる。 でも、あっちは板が違うしな。
さらに言えば、昔はあっちの方がこっちに行くように言われてたわけだし・・・。
>>711
ねぇねぇ、それってさ何か親クラスを作ってそのポインタに子クラスの参照先を入れて行くのと同じですか?
がんばれ俺!今日明日で戦闘を作るんだ!
ここが踏ん張りどころだ!完成するぞ!完成するぞ! ■ このスレッドは過去ログ倉庫に格納されています