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

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

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

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

たまたま来た先輩方は、みんな初心者なので暖かい目で見守ってください。アドバイス
や質問に答えてくれる方は大歓迎です。
0117名前は開発中のものです。04/09/05 12:46ID:EvyS1KTz
>>116
だってソースファイルのcppも「*.cpp」な訳だし。
>>113はどのcppを言いたかったんだ?
0118名前は開発中のものです。04/09/06 01:01ID:CiFzl9zP
VBが遅いのは、フォームに乗せるコントロールに、
画面再表示しまくるような冗長な処理が多いからさ。

冗長な処理を避ける方法は、工夫すればいくらでもあるわけだから、
すべてVBのせいにするのは、初心者のはやとちりってもんだ。
そもそもあのコントロールは、業務用途を意識してると思うぞ。
目的の違う、妙にリアルタイムに位置変える様な動作させておいて
「遅い!」って言うのは、そもそも筋違い。
そしてそれとは対極に、ゲーム開発目的のために、DirectXっていうのがあるわけだ。

DirectX 8.0日本語ドキュメント (Visual Basic 開発者向け)
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=e625cf5f-9a73-4751-90f1-7f8b02bdfa63&displaylang=ja

サンプルプロジェクトを実行すれば、そこでもうDirectXが動いてる。
あとは形変えるなり、動かすなりするだけ。がんばりな。
チュートリアルとリファレンスとソースを読んで、よーく考えたらわかる。

ちなみにバージョン8からは、2Dってのがない。3Dオンリー。
オブジェクトのZ座標をゼロで固定すれば2Dだ。簡単簡単。

ちなみに、C++用もある。
DirectX 8.0 日本語ドキュメント ( C++ 開発者向け)
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=09343a34-6d91-4708-a2da-7e98cf7ec872&displaylang=ja
0119名前は開発中のものです。04/09/06 03:42ID:hQ2XTjlr
>>118
2chで始めて勉強になりました。
C++ VC (技術計算用)適当に使ってたんで、DirectXは眼中に無かった。
ありがとう。
試してみるよ。
只今取引先との交渉(建築3D意匠)でMaya特訓中。
このソフトの将来性はどう?
覚える価値アリかな?
他の皆さんにも意見うかがいたし。
0120名前は開発中のものです。04/09/06 11:27ID:TYAC/+bL
VC買ってきます。
0121名前は開発中のものです。04/09/06 11:28ID:doLlFIP7
>>120
これ買え
http://www.microsoft.com/japan/msdn/student/premium/
0122名前は開発中のものです。04/09/06 20:31ID:BIXxhclG
どんな言語使っても作るやつは作るし、
あとは個人の趣味とか思想の問題。
だと思う。
0123名前は開発中のものです。04/09/06 21:40ID:JWiI0CRc
http://www2.odn.ne.jp/ats/index.htm
VBで60fps、評判も非常によいSTGです。

122さんの仰るとおり、HSPやひまわりでとなると厳しいものの、
VB、delphi、VC++購入、C++はどれも似たようなもので、本人の意思と努力が最も重要でしょう。
FPS等の3DネットゲームとなるとVC++が楽みたいですが……
0124名前は開発中のものです。04/09/06 21:48ID:a1xy8CC1
http://www.truevision3d.com/
VB対応のゲームエンジン
C/C++やC#、Delphi、その他色々にも対応してるけどなー
0125名前は開発中のものです。04/09/07 08:52ID:ousCj0AM
deluxeedition買いました
0126名前は開発中のものです。04/09/07 12:41ID:CKmCL2Oe
用水キター
0127名前は開発中のものです。04/09/07 12:45ID:CKmCL2Oe
誤爆です、すんません。
0128名前は開発中のものです。04/09/07 13:04ID:jPE6NvHJ
123で紹介されてるシューティングのデキのよさからして、
VBでもなんら問題なく、弾幕系シューティングが開発可能なんだな。
もう言語の問題ではない。
どっちかっていうと本人の問題?動機を維持するほうが難しい
0129名前は開発中のものです。04/09/07 13:14ID:+0WzzPwN
>>128
そういうことだね。
VBを使っていることにプライドをもてたら関係ないだろうね。
0130名前は開発中のものです。04/09/08 20:23ID:jYRh0MMM
そろそろ>>1が長編RPGを作り始めるころかと
0131名前は開発中のものです。04/09/11 00:23:20ID:R4HLplmN
RPG作りたいんだけど>>121のソフトでどのくらいのもんがつくれますか?
ドラクエ3とかは余裕?

