トップページgamedev
981コメント342KB

【0から】C言語でゲームを作る【スタート】

■ このスレッドは過去ログ倉庫に格納されています
0001104/08/25 08:14ID:GyrQ+1pU
アイデアはあるけどプログラムその他ができない為に実現できない人、これから
C言語を勉強していきたい人、など

まったく0から覚えていこうというスレです。初歩的な質問から進行状況の報告、
こんなゲームを作りたいんだ、等の夢、妄想を語ってくれてもおkです。
みんなでモチベーションを高めて挫折しないようにがんばっていきましょう。

たまたま来た先輩方は、みんな初心者なので暖かい目で見守ってください。アドバイス
や質問に答えてくれる方は大歓迎です。
0152名前は開発中のものです。04/09/13 14:09:10ID:/yiJFWJO
SDLは使えるよ
0153名前は開発中のものです。04/09/13 14:11:28ID:/yiJFWJO
地味にパズルゲームでもつくろうよ
0154名前は開発中のものです。04/09/13 19:18:57ID:HDRAZrKR
>>143
みんな、何歳からスタートした?
ttp://pc5.2ch.net/test/read.cgi/gamedev/1006709626/

ム板参考:お前ら何歳のときからプログラミングやってんの?
ttp://pc5.2ch.net/test/read.cgi/tech/1054284287/
0155名前は開発中のものです。04/09/14 14:26:14ID:WQWvhem2
SDLでSurfaceを左右反転させる方法ってありますか?
マリオみたいなゲームで、キャラクター画像を右側のみしか用意していません。
左方向に進む時はSurFaceを左右反転して使おうとおもったんだすが、SDLには関数が用意されていないようですね。
出来ればライブラリは使いたくありません。
自前で作る場合、参考になる資料、サイトがあったら教えてください。
0156名前は開発中のものです。04/09/14 16:10:34ID:ZHV+0FTx
2Dゲームで左右の使い回しが一番嫌い。
0157名前は開発中のものです。04/09/14 21:09:13ID:YWBfFy2U
http://www.tacoworks.jp/software/SDLdoc-jp/html/sdlsurface.html
0158名前は開発中のものです。04/09/14 21:14:45ID:ckBU9Z+e
>>151
ピュアCって標準関数しか使わないってこと?それならウィンドウを開くことすらできないよ。
外部ライブラリが使えるなら、DirectXもC言語からでも使えるようになってるはずだし。
0159名前は開発中のものです。04/09/14 21:17:28ID:b8ULD2LH
>>158
× ウインドウを開くことすらできない
○ ウインドウを開くのは難しい
0160名前は開発中のものです。04/09/14 23:59:50ID:kR9XL6Bb
そもそもピュアCっつーのがイミフメ。
まあなんだかんだいってCだけでたいていの事はできる。
>>158の言うようにCOMコンポーネントも普通に使える。
0161名前は開発中のものです。04/09/15 11:14:42ID:x9fcMx2z
WinAPIを直接使うって意味じゃないか
0162名前は開発中のものです。04/09/15 22:41:28ID:trGyNepq
>>159
Cの標準関数だけでWindowsのウィンドウを表示できるという意味?
それは知らなかった。
0163名前は開発中のものです。04/09/16 09:03:12ID:FglfdYL/
まあ、できなくはないな。
0164名前は開発中のものです。04/09/16 13:01:14ID:xju66QwF
>>163
できればその理屈キボンヌ
0165名前は開発中のものです。04/09/16 13:35:54ID:0CRYeTdh
/*++ BUILD Version: 0001 Increment this if a change has global effects

Copyright (c) 1985-1997, Microsoft Corporation

Module Name:


windows.h

Abstract:

Master include file for Windows applications.

--*/
016616404/09/16 15:10:24ID:xju66QwF
ん。だからそれはAPIヘッダでしょ?
確かに普通はその関数使ってウィンドウ作るよね。VSだといちいち自分でゴリゴリ書かないけど。
0167名前は開発中のものです。04/09/16 16:43:34ID:GYKoe5d5
なんだかとってもピュアCだな
0168名前は開発中のものです。04/09/16 20:32:12ID:cWoxaH70
お馬鹿な質問で申し訳ない
APIは何で書かれてるんですか?
0169名前は開発中のものです。04/09/16 20:46:05ID:sVy/lpAv
Win32API?
0170名前は開発中のものです。04/09/16 22:01:03ID:aGlPkUEk
>>168
それはOSが何で書かれてるかっていうのと同じ。
C++かアセンブラだと思って、まつげーねー
0171名前は開発中のものです。04/09/16 22:24:35ID:dW+KQAD1
>>162
>>159ではないが、標準関数の定義がないと何とも言えない。
インラインアセンブルを標準関数に含めるならば出来る。
0172名前は開発中のものです。04/09/16 22:27:52ID:aGlPkUEk
ウィンドウってクラスじゃないの?
ただの構造体ってこと?
0173名前は開発中のものです。04/09/16 22:29:33ID:LhRmY6kz
HSPとかから初めて
プログラミングとはなんぞや、というのが体感できたら
Cとかに移ればいいんじゃないのかね>>1

