C++でRPGゲームを作成する

■ このスレッドは過去ログ倉庫に格納されています
1じっち
垢版 |
04/11/23 07:14:50ID:CCsv+84e
少し前まではHSPで作ろうと思っていたのですが、HSPでRPGゲームを作るのは難しいらしいので、C++で作ろうと思います。
C++のプログラミングは初めてですので、みんなの力が必要です。
お願いします。
あと質問ですが、C++ってMMORPGつくれますか?
04/11/26 20:04:30ID:jkWZcu1T
.NETフレームワークが最初から入っていれば、そうだろうねぇ
04/12/09 21:37:42ID:1EZKNaz2
なんかいいサンプルないかな?CかC++の。HSPは知らん。
04/12/10 01:09:00ID:iqZToevn
何をもって「いい」というかは知らんが、ここにドラクエタイプならある。

ttp://www.sm.rim.or.jp/~shishido/
18名前は開発中のものです。
垢版 |
04/12/10 02:07:07ID:sJlbfAOY
なるほど、たった2000行でここまでできるものなのか・・。
今の俺にはまだ理解が難しそうだ・・。しかしいつか
ソースを読んでもっといいオープンソースでも作るよ。
04/12/10 07:37:47ID:EjICs2Va
漏れも他言語からの移民だけどここでがんばるよ
ところでグラフィックの表示って何かライブラリ使ったほうがいいのかな
おまいらはどうしてますか?
04/12/10 08:56:56ID:oFgU9Vm/
ラッパーライブラリ使ったほうが簡単で早くてバグが少ない
04/12/10 14:17:40ID:Br6Nhk/L
>19
ライブラリというか何を使うつもりなんだ?
まずWindowsの場合だとGDI、DirectX
DirectXならバージョンはいくつなのか
はたまたOpenGLなのか
C++Builderだったらなんかコンポーネントがあるんだっけ?
ライブラリならELとかDXみたいなラッパーライブラリも
あるけどAllegroとかSDLとかのマルチプラットフォームなライブラリを使うのもある
他のOSの場合は…略

C++という言語の枠組みの中には絵を表示するものはないので、何かしら使わないといけない

04/12/10 14:56:02ID:SvUNLkTs
何故誰もRPGゲームに突っ込まないのか。
04/12/10 15:31:46ID:B4bz7Vxp
揚げ足取りがいないんだろ
04/12/10 15:51:20ID:Br6Nhk/L
きっとRole PlayinG Game なんだろw
04/12/11 04:56:30ID:tQqNDOpV
素人臭いコードだが、何から書いたらいいか分からない香具師は
読んでみると進むべき方向が分かるかもしれない。

http://www.vector.co.jp/games/soft/win95/game/se338728.html

http://kalu-ban.sakura.ne.jp/c++/
2619
垢版 |
04/12/11 16:13:19ID:4zM5gDQ1
レスありがとうございます。

つーわけで"ラッパーライブラリ"でググったりライブラリスレをチェックしたり
Allegroのインスコに失敗したりしてました。Win32SDKかDirectXSDKが無難ぽいですね。
悩んでるので決めるのはもうちょい先になりそう。

とにかく毎日コード書かないとダメだと思い文字RPGをつくりはじめました。
が、一番はじめで挫折_| ̄|○
AAがちゃんと表示されないんですがズレない方法ないですか?
コマンドプロンプトの設定みたけどMSPゴシック12ポイントがなかった……。

AAがちゃんと表示されないソース(必要最低限)
http://gamdev.org/up/img/2087.phps
04/12/11 16:27:55ID:811lQTfW
>26
ブラウザの文字表示は文字ごとに幅が変わるけど
DOS窓なんかは幅固定だから同じような表示は無理
テキストエディタでAAを見えるように編集したものをつかわないとダメポ
逆にブラウザだと連続した半角スペースは省略されるけど
DOS窓だと省略されない
04/12/11 16:46:50ID:tQqNDOpV
>ラッパー

