トップページgamedev
69コメント23KB

C言語でできるゲーム製作

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2013/10/22(火) 12:13:16.93ID:mttpGjyP
C言語を学校で実習含めて習った
ポインタ、構造体、関数の概念も理解して、自分でカレンダー表示やらのプログラムは組んだ
んで今iPhoneのアプリ作ってみたくてObjective-Cを勉強中だがなかなか難しい
オブジェCの勉強と並行して、Cの知識で簡単なゲームを製作したい。モチベーションがもたんからな
何から作って行けばいい?ちなみに大学2年で家にはmacOSとubuntu,windows7がある
0002名前は開発中のものです。2013/10/22(火) 12:23:33.49ID:mttpGjyP
あげ
0003名前は開発中のものです。2013/10/22(火) 12:39:30.88ID:Rb8xAqhh
プログラミングは勉強すれば誰でもできるようになるが、
何を作るのかを考えるのはもっと難しくて大切なことだということだ
0004名前は開発中のものです。2013/10/22(火) 13:01:56.76ID:mttpGjyP
>>3
うんプログラミングは手段でしかないからね
でもせっかくこっち系の学科にはいったから学校でやってること以外にもじぶんでやりたいんだ
0005名前は開発中のものです。2013/10/22(火) 14:04:50.70ID:2vKgDD3U
http://www1.axfc.net/uploader/so/3065751
これが、windowsで動作するスタートレックゲームです。
このゲームを作りなさい。

最初は単純から初めます。
最初にゲームの仕様を考え、概要仕様書を書く」ことから始める。