CやC++の開発環境はやっぱり、Windowsプログラミングやるなら
普及度とか資料の求めやすさからいって
VC++あたりがいいのでは、ボーランドC++Builderが個人的には好きだが
0174名無しさん@お腹いっぱい。04/09/16 22:41:07ID:NXCFEtpN
三年前、BCB4買って資料、書籍の少なさに呆然。
vc++よりちょっとだけ安かったのだけど、大失敗。
bo派はビルダーとデルファイに勢力が分裂しているのもイタイ。
デルなんて独自言語覚える気もしないし。
0175名前は開発中のものです。04/09/16 22:42:38ID:ATLJhCtW
>>173
HSPはゲーム専用の簡易言語。
NScripterなどと同様の部類だからCと同じ土俵で見てはいけない。
0176名前は開発中のものです。04/09/16 22:49:32ID:aGlPkUEk
boland派の人から見て、MS系言語ってどういう風に感じるものなの?
0177名前は開発中のものです。04/09/16 23:06:57ID:IoHTZBPW
Delphiしか触ったこと無いけど、
C++とかのソース見てると思うこと

Delphiはブロック積み上げながら作って、
C系はねんどこねくり回して作ってる
みたいな感じはする
0178名前は開発中のものです。04/09/16 23:21:47ID:lXgEqBxn
>>176
製品版ユーザ同士では、信者同士の確執(?)みたいなモンは無いと思う。
MSの言語製品は、割合に有名どころの人材を確保して作ってるから、
コード効率とかもかなり優れてる部類だし。
製品としては特に叩く理由も無いよ。

MS叩いてるのは、大抵はフリー版BCCとかGCCを使ってる無料厨連中だよ。
0179名前は開発中のものです。04/09/16 23:51:25ID:8ZKR874J
「Delphiを一度使うと、MS系には戻れない」っていうのをしばしば聞くね。
マイナー派がいいというほかに、なにかあるのなら聞いてみたいけど。
0180名前は開発中のものです。04/09/17 03:34:32ID:eOOFcE1Z
>>164
彼のはPGには誤解ある表現かもな。
>>163はおそらく困難だと返答してる。
そりゃ"不可能ではない"だろw
0181名前は開発中のものです。04/09/17 08:12:51ID:kLcifsOX
>>179
BCBとVC++の比較になりますが
BCBの方がコントロールをラップしているクラスが扱いやすく、Windowメッセージが上手く隠蔽されているのでWindowsプログラミング作法を意識しなくて済みます。
例えばTextEditコントロールの場合、BCBではビジュアルエディタ上にコントロールを置いて名前を付ければその名前で直接TextEditコントロールが持つメンバーやメソッドにアクセス出来ます。
VC++ではビジュアルエディタで作成出来るのはリソースのみで、TextEditクラスを宣言し、クラスのインスタンスをクリエイトする再にリソースIDを指定します。
TextEditコントロールの値を参照・変更する場合にはメソッドにアクセスします。
Windowsメッセージのディスパッチ部分も隠蔽されておらず、ウイザードで自動作成は出来ますが変更は半手動になります。