DXライブラリかSDLがオススメ
04/12/11 18:32:42ID:do8EVVGa
SDLはおすすめ
日本語のサイトも結構あるし
04/12/11 19:22:54ID:Kv7KrKn/
>>26
ガンガレ。超ガンガレ。
データの構造なんかについてもそのうち語ろうぜ。
04/12/12 10:49:58ID:56kNXguI
>>18

実はかなりの部分は「ダイアログなどのGUI独自描画」に費やしているので、
C++にすれば(GUI描画機能をクラス化すれば)半分になるかも。仮想マシン
も趣味に走って必要以上に詰め込んであるし…。
ドラクエ(1)タイプのRPGの場合、処理自体はごく単純です。特にマップ
をスクロールさせなければ、ウインドウを出して絵を描けるようになれば、
すぐ作れるはず。

>>26

とりあえず、Win32のDIBSectionを使ってみると良いでしょう。
扱いやすく、機能的にもDirectX(旧DirectDrawやDirectGraphicsの
サーフェス)の描画機能と共通点が多いので、これでフレームバッファ
の処理やGDIの描画機能に慣れておくとゲームも創りやすくなります。
3219
垢版 |
04/12/12 21:40:29ID:544clBHA
たくさんレスありがとうございます。
サンプルみつけてソース眺めながらグラフィックの勉強も平行してます。

今日はあんまり進まなかった。
マップの移動を実装中なんだけど

ID 地名 移動可能先のID
1 城 2,3
2 町 3
3 フィールド 1,2,4,5
4 次の町 3,5
5 ダンジョン 3,4,6
6 敵の城 5

こんな感じで、今いる場所に応じて移動可能な場所を制限したい。
状態遷移やタスクシステム、ポインタetc....色々探してみたけど
ひょっとして二次元配列で記憶してifでチェックしときゃよさそうだ。
難しく考えすぎてた_| ̄|○
04/12/13 01:43:38ID:4ZUXpz47
【改訂版96】ドゴンクエスト9製作スレ
http://game10.2ch.net/test/read.cgi/ff/1102573890/

ここにすごい神企画が眠ってる
3419
垢版 |
04/12/13 20:25:06ID:KD6ePPwD
SDLのインスコがおかしぃ・・・・

結論からいうと最適化(/O2)をやめて無効(/Od)にするとうまくいきました。
Debugでうまくいくからオプションの違いを1個ずつ探していきました。疲れた。

4つとも試してみた結果
ダメ
(/O2) (/Ox)
おk
(/O1) (/Od)

速度の最適化ができないとゲームにゃツラそう(´・ω・`)ショボーン

P.S. stdout.txtに「初期化に失敗しました」と出力されて起動できないんですよ

参考にしたサイト
初心者の初心者による初心者の為のSDL
ttp://tokyo.cool.ne.jp/sdl/
04/12/13 20:39:54ID:5go86s2g
>34
BCCでSDL使ったら、全く問題なかったけどなぁ…
コンパイラに拠るんだろうか?
04/12/13 22:28:39ID:CpqQPaPG
>34
環境何?
3719
垢版 |
04/12/14 20:19:49ID:gCFzZM8K
SDLボチボチとやってます。
PNGを透過して表示するところまでできました。
うぷろだ落ちてるみたいですね。

>>35
新しいVC++に対応してないとかかなぁ

>>36
VC++2003です
04/12/14 20:28:45ID:6EayMZnD
もしかしてSDLって密かにブーム?
04/12/14 23:31:15ID:EyG3+mk4
導入さえしてしまえば
恐ろしく楽>SDL
初期化で悩んでいたのが嘘の様
日本語で解説してるサイトがあるから
英語分からなくてもなんとかなるし
4019
垢版 |
04/12/15 22:08:27ID:XINzQQ0L
今日はここまで
http://gamdev.org/up/img/2125.zip

PNGがデフォルトで透過されたりとなかなか便利なんですが
SDLには拡大縮小がないらしい
隠しAPI(?)でSDL_SoftStretchがあるそうですがうまく動いてくれませんでした。
04/12/15 22:32:43ID:uxKIR4qz
>40
そんな感じでできることを広げていけばいいんでないかい
04/12/16 04:47:58ID:0Jr2pFyq
一応、SDLで拡大縮小回転とかやる外部ライブラリとして、SDL_gfxがあるよ。
それが嫌なら、OpenGLとかでもいい鴨。
4319
垢版 |
04/12/16 22:29:06ID:HAWYAHFS
マップ表示とタイマーを利用した歩行グラフィックです
SDL_AddTimerが便利でこれだけでもSDLの利用価値があったなと思うですよ
http://gamdev.org/up/img/2132.zip

拡大が必要だったマップチップを拡大してしまいました。ファイルサイズ倍増です。
次は文字です。
解説サイトのHelloSDL、英数字は表示できますがカタカナは無理っぽいです。
フォント画像にカタカナがあったのに使えなくて(´・ω・`)ショボーン

