ズブの初心者がゲーム作れるまで勉強するスレ
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/11/07 20:26ID:PFtlmWD9ズブの初心者以外お断りです。
なおアドバイス等はプロのかたでも結構です。
初心者は聞く耳を持ちプロもわかりやすく教えてやってください。
0662名前は開発中のものです。
2005/08/23(火) 01:46:47ID:SrVU/fFI0663名前は開発中のものです。
2005/08/23(火) 04:22:41ID:vDlV54JHああ、そうだよ。
君は、このサイト記事が参考になると思う。
ttp://www4.nasuinfo.or.jp/~hobby/Seminer/PG/prog_Text_46/prog_Text_46.html
0664名前は開発中のものです。
2005/08/23(火) 16:36:11ID:qx2o7Jdy一部な上ファイル名そのもの。切れない。
0665656
2005/08/23(火) 20:47:08ID:KDjDsV1vありがとうございます。ファイル名そのものですね。
データを編集したいときはテキストで開けば簡単に数値を変更できますし便利です。
0666656
2005/08/24(水) 00:25:18ID:WpgnZb3T敵キャラの数値をファイルにまとめて読み取る時などは
SetFilePointer()を使ってファイルポインタを動かして
ReadFile()で読み取る以外に方法はないでしょうか?
0667名前は開発中のものです。
2005/08/24(水) 07:00:40ID:63OjkXBDその方法に何か問題点があるなら、それに応じた代替策を提案できるかもしれないけど、
問題ないならそのまま使ったら?
大きく異なる手法を上げるとすれば、
・起動時(またはステージ開始時)に全ての(またはステージ単位の)敵パラメータを読み取っておく
・敵の種類の数だけパラメータファイルを用意する
0668名前は開発中のものです。
2005/08/24(水) 16:44:17ID:b1O43wpTファイルは1個単位で読むのを前提で。
0669名前は開発中のものです。
2005/08/31(水) 14:28:09ID:YTD8Lfou0670名前は開発中のものです。
2005/08/31(水) 15:07:11ID:3y1P0j8fそんな難解じゃないっすよ。
0671名前は開発中のものです。
2005/08/31(水) 15:19:59ID:YTD8Lfou0672名前は開発中のものです。
2005/08/31(水) 17:32:28ID:9MtA7DCZCそのものには画像関連の命令は無いから。
0673名前は開発中のものです。
2005/08/31(水) 17:56:55ID:YTD8Lfou0674名前は開発中のものです。
2005/08/31(水) 20:58:13ID:ImYSjo8H0675名前は開発中のものです。
2005/09/01(木) 09:10:39ID:oU/myrOm0676名前は開発中のものです。
2005/09/01(木) 16:42:33ID:80i9041u0677名前は開発中のものです。
2005/09/04(日) 15:49:08ID:2rlENL7S0678名前は開発中のものです。
2005/09/04(日) 16:17:53ID:pY5fU6eFまずは "Hello C World" を出すんだ!
0679名前は開発中のものです。
2005/09/05(月) 14:11:53ID:/Uvy9rK9でもやるんならCの方がいいかも
どっちを勧める?
0680名前は開発中のものです。
2005/09/05(月) 15:01:42ID:vOn7KYUn0681名前は開発中のものです。
2005/09/13(火) 19:06:39ID:R1ekNPn80682名前は開発中のものです。
2005/09/23(金) 04:40:11ID:mAdwWCmoとりあえず、なにか作りたいならVB.net(習得だけで、ゲームは作れるし。2ヶ月あればそこそこいける)
そうじゃないなら、C
ただし、後者の場合C自体の習得に1ヶ月さらにC++とAPIでもう一ヶ月。DirectXでさらに2ヶ月
ぐらいは掛ると思ったほうがいい。その分、できるようになれば、あれもこれも・・・・
まぁ、無難にVBを薦めておく。
0683名前は開発中のものです。
2005/10/14(金) 12:59:39ID:fMOmUg/Bエロゲを、Nスクとかツール使わずに1からC++で作ろうと思って勉強してますが、難しい…。初心者がコンパイラとサクラエディタだけでやるのは無謀でしょうか?
あとC++以外にも必要ですよね?
0684名前は開発中のものです。
2005/10/14(金) 17:20:55ID:gkfk5Q0Wウィンドウズプログラムが作れるならそれだけでできる。
0685名前は開発中のものです。
2005/10/14(金) 17:34:10ID:aeaumi7fキーボードやマウスの入力に応じてアクション。
とりあえずこれらができればゲームにはなると思うけど。
0686名前は開発中のものです。
2005/10/14(金) 17:52:44ID:fMOmUg/B何のC++と言ってましたが、種類あるんですか!?
今はコンパイラはボーランドの無料体験のを使って勉強してます。
0687名前は開発中のものです。
2005/10/14(金) 19:47:19ID:aeaumi7fC++ も規格で定められた標準があって、Visual C++ なり Borland C++ なりそれぞれの
処理系でしか使えない方言のようなものがある。また、
あなたのいう「C++以外」がどのようなものを想定しているのかは分からないが。
0688名前は開発中のものです。
2005/10/14(金) 20:16:09ID:fMOmUg/BC++以外というのは、(私がおそらく勉強しはじめだからと思うんですが)、コンパイルしてできたexeファイルがコマンドプロンプトの画面でしか実行できないんで、何か他のプログラム?(MFCみたいなの)が必要なのかなと思ってるんです。
ちなみに、まだ入門のクラスやらデストラクタをやっているくらいのレベルです。
0689名前は開発中のものです。
2005/10/14(金) 21:01:53ID:aeaumi7fBCC では使えないので今は気にしなくていい。
Windows っぽいプログラムを作るには Win32 API というものを使う。
↓の MessageBox が API を使う関数。
#include <windows.h>
int main() {
MessageBox(NULL, "こんにちは", "ご挨拶", MB_OK) ;
return 0 ;
}
0690名前は開発中のものです。
2005/10/14(金) 21:46:02ID:fMOmUg/Bきっかけがわかったので、あとはググって調べてみたいと思います。
ゲームできるように頑張ります。ありがとうございました。
0691名前は開発中のものです。
2005/11/06(日) 00:21:26ID:mbThmoV0って本を読んで
最初の「単なるウィンドウを出す」ソースを打ち込んでみました。
・・エラー二つ出てコンパイル不可。
自分の入力がおかしかったのかと思い
付属ディスクのソースでコンパイル。
・・やっぱりエラー二つ出て不可orz
始まって9ページ目からつまづきました。
本は買わずに、図書館で借りてきてよかったけれども。
VC++5.0を使っているのですが、こんなこともあるんですね。
とりあえずウィンドウ出してみたいんだけどなあ。
また本探しだ。
0692名前は開発中のものです。
2005/11/06(日) 02:16:19ID:H89u4wz4猫でもわかるのソースは新しいコンパイラだとエラーが出るよ
多分キャストされてないからだと思う
0693名前は開発中のものです。
2005/11/06(日) 02:19:39ID:H89u4wz4を
(HBRUSH)GetStockObject(WHITE_BRUSH)
とキャストするべし
0694名前は開発中のものです。
2005/11/06(日) 11:45:36ID:/qYnhYYiお返事ありがとうございます。
教えていただいたキャストは行われていたようです。
すみませんです^^;
(ソースの冒頭より一部)
#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
ATOM InitApp(HINSTANCE);
BOOL InitInstance(HINSTANCE, int);
char szClassName{} = "sample01"; //ウィンドウクラス
int WINAPI WinMain(HINSTANCE hCurInst, HINSTANCE hPrevInst,
LPSTR lpsCmdLine, int nCmdShow)
{(←ここでエラー出されてます)
(エラー内容)
無効なトークン '{' が 'szClassName' の宣言の後にあらわれました。
'int' : 指定された型は、識別子の名前を指定せずに宣言されています。
このようなエラー内容なのですが、おかしいのはどこなのでしょうか。
0695名前は開発中のものです。
2005/11/06(日) 11:58:51ID:5AL+nx1Zchar配列は {} じゃなくて [] だろう。
Windows云々の前にC言語をちゃんと勉強したほうがいいと思う。
0696名前は開発中のものです。
2005/11/06(日) 12:11:51ID:/qYnhYYiあ、すみません。打ち間違えですね。
けれど、打ち変えても同じエラーが出るのですが・・
(本付属のディスクのサンプルプログラムを使用しても同じエラーです)
0697名前は開発中のものです。
2005/11/06(日) 13:54:49ID:5AL+nx1Z助言したくてもどんな状況か分からないと出来ないよ。
そこは直したって事は別の箇所でしょ?
0698名前は開発中のものです。
2005/11/06(日) 16:42:55ID:dJcGHn62エラー場所は同じ箇所です。
状況は>>694から全く変わっていないです。
>>696の「同じエラーがでるのですが・・」では意味が通らなかったでしょうか。
すみません。
0699名前は開発中のものです。
2005/11/06(日) 18:28:31ID:5AL+nx1Zソースの全文上げてみたら? どこがおかしいか分かるかもしれない。
0700名前は開発中のものです。
2005/11/06(日) 19:56:10ID:UGRO2i2zまた本読み直したりしてみます。
ご親切に色々お付き合い頂きありがとうございましたm(_ _)m
0701名前は開発中のものです。
2005/11/11(金) 12:28:04ID:FFStqdSM1からC++をはじめたら、エロゲーみたいなのが作れるようになるまでどんくらいかかりますか?
あとCPPだけであんなふうにゲーム作れるんでしょうか?
0702名前は開発中のものです。
2005/11/12(土) 11:32:48ID:RI28v1Tc人によるとしか言い様がありません。
> あとCPPだけであんなふうにゲーム作れるんでしょうか?
CPPとは? C++ のことならプログラミング面でなら C++ の処理系だけで基本的には事足りるでしょう。
「あんなふう」がどんなのなのか具体的に分かりませんが。エロゲーといってもいろいろあるだろうし。
0703名前は開発中のものです。
2005/11/20(日) 04:02:52ID:PktMjKAY答えます。
貴方には一生不可能です。断言できます。
0704名前は開発中のものです。
2005/11/27(日) 01:04:59ID:/NJpQ+YX言語はC++ならちょくちょく出来ます。
0705名前は開発中のものです。
2005/11/27(日) 03:05:29ID:p26Hn0q50706704
2005/11/28(月) 01:44:03ID:C7MsayDa時間はかかると思いますが。
でも、設計や実現方法などがよくわからなくて・・・。
ソースを添削したり、ご意見などを頂ければうれしいのですが。
ちなみにこのようなゲームはアクションゲームを参考に作った方が良いのですか?
0707名前は開発中のものです。
2005/11/28(月) 09:44:35ID:WgbuxrsV少なくともWin32プログラムに関しては、私よかできるっぽい。
まずはゲーム作りのさわりの部分だけなら、
少しだけお役に立てるかも。てゆか、プログラム晒したらここ見てる
私以外のすぺしゃるなプログラマさんもアドバイスくれるかと。
私はWindowsのDDBとDIBしか知らないので、
それ以外の描画法ではお役に立てないっぽいです。。
さて、では現在以下の事項のどれぐらいが可能ですか?
・窓出す
・絵出す
・Bitmap読み込み関数作れる
・キー入力で絵を動かす
・ダブルバッファリング
・背景を切り抜いてキャラ表示
あ、例がほしいなら言ってくだされ。
ぶっちゃけ超雑魚である私も一緒にお勉強したいから ^^
0708名前は開発中のものです。
2005/12/02(金) 19:30:32ID:F4c1AUXc0709名前は開発中のものです。
2005/12/03(土) 17:15:18ID:2thd4ss9日曜プログラマー再開した俺も混ぜてクレ
・Bitmap読み込み関数作れる :
これはLoadImageでFile、リソースを読むのと、
BITMAPファイルヘッダBITMAPINFOでDIB作ってそこに読み込むのあるよね。
DIBはMicrosoftのCDibってクラスがネットにころがってるのを利用してる(便利だとおも)
LoadImageでしばらく苦労した。
リソースを読み込む場合
m_hImg1 = ::LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_BITMAP1),
IMAGE_BITMAP,0,0,LR_LOADTRANSPARENT);
MAKEINTRESOURCE()を使ってやっと読み込めた。これって普通なのかな?
・ダブルバッファリング
やろうとしてそのタイミングで悩みました。MFCでやってるからかな。
今は
void CChildView::PreSubclassWindow() {
...
AfxGetApp()->m_pMainWnd->GetWindowRect(rct); //ClientRectでは駄目みたい
CClientDC dc(this);
m_pdcView = new CDC;
m_pdcView->CreateCompatibleDC(&dc);
m_memView.CreateCompatibleBitmap(&dc,rct.Width(),rct.Height());//適切な大きさってなんだろう?
m_pOldbmp = m_pdcView->SelectObject(&m_memView);
...
}
PresubclassWindow newしてますが他にもっと自然な方法とかありますか?
0710名前は開発中のものです。
2005/12/03(土) 17:25:58ID:dfndRTr40711名前は開発中のものです。
2005/12/03(土) 19:21:57ID:2thd4ss9げげげ、ななななぜですぅ?
0712名前は開発中のものです。
2005/12/04(日) 04:55:45ID:CQnjNx+rなんだこれは。暗号か?嫌がらせか?みんな、こんな難しいことやってんのか?
…これからは、どんなにしょぼいゲームでも馬鹿にしないようにしよう…
0713名前は開発中のものです。
2005/12/04(日) 13:58:01ID:vtdx6wPJ0714名前は開発中のものです。
2005/12/04(日) 15:42:06ID:oNAAJPS20715名前は開発中のものです。
2005/12/04(日) 17:27:23ID:DkqQT6e2GUIを使わないなら利点を得られないってことかな。
ゲームはWindows特有のコード部分はあまりないんで。
細かいとこもいじりやすいし。
0716名前は開発中のものです。
2005/12/04(日) 19:45:24ID:6fWhhFktあれは意外と良いモノだ。
0717名前は開発中のものです。
2005/12/08(木) 01:20:21ID:3+4J7RKTWTL7.1はダウソしてありますが、まだ未熟者なのでしばらくMFC環境でシコシコやってました。
でも、704も707も居なくなってしまったんですな…
漏れが混ぜてクレなどと書いたのがいかんかったかなとか思って書き込みやめてみたんですが
0718名前は開発中のものです。
2005/12/08(木) 01:31:21ID:3+4J7RKT「背景を切り抜いて」
なんですが、これはやぱりモノクロビットマップでマスク用DDBを作りますよね?
で、基本はファイルからDIBに読み込んで置いて、からDDBを作って同時にマスク用DDBも作る
って感じで DIBとは別にDDBのクラスを作っているところ
この場合、別のクラスにしてしまうつもりなんですが、DIBのクラスを継承してDDBイメージも持たせちゃう方がいいですかねぇ?
0719名前は開発中のものです。
2005/12/08(木) 16:32:55ID:e3zTKzAY0720名前は開発中のものです。
2005/12/09(金) 00:48:19ID:6JCB2/dT707で
・背景を切り抜いてキャラ表示
なのでてっきりマスクDDB作るのかなあと思ってました。
DIBだけの処理なんですが、学習中なので24bitビットマップ同士とかの処理しかできませんorz
最近DIBからImage本体とMask用のDDBをセットでクリエイトする方法をやってみようとしてたところだったんで
その方向で書いてました。
マスクビットマップあると何気に面白いッス
0721名前は開発中のものです。
2005/12/11(日) 21:55:14ID:A2uaBpyMおれもここに来て勉強するぞー
0722名前は開発中のものです。
2005/12/12(月) 03:10:23ID:FQHOjORN無料だよ?
0723名前は開発中のものです。
2005/12/12(月) 16:39:01ID:/6d62phh0724名前は開発中のものです。
2005/12/12(月) 17:06:07ID:6Xf+w43J0726名前は開発中のものです。
2005/12/12(月) 22:22:17ID:6zRxv5j6頑張れよー
ここを読んでおくといいかもWTL(>>716お勧めのやつ)を使えるようにする方法
ttp://pc8.2ch.net/test/read.cgi/tech/1131590396/16-18
俺はVC6のままなんでやってない
0727721
2005/12/13(火) 21:39:35ID:+8731oKE('`)ァァァァァァ
0728名前は開発中のものです。
2005/12/14(水) 00:59:33ID:gXhStAxvEXPRESSでHDDってどれぐらい食うの?
0729名前は開発中のものです。
2005/12/14(水) 01:03:51ID:gXhStAxv自己解決 1.3GBだな、漏れはXPのSP2入れてないから…
0730名前は開発中のものです。
2006/01/03(火) 01:19:16ID:ILudQXI1また、誰も居なくなってしまったなー
一般的なズブの初心者にはMSの要求スペックは高すぎってことかなと
ズブの初心者が始められる環境を考えてみようと調べてみた。
(漏れも初心者級なので自分のためにもなる)
ズブの初心者でも周りに仲間が居る場合は問題ないのでそうじゃない場合を考えてみる。
0731名前は開発中のものです。
2006/01/03(火) 01:21:18ID:ILudQXI1言語:HSPに行っちゃう方が自然だが9月からの流れはCというかC++
C++でエロゲ、猫でも本のコンパイルが出来ない(これはCなんだがキャストがウザイのはC++風味)
なんだかC++以前の気もするが気を取り直してつづきを
0732名前は開発中のものです。
2006/01/03(火) 02:08:57ID:ILudQXI1書く元気がなくなりましたorz
0733だめぽ
2006/01/04(水) 02:01:11ID:NsRcQhHm0734名前は開発中のものです。
2006/01/05(木) 12:15:09ID:opsCm8oAネット環境が携帯しかないのでなかなか検索にそういうサイトがひっかかりませんors
0735名前は開発中のものです。
2006/01/05(木) 15:14:18ID:nA3IOc/i0736名前は開発中のものです。
2006/01/05(木) 18:53:07ID:wT0vTzhf0737名前は開発中のものです。
2006/01/05(木) 22:49:38ID:VxCiBCK1がんばってみようかと思います。
手元にあるのはVC6.0。何年かかるか分からないけどコツコツいくかー。
0738名前は開発中のものです。
2006/01/05(木) 23:52:20ID:Iwa/nYiX0739名前は開発中のものです。
2006/01/06(金) 00:48:35ID:3rlWXs0P0740BM777
2006/01/06(金) 23:46:58ID:9HXkPUFz漏れも、この間からC言語を独学で勉強し始めた
お互いがんがろう
0742名前は開発中のものです。
2006/01/07(土) 02:42:54ID:CYKFf4iJ猫さんの最初のソースをビルドしたら、キャスト作れみたいになった。調べたらキャストってC独特みたい。難しい。ビルドできない。最初の壁かも。
0743名前は開発中のものです。
2006/01/07(土) 03:33:27ID:pvfxVtyV0744名前は開発中のものです。
2006/01/07(土) 06:56:37ID:i8N5i8L1char* test = (char*)hoge;
0745名前は開発中のものです。
2006/01/07(土) 07:02:38ID:Oh/tRVLDどこの何行目で引っかかってるかを言え。
さすれば道が開けるかもしれん。
0747名前は開発中のものです。
2006/01/07(土) 11:55:24ID:CYKFf4iJ明示的なキャスト…Cの本も必要かな。買ってこよう。
0748名前は開発中のものです。
2006/01/07(土) 14:53:35ID:f7WS+7/d恐らく、キャストしろってのは
CのソースをC++でコンパイルしているから言われるんだと思う。
ここからはソース見ずに憶測で書くので
見当違いなこと言ってるかもしれんが、ソースの最後の方に
return msg.wParam;
ってのがあって、そこでキャストしろと言われたりしていないか?
そこでは
return (int)msg.wParam;
と直せばうまくいくはず。これでエラーが消えたと思われ。
もしかしたら、HBRUSHにキャストしろというエラーも出てるかもしれんが
これは自分でエラー文見てどこ直せばいいか探してくれ。
0749748
2006/01/07(土) 14:59:28ID:f7WS+7/dttp://www.s34.co.jp/cpptechdoc/article/newcast/
正直C++もこなせていない予感がする。
焦らずに基本的な文法を復習してから
ウインドウズプログラミングに臨むといいと思われ。
0750名前は開発中のものです。
2006/01/07(土) 15:54:29ID:h1OItEz00751名前は開発中のものです。
2006/01/07(土) 16:50:54ID:CYKFf4iJちなみにエラーは、HBRUSH関連のキャストでした。
0752名前は開発中のものです。
2006/01/07(土) 17:36:04ID:Oh/tRVLDそれたぶん普通にCタイプのキャストすれば通るよん。
0753名前は開発中のものです。
2006/01/07(土) 21:21:21ID:CYKFf4iJはい。それはわかるんですが、勉強不足のため、どうキャストしたら良いのかわからないんです。
なのでCでキャストについて勉強してみたいと思います。皆さん、御返答ありがとうございました。
0754名前は開発中のものです。
2006/01/07(土) 21:59:01ID:/sz4CCM9myProg.hbrBackground =(HBRUSH )GetStockObject(WHITE_BRUSH);
0755名前は開発中のものです。
2006/01/07(土) 22:59:56ID:CYKFf4iJキャストの意味が理解できました。感謝です!
0756754
2006/01/08(日) 00:44:22ID:o+AQmuYaでも.CPPじゃなしに.Cでやってればキャストなしで通ってwindowでたッスよ
(cppでやるぜって気概は買いますが)
0757名前は開発中のものです。
2006/01/08(日) 02:35:41ID:d3j6rpHj.Cでやると、fatal error LNK1181でファイルが開けませんってエラーが出るんです。
使用環境は、VC2005EEにPSDKとDXSDKを足してやってます。
ちなみに、.CPPでキャストをしたら、ビルドできました。中の文字は意味不明になってましたが順次解決していきます。
0758名前は開発中のものです。
2006/01/08(日) 02:51:25ID:d3j6rpHj.Cのビルドについては自己解決しました。
あとはこの文字化けをなんとかして先にすすみます。早くゲーム作りたいです。
0759名前は開発中のものです。
2006/01/08(日) 02:59:44ID:o+AQmuYaLINKエラーの1181はファイルがないよーーってやつでコンパイルはOKだったってことだとオモ
VC2005は持ってないので分かんないけどVC6では普通に一発OKだった。
BCC5.5.1も -WでBCC32で一発OKでした。
VC++ではWIN32Applicatinで空のプロジェクトを作ってそこに入れただけだったんだがなあ。
別のPCにExpressを入れる予定だから入れたらやってみます。
0760名前は開発中のものです。
2006/01/08(日) 03:00:31ID:o+AQmuYaあ、解決してたのね
0761名前は開発中のものです。
2006/01/08(日) 10:20:02ID:DwXHldUB■ このスレッドは過去ログ倉庫に格納されています