基本的なコンポーネントだけを使って作る場合にはBCBの方が圧倒的に労力が少なくて済みます。
一方、カスタムコントロールを作ったりメッセージをフックして例外処理をしたりとかデバイスに直にアクセスしたい場合などはVC++の方が圧倒的に楽です。
0182ベーシック飯田 ◆BASICIDAmw 04/09/17 18:20:38ID:EF8cgwbN
僕は、C言語を勉強することにした。そこで独習Cを買ってきたのだが、分厚い・・・。しかし論理的に書かれていて読みやすい。
C→API→C++→DirectXという感じでレベルアップする予定。とりあえず今年中にウィンドウを表示できるようになりたい。
0183◆MUx1Bn/.V2 04/09/17 18:26:48ID:2URNJ5Ws
>>182
がんばれ.......(;´`)
0184ベーシック飯田 ◆BASICIDAmw 04/09/17 18:28:01ID:EF8cgwbN
ちなみに Borland C++ Compiler 5.5 とメモ帳で書いてます、無料マンセー。
0185ベーシック飯田 ◆BASICIDAmw 04/09/17 18:29:37ID:EF8cgwbN
>>183
どもども【^^】
0186名前は開発中のものです。04/09/17 18:40:23ID:nn6YytwE
>>184
メモ帳よりもxyzzyの方が使いやすいよ
0187ベーシック飯田 ◆BASICIDAmw 04/09/17 19:02:26ID:EF8cgwbN
>>186
ありがと【^^】
メモ帳と言いつつ寺パッド使おうかと考えてたんだけど、このソフトもなんか良さげだね
0188名前は開発中のものです。04/09/17 20:23:48ID:K9/L9xZz
>>186
おかしなモン薦めるなよ。
0189名前は開発中のものです。04/09/17 20:26:11ID:jh04yrK8
BCCだろ?
それだったら「BCC Devloper」がお勧め。
0190少年 ◆KONA9KdnAg 04/09/17 20:34:26ID:HExdQQvb
>>182 おお おいらとまったく同じ考え、環境だ。

とりあえず今年中に空を飛びたい。        記念カキコ。」
0191ベーシック飯田 ◆BASICIDAmw 04/09/17 20:44:22ID:EF8cgwbN
>>188>>189
あ、本家っぽいからこっち使いますわ、どもども【^^】

>>190
一緒に大空へ羽ばたくぞ!バサバサ(本をめくる音)
0192名前は開発中のものです。04/09/17 21:10:14ID:ReD9siUU
>>179
C#があるので無問題
0193名前は開発中のものです。04/09/17 21:33:10ID:WHbHkIaE
>>176
ANSI C++のテンプレートの実装度はボーランドより上だなあ

クラスライブラリについては
デバイスコンテキストの使い勝手が、MFCよりもOWL、VCLの方が(・∀・)イイ!!!
って印象だなあ
0194名前は開発中のものです。04/09/17 21:44:28ID:8VacFD/E
>187
そういえば寺は本がでてたよなー
あと無料ならsakuraあたりはどうよ?
ttp://pc5.2ch.net/test/read.cgi/software/1064129817/l50
0195名前は開発中のものです。04/09/17 21:54:29ID:QM+jy6Qn
>>179
パスカルは教材用に作られたんだっけか。
体得しやすく工夫されてるのかも知れん。
0196名前は開発中のものです。04/09/17 22:41:07ID:JV/IZGNK
http://tool-ya.ddo.jp/2ch/trash-box/file/20040917224034742.png
0197ベーシック飯田 ◆BASICIDAmw 04/09/17 23:15:23ID:EF8cgwbN
>>194
「エディタ」で検索すると、秀丸を抜いてサクラがググルのTOPに来る、すげえ【^^】
でも初心者だからとりあえず本家っぽいBCC Devloper使います、精通したらエディタ選びます。
0198名前は開発中のものです。04/09/18 00:20:56ID:y8q6enkr
>197
いいんでないかい?
ちなみに漏れは統合開発環境とエディタは併用
わざわざちょっとソース見たいだけでVC起動は重いし
まぁふと暇ができたときにでもエディタ触ってみるといいさ
先に言っておくとポイントは色付け、ショートカットキー、あとマクロなど

とりあえず統合開発環境に慣れるまでは最初はBCC Devloperでいいと思う(VCの人はVCで)
0199ベーシック飯田 ◆BASICIDAmw 04/09/18 01:13:10ID:EqfmWU2A
>ポイントは色付け、ショートカットキー、あとマクロなど
ソースっね〜色付かないと誤字探しで時間潰したりするC
あとマクロとか使い方によっては超強力ですC
IDEはそれ自体で覚える事項が多少でもあるし後回しです
0200ベーシック飯田 ◆BASICIDAmw 04/09/18 01:19:09ID:EqfmWU2A
昔N88BASICやってて、こりゃ面白れえ本格的にPGやろうってんで
Cに移行したらつまんねえ、画像出すだけで凄い手間掛かるな、
ポインタってよくわからん、ついでにC++はもっと意味不明で…
関数とか型の宣言とか手続きというか根回しに手間が掛かるので
動くまでに挫折しちゃうんですね、同じような人いますか?
0201名前は開発中のものです。04/09/18 01:40:51ID:4abBz0m0
昔のBASICはやれる範囲が狭い(マシン語使えば別)
今のオブジェクト指向は抽象化されすぎててなんかつまんね。
というわけで漏れはCが一番手に馴染む。
0202名前は開発中のものです。04/09/18 02:06:03ID:3/UPIZM6
>>200
Turbo C では、画像を描画する関数が付いていたので楽でした。
音は SOUND.SYS か何かを組み込んでMS−DOSのシステムコールを呼んでFM音源を使っていました。
確かファイル名を指定するだけでBGMや効果音を流せたので、とても便利でした。

>>201
禿同です。
0203名前は開発中のものです。04/09/18 02:10:55ID:KWbn73Rt
C++が手間っつーより
WinAPIが手間だな
0204名前は開発中のものです。04/09/18 06:53:29ID:SaphcXRI
へんなコテがキタ!
0205名前は開発中のものです。04/09/18 07:46:38ID:kW9iuHEh
これからはやっぱりJava。オブジェクト指向でしょ?

Cは構造化しかできない古い言語、過去の遺産。
歴史をたどるのにはいいかもしれないけど、実用的ではないっしょ
0206名前は開発中のものです。04/09/18 09:41:52ID:H43lNhbr
まともに勉強すれば分かりますけど、C でもオブジェクト指向はできます。
オブジェクト指向は言語に依存しません。
0207名前は開発中のものです。04/09/18 10:23:20ID:KWbn73Rt
めんどっちいけどな
CでOO
0208名前は開発中のものです。04/09/18 11:00:19ID:r+n+Tp1G
>>205
C++はオブジェクト指向ですけど。
C♯はオブジェクト指向ですけど。
Cでもオブジェクト指向できますけど。
0209名前は開発中のものです。04/09/18 11:13:01ID:zKeX8bE4
Cでは言語仕様としてオブジェクト指向をサポートしていないからやり難いのは当然。
オブジェクト指向でプログラミングしたいのならC++でするべきだよ。
0210名前は開発中のものです。04/09/18 11:56:09ID:fqUOnpG4
>>205
ゲ製でそんなこと言われてもネタにしか見えないんだけど。
0211名前は開発中のものです。04/09/18 12:16:18ID:r+n+Tp1G
>>210
ム板やマ板でもネタにしか見えない。
0212名前は開発中のものです。04/09/18 12:38:01ID:26lvF3by
>>210
電車の中で突然叫ばれてもネタにしか見えない。
0213名前は開発中のものです。04/09/18 12:45:09ID:JNsjZnca
そろそろゲーム作れよ
0214名前は開発中のものです。04/09/18 13:05:10ID:aLpX3DP+
どの言語が好きとか嫌いとかはいい
ゲームをつくるんだ
0215名前は開発中のものです。04/09/18 13:12:31ID:pOpBL8In
馬鹿の俺にはできましぇーん
0216名前は開発中のものです。04/09/18 15:00:43ID:bk86yazB
じゃあ作れる俺は馬鹿ではないのか。安心した。
0217名前は開発中のものです。04/09/18 19:45:49ID:CiDns+gI
どうせ君らの大半は脱落するんだよ
0218名前は開発中のものです。04/09/18 19:48:04ID:2SAwyIwr
で、どんなゲームにするの?
0219少年 ◆KONA9KdnAg 04/09/18 19:59:28ID:bEdwKEhq
空を飛ぶんだよ
0220名前は開発中のものです。04/09/18 20:17:14ID:2SAwyIwr
───┐
□□□│
□□□│ - 、
□□□│   !                    
□□□│   ・ I can fly !!!
□□□│
□□□│
□□□│
□□□│
□□□│
 ._.  │
 | | |  │
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0221ベーシック飯田 ◆BASICIDAmw 04/09/18 21:04:24ID:OcFeLshb
>>202>>203
なるぽど〜。
ちょっと先走ってAPIの参考書に買った「WINDOWSゲームプログラミング」を見てみたら、なんか('A`)ンドクセそう。