参考サイト
ttp://tokyo.cool.ne.jp/sdl/
04/12/17 01:53:17ID:OjfvFzxw
>43
ImgFont.cppの29行目を
char* ptr = text;
から
unsigned char* ptr = (unsigned char*)text;
にすると半角カタカナ表示できるぞ
4519
垢版 |
04/12/18 00:50:32ID:exD11XQ6
カタカナ表示できました
http://gamdev.org/up/img/2144.zip

>>44
うまくいきました。ありがとうございます。

今日はなぜこれで上手くいくか考えていたのですが
文字コードが表示するフォントの座標に対応していて
unsignedにしないとマイナスになるから128より大きい
文字コードを表現できないってことだったんですね。
わかってみると単純だなぁ

gamdevのwikiにあるFF風RPGを作れというページを眺めていたのですが
そろそろマップの構造体を考えたりマップエディタを作る時期のようです。
プログラミングしたいだけで特に作りたいゲームがないのでこういう時にこまる_| ̄|○

参考サイト
http://gamdev.org/w/?%5B%5BFF%C9%F7RPG%A4%F2%BA%EE%A4%EC%5D%5D
04/12/18 14:03:58ID:7Am1V8Uh
ここはDinkを省いてC++の話をするスレになりますた
04/12/18 14:07:03ID:baS7K+t5
Dinkってなに?
04/12/18 18:07:57ID:4huv0dr4
D ダイナミック
i インポテンツ
n ナショナル
k クリトリス
49名前は開発中のものです。
垢版 |
04/12/26 20:53:52ID:onqUEl+g
クリトリスは 【clitoris】なのでC
50名前は開発中のものです。
垢版 |
04/12/26 22:04:35ID:avT5D6OA
結婚しても共働きってヤツだろ?
51名前は開発中のものです。
垢版 |
04/12/28 10:13:20ID:ayKj1rFt
おいらも参戦していいですか?

>>45の参考サイト眺めてたら面白そうだったんで
一応EL使い手だったんでLevel4を除きLevel7まで作ってみますた。
04/12/29 07:16:50ID:QlZN4+1J
だめー
5351
垢版 |
04/12/29 15:39:40ID:YAngaVPD
>>52
そんなこと言わないでくれ〜

そういやはっきり言うとマップスクロールなんかより
イベントプロシージャ作ってイベントメッセージ処理させるのの方が難しいよね
でもそうしないと会話させるたびにありえなくコードが増える罠。
04/12/29 16:55:17ID:eiMlwzQA
イベント処理が関門だな
スクリプトエンジンとか作らないといけないからね
5551 ◆pdIWPsHM22
垢版 |
05/01/10 11:43:54ID:tsxU08Re
http://gamdev.org/up/img/2224.zip

いちおうメッセージの表示方法とか
いろいろガンガッたりしてみたんすけど
Sage4のスレみててわかったっす。
一人じゃ無理だorz