WindowsとC言語とDXライブラリがあれば出来るだろう。
0006名前は開発中のものです。2013/10/22(火) 14:26:58.42ID:mttpGjyP
>>5
やってみます
ちなみにDXライブラリとはなんでしょうか...
0007名前は開発中のものです。2013/10/22(火) 14:33:59.79ID:2vKgDD3U
検索しなさい。
https://www.google.co.jp/
0008名前は開発中のものです。2013/10/22(火) 14:42:09.37ID:mttpGjyP
>>7
すいません調べてからやります
今家ではないので17時半頃から取り組もうと思います。
0009名前は開発中のものです。2013/10/22(火) 15:21:52.67ID:gwfs2rBJ
スタートレックのゲームってテキストベースじゃなかったっけ
DXとか要らないんじゃないの
0010 忍法帖【Lv=27,xxxPT】(1+0:5) 2013/10/22(火) 16:56:15.80ID:KyIDPxBz
3Dゲ作りたい
001112013/10/22(火) 17:41:02.18ID:vKX/IagW
>>1です
いまからやっていこうと思います
001212013/10/22(火) 17:45:35.30ID:vKX/IagW
visualstudioがインストールされてたはずなのですが、されていなかったようなので
インストールからです(´・ω・`)
001312013/10/22(火) 17:59:28.63ID:vKX/IagW
startrek起動してやってみました。これを作るということですよね
うーん難しい・・・
何から手を付ければいいのやら・・・
プログラミング言語から何かを作るのは初めてなので、仕様を考えると一口にいっても
どうすればいいかわからないです。
仕様を考えるとは

・まず実行したときに表示する画面をつくる
・入力したコマンドによって分岐
・それぞれのコマンドに対するメソッドをつくる

のようなことですか?
0014名前は開発中のものです。2013/10/22(火) 18:51:14.24ID:gwfs2rBJ
ゲームの説明書だと思えばいいよ
画面のどこに何が表示されていて、何をどう操作すると何がどうなるのか
Aボタンを押すとジャンプして敵を踏むと倒せる、みたいなゲームのルールを漏れなく網羅すれば、それで仕様書になる
0015名前は開発中のものです。2013/10/23(水) 03:12:00.57ID:A1ahuQ6m
[予言]このスレは1ヶ月後には廃墟になる
まあ、欠片ほどの期待はしてるよ

最初は自分のゲーム開発計画作製の前にDxlib等で講座見ながらちゃちゃっと作ってみることをおすすめする
C習得済みならそんな時間かからないし
一旦最低限の枠組みができたら何が必要なのか、どのくらい時間がかかりそうか、このライブラリは何がどうしてできないのかとか多少わかるようになる
最後にゲーム開発において自分の作りたいもの、やりたいことを明確にすること。
スキルアップするもよし、自作ライブラリ作るもよし、素材作るも妄想書きまくるもよし。
0016名前は開発中のものです。2013/10/23(水) 05:58:20.73ID:GIbp3+NN
開発経験なしで、いきなり「作りたいゲーム」を目指すのは無理。
今ある知識で「作れそうなゲーム」を作れるようになってから、
プラスアルファの要素を少しずつ取り入れて知識と経験を積むべし。
0017名前は開発中のものです。2013/10/23(水) 06:49:43.91ID:odp1roeD
>>1はobj-cとか言ってんのにDXライブラリとか書いてるバカは何なの
0018名前は開発中のものです。2013/10/23(水) 08:13:19.49ID:A2cB77MX
>>13
ならば、簡単な「数当てゲーム」を作ってみろ。

コンピュータが0〜99の範囲の乱数を作る。
その乱数の数値を人間が当てるもの。
人間が予想値を入力する。
コンピュータは「当たり」「はずれ」を返し
はずれならばヒントを返す。
ヒントは、より大きい、より小さい、を返す。
これを繰り返して、
コンピュータの作った乱数を当てるまでの
回数を競う、回数が少ないほど評価が高い。
0019名前は開発中のものです。2013/10/23(水) 08:25:00.99ID:dsb1jzqY
>>17
いきなりアイポン用ゲームでも作らせるの?
obj-cでゲーム開発の初歩って学びにくすぎると思うが
0020名前は開発中のものです。2013/10/23(水) 09:38:21.14ID:2RP4O0oN
すいません今週は金曜の夕方まで課題で忙しくてできそうにないです(´・ω・`)
しかし、とりあえず>>18はすぐできそうなので今日の夜やろうとおもいます
0021名前は開発中のものです。2013/10/23(水) 13:54:07.95ID:x59Z1pb+
久々に>>1がエターナルところを味わえるなんて・・・
うひゃあっ、たまんねえぜ!
0022名前は開発中のものです。2013/10/23(水) 15:07:09.28ID:6pmJWbtB
>>21
エターナルってこんな意味なんですね
>>「エターナル」(英語の形容詞eternal:永遠の、果てしない)を動詞化させた造語。ツクラー(ここでは主にPC用のRPGツクールのユーザー)の間で生まれた。
未完の大作「エターナルファンタジー」からとも。参考

作者が諸般の事情によりゲーム製作を途中で放棄すること、またはその状態を表す。
ニコニコ動画では主にVIPRPGや幻想入りシリーズで用いられる。
0023名前は開発中のものです。2013/10/23(水) 15:12:11.18ID:6pmJWbtB
でも、どのあたりがヒヤッハーなの?
途中で投げ出すのを期待してるの?
仕事じゃない、楽しみとしてのプログラミングがあってもいいんじゃないのかな
cだとレベルを、あげると途端に面倒くさくなるし、面倒ならやめて別のを作ればいいじゃん
002412013/10/23(水) 18:59:22.26ID:NqVevjyS
ただいま帰りました。
>>18すぐにやります
0025名前は開発中のものです。2013/10/23(水) 19:03:18.98ID:mxaZjL+S
>>24
ガンバ!
0026名前は開発中のものです。2013/10/23(水) 19:07:56.81ID:NqVevjyS
こんな感じでどうでしょうか
ttp://iup.2ch-library.com/i/i1040825-1382522846.png
0027名前は開発中のものです。2013/10/23(水) 20:21:51.38ID:lGRf1iS9
>>26
何回目に正解したかの回数を表示する。


次の演習問題
マイクロ・スタートレックゲーム
8x8の小宇宙を作る。
宇宙船(エンタープライズ)を小宇宙内に配置する。
小宇宙を画面に表示する。
コマンド入力により、宇宙船を移動させる。
ここまで、