>>204
(゚∀゚)イヒ・旭化成
0222名前は開発中のものです。04/09/18 21:04:51ID:aLpX3DP+
>>220
昔、ゲームウォッチでこんなんあったな
0223ベーシック飯田 ◆BASICIDAmw 04/09/18 21:04:57ID:OcFeLshb
>>218
ブロック崩し。
0224名前は開発中のものです。04/09/18 21:29:28ID:CRPa91sc
飛び降り自殺するゲーム。
地面に落ちる前に100のコマンドを入力したら着地できる。
0225名前は開発中のものです。04/09/18 23:01:27ID:/qSoyW+9
>>208
そこでObjective-Cですよ。
SmallTalkライクでマジおすすめ。
0226名前は開発中のものです。04/09/19 07:18:11ID:fv/rYlWK
DIVE TO BLUE
を参考にしろよ
飛び降り自殺するゲームだぞ
0227名前は開発中のものです。04/09/19 11:46:59ID:pH/74h3b
レミングスも自殺ゲーだね
0228名前は開発中のものです。04/09/19 12:46:43ID:3HUGeT41
>>226
それの3Dバージョンを作りたい。
0229名前は開発中のものです。04/09/19 14:39:40ID:fv/rYlWK
どうして初心者には
3D厨が多いのか?
0230名前は開発中のものです。04/09/19 15:23:50ID:pH/74h3b
>>229
私は3Dがしたくてコンピュータを始めた。
もう10〜20年も昔の話。
0231名前は開発中のものです。04/09/19 17:13:01ID:VtTEmSmL
自分はゲーム=2Dの世代だなぁ
0232名前は開発中のものです。04/09/19 19:52:49ID:y04/DLbU
>>230
漏れは志してから、3Dが仕事でできるようになるまでに
15年くらい経ってたけどな
0233名前は開発中のものです。04/09/19 22:26:36ID:+HcKtFnO
>>229
2Dでプログラミングするより、3Dでするほうが面白いじゃん。
0234名前は開発中のものです。04/09/20 00:58:20ID:s1u6cFdo
昔の3D(VR以前)はすげーって思ってたのに、今の3Dってちっとも面白そうに見えね。
今の3Dは表現に重きが置かれていてゲームの楽しさは二の次って感じがする。
0235名前は開発中のものです。04/09/20 01:18:09ID:725QwHsb
>>234
覇外道
0236名前は開発中のものです。04/09/20 01:44:28ID:tSL2n+HH
>>234
CGWORLDとかに大々的に特集されるゲームは、決まって糞。
0237名前は開発中のものです。04/09/20 03:46:07ID:j9+2YhzY
>236
CGWORLDだからね
絵だけ見るんだからあたりまえでしょ
(グラフィックのよさ=ゲームの面白さ)ではないことのいい例
ただ悲しいことにグラフィックのいいゲームの方が売れやすいのはたしか
0238名前は開発中のものです。04/09/20 03:52:45ID:8gz+XYab
>>237
パッケージの表面を飾るのは絵だもんね
0239名前は開発中のものです。04/09/20 11:38:21ID:GyNKmDgV
3Dをもっと簡単に扱える方法ってないかな。性能はそこそこでいいので。

