X



C++でRPGゲームを作成する
■ このスレッドは過去ログ倉庫に格納されています
0001じっち
垢版 |
04/11/23 07:14:50ID:CCsv+84e
少し前まではHSPで作ろうと思っていたのですが、HSPでRPGゲームを作るのは難しいらしいので、C++で作ろうと思います。
C++のプログラミングは初めてですので、みんなの力が必要です。
お願いします。
あと質問ですが、C++ってMMORPGつくれますか?
0008名前は開発中のものです。
垢版 |
04/11/23 10:05:23ID:JYYvqkfT
冷静に考えれ、
RPG作るのにどのくらい手間がかかると思ってるんだ?

まず、キャリアに空白作る覚悟と
半年〜一年、生活費に困らないくらいの金を用意しとけよ

それで作った果てに何が得られるかを考えてみれ
0009名前は開発中のものです。
垢版 |
04/11/23 10:34:23ID:88eOz1qA
そもそもスレを立てるなら既存のスレのチェック、
そして関連リンクや自分の知っている限りのツールの紹介は書くべき。
最低限のことすら出来ず全て他人任せ。
>>1がいかに甘やかされて育ってきたかよく分かる。
はっきりいって無能、ゴミといったらゴミに失礼なレベル。
0011名前は開発中のものです。
垢版 |
04/11/23 12:27:07ID:f1KmWlDB
hspの方が作るのは簡単かと・・。
まぁ1さんは脳内理想がお高そうなのでhspじゃ不服かもしんないけど。

*INVENTORY
gosub *DROWMAP
redrow 1
color 0,0,0 :boxf 80,40,400,240
color 255,255,255 ;レベル・体力を表示
0012名前は開発中のものです。
垢版 |
04/11/24 01:12:11ID:+8xggvim
「なんで」HSPじゃダメで、
C++でなら「どうやって」問題が解決できるのかちょっと興味があるようなないような。
0017名前は開発中のものです。
垢版 |
04/12/10 01:09:00ID:iqZToevn
何をもって「いい」というかは知らんが、ここにドラクエタイプならある。

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

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

002619
垢版 |
04/12/11 16:13:19ID:4zM5gDQ1
レスありがとうございます。

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

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

AAがちゃんと表示されないソース(必要最低限)
http://gamdev.org/up/img/2087.phps
0027名前は開発中のものです。
垢版 |
04/12/11 16:27:55ID:811lQTfW
>26
ブラウザの文字表示は文字ごとに幅が変わるけど
DOS窓なんかは幅固定だから同じような表示は無理
テキストエディタでAAを見えるように編集したものをつかわないとダメポ
逆にブラウザだと連続した半角スペースは省略されるけど
DOS窓だと省略されない
003117のRPG作者
垢版 |
04/12/12 10:49:58ID:56kNXguI
>>18

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

>>26

とりあえず、Win32のDIBSectionを使ってみると良いでしょう。
扱いやすく、機能的にもDirectX(旧DirectDrawやDirectGraphicsの
サーフェス)の描画機能と共通点が多いので、これでフレームバッファ
の処理やGDIの描画機能に慣れておくとゲームも創りやすくなります。
003219
垢版 |
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でチェックしときゃよさそうだ。
難しく考えすぎてた_| ̄|○
003419
垢版 |
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/
003719
垢版 |
04/12/14 20:19:49ID:gCFzZM8K
SDLボチボチとやってます。
PNGを透過して表示するところまでできました。
うぷろだ落ちてるみたいですね。

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

>>36
VC++2003です
0039名前は開発中のものです。
垢版 |
04/12/14 23:31:15ID:EyG3+mk4
導入さえしてしまえば
恐ろしく楽>SDL
初期化で悩んでいたのが嘘の様
日本語で解説してるサイトがあるから
英語分からなくてもなんとかなるし
004019
垢版 |
04/12/15 22:08:27ID:XINzQQ0L
今日はここまで
http://gamdev.org/up/img/2125.zip

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

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

参考サイト
ttp://tokyo.cool.ne.jp/sdl/
0044名前は開発中のものです。
垢版 |
04/12/17 01:53:17ID:OjfvFzxw
>43
ImgFont.cppの29行目を
char* ptr = text;
から
unsigned char* ptr = (unsigned char*)text;
にすると半角カタカナ表示できるぞ
004519
垢版 |
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
0049名前は開発中のものです。
垢版 |
04/12/26 20:53:52ID:onqUEl+g
クリトリスは 【clitoris】なのでC
0050名前は開発中のものです。
垢版 |
04/12/26 22:04:35ID:avT5D6OA
結婚しても共働きってヤツだろ?
0051名前は開発中のものです。
垢版 |
04/12/28 10:13:20ID:ayKj1rFt
おいらも参戦していいですか?

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

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

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

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

手伝ってくれる人ボシュ。
0061名前は開発中のものです。
垢版 |
05/01/19 18:54:09ID:gdOmRwDD
スレ沈んできたんだからそろそろ真剣にはじめましょうよ。
とりあえずWinAPIだけで行くのかDirectX使うのかOpenGLとか使うのか
はたまたラッパーライブラリでも使うのか、はっきりさせましょうよ。

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

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

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

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

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

>>66
せやな。
RPGはチーム組んで開発したことはあったが
それ以来だったんで作りたくなってみただけさ。
ここは初心者にRPGが一朝じゃ出来ないことを教えるスレだったようだw
バイチャ(*^ー゚)/~~
0068名前は開発中のものです。
垢版 |
05/01/22 23:57:04ID:m6TEoyzo
ま、まってくれ!
じっちにそれを教えるまでは、君の役目はまだ終わっちゃいないんだっ!!
0070名前は開発中のものです。
垢版 |
05/01/23 11:39:45ID:ksnJTKjN
>>67
>分からないのなら君はそこまでということさ。
>音楽系こそmciで十分過ぎますが何か?

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

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

数レスの間にこんな矛盾を作れるなんてステキ
まあ、>>65=70と勘違いしてるんだろうな
0074名前は開発中のものです。
垢版 |
05/01/23 20:38:26ID:2TE7azf9
相変わらず無駄な議論の好きな人たちだこと。
0080名前は開発中のものです。
垢版 |
05/02/11 12:50:03ID:mzzUuHvZ
http://tokyo.cool.ne.jp/sdl/
ここのサンプルをコンパイルしながら勉強中・・・
0082名前は開発中のものです。
垢版 |
05/02/12 19:47:26ID:L/AO/QeT
>80
そこは日本語がすこし変だったりするけど、なかなかいいサイトだと思われ
まぁガソガレ
0091 ◆ErakzB51PM
垢版 |
05/02/26 07:50:51ID:YO8kA6JK
今日からRPGを作り始めることにした
とりあえずウィンドウ表示だけつくった
途中で飽きるかもしれないが

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

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

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

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

>>93
へたれなので、のんびり作っていく予定っす
0096名前は開発中のものです。
垢版 |
05/03/09 19:04:05ID:rDSrhxYN
クラスの説明が理解しやすいサイト
教えてください、人のオープンソース見ても全然わからなくて
0098名前は開発中のものです。
垢版 |
05/03/09 19:26:45ID:2NJ5xnut
wisdomのC++は全部勉強したんですが、
クラスを使ってのゲームの作り方のようなのを解説しているサイトを
知りませんか?
■ このスレッドは過去ログ倉庫に格納されています

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