出来たなら、追加オプションとして
星、クリンゴン、基地などを小宇宙内に配置。
障害物ありで、エンタープライズの移動。
クリンゴンに対して攻撃。
防御シールドとクリンゴンの反撃。
経過日数の表示、クリンゴン残数の表示。
などなど、
0028名前は開発中のものです。2013/10/23(水) 20:31:03.09ID:mxaZjL+S
>>26
早いね
0029名前は開発中のものです。2013/10/23(水) 20:37:27.49ID:NqVevjyS
>>27
できました。
ttp://iup.2ch-library.com/i/i1040886-1382528065.png

これでよろしいですか?
次はスタートレックですね。
少し先にやらなければならないことを片付けてきます
0030名前は開発中のものです。2013/10/24(木) 00:38:54.21ID:Zn+QIQTd
スタートレックよりぷよぷよの方が作りやすいんじゃね?
0031名前は開発中のものです。2013/10/24(木) 03:08:43.31ID:14hXEJ/E
三目並べとか五目並べとかオセロとかも練習にいい
003212013/10/24(木) 11:34:11.12ID:82HjEvjU
オセロやぷよぷよなどはコンソール内でやればいいですか?
0033名前は開発中のものです。2013/10/24(木) 11:54:05.86ID:kHsZKMKW
いいと思うよ〜
0034名前は開発中のものです。2013/10/24(木) 12:13:43.35ID:Drw9MX3x
>>1はモチベ維持のために
みんなからゲーム作りの方法を教えてもらって、最終的に自分でゲームを作りたいのか、
みんなから課題をもらってゲーム作りをこなすことをしたいのか。
前者なら一歩づつ既存のゲームの形式に似せていくべきだし、
後者なら自分の満足する方法で自分の満足する機能で作ればいいと思うよ。
003512013/10/24(木) 12:31:15.14ID:82HjEvjU
>>34
今のところは最終的にスマートフォンでもゲームアプリが作れるようになりたいです。
今はゲームアプリは無理なので、Object-Cを学びつつ簡単なアプリ製作と共にゲームをできるところからつくっていくつもりです

ひとつ不安なのはObject-Cを今から覚えたとして今後も使われていくかどうかです。具体的にいうとJavaとObjCどちらのほうが今後未来があるかということです
学生の時間は限られているので難しいです
0036名前は開発中のものです。2013/10/24(木) 13:30:28.77ID:HKOpIyY+
>>35
若い人達がどの言語をすれば良いか?と問う、
学生諸君は、言語でなくフローチャートでアルゴリズムとして身に付けなさい。
例えば、検索に使うクイックサーチをC言語で書いたとしても、
その他全部の言語に同じアルゴリズムで書き直しができる。
また、プログラム言語として一つの言語に精通しているならば、
他の言語への移行が容易です。 実際の現場では、
その場で必要な言語を覚えながら使うので、言語に依存しません。
ここで普遍なのが、プログラムの組み立て方、アルゴリズムなどです。
近年ではCやC++が標準としてあり、書籍でもC言語が例として多く使われる。
ですから、メジャーなWindowsとC言語を知っていれば役に立つ。
0037名前は開発中のものです。2013/10/24(木) 15:00:46.63ID:Zn+QIQTd
>>35
卒業研究で情報処理学会発表とかを考えるとJava一択だと思うぞ。
どうしてもiPhoneで動かしたいならunityとかマルチプラットフォーム
のミドルウェアを使った方が無駄がない。
003812013/10/24(木) 15:04:43.72ID:82HjEvjU
>>36
今アルゴリズムを学校でまなんでいるところなので、しっかり理解しておこうと思います。

>>37
やはりJavaですか...
javaからさきにやったほうがいいんですかねえやっぱり。どの言語を学ぶかは重要じゃないとわかっていてもやはり学生時代にどちらかはマスターしたいと思うと、どちらにしようと考えてしまいます
0039名前は開発中のものです。2013/10/24(木) 15:29:12.67ID:zI4h3wAb
>>38
Windows/C++ だけは時代遅れなので避けた方がいい。