例えば、Xファイルと座標さえ指定すれば、そのまま表示してくれるみたいな、
VBのフォームオブジェクトみたいなのがあると、
「神様ありがとう(涙)」
って感じ。
0240名前は開発中のものです。04/09/20 11:58:34ID:jNHTGRGK
>>239
Java3Dとか?
0241名前は開発中のものです。04/09/20 12:30:05ID:GyNKmDgV
>>241
Java3Dは、Xファイルみたいなのは使える?

確かJava3Dは、クライアントにJava3Dインストールしないと使えないんだよね
ユーザがとっつきにくそう
0242名前は開発中のものです。04/09/20 15:52:11ID:NQIDA93Q
ここって何のスレだっけ?
0243名前は開発中のものです。04/09/20 16:10:17ID:yaSFPMby
スレタイではCとなっているな
0244名前は開発中のものです。04/09/20 16:15:51ID:jNHTGRGK
C言語ですることが重要なスレだったのか。
Javaは禁句だったかな。
0245名前は開発中のものです。04/09/20 19:52:44ID:dfafhP5c
>>239
> 例えば、Xファイルと座標さえ指定すれば、そのまま表示してくれるみたいな、

カメラ位置とかカメラの向きとか画角とかクリップ面の位置とか等々
面倒な設定は減らないような気がする
そういうの使い倒してこそ3Dゲームになるわけで
0246名前は開発中のものです。04/09/21 01:22:26ID:Z4itUqD7
VisualStudio.netは持ってるんですが、どうやったらゲーム作れますか?

