トップページ⇒tech
1001コメント289KB

C/C++言語でRPGを作ってみるスレ

■ このスレッドは過去ログ倉庫に格納されています
0001武家諸法度@co.jp2005/04/30(土) 13:07:56
作りたい人がきて。
0153デフォルトの名無しさん2005/05/14(土) 14:49:49
ばか、それは大昔の話だよ。
今はほとんどHSPで作られてる。
0154釣られてみる2005/05/14(土) 14:54:07
Ω    ΩΩ<ナ、ナンダッテー!
0155デフォルトの名無しさん2005/05/14(土) 14:56:14
昔はBASIC、今はFLASHが多い
プログラムonlyでやってきた人はFLASHの実力にまだ気づいてないからチャンスだよ
0156GreatFixer ◆ASWqyCy.nQ 2005/05/14(土) 20:07:27
C言語でアクションゲームを作れるかというと、
ごく一部の人しかできないだろうと思い込んでいるのは私だけか?
0157デフォルトの名無しさん2005/05/14(土) 20:45:51
品質次第だろう。
0158デフォルトの名無しさん2005/05/14(土) 20:47:29
ゲーム向けのライブラリってロクなのないからな
0159デフォルトの名無しさん2005/05/14(土) 22:50:52
周期的な描画と、表示する絵さえ用意できれば、さほど難しいこともない。
0160デフォルトの名無しさん2005/05/15(日) 00:32:48
CreateGame〜陸海空オンライン〜
日本最大MMO製作プロジェクト始動!

有志による企画です。3Dグラフィッカーの参加急募!w
0161デフォルトの名無しさん2005/05/15(日) 01:24:45
>>160
そこ全然募集してないじゃん、2ちゃんねる内じゃないし
0162デフォルトの名無しさん2005/05/15(日) 08:03:00
3DRPGって、つくんのムズイ?
0163デフォルトの名無しさん2005/05/15(日) 08:18:54
>>162
簡単ならフリーの3DRPGが沢山あるはずだが
実際はほとんど無い。つまりそこそこムズイと思われ。
0164デフォルトの名無しさん2005/05/15(日) 10:43:17
3Dには数学的なことが多いからな
0165デフォルトの名無しさん2005/05/15(日) 12:00:45
ソフト高いよ
0166デフォルトの名無しさん2005/05/15(日) 13:54:46
少ないのは3DRPGツクールが無いからじゃね?
それに3Dゲームはウケが悪いよ
2ちゃんねるでRPG作ろうって話が盛り上がっても2Dにしたがるし