0132名前は開発中のものです。04/09/11 00:47:43ID:4erlKUv4
>>131
自分が思い描くゲームは何でも作れます。
すべてはやる気次第。
0133名前は開発中のものです。04/09/11 01:00:35ID:EQdVPuQz
FF10も作れますよ
0134名前は開発中のものです。04/09/11 07:42:29ID:7s/DhHdz
>>131

WindowsXPも作れますよ。
0135名前は開発中のものです。04/09/11 11:12:15ID:FvXdItaH
>>131
何でも作れるけどかなり難しい気がする。
今ドラクエ1のクローンCで作ろうと思って勉強中だけど結構難しい。
0136名前は開発中のものです。04/09/11 11:52:13ID:7s/DhHdz
>>135

そうですね。
私も今ドラクエ1みたいなRPGをVC++(C&APIベース)で作っていて、
システムは大体できてきたけど結構面倒でした…。
0137名前は開発中のものです。04/09/11 18:19:06ID:bz+i71f4
>>131
技術さえ身につければDQ1はもちろんDQ7クラスも可能。
0138名前は開発中のものです。04/09/12 08:58:34ID:89in4wvs
「技術さえ」のとこが重要
0139名前は開発中のものです。04/09/12 09:13:27ID:PGkDXmzY
みんな、おちついてよーくかんがえろ
スーファミ時代のRPGなんて、しょせん、
画像表示して、文字列表示して、ちょっと音出してるだけじゃないか!?
とーても簡単だよ
0140名前は開発中のものです。04/09/12 10:07:27ID:PnCBL2lw
簡単そうに見えてイベント処理とか
初心者には難しいよ
0141名前は開発中のものです。04/09/12 10:49:57ID:gwAzK+v6
スーファミレベルのゲーム作ろうとしてる時点で、もう初心者じゃない
0142名前は開発中のものです。04/09/12 12:08:22ID:/dQJS2g2
7行RPGキボン
0143名前は開発中のものです。04/09/13 00:04:16ID:ESeVIaSj
皆様の環境とLV(どんぐらい出来るか)とプログラム暦と
どうやって覚えて行ったか。読んだ本など詳しく教えてくれくれ
0144名前は開発中のものです。04/09/13 00:13:07ID:6INDSUg2
己の拳のみでここまで登りつめた・・・・
以上だ
0145名前は開発中のものです。04/09/13 00:16:27ID:2dpCv4yK
>>144
爆笑したw
0146名前は開発中のものです。04/09/13 00:30:22ID:/yiJFWJO
>>143
コンパイル環境は"GCC: (GNU) 3.3.4 (Debian 1:3.3.4-6sarge1)"
プログラム歴は12年位。と言ってもあまりレベルは高くないと思う。
BASICから始めて、C C++ Lisp ML Ruby Perl Pascal Fortran etc..
と言語を闇雲に覚えた。はっきりいって意味なんか無かった。
最近はGnome用のGUIアプリを書いて公開してる。
Windowsはほとんど使うことはない
# エロゲするときくらい??
0147名前は開発中のものです。04/09/13 02:03:35ID:S9LIo4KH
>>143
厨房の技術の教科書見てbasicちょっと。
工房になってからVBやりだした。
今は無きベーマガ買ってソース眺めてたなぁ。
大学になってOOPの概念がやっとわかって
VBでOOPみたいなことちょくちょくと。
あとはC++やらJavaやらJavaScriptやらPerlやらつまみ食い。
なんだかんだで5年くらいプログラミングやってることになるのかな?
0148名前は開発中のものです。04/09/13 11:50:12ID:ndLAimnb
ここのスレC++はいかんの?
0149名前は開発中のものです。04/09/13 12:28:58ID:rvkTXzbW
>>148
C言語らしい
0150名前は開発中のものです。04/09/13 12:39:30ID:/yiJFWJO
C++にCは含まれるが、
CにC++は含まれない。
0151名前は開発中のものです。04/09/13 14:07:47ID:Vs/BVxTj
今時、ピュアCだけって制限すると作りにくくない?
DirectX使えないよ?
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
じゃあ作れる俺は馬鹿ではないのか。安心した。
■ このスレッドは過去ログ倉庫に格納されています