まずは2D(できれば3D)で世界を歩き回るものを作りたいのですが
簡単に作れますかね?教えてください。
0247名前は開発中のものです。04/09/21 01:35:29ID:ExZojLU0
>246
簡単かどうかという認識は人によって違うのでわかりません
あと使用言語がわからないとアドバイスのしようがありません

質問する場合は質問し返されない程度の情報を書かないと適切なアドバイスは受けられません
適切な質問ができるということは現在の問題点がしっかりと認識できている証拠です
それのできる人は大抵プログラミングに向いています
逆にそれのできない人の場合、大抵プログラミングに不向きの場合が多いです
まずは適切な質問のできるようになってください

一応初心者の場合は使用言語、使用ツールに応じた書籍を買ってひととおり実際にやってみて、
それから質問するほうが効率的です
2Dで世界を歩き回るものが最初の目標だったら、売られている書籍で十分カバーされていると思いますが、
どうしてもわからなかったら、また質問すればいいと思います
0248名前は開発中のものです。04/09/21 09:27:44ID:xDXcg5aV
マジレスワラタ
0249名前は開発中のものです。04/09/21 14:06:13ID:uJCi6ZxC
本に書いてあることと画面に表示されてることが違ってて
プログラムを書き始めるまでに詰まるんだよね
0250名前は開発中のものです。04/09/21 14:36:38ID:xDXcg5aV
>>249
ハァ?
その本晒せ
0251名前は開発中のものです。04/09/21 17:36:31ID:kWw7YpEC
VC++.NETのマイクロ公式本
■ このスレッドは過去ログ倉庫に格納されています