とりあえず、ソース完全配布ですけど
普通のelじゃコンパイルできないっす
リソースからwavやらmidやらbmpやら引き出すようにしたんで
LoadObjectFromRes関数とか自作しちゃったんで。

手伝ってくれる人ボシュ。
05/01/10 11:58:20ID:Di2ukLmS
RPGツクール使え
05/01/10 12:38:36ID:ct2aA6tj
じっち逃げた?
俺も最近C++始めたから、スレが沈んだら一緒にマターリやろうよ
05/01/17 15:01:00ID:eNHgw1+H
>>57
RPGは最近はじめて作れるゲームじゃない、いい加減悟れ、そしてRPGツクール使え
05/01/17 19:02:26ID:8sAAWdM4
ツクール厨はカエレ
05/01/17 21:31:16ID:WPOZSXHX
>>58
一朝一夕で作るなんて書いてないよ
過剰反応してるようだけど・・・何かあったのかい?
05/01/19 18:54:09ID:gdOmRwDD
スレ沈んできたんだからそろそろ真剣にはじめましょうよ。
とりあえずWinAPIだけで行くのかDirectX使うのかOpenGLとか使うのか
はたまたラッパーライブラリでも使うのか、はっきりさせましょうよ。

>>58
前半は合ってるが後半はどう考えても違うぞ。
05/01/19 20:26:36ID:nShMpEYQ
俺はWinAPIで組んでみるつもり
WinAPIを使いこなせないうちにDirectXいくのはマズい気がするからね
6361
垢版 |
05/01/20 15:41:51ID:cVl1n9h0
この際みんなで協力してみたいものですね。

私はWinAPIもC++も人並みには出来るつもりですが
DirectXは未知の領域です(さすがにBltFastぐらいは・・・)
しかしWinAPIだけでは最終的な完成度を高望みが出来ないのも事実です。
MFCerおよびC++以外erは論外という方針で。

そして何よりプログラムってのは思いついたことをどんどん加えて行くと
後で取り返しのつかないことになるのできちんと筋道を立てたほうが
よさげなきがします。
05/01/20 23:41:15ID:ArQp7Ull
SDL逝っとけ
05/01/21 20:27:20ID:wvg1eXqu
みんなで協力ってのは一つのを作るってこと?
それは無理な話だ

WinAPIじゃあ完成度を高望みできないっていうのはどんな点で?
音楽系についてはDirectXの方が楽なんだろうけど
05/01/22 18:47:35ID:qQZYyy6E
このスレはみんなでRPGを作るスレだったのか・・
まあ>>1がじっちな時点であれなんだが。

>>61が旗振り役やりたいんなら別に止めはしないが
ロクなことにならんのだけは自明。
6761
垢版 |
05/01/22 23:50:12ID:gCGpy1ey
>>65 >WinAPI
分からないのなら君はそこまでということさ。
音楽系こそmciで十分過ぎますが何か?

>>66
せやな。
RPGはチーム組んで開発したことはあったが
それ以来だったんで作りたくなってみただけさ。
ここは初心者にRPGが一朝じゃ出来ないことを教えるスレだったようだw
バイチャ(*^ー゚)/~~
05/01/22 23:57:04ID:m6TEoyzo
ま、まってくれ!
じっちにそれを教えるまでは、君の役目はまだ終わっちゃいないんだっ!!
05/01/23 11:03:59ID:1KO2elpS
>>67
作りたいならマトモな場所で募集するべき
悲惨な最期を遂げるのはこの板の人なら分かるだろ
05/01/23 11:39:45ID:ksnJTKjN
>>67
>分からないのなら君はそこまでということさ。
>音楽系こそmciで十分過ぎますが何か?

君もここまでの人なんだねw
mciじゃ、ゲームのBGMはつらいよ。
ファイル読み込みとループ時のオーバーヘッドがかかる。

