トップページgamedev
336コメント137KB

初心者たちが勉強しながらBattleCityを作るスレ

■ このスレッドは過去ログ倉庫に格納されています
0001( ・ω・)∩04/06/01 16:36ID:TlsWVL74
前からゲームを作ってみたいなぁと思ってたんだけど
ひょんなことから「Microsoft Visual C++ 6.0」を手に入れました。

そこで、ファミコンで出た「BattleCity(バトルシティー)」を作ってみようと思います。
今でも、十分楽しめるゲームだと思います。
ネット対戦も考えていますが、まあ、まだ先の話です。
初心者の方々、BattleCityを一緒に作りませんか

ちなみに、C++歴 2時間です。
それじゃ、夕御飯までに猫でもわかる・・・で少し勉強してきます。

バトルシティを一行で説明すると。
「マイタンク(自機)を操作し指令部を護りながら敵タンクを全て破壊する」です。

BattleなCity(バトルシティー攻略ページ)
ttp://www5d.biglobe.ne.jp/~tic/index2.htm
あぷろだ
ttp://www.border.jp/uploader/upload.php
お勉強ページ 勝手にリンク 第2版
http://pc5.2ch.net/test/read.cgi/tech/967778156/l50
0002名前は開発中のものです。04/06/01 16:37ID:k6jz7R3Y
ない
0003( ・ω・)∩04/06/01 16:38ID:TlsWVL74
最初の目標は
「戦車の絵をウィンドウに表示する」です。

その次の目標は
「キーボードからのキー操作で戦車の画像を動かす」です。

とりあえず、この2つをクリアしたいと思います。
0004名前は開発中のものです。04/06/01 16:44ID:VcQoCzhw
バトルシティーは好きだった。がんばってちょうだい
でひとつ聞きたいのは>>1のプログラム経験。C++歴2時間なのはわかったけどその他の言語は修得してる?
もし全くの未経験者だったら完成はあやしくなるんじゃないかと思って
0005名前は開発中のものです。04/06/01 17:02ID:BQxV4kvC
プロジェクトスレッドについて
概要や製作状況をまとめたWebページがあることが最低条件です。
この条件を満たさない場合は単発依頼スレとみなされます。
実際に動くものがあると説得力があります。
0006名前は開発中のものです。04/06/01 17:06ID:jZYSHzvd
弾が当たって壁が壊れるところが難しいね
0007名前は開発中のものです。04/06/01 17:39ID:wM8XQTZR
>>1
ひょんなことから「Microsoft Visual C++ 6.0」を手に入れました=Winny
0008名前は開発中のものです。04/06/01 17:41ID:SXuUQaoe
ないってば
0009名前は開発中のものです。04/06/01 18:03ID:VhyvnOZC
>>7
友人がWinnyでVC++落とす。
コピーして貰う。
 = ひょんなことから「Microsoft Visual C++ 6.0」を手に入れました。

かもね。
0010名前は開発中のものです。04/06/01 21:45ID:TlsWVL74
>>4
他の言語はVBしか使ったことがありません。
今日、猫でもわかる・・を見てVBより難しいことがわかったんですが、
なんとか形にはしてみます。
>>5
サイトを作らないとまずいんですか
動くものといってもウィンドウを出すものしか・・・
サイト明後日までには用意します。
ご忠告、ありがとうございました。
>>6
自分が見当違いなこと言ってるかも知れませんが、、
1ブロックを縦に4列、横に4列の16個で
弾が当たった方向の1列を消すってのはどうでしょうか
というより、16個で1ブロックを作るって言ったほうが早いですね・・・
素人考えですいません。

>>7 >>9
誤解させそうな文章ですね。すいませんでした。
実は、工業系の大学にいる友人から貰ったノートパソコンの中に入ってました。
大学に入学した時に買わされたそうです。
でも、まったく使わないそうで2万円で貰っちゃいました。
VC++が入ってるなんて知らなかったので>>1の様な文章になったんです。
0011( ・ω・)∩04/06/01 21:52ID:TlsWVL74
ttp://www.kumei.ne.jp/c_lang/sdk/sdk_00.htm
なんとか↑のをコピペして、
ウィンドウを表示させることまでは成功しました。
(ちょっと感動、、、コピペしただけなんですけどね・・・)

ttp://www.kumei.ne.jp/c_lang/sdk/sdk_26.htm
今は、↑を読みながらビットマップの画像を
表示させるところを作ってます。

ちょっと質問があります。
このようなゲームを作るときはDirectXを使ったほうがいいんでしょうか?
まだ、先の話ですがネット対戦で10vs10を (できるならもっと多く。)
できるようにしたいと思ってるのですが。
0012名前は開発中のものです。04/06/01 23:53ID:HPYoBEBB
10vs10はちと多いのでは?
4vs4あたりもちょっと多め。
2vs2が理想。
1vs1もまた理想。

でもまずは1vs壁から作らん事には・・・
わしもそのうち作るかも。(多分flashになりそうだが)
とにかく、ガンガレ。
0013名前は開発中のものです。04/06/02 01:39ID:g2/Df+nh
なんかこのスレあたたかいな。
昔BASICやってたりとかしたから、応援したくなる。