>>165
同意
メタセコやブレンダーじゃやってられんし
0167デフォルトの名無しさん2005/05/15(日) 17:10:08
ツクールがあれば当然増えるだろな
> 月に行くのってムズイ?
> 行った人少ないから、ムズイだろ
> 月に行った人が少ないのは自家用ロケットが無いからじゃね?
と同じような話だが
0168デフォルトの名無しさん2005/05/15(日) 18:09:45
おまえらが2Dのツクールしか知らないことはよくわかった
0169デフォルトの名無しさん2005/05/15(日) 18:33:03
よし、じゃあ次作は3Dにする(豪語
0170デフォルトの名無しさん2005/05/15(日) 18:44:50
プログラムもそうだがデータ作る難易度とコストも高いしな>3D
0171デフォルトの名無しさん2005/05/15(日) 19:01:17
一度環境整えば3Dのほうが楽だがな
0172デフォルトの名無しさん2005/05/15(日) 19:29:50
個人でやるなら2Dはきつくね?
0173デフォルトの名無しさん2005/05/15(日) 19:32:21
御託はいいから作って晒せ。
0174デフォルトの名無しさん2005/05/15(日) 20:05:51
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。
ネタ、板とは関係の無い話題はご遠慮ください。
0175GreatFixer ◆ASWqyCy.nQ 2005/05/15(日) 20:15:41
コンピュータが何かの処理をしながら入力も受け付けるという状態を作る方法が分かれば何とかなりそうなのだが、
巷にあるプログラミングの解説ではそういう話を聞くことがほとんどない。
0176デフォルトの名無しさん2005/05/15(日) 20:25:24
>>175
入力←┐
↓   │
処理  │
↓   │
表示  │
└──┘
ゲームプログラムの基本だが。
0177デフォルトの名無しさん2005/05/15(日) 20:30:50
WindowsならPeekMessageでも使っとけ
0178デフォルトの名無しさん2005/05/15(日) 20:36:29
そこでマルチスレッドですよ
ってそのほうがめんどくさいけどな
0179デフォルトの名無しさん2005/05/15(日) 20:48:59
処理をウィンドウズに返さないといけないのが癌
入門ならコンシューマプログラミングしたほうがいい
エミュレータや資料、ツールもウィンドウズでやるより充実してる
0180GreatFixer ◆ASWqyCy.nQ 2005/05/15(日) 21:01:07
Re:>>176 それでスーパーマ■オブラザーズのようなゲームはどうやって作るの?それとも「入力」と書いた部分に何か特別な意味があるの?
0181デフォルトの名無しさん2005/05/15(日) 21:03:20
【復刻版】☆沖川君の憂鬱について☆【著作権&転載free】
http://yasushikondo.no-ip.info/all/non-job/index.html
0182デフォルトの名無しさん2005/05/15(日) 21:12:26
>>180
入力は待たなくていい
0183GreatFixer ◆ASWqyCy.nQ 2005/05/15(日) 21:52:40
Re:>>182 JavaScriptとかHSPならできそうだけど、C++でやれといわれても私にはできない。(プロならできるんだろうけど。)
0184デフォルトの名無しさん2005/05/15(日) 22:00:10
3DRPG作りたいのだが、まったくの初心者どす。
どこでプログラムするか教えて。(詳しく)

プログラムの技術も。
0185デフォルトの名無しさん2005/05/15(日) 22:05:47
>>184 無理。
0186デフォルトの名無しさん2005/05/15(日) 22:11:56
>>183
ANSI C/C++の範囲では無理。
Windowsの窓が開くやつならGetAsyncKeyStateなどを使ってみるとか。
0187GreatFixer ◆ASWqyCy.nQ 2005/05/15(日) 22:13:19
アクションゲームを何か別の方法で作ってC言語でそれを呼び出してみるとか。
0188GreatFixer ◆ASWqyCy.nQ 2005/05/15(日) 22:14:09
結局[>>152]は単なる釣りだったのか?
0189デフォルトの名無しさん2005/05/15(日) 22:20:07
JavaScriptを実装するのにはたぶんC/C++が使われていると思う。
HSPを実装するのにはたぶんC/C++が使われていると思う。
ツクールを実装するのにはたぶん(ry

こんな具合で結局C/C++へ行き着くと思う。

>>190
「違う、アセンブリだ機械語だ」とか言うんだろ。どうせ
0190GreatFixer ◆ASWqyCy.nQ 2005/05/15(日) 22:24:20
Re:>>189 HSPはVCから作られているそうだ。
0191デフォルトの名無しさん2005/05/15(日) 22:24:27
ゲーム作るのってどのくらいかかる?
0192GreatFixer ◆ASWqyCy.nQ 2005/05/15(日) 22:25:22
アセンブリなら何でもできるだろうけど…。
0193GreatFixer ◆ASWqyCy.nQ 2005/05/15(日) 22:26:31
Re:>>191 たとえば百マス計算を作るとしたら10分間〜1時間ぐらいかな?いろいろなセリフがあるRPGは当然何日かかかる。
0194GreatFixer ◆ASWqyCy.nQ 2005/05/15(日) 22:27:56
いや、セリフだけなら半日くらいで終わるだろうな。
システムやルールの構成に半端じゃない時間がかかるかもしれない。
0195GreatFixer ◆ASWqyCy.nQ 2005/05/15(日) 22:30:42
商用のRPGなら、グラフィック、サウンドにさらに時間がかかる。
(当然分業でやるだろうけど。)
0196デフォルトの名無しさん2005/05/15(日) 22:35:33
大した技術力もないのに想像でモノを言うなよ・・・・
0197GreatFixer ◆ASWqyCy.nQ 2005/05/15(日) 22:36:42
Re:>>196 文句たれる暇があったら、[>>191]に答えてろ。
0198デフォルトの名無しさん2005/05/15(日) 22:40:17
>>197
スレ違い。よそでやれ。
0199デフォルトの名無しさん2005/05/15(日) 23:02:01
質問いいかな
3Dマップをメタセコで作って表示するところまではできた
でも、マップが大きいと処理落ちしてしまう
どうすれば快適に表示できる?
0200デフォルトの名無しさん2005/05/16(月) 00:04:13
シナリオどーすんの
0201デフォルトの名無しさん2005/05/16(月) 00:15:06
いらないよ
0202デフォルトの名無しさん2005/05/16(月) 00:21:28
>>199
見えないところは表示しない
0203デフォルトの名無しさん2005/05/16(月) 01:24:19
>>202
詳しく
0204デフォルトの名無しさん2005/05/16(月) 02:32:22
>>203
超遠くのほうのオブジェクトにポリゴン大量に使っても無駄だし
自分の後ろにあったり建物の陰になって見えないオブジェクトなんか描画したって意味ないでしょ?
0205デフォルトの名無しさん2005/05/16(月) 02:47:25
見えないとこなんて表示しようがないと思うが
たぶん描画命令の回数を減らせってことでしょ?
今はメタセコで作ったから1個のオブジェクトになってて部分表示なんてできないけど
これ分割しとけってこと?
0206デフォルトの名無しさん2005/05/16(月) 03:13:54
視錘台 カリング でぐぐれ。
分割しとけ。
0207デフォルトの名無しさん2005/05/16(月) 03:27:50
考え方はだいたいわかったけど具体的にどうやるの?
0208デフォルトの名無しさん2005/05/16(月) 12:23:56
それを考えたり、調べたりするのがプログラミングの楽しみの一つじゃないか?まぁ苦痛の一つでもあるけどさ

自分ではどんな実装を考えたんだ?
0209デフォルトの名無しさん2005/05/16(月) 13:54:08
メタセコで分割するのは面倒すぎるのでまずはプラグイン作成かなと
0210Be名無しさん2005/05/16(月) 21:20:22
http://tmp5.2ch.net/test/read.cgi/mog2/1116177047/
ここのスレ住人が速攻で回答してくれます
皆さん書き込みしましょう
0211デフォルトの名無しさん2005/05/16(月) 22:13:50
もうだめぽ・・・
RPGつくれない・・
というより音楽とかグラフィックもCでやるの?
RPG作りって、結構時間かかるみたいだけど、一人で作ったことある人は
どのくらいかかったか教えて
0212デフォルトの名無しさん2005/05/16(月) 22:50:34
つーか、へなちょこなRPGならHSPで作るべきだろ。
0213デフォルトの名無しさん2005/05/16(月) 23:47:46
>>211
いきなり大きなものを作ろうとしてない?
背伸びしないで最初は規模の小さなところから始めてみたら?
0214デフォルトの名無しさん2005/05/16(月) 23:52:27
>>62-64は、コーディング、テストプレイ、バランスの調整を含めて3時間ぐらいでした。
コーディング自体は短時間で、あとの2つの方がずっと時間を食いました。ご参考までに。
0215GreatFixer ◆ASWqyCy.nQ 2005/05/17(火) 09:21:35
Re:>>211
WWAでこの規模でも製作にかかる時間は48時間以上。(KMFantasy1〜4)
http://www.geocities.jp/kmath1107/wwa/index.html
グラフィックとか音楽をCで作るなんて話は聞いたことが無い。
(私が時々作っている画像ファイル生成プログラムは、既存のファイルを利用しているだけ。)
0216デフォルトの名無しさん2005/05/17(火) 12:57:55
なんでいちいちRe:をつけるの?
0217デフォルトの名無しさん2005/05/17(火) 13:26:57
つけちゃいけないの?
0218デフォルトの名無しさん2005/05/17(火) 14:11:36
どーしても 3D でやりたいって人は
D を Dimension じゃなくて Dice にしてみるのはどーだろう。
0219デフォルトの名無しさん2005/05/17(火) 14:14:46
三択かよ
0220デフォルトの名無しさん2005/05/18(水) 09:04:41
>>219
サイコロ3個だろ。
0221デフォルトの名無しさん2005/05/18(水) 12:02:21
3D6でレベルより値が低ければ成功
0222デフォルトの名無しさん2005/05/18(水) 15:24:56
3Dは、数学的なことも多いが、たまに2Dよりも楽に出来ることがある。

音楽とかグラフィックとかはどんなソフト使ってる?
0223デフォルトの名無しさん2005/05/18(水) 19:56:36
>>218
diceですよ。

#include <stdlib.h>
#include <time.h>
void Randomize(){
    srand(time(NULL));
    int temp=(rand()%100);
    for(int i=0;i<temp;i++){
        rand();
    }
}
int Dice(int Cicle,int Face,int P){//Cicle=ダイスを降る回数。Face=面の数。P=単純にプラスされる数。
    int Total=0;
    for(int i=0;i<Cicle;i++){
        Total += (rand()%(Face-1))+1;
    }

    return Total + P;
}

int main(void)
{   Randomize();
    for(int i=0;i<100;i++){
        std::cout<<Dice(3,6,0)<<std::endl;
    }
    return 0;
}
0224デフォルトの名無しさん2005/05/18(水) 21:05:52
なにこれ。
0225C++に移植しました2005/05/18(水) 21:08:55
うーん。悲しいなぁ…… C++ ソースには書いたんだけどなぁ……
rand のマニュアルを見て欲しいけど、生成する乱数のビットの下位ビットはランダム性が劣るため、
割算の余りを求めるのではなく、上位ビットを使うために生成範囲を求めたい範囲に縮小する
サンプルプログラムが書かれているはずです。
あと、先日移植する時に気づいたのですが、乱数といえば random() だと思って調べたら
ANSI C++ では cstdlib には rand と srand が定義されているだけでした。
この点を考慮したプログラムは次のようになります(特定の回数だけ乱数列をずらすのは省いてあります)
#include <iostream>
#include <cstdlib>
#include <ctime>
int r_gen(int range){
return (int) ((double)range*std::rand()/(RAND_MAX+1.0));
}
void Randomize(){
std::srand(std::time(NULL));
}
int Dice(int Cicle,int Face,int P){
int Total=0;
for(int i=0;i<Cicle;i++){
Total += r_gen(Face)+1;
}
return Total + P;
}
int main(void)
{ Randomize();
for(int i=0;i<100;i++){
std::cout<<Dice(3,6,0)<<std::endl;
}
return 0;
}
0226デフォルトの名無しさん2005/05/18(水) 21:42:43
行動の度に3d6とか入力して進むのか。
0227デフォルトの名無しさん2005/05/20(金) 06:36:41
毎回で悪いんだけど、Cのコードはどこで実行するの?
あと、コンパイラって何?
0228デフォルトの名無しさん2005/05/20(金) 06:56:05
>>227
> Cのコードはどこで実行するの?
IDEとか
> あと、コンパイラって何?
翻訳ソフト
0229デフォルトの名無しさん2005/05/20(金) 11:39:20
ゲ製作技術板のC/C++RPGスレから誘導されてきますた
こっちはソースとバイナリ晒すより雑談メイン?
まだイベントの実装をどうするか悩んでるところです
コンゴともよろしく
0230デフォルトの名無しさん2005/05/20(金) 12:02:04
>>229
何しに来たんだ。
0231デフォルトの名無しさん2005/05/20(金) 16:03:30
コンゴとはよろしくしたいですね
0232デフォルトの名無しさん2005/05/20(金) 18:04:26
>>229
一緒にforthスクリプト作らないKA!?
なんてね。
0233デフォルトの名無しさん2005/05/20(金) 18:20:51
>>225
ほんとはライムチャットのマクロ用なんだけどね。
面倒になって頓挫してるが。

最近、225のような実装を良く見るので何でだろうとおもっていたら、ランダム性を上げるためだったのね。
古の実装しかしらなかったので参考になります。サンキュー。

あと、なんで、あんなRandomaize関数を作ったかというと、
for(int i=0;i<INFINITY;i++){
    srand(time());
    R=rand();
}
こういうコードを書くと、まー当たり前かもしれないけど、数字が著しく偏るからです。
ま、それはそれとして、勉強になりますた。
ありがとう。
0234デフォルトの名無しさん2005/05/20(金) 18:42:20
乱数はメルセンヌツイスター使えばいいじゃん
種はPIDとftimeから算出して
0235デフォルトの名無しさん2005/05/20(金) 19:29:23
RPGなんてやめてRogue作ろうぜ!
0236デフォルトの名無しさん2005/05/20(金) 20:40:35
>>234
僕は数式が読めない上に、公式ページは閉鎖済みのようだ。
後の望みはboostのランダムに採用されてる位だな。
0237デフォルトの名無しさん2005/05/20(金) 20:44:29
>>236
ちゃんと探せ。
0238デフォルトの名無しさん2005/05/20(金) 20:46:07
ちゃんと探しましたがなにか?

馬鹿な人は何も書かなくていいですから^^
0239デフォルトの名無しさん2005/05/20(金) 20:52:44
国外に繋がらないようなネット環境の人なのかな?
でも日本語のページも腐るほど見つかったし。
ネットワーク回りの設定見直したほうがいいよ。
0240デフォルトの名無しさん2005/05/20(金) 21:08:52
もったいつける意味なんかあるの?
0241デフォルトの名無しさん2005/05/20(金) 21:16:08
公式って広島大学じゃないの?
作者のページはそうだよね?
0242デフォルトの名無しさん2005/05/20(金) 21:57:15
http://www.google.co.jp/search?q=Mersenne+Twister&lr=lang_ja
0243デフォルトの名無しさん2005/05/20(金) 22:22:56
英字で検索するのを忘れていた。
今は反省している。
0244デフォルトの名無しさん2005/05/20(金) 22:47:04
メルセンヌツイスターのソースが見つかったのは良いけど、
マジックナンバーが多くてなにやってるのかわからない。
srandとrand互換のやつ誰か作ってくれんかの〜。
0245デフォルトの名無しさん2005/05/20(金) 23:00:29
>>244
mt19937ar.cのinit_genrand()がsrand()、genrand_なんたら()ってのがrand()に相当する。
0246デフォルトの名無しさん2005/05/21(土) 09:04:40
BUG取れneeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
0247GreatFixer ◆ASWqyCy.nQ 2005/05/21(土) 16:41:08
Re:>>246 C/C++でのプログラミングはきれいにソースを書いてもバグ取りが困難な場合があるという。
0248デフォルトの名無しさん2005/05/21(土) 18:06:17
RPG大好きだが、作れない
0249デフォルトの名無しさん2005/05/21(土) 18:22:08
RPGって、移動してモンスターと戦ってなんかお宝とるっていうそういう定義とかあるの?
モンスターと戦う代わりに好きな彼女に告るっていうのだと
「恋愛シュミレーション」って言われてRPGにならないの?
0250デフォルトの名無しさん2005/05/21(土) 18:39:16
Role Playing Game

Role = 役
Play = 演じる
0251デフォルトの名無しさん2005/05/21(土) 20:51:29
よし取れた!この瞬間が快感!でも疲れたorz
0252デフォルトの名無しさん2005/05/21(土) 21:11:58
そんな貴方に
つ[ラブクエスト]
■ このスレッドは過去ログ倉庫に格納されています