せめて演奏スレッドでMIDI位操らないと。
7161
垢版 |
05/01/23 13:15:40ID:CdrNb8aJ
>>70
DirectMusicを使ったことがあるなら
それの糞さを分かるはずなんだが。
05/01/23 18:34:25ID:NKROwUQZ
>mciで十分過ぎますが何か?
と書いた数レス後に
>DirectMusicを使ったことがあるなら
>それの糞さを分かるはずなんだが。

数レスの間にこんな矛盾を作れるなんてステキ
まあ、>>65=70と勘違いしてるんだろうな
05/01/23 19:08:17ID:h8GwKZzK
じゃあもう間とってSDL使っとけ
74名前は開発中のものです。
垢版 |
05/01/23 20:38:26ID:2TE7azf9
相変わらず無駄な議論の好きな人たちだこと。
05/01/23 21:26:57ID:Gc+PQDEm
おまえらに音楽とかぜいたくだ
DOS窓だけでやっとけ
05/01/24 00:00:46ID:8zyzUuZ7
コンソールアプリでも音楽は使用できる。
よってい一行目と二行目の関連性が不明。
05/01/24 00:01:16ID:8zyzUuZ7
「い」が余計だった。
05/01/24 13:29:40ID:REFRcho7
>>77
台無しだyp!
05/01/25 10:42:17ID:M3AI2zOR
SDL_mixerが楽でいいよw
80名前は開発中のものです。
垢版 |
05/02/11 12:50:03ID:mzzUuHvZ
http://tokyo.cool.ne.jp/sdl/
ここのサンプルをコンパイルしながら勉強中・・・
05/02/12 11:58:19ID:LUHyNp8+
C++でRPGゲームを作成する == C++でロールプレイングゲームゲームを作成する

>ゲームゲーム
05/02/12 19:47:26ID:L/AO/QeT
>80
そこは日本語がすこし変だったりするけど、なかなかいいサイトだと思われ
まぁガソガレ
05/02/16 23:48:39ID:f3oUbTsx
目がチカチカする
05/02/21 00:42:33ID:ukAVBYma
目薬させ
05/02/21 01:57:07ID:06EjGdEe
そういう問題でわない
05/02/23 00:12:41ID:UjT2eVy3
そんな目玉はくりぬいてしまえ
05/02/23 20:48:22ID:D+vBLntY
目が見えなくなりました
どうしてくれるんですか
05/02/23 22:24:15ID:Y7Lgx8nb
そんな事言う口など
縫い付けてしまえ
05/02/23 23:30:12ID:7NnOhZEm
・・・・・・・・・・
・・・・・・・・・・・
05/02/24 01:00:51ID:RU8p+2dU
>88
そんなことすゆ子は


零ちゃん ぶつじょ
05/02/26 07:50:51ID:YO8kA6JK
今日からRPGを作り始めることにした
とりあえずウィンドウ表示だけつくった
途中で飽きるかもしれないが

ttp://gamdev.hp.infoseek.co.jp/cgi-bin/up/No_0030zip.html
05/02/28 01:42:48ID:x5J/cIzu
API + C++でやってんのか。フレームワークを使わないその心意気よし。
でもゲームで使う程度ならわざわざウィンドウクラス作らんでもいい気がしないでもない。
まあOOP好きじゃないヤシの独り言だけど。
05/03/02 10:14:39ID:wdYy/m2T
>>91
期待。
05/03/04 02:32:54ID:18jfTz77
なかなか開発時間が取れない訳だが…

DIBSectionを作って、ウィンドウに赤い矩形を描いた

ttp://gamdev2.hp.infoseek.co.jp/cgi-bin/up/No_0003zip.html

>>92
批評ありがとうございます
ウィンドウ表示を使いまわそうかと思ってクラスにしてますです