とりあえずVCが分からんのでアレだが、
アルゴリズムは不変であろう。
応援する。

俺はHSPでくらいなら組めそう。
まあ、技術的に伸びることを考えればVCのほうがよいか。

0014名前は開発中のものです。04/06/02 02:50ID:Do7B8O4G
DirectX じゃなくて OpenGL を使った方がよいと思うが。
0015名前は開発中のものです。04/06/02 02:53ID:Do7B8O4G
ちなみに OpenGL と C++ のリンクおいときますね
ttp://www.center.wakayama-u.ac.jp/~tokoi/opengl/libglut.html
ttp://black.sakura.ne.jp/~third/system/opengl/gl.html
ttp://www1.kcn.ne.jp/~robe/cpphtml/index.html
ttp://www.kumei.ne.jp/c_lang/index_cp.html
0016名前は開発中のものです。04/06/02 08:49ID:y2+rhgtC
まあ、こんな初期段階であれこれ言うのも何だと思うが、

> ウィンドウを表示させることまでは成功しました。
> (ちょっと感動、、、コピペしただけなんですけどね・・・)

俺にもこんな頃があったな。
この感動がずっと得られるような単純な人間だったら何だってできるようになるぜ。
継続は力なりだ。
頑張れよ!

ちなみにお前の現在位置は、数学で言うと一桁の足し算ができたぐらいだがな。
0017受験生 ◆3VUXqvbfSY 04/06/02 09:33ID:22urPlb/
応援してますよ>>1
…でも、VB使えるなら…VBで組めば?
BMPもウィンドウもクソ簡単だよVBなら…
まあVC++の方が速いことは認めるが…
大した処理では無い上に、表示がDirectXなら…
VBでも変わらんよーな…winsockなら誰でも通信対戦作れるし…

まあ…VC++でDirectXの表示を解説してるサイト貼っとくね

http://www.monsho.hp.infoseek.co.jp/index.html
0018名前は開発中のものです。04/06/02 18:12ID:XW5gCXFe
>>11
DirectXというか、まずDIBを勉強しなさい。DIBならDirectX使うときにも
応用が効く。ネコ26章のサンプルはDDBなのでゲームには向かない。
簡単に言うとDIBは仮想のビデオメモリのようなもの。直接書き込んで
bltするだけで好きな画像を表示できる。
0019名前は開発中のものです。04/06/02 23:15ID:LNnPIvSC
けっこうまったりと助言が多くて良いスレですね。
フラッシュで作るんが一番簡単そう。
バトルシティーくらいなら、”もうだいたい出来てる”
って言えるくらいだもんなあ、フラッシュ
0020名前は開発中のものです。04/06/02 23:29ID:EfDmktMn
>>18
DIBってBitBltとかのこと?
あれだけでも十分ゲーム作れるよねぇ
0021名前は開発中のものです。04/06/03 00:23ID:m/jDGGaL
別にC++屋・Java屋・VB屋になりたいわけじゃない
鯖屋にも興味がない

でもプログラムで遊んでみたい
でも時間はない

ひまわりで遊んでみませんか?
http://hima.chu.jp/

日本語でかんたんプログラミング!
「ひまわり」で学ぶアプリケーション作成
http://hima.chu.jp/hima-book/index.htm
0022( ・ω・)∩04/06/03 00:49ID:Q84kowAy
みなさんどうもありがとうございます。
>>18さんが教えてくれたDIBで表示させることにしました。
(基礎?ぽいような気がしたので)

創作プログラミングの街
ttp://www.sm.rim.or.jp/~shishido/

の「BMPファイルからDIBを読み込む」
ttp://www.sm.rim.or.jp/~shishido/readbmp.html

のところにあったソースをコピペして画像を表示させるこに成功しました!
今、1行ずつ意味を調べてるところです。
画像を表示させるだけでもたいへんですね
0023名前は開発中のものです。04/06/03 10:53ID:WS0sBkjF
何か普通にちゃんとやってるね