やるなら、Android/Java、Apple/Objective-C、十歩譲ってMicrosoft/C#と発想できないと。

C#は言語思想的にはまんまJavaのパクリなのでJava→C#は障壁は小さい。

Objective-CはCの系譜ではあるものの、 Java/C#とはちょっと別系統かな。でも、iOS/OS-X どちらにも使えるのは悪くない。Appleに完全にロックインされるのが嫌でなければ。
0040名前は開発中のものです。2013/10/24(木) 15:45:12.45ID:Zn+QIQTd
>>38
ググってヒントがたくさんでてくる、質問して答えてくれる人が圧倒的に多い。
この辺の環境は独学では重要だからね。ちょっとした調べ物でつまづいて
1時間ググったら発狂ものでしょw
0041名前は開発中のものです。2013/10/24(木) 15:56:33.69ID:zI4h3wAb
>>40
だよね、特定企業のプラットフォームにロックインされてないという点で、学生向けには結局Javaが穏当な解だとは思う。
0042名前は開発中のものです。2013/10/24(木) 16:13:37.40ID:Zn+QIQTd
>>41
あんたとは気が合いそうだ。
ジョエル・オン・ソフトウェアなんかだと伝説のプログラマー(失笑)が
やたらとC言語とかLispを勧めていたりするけど、有害図書もいいとこだわな。
0043名前は開発中のものです。2013/10/24(木) 18:20:30.84ID:k8Iz74Kw
>>35
>具体的にいうとJavaとObjCどちらのほうが今後未来があるかということです
未来があろうとなかろうと今objective-cをやらなきゃいつやるのか。
次の言語に変更されるまで何もしないで待つの?就活始まっちゃうね。
言語は消耗品。素早く学んで素早く作る。賞味期限が切れる前に。
004412013/10/24(木) 19:04:33.78ID:82HjEvjU
>>43
プログラム言語は常に仕様もかわりますしね
効率よく言語を勉強できれば短い期間で理解しつつ作ることができるのかな

とりあえず今日はレポートの追い込みがありますのであしたの夜から再開しようと思います。次は何を作りましょうかねえ
0045名前は開発中のものです。2013/10/25(金) 00:37:45.45ID:Bz25TE0+
麻雀の思考ルーチンつくれ>>1
0046名前は開発中のものです。2013/10/26(土) 14:13:44.07ID:YHnY2jZ9
>>39
時代遅れなのでって理由で避けた方がいいとか言っちゃう人って、
意味を理解してて書いて完成させた実績も豊富なの?それとも想像だけで言ってるの?
0047名前は開発中のものです。2013/10/26(土) 15:42:28.38ID:oN6SEqP2
横槍だけど、>>36みたいなやつは何も作ったことないくせに
2chのコピペか評論の受け売りをドヤ顔で張ってるのがみえみえ

上から目線の仙人口調が、まさしく世間の常識から離れた時代錯誤の老害そのものだ
0048名前は開発中のものです。2013/10/26(土) 16:06:44.45ID:2SKu/6f8
まあ、どんなにすごい人でも、"Hello, world!"からでしよ
言語も将来どんなものが流行るか分からないしね
Aアセンブラ
Bベーシック
CC言語
ってきて、次はDデルファイって言われてたのも懐かしいわ
基本を覚えるだけなら、何でもいいんじゃない
0049名前は開発中のものです。2013/10/26(土) 22:05:49.24ID:oN6SEqP2
基本って入門書に書いてある関数ポインタがどうとかそういう程度の低い話か