>>93
へたれなので、のんびり作っていく予定っす
05/03/04 05:36:17ID:w55fjCTM
自分のC++の勉強にもなりそうっす。がんばてください。
96名前は開発中のものです。
垢版 |
05/03/09 19:04:05ID:rDSrhxYN
クラスの説明が理解しやすいサイト
教えてください、人のオープンソース見ても全然わからなくて
05/03/09 19:14:33ID:J3i+4rjF
猫でもかワイズダムソフト
05/03/09 19:26:45ID:2NJ5xnut
wisdomのC++は全部勉強したんですが、
クラスを使ってのゲームの作り方のようなのを解説しているサイトを
知りませんか?
05/03/09 20:23:08ID:3eEAr32+
ググれ
http://www.google.com/
05/03/09 23:13:34ID:5Fm2MPTT
C++スレで言うのもなんだが、別にクラスありきじゃなくてもいいと思うぞ。
05/03/10 14:24:14ID:9d9DIWb5
struct Player とかで分けて
作る方法しかしらないんですが、DirectXの勉強に入ってもいいですか?
05/03/10 15:25:59ID:O9bJykz9
>101
C以上ならいいと思う
103102
垢版 |
05/03/10 15:27:52ID:O9bJykz9
すげー文面読み違えてたorz
CでもDirectXは出来るぞ
05/03/12 02:15:31ID:Ci+7MgqV
>>101
まずは、DOS窓で動く物を作ったほうがいいと思う。
できたら、それをDirectXに移植が勉強になってよいぞ。
05/03/13 09:01:40ID:yodbv96O
なんとか週一のペースを維持したい('A`)

文字表示が出来るようになった
MIDIを簡単に鳴らせるDLLがあったので使ってみた

ttp://gamdev.org/up/img/2427.zip
05/03/13 12:42:30ID:hbCTUoBL
>>105
音を鳴らすのはMCIとか楽だぜベイビー
107名前は開発中のものです。
垢版 |
05/03/13 14:50:20ID:Gav+WFan
>>98
MFCなら<http://www2s.biglobe.ne.jp/~sinmasa/>
ライブラリ使ってるなら色々あるでしょうが、
全て自前となると解説までしているサイトは私は見たことないですね〜。
オープンソースなら
<http://f44.aaa.livedoor.jp/~sagadev/saga4wiki/pukiwiki.php?FrontPage>
<http://homepage1.nifty.com/sakurayama/>;
くらいでしょうか・・・。
<>
05/03/13 15:02:50ID:idmmnJMg
>98
猫にしろワイズダムにしろ、そこに書かれているのはC++の文法について
オブジェクト指向の理解が不十分だからクラスのデザインができない
言語理解はもちろんだが、それとは別にオブジェクト指向の概念の理解が必要
というわけで次はオブジェクト指向でググって勉強しる
サイトは知らんが、漏れのお勧め書籍は
憂鬱なプログラマのためのオブジェクト指向開発講座 C++による実践的ソフトウェア入門
ttp://www.amazon.co.jp/exec/obidos/ASIN/4881356194/250-0536964-7363426
05/03/13 15:12:22ID:2/dZfKbi
憂鬱な…はある程度理解しているひと向けだとおもうが。
05/03/13 16:33:36ID:yodbv96O
>>95
お互いガンガろうぜ!

>>106
MCIでループさせると、繋ぎ目で空白部分が出来たので
拾ってきたライブラリつこてみました
05/03/13 21:57:09ID:KexRPIpE
クラス設計(というか使い方や意図)はVBとかで適当に窓アプリ作ってればわかると思うけどな。
オブジェクト(クラス)&プロパティ(クラス変数)&イベント(メソッド)=オブジェクト指向だし。
05/03/14 06:47:53ID:S/PdDMS7
>>111
それだけでわかりますか?本当にわかりますか?
05/03/14 23:01:46ID:iP2mgtm8
APIを直接扱うのって、皆が言うほどめんどくさく無い気がする
VC++の場合ね
05/03/15 00:20:58ID:+EvsjKCI
まあAPIそこそこ習熟してればMFCなんか(゚听)イラネよな。
特にMFCフレームワークはうんこ。
05/03/15 00:29:00ID:2caYpl3H
>114
まぁもともとゲームを作る用のフレームワークではないのだから
ゲーム作ろうと思ったらMFCは大便なのは小がない
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況