現段階でコピペすんのは構わないと思うんだけど、
動作内容を理解することの方がずっと重要だよ。
サンプルを一個動かしてみるたびに、
修正して何か応用品を作ってみるってのはどうかな。
もっと色んなことを学べるし、もっと楽しいと思うよ。
0024受験生 ◆3VUXqvbfSY 04/06/03 11:49ID:qNQL62tU
>>1
まずは数当てでも作ってみれば?
このままだと…コピペしかして無さげに見えるよ
0025( ・ω・)∩04/06/03 23:59ID:Q84kowAy
サイト作りました(あぶない。。あと少しで嘘つくことになるとこだった
急いだのでかなり雑です。。。
http://www.geocities.jp/battlecityjp/

>>23
実は画像表示のソースを調べながら、
ちょっといじってたりして反応を調べたりしてます。
大したことはできないんですけどね

>>24
そうですね。
まだ、1つも自分で作ったものがないし、
少しは頭に入ってるか
今から数当てゲーム作ってきます。
0026( ・ω・)∩04/06/04 01:21ID:ydPlS60G
初めてのC++でのゲームです。(数当てゲーム)
1時間もかかっちゃいました。
ソース↓
http://www.geocities.jp/battlecityjp/kazuate.txt

using namespace std;
を書かなかったおかげで、エラーばっかりでした・・・
ちょっと調べたら、
標準ライブラリがどうとかこうとか、、、
これが何なのかあまりわかってません
明日調べなければ・・・

関係ないですが、数当てゲーム、最高7回で成功
0027名前は開発中のものです。04/06/04 02:41ID:R69FQnPG
2,3日の学習でこれだけできれば問題ないっしょ。とっととバトルシティ作っちゃって下さい。
ちなみに細かいことだけど return に括弧はいらないよ。
俺もひまができたらバトルシティ作ってみよかな。
0028名前は開発中のものです。04/06/04 09:46ID:Tvj07fVB
>>26
STLを使ったソースを参考にしてるな。STLを使わないんだったら

#include <ctime>
#include <cstdlib>
#include <iostream>
using namespace std;


#include <time.h>
#include <stdlib.h>
#include <iostream.h>
にしなさい。少なくとも今のソースにSTLのヘッダは不要。ゆえに
コンパイルも通るから。

STLは気が向いたら勉強すれば良いと思う。
0029名前は開発中のものです。04/06/04 20:15ID:fjK1VDKm
・・・ごめんなさい恥ずかしいこと聞きますが
最近のCってprintf使わないモンなんですか?
0030名前は開発中のものです。04/06/04 23:34ID:ZGm1ocIY
勉強って書いてあるけど手っ取り早くおおよその全体を掴みたいなら
↓のライブラリを使うといいと思う
ttp://www3.justnet.ne.jp/~botchy/index.html
cの知識と高卒程度の四則演算が出来ればサクサク作れるよ

上のサンプル見てもワカランってな時は↓のサイトにゲームのサンプル載ってるから
参考にするといいと思う
ttp://ponk.jp/index.php

0031名前は開発中のものです。04/06/04 23:40ID:sR1TnrKn
>>29
C++だとprintfよりcoutのほうが使われるね
0032( ・ω・)∩04/06/08 00:53ID:8RxieY0/
>>30
ありがとうございます。
簡単そうなのでちょっと使って見ます


土日できなかったから、
今日こそは勉強するぞーっと思ったらこんな時間・・・orz
0033( ・ω・)∩04/06/10 00:01ID:6zLM4DrQ
elを使って作るとほんとに簡単ですね
>>30さんに教えてもらったサイトを参考に
(自機の操作・弾・敵・当たり判定)まで作ってみました。(かなり適当ですが・・)
http://www.geocities.jp/battlecityjp/eltest.txt
(実行ファイルはサイトの方に。)

単純な動作しかしないのに、なぜか動作が重いです。

elを使うと簡単なんですが、
こんなに簡単に出来るものを使っていいのかと逆に悩みます・・・
0034名前は開発中のものです。04/06/10 02:58ID:qBwAR2Yd
>>33
簡単なようでそうでもないので。全部に手を出すとスゲー時間が掛かるので
まずelを使ってバトルシティの完成を目指すのがいいと思う。


動作についてはWindowモードだから重たいんじゃないかな。ウチのマシンでは
普通に動いているようだけど。移動スピードを早くすれば気にならないんじゃないかな。

ビルド時に最適化掛ければさらに速くなると思うので、当面は必要なものを追加していく方向でがんがれ〜。
0035名前は開発中のものです。04/06/10 03:16ID:Ock/rmst
> こんなに簡単に出来るものを使っていいのかと逆に悩みます・・・
最初はどうかと思ってたけど、
この姿勢はなかなかいいな。
向上心を感じるよ。でも、

> 簡単なようでそうでもないので。全部に手を出すとスゲー時間が掛かるので
> まずelを使ってバトルシティの完成を目指すのがいいと思う。
俺もこれに同意。
暫くの間、ゆるいライブラリに依存しててもいいんじゃないかな。
基礎構文がスラスラ出てきて、脳内コーディングもできるようになったら
DirectX なり SDL なり、もうちょっと難易度の高いものに朝鮮すればいいじゃない。
別に誰に急かされてる訳じゃないし、ゆっくりでいいと思うよ。
0036名前は開発中のものです。04/06/10 18:40ID:ZmE5oMyN
elもの足りなかったり、最終的にはdirectXで作りたいんだったら
ttp://www.twin-tail.jp/
にあるライブラリ使うと勉強になるかもしれない

el卒業で速攻directXやってもいいけどelとdirectXの中間くらいのライブラリだから
ステップアップにはいいかも

宣伝くさいがC++入門書には
これならわかるC++―挫折しないプログラミング入門 小林 健一郎 (著)
をオススメしとく。ゲーム作成っぽくPGを学べるからサクサク進めるよ
0037名前は開発中のものです。04/06/18 12:26ID:79uzekdF
もう飽きたのか?
■ このスレッドは過去ログ倉庫に格納されています