「いろんな言語やAPIさわったことあります。アプリや成果物はありません」
>>1がこうならないといいけどな
0050名前は開発中のものです。2013/10/26(土) 23:14:10.51ID:Xd0j9P0X
人から課題をもらわないとゲームすら作れない時点で
>>1はゲーム製作に向いていないと思うぞ。
0051名前は開発中のものです。2013/10/27(日) 00:34:13.31ID:P5zjIkK7
まあ学校の速度なんて無視して独学でやってけばいいんじゃないのとは思った
学んだからってすぐ組めるわけでもないし
0052名前は開発中のものです。2013/10/27(日) 20:58:40.72ID:g5Ho4wQR
>>1が逃亡したぞ!
0053名前は開発中のものです。2013/10/29(火) 18:28:21.72ID:BnxKzG3k
しょうがないな
尻拭いはお前に任せる >>52
0054名前は開発中のものです。2013/10/31(木) 12:55:30.90ID:yIaTbN5z
過疎りましたね
0055名前は開発中のものです。2013/10/31(木) 23:39:18.73ID:cBMX7MeI
>>1がいないと意味無いだろ
0056名前は開発中のものです。2013/11/02(土) 08:52:29.76ID:6t9BXOJ0
×過疎
○廃墟
0057名前は開発中のものです。2013/11/02(土) 13:26:19.61ID:GgHzzEP6
3日坊主とはこの事ですね
0058名前は開発中のものです。2013/11/02(土) 13:59:30.79ID:WffMO7pj
本当にやる人はいちいちスレ立てないですし
0059名前は開発中のものです。2013/11/07(木) 11:21:59.71ID:PyU6xtia
Cでは無理だろうしな。
本当にやる人はのっとりをする人だと思うがここじゃなぁ。
0060名前は開発中のものです。2013/11/07(木) 11:34:09.17ID:5VNC/IYi
言語的にはCでも全然構わないと思うが、
環境やライブラリのチョイスがわからない状態だと無理かな
あとC++に慣れちゃうとCには戻りたくない感じ
0061名前は開発中のものです。2013/12/12(木) 14:24:30.03ID:a6BUhlmd
どうもC++嫌なんだよなぁ〜、気軽にメモリ割り当てしちゃう癖がついちゃうというかさ〜。
拡張子は.cppで書いてるけどさ〜。
0062名前は開発中のものです。2013/12/18(水) 21:41:43.09ID:7CF8npk3
バカってメモリ管理できないからね。
ガベコレ付きバカ向け言語使ってろって感じ。
0063名前は開発中のものです。2013/12/19(木) 16:56:43.55ID:euV8h7sF
じゃーそろそろこのスレをいただこうか
0064名前は開発中のものです。2013/12/21(土) 23:57:47.44ID:pNh7Itp6
C++からCに戻ってくると物足りないな

・関数のオーバーロード
・型宣言ではなく変数宣言時のstructの省略

これだけの差でやけに冗長になってる
0065名前は開発中のものです。2013/12/22(日) 21:23:01.33ID:n72S7yVC
>・型宣言ではなく変数宣言時のstructの省略
ってなんじゃ?
0066名前は開発中のものです。2013/12/22(日) 21:51:30.47ID:E+P0/uRj
struct Foo {}
struct Foo foo; // C++だとFoo foo;
ってことじゃね
0067名前は開発中のものです。2013/12/23(月) 03:06:21.28ID:o56P3+7D
うん。enumとかもそうだな

struct Foo {}
enum Enum {}

c++:
void foo(Foo arg);
void hoge(Enum arg);

c:
void foo(struct Foo arg);
void hoge(enum Enum arg);

試しに(.cpp)ではなく(.c)で簡単なSTG作ろうと思ったら煩わしくて驚いた
0068名前は開発中のものです。2013/12/23(月) 08:09:37.07ID:m0lRycCA
typedef struct
Foo {} Foo;

typedef struct
{} Bar;

void foo(Foo arg0, Bar arg1);
じゃだめなん?
0069名前は開発中のものです。2013/12/23(月) 08:12:11.94ID:m0lRycCA
へんなとこで改行入ったし…
typedef struct Foo {} Foo;
typedef struct {} Bar;
void foo(Foo arg0, Bar arg1);
■ このスレッドは過去ログ倉庫に格納されています