[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 05/09 21:23 / Filesize : 102 KB / Number-of Response : 334
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:( ・ω・)∩ [04/06/01 16:36 ID: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版
pc5.2ch.net/test/read.cgi/tech/967778156/l50

17 名前:受験生 ◆3VUXqvbfSY [04/06/02 09:33 ID:22urPlb/]
応援してますよ>>1
…でも、VB使えるなら…VBで組めば?
BMPもウィンドウもクソ簡単だよVBなら…
まあVC++の方が速いことは認めるが…
大した処理では無い上に、表示がDirectXなら…
VBでも変わらんよーな…winsockなら誰でも通信対戦作れるし…

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

www.monsho.hp.infoseek.co.jp/index.html

18 名前:名前は開発中のものです。 mailto:sage [04/06/02 18:12 ID:XW5gCXFe]
>>11
DirectXというか、まずDIBを勉強しなさい。DIBならDirectX使うときにも
応用が効く。ネコ26章のサンプルはDDBなのでゲームには向かない。
簡単に言うとDIBは仮想のビデオメモリのようなもの。直接書き込んで
bltするだけで好きな画像を表示できる。

19 名前:名前は開発中のものです。 [04/06/02 23:15 ID:LNnPIvSC]
けっこうまったりと助言が多くて良いスレですね。
フラッシュで作るんが一番簡単そう。
バトルシティーくらいなら、”もうだいたい出来てる”
って言えるくらいだもんなあ、フラッシュ

20 名前:名前は開発中のものです。 mailto:sage [04/06/02 23:29 ID:EfDmktMn]
>>18
DIBってBitBltとかのこと?
あれだけでも十分ゲーム作れるよねぇ

21 名前:名前は開発中のものです。 mailto:sage [04/06/03 00:23 ID:m/jDGGaL]
別にC++屋・Java屋・VB屋になりたいわけじゃない
鯖屋にも興味がない

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

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

日本語でかんたんプログラミング!
「ひまわり」で学ぶアプリケーション作成
hima.chu.jp/hima-book/index.htm


22 名前:( ・ω・)∩ mailto:sage [04/06/03 00:49 ID:Q84kowAy]
みなさんどうもありがとうございます。
>>18さんが教えてくれたDIBで表示させることにしました。
(基礎?ぽいような気がしたので)

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

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

のところにあったソースをコピペして画像を表示させるこに成功しました!
今、1行ずつ意味を調べてるところです。
画像を表示させるだけでもたいへんですね

23 名前:名前は開発中のものです。 mailto:sage [04/06/03 10:53 ID:WS0sBkjF]
何か普通にちゃんとやってるね

現段階でコピペすんのは構わないと思うんだけど、
動作内容を理解することの方がずっと重要だよ。
サンプルを一個動かしてみるたびに、
修正して何か応用品を作ってみるってのはどうかな。
もっと色んなことを学べるし、もっと楽しいと思うよ。

24 名前:受験生 ◆3VUXqvbfSY [04/06/03 11:49 ID:qNQL62tU]
>>1
まずは数当てでも作ってみれば?
このままだと…コピペしかして無さげに見えるよ

25 名前:( ・ω・)∩ mailto:sage [04/06/03 23:59 ID:Q84kowAy]
サイト作りました(あぶない。。あと少しで嘘つくことになるとこだった
急いだのでかなり雑です。。。
www.geocities.jp/battlecityjp/

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

>>24
そうですね。
まだ、1つも自分で作ったものがないし、
少しは頭に入ってるか
今から数当てゲーム作ってきます。



26 名前:( ・ω・)∩ mailto:sage [04/06/04 01:21 ID:ydPlS60G]
初めてのC++でのゲームです。(数当てゲーム)
1時間もかかっちゃいました。
ソース↓
www.geocities.jp/battlecityjp/kazuate.txt

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

関係ないですが、数当てゲーム、最高7回で成功

27 名前:名前は開発中のものです。 mailto:sage [04/06/04 02:41 ID:R69FQnPG]
2,3日の学習でこれだけできれば問題ないっしょ。とっととバトルシティ作っちゃって下さい。
ちなみに細かいことだけど return に括弧はいらないよ。
俺もひまができたらバトルシティ作ってみよかな。

28 名前:名前は開発中のものです。 mailto:sage [04/06/04 09:46 ID:Tvj07fVB]
>>26
STLを使ったソースを参考にしてるな。STLを使わないんだったら

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


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

STLは気が向いたら勉強すれば良いと思う。

29 名前:名前は開発中のものです。 mailto:sage [04/06/04 20:15 ID:fjK1VDKm]
・・・ごめんなさい恥ずかしいこと聞きますが
最近のCってprintf使わないモンなんですか?

30 名前:名前は開発中のものです。 mailto:sage [04/06/04 23:34 ID:ZGm1ocIY]
勉強って書いてあるけど手っ取り早くおおよその全体を掴みたいなら
↓のライブラリを使うといいと思う
ttp://www3.justnet.ne.jp/~botchy/index.html
cの知識と高卒程度の四則演算が出来ればサクサク作れるよ

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



31 名前:名前は開発中のものです。 mailto:sage [04/06/04 23:40 ID:sR1TnrKn]
>>29
C++だとprintfよりcoutのほうが使われるね

32 名前:( ・ω・)∩ mailto:sage [04/06/08 00:53 ID:8RxieY0/]
>>30
ありがとうございます。
簡単そうなのでちょっと使って見ます


土日できなかったから、
今日こそは勉強するぞーっと思ったらこんな時間・・・orz

33 名前:( ・ω・)∩ mailto:sqge [04/06/10 00:01 ID:6zLM4DrQ]
elを使って作るとほんとに簡単ですね
>>30さんに教えてもらったサイトを参考に
(自機の操作・弾・敵・当たり判定)まで作ってみました。(かなり適当ですが・・)
www.geocities.jp/battlecityjp/eltest.txt
(実行ファイルはサイトの方に。)

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

elを使うと簡単なんですが、
こんなに簡単に出来るものを使っていいのかと逆に悩みます・・・

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


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

ビルド時に最適化掛ければさらに速くなると思うので、当面は必要なものを追加していく方向でがんがれ〜。

35 名前:名前は開発中のものです。 mailto:sage [04/06/10 03:16 ID:Ock/rmst]
> こんなに簡単に出来るものを使っていいのかと逆に悩みます・・・
最初はどうかと思ってたけど、
この姿勢はなかなかいいな。
向上心を感じるよ。でも、

> 簡単なようでそうでもないので。全部に手を出すとスゲー時間が掛かるので
> まずelを使ってバトルシティの完成を目指すのがいいと思う。
俺もこれに同意。
暫くの間、ゆるいライブラリに依存しててもいいんじゃないかな。
基礎構文がスラスラ出てきて、脳内コーディングもできるようになったら
DirectX なり SDL なり、もうちょっと難易度の高いものに朝鮮すればいいじゃない。
別に誰に急かされてる訳じゃないし、ゆっくりでいいと思うよ。



36 名前:名前は開発中のものです。 mailto:sage [04/06/10 18:40 ID:ZmE5oMyN]
elもの足りなかったり、最終的にはdirectXで作りたいんだったら
ttp://www.twin-tail.jp/
にあるライブラリ使うと勉強になるかもしれない

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

宣伝くさいがC++入門書には
これならわかるC++―挫折しないプログラミング入門 小林 健一郎 (著)
をオススメしとく。ゲーム作成っぽくPGを学べるからサクサク進めるよ

37 名前:名前は開発中のものです。 mailto:sage [04/06/18 12:26 ID:79uzekdF]
もう飽きたのか?

38 名前:名前は開発中のものです。 mailto:sage [04/06/18 17:48 ID:r0laBVzQ]
便りがないのは元気な証拠。

39 名前:( ・ω・)∩ [04/07/17 20:12 ID:879HB6EF]
もう、一ヶ月も経ってしまったのですね・・・
忙しさにかまけて全く進めていませんでした。

>>34-36
ありがとうございます。
最初はelで作った方がいいみたいですね。
>>36
最初はelで作ってみるので、
お気に入りに登録しておきます。

>>37-38
すいません。。

40 名前:名前は開発中のものです。 mailto:sage [04/07/17 20:17 ID:879HB6EF]
処理の流れを簡単に考えたのですが、
上から順に

・フレームレートの調整
・自機移動
・敵機移動
・弾移動
・アイテムの当たり判定と効果実行
・弾の当たり判定
・画像の表示

こんな感じにしようかと思っています。
今は、いくつかゲームのサンプルを見てたんですが、
クラス?というものが使われているみたいなので、
クラスについて勉強中です。

41 名前:名前は開発中のものです。 mailto:sage [04/07/19 12:18 ID:JtU3sKHQ]
>>1よ久しぶりに現れたな。

で、elがどうやってタイミング調整してるか知らんが、
本質的な処理ではないフレームレートなんかは後付けでいいんじゃないか?
初心者ならまず一通り動くものを作ったほうが良いと思わんでもない。

42 名前:( ・ω・)∩ mailto:sage [04/07/19 14:51 ID:7vl/cHwF]
クラスって難しいですね
まだ、いまいち理解できてないです。。。
でも、なんとかクラスを使って自機移動まで作ってみました。
作ったクラスの2つです。

自機クラス
キャラクタークラス

【自機クラス】
自機の移動や画面からはみ出ないようにしています。

【キャラクタークラス】
自機・敵機・弾で共通化できそうな変数をまとめてます。
(x座標やy座標やスピードなど・・・)


キーボード入力の読み取りも
自機クラスに入れたかったのですが
どうもうまくいきませんでした。

ソースと実行ファイルは下のサイトにあります。
www.geocities.jp/battlecityjp/

43 名前:( ・ω・)∩ mailto:sage [04/07/19 14:56 ID:7vl/cHwF]
次はマップを作ろうと思ってます。

自機クラスで画面の外に自機が出ないようにしてるので、
マップとの当たり判定もさせようと考えてたのですが難しそうなので、
mainの方で移動先の座標を出して、
マップとの当たり判定をして、大丈夫だったら自機クラスで移動。
ん〜なんかもっと綺麗に書きたい。。。


>>41
どうもです。
そうですね。フレームレートの調整はある程度できてからにします。
調整のしかたも思いつきませんし('';

44 名前:( ・ω・)∩ mailto:sage [04/07/19 20:31 ID:7vl/cHwF]
www.geocities.jp/battlecityjp/s.html

まだ、足りないところがたくさんありそうな気がするのですが、
マップは大きなブロック(13×13)で作るとか、弾の大きさは・・・など
いろいろと決めました。

マップを作るうえで必要だったので。

45 名前:名前は開発中のものです。 [04/07/21 10:37 ID:uuB5cohb]
>>44
地形に砂地もなかったか?
荒地だっけ?



46 名前:名前は開発中のものです。 mailto:sage [04/07/21 13:20 ID:EPpPlRxT]
よくわかんないけどガンガレ

47 名前:名前は開発中のものです。 mailto:sage [04/07/22 22:10 ID:SITCAYjl]
なんか応援したくなったのでキャラ描いてみますた。
戦車とかはペイントなりなんなりで回転させてほすぃ(時間なくなったので。手抜きでスマソ)

ttp://www.border.jp/uploader/img/8846.png

足りないキャラはシステムが出来てからってことでおながいします。

>44
荒地とかあるのは続編のタンクフォースのほうだったような。
あそこまでのキャラを描こうと思ったら確実に死ねまつ。


48 名前:47 mailto:sage [04/07/22 22:13 ID:SITCAYjl]
_no

× 44
○ 45



49 名前:( ・ω・)∩ mailto:sage [04/07/24 21:58 ID:KTcVWXgo]
>>47
ありがとうございます。
ちゃんとできたときの絵はどうしようかと思ってたので。

今、試験期間中のためあまり進められません。
終わってから進めようと思います。

50 名前:名前は開発中のものです。 mailto:sage [04/07/24 23:15 ID:WVCkrGJs]
楽しそうなスレだ
俺も試験終わったら、
ここ参考にしながらJavaで作ってみよう

51 名前:名前は開発中のものです。 mailto:sage [04/07/25 15:52 ID:Kcyx9Vfw]
>>50
協力するぜ。俺も試験終わったら。

52 名前:( ・ω・)∩ mailto:sage [04/08/01 16:00 ID:eaePSko0]
elのサイト(もう閉鎖されてます)を見てたら、

Q&Aの「複数のCPPファイルから、el.hをincludeしたい。」
 メインとなるプログラムにはMAIN_PROGRAMを、
 それ以外のプログラムにはSUB_PROGRAMを定義して下さい。
 こうすることでel.hが実体を持たなくなるので、コンパイルが可能になります。

  main.cpp
   #define MAIN_PROGRAM
   #include "el.h"

  sub1.cpp
   #define SUB_PROGRAM
   #include "el.h"


これでキーボードの入力の読み取りを自機クラスに何とか入れることができました。

それと、マップとの当たり判定はちょっと複雑なんですがなんとかできました。
ちょっと複雑なんで他の方法がないか考え中です。

それに弾同士の当たり判定。
弾が小さくて速いので通り抜けそうで・・・
初心者でも簡単にできるかなと思ったけど結構難しいですね('';

53 名前:名前は開発中のものです。 mailto:sage [04/08/05 01:06 ID:jyXW8GZk]
ふつう速い弾の当たり判定ってどうするものなの?


54 名前:名前は開発中のものです。 mailto:sage [04/08/05 03:14 ID:s8LdeTfp]
>>53
点じゃなくて、線で判定する

55 名前:47 [04/08/05 23:46 ID:l8XMkoTU]
斜めに飛ぶ弾とかがないから、矩形の判定処理で代用できると思うよ。
絵のほうは暇を見て増やしてまつ。



56 名前:( ・ω・)∩ mailto:sage [04/08/06 23:02 ID:0sFGptW2]
なるほど。
これでひとつ問題が解決できそうです。
ありがとうございます。

それにしても、開発の速度がどんどん遅くなってる・・・(--;

57 名前:名前は開発中のものです。 mailto:sage [04/08/09 09:10 ID:TxMxWFVj]
地道に進んでるようじゃのう。よしよし。

58 名前:名前は開発中のものです。 mailto:sage [04/08/17 22:27 ID:vYCYRBKg]
gamdev.org/w/?%5B%5B%c3%ca%b3%ac%c5%aa%b3%d8%bd%ac%a1%aa%5D%5D
こんなんあった

59 名前:( ・ω・)∩ mailto:sage [04/08/24 02:17 ID:/PiImTUl]
マップの表示とマップの障害物との当たり判定を作りました!

>>47さんから頂いた絵を自機に使いました。
レンガは・・・一部だけ使いました。次ぐらいに大きさを合わせます。

マップは今マップエディタを作る余裕がないので、
とりあえず、テキストから読み取るようにしました。
これなら、メモ帳で作れるので。


障害物との当たり判定は、
移動前と仮移動後の間のマスを1つずつ調べて、
障害物があったら、その障害物の前までの移動距離を返す関数を作りました。
その移動距離から移動後の座標を出すようにしてます。

なんだか間違ってそうなところがありそうで不安です・・・


次は、弾を発射です。
その次は、弾とマップの障害物との当たり判定です。
早くレンガを壊したい!!

60 名前:名前は開発中のものです。 mailto:sage [04/08/24 04:20 ID:sdxYJefI]
>>59
順調そうでなによりだ
その調子でファイトー

61 名前:名前は開発中のものです。 mailto:sage [04/08/25 02:58 ID:KZrGgGXZ]
自機はええなw

62 名前:名前は開発中のものです。 mailto:sage [04/08/25 18:09 ID:r9yYYXGW]
www004.upp.so-net.ne.jp/moyashikko/funa/tank.zip
これ作って友達に見せたら、バトルシティみたいって言われた。
誰も対戦してくれなくて、テストプレイも何もできない状態ですけどね…。w

横槍でごめりんちょ。

63 名前:名前は開発中のものです。 mailto:sage [04/08/26 14:02 ID:uDW62OsJ]
>>62
よくできてるけどバトルフィールドではないな。

64 名前:名前は開発中のものです。 mailto:sage [04/08/26 15:34 ID:Lib8gHjj]
>>63
たしかにバトルフィールドではないなw

>>62のはバトルシティを作ろうとして作ったんじゃないし
しょうがないさ

65 名前:名前は開発中のものです。 mailto:sage [04/08/27 00:18 ID:59ITK8Dw]
バトルフィールドも面白いんだよな。いまはRTSが近い感じだな。



66 名前:( ・ω・)∩ [04/08/29 00:40 ID:RGX1hLFJ]
>>58
おお、そこはこの前見ました。
スレ立てた時はここもそんな風にしたかったんですけどね。
自分に力なくどんな順序で作るかうまくイメージできなかったのでもう諦めました。
行き当たりばったり完成に向います('';
でも、完成したら、そこみたいにまとめるつもりです!

>>62
たった3日でそこまでできるんですか!すごい!!
自分はBattleCity作り始めてもうすぐ2ヶ月です・・・(まだまだ、完成は遠いでつ)



すいません、バトルフィールドってなんですか?
検索しても「Battlefield 1942」とかしか出てこなくて・・・

67 名前:( ・ω・)∩ mailto:sage [04/08/29 00:43 ID:RGX1hLFJ]
sage忘れちゃった。。

弾の発射とブロック(障害物)の破壊を作りました!

前回同様、自機の移動と弾の移動は速いままです。
画面の大きさを変えてみたんですが絵が変になるので今回は変えませんでした。

ポインタを使って自機クラスからマップクラスの関数を呼び出す方法を覚えたので
自機とマップとの当たり判定が自機クラス内で処理できるようになり、
mainが少しすっきりしました。

次はなにを作ろう・・・敵機かな。
敵機のAIは難しそうですね。。
とりあえず、敵機を作ってみます。

68 名前:名前は開発中のものです。 mailto:sage [04/08/29 03:20 ID:MHuIalwt]
オレも勘違いしてたはw フィールドコンバットと。

69 名前:名前は開発中のものです。 mailto:sage [04/08/29 03:51 ID:t812oNyN]
なぜにビッグブリッヂ?ちょとワラタ

70 名前:62 mailto:sage [04/08/29 04:42 ID:nU29DQl2]
遊んでくれた人がいてうれしかったです。
遊んでくれてサンキューさんです。
友達はゲームしない人が多いので、感想も聞けなくて。
3日と言ってもお盆中に一日12時間くらいかけて作ったので、
けっこう時間はかかってます(笑)

敵機の移動アルゴリズムは手がかかりそうですねー!
がんばってください!

71 名前:( ・ω・)∩ mailto:sage [04/08/29 16:47 ID:RGX1hLFJ]
AIはどんなふうに作ればいいのでしょう・・・
今のところ思いついたものを下に書きました。
とりあえず、こんな感じで試してみようと思っています。

--------------------------------------------
敵機の目的:
 ・陣地の破壊
 ・自機の破壊
 
行動:
 ・初期位置から陣地へのルートを調べ、ランダムでルートを選ぶ。
(??%の確率で最初からレンガを無視してルート探索)
(陣地までのルートが無い場合:レンガを無視して再ルート探索)
(それでも無い場合:行ける所まで移動する。到着したら再々ルート探索)

 (移動中)
 ・陣地が直線上に存在した場合:??%の確率でその方向に1発撃つ。
 ・自機が直線上に存在した場合:何度もその方向に撃ちつづける。
(間に防弾壁がある場合は撃たない。)

 ・敵機同士が衝突したら再ルート探索。

 ・レンガと衝突した場合、レンガを破壊する。

72 名前:名前は開発中のものです。 mailto:sage [04/08/29 18:56 ID:KYQTPY63]
オリジナルにはそこまでのロジックは多分入ってないと思われ。
そんなに賢いとあっという間にやられそうだ。
思考が馬鹿でも数多く敵が出てくれば結構強いと思うけどな。
プレーヤは陣地を守んなきゃいけないんだし。

最初は画面下真ん中への移動しつつ、適当にランダムな動きをし(障害回避)、
弾も適当に撃つって感じでもそこそこ遊べると思ふ。

73 名前:名前は開発中のものです。 mailto:sage [04/08/29 18:57 ID:MHuIalwt]
とりあえずそれで作成してみると良いと思う。
バランスなどは実際に作ってからじゃないと取れないものなので。

経験をつむと調整作業を短縮できるようになるが、自力でできない
作業の省略は練習にならんのでまず作れぃ。

74 名前:名前は開発中のものです。 [04/08/29 23:05 ID:jOomCCJ/]
>71
行動は
・基本は直進
・前方が壁なら方向転換
・たまに方向転換
・前方に何もなくてもたまに撃つ
・前方に自機がいたら撃つ
これくらいの簡単ロジックでも十分ゲームになると思われ

75 名前:名前は開発中のものです。 mailto:sage [04/08/30 16:01 ID:mJPPvXlu]
パックマンみたいに数種類の超単純なロジックを揃えるのも



76 名前:( ・ω・)∩ mailto:sage [04/09/15 21:21:05 ID:losKJYUJ]
今まで、PCに触れないところに行ってました。

そして、久しぶりプログラムを見たら・・・
ごちゃごちゃしてて、自分でもさっぱり分からなくなってましたorz
ちょっと離れてただけでここまでわからなくなるとは・・・('';

今、簡単なフローチャートを書いて頭の中を整理中です。

77 名前:名前は開発中のものです。 mailto:sage [04/09/16 01:30:05 ID:ejJ+5J5O]
ガンガレ

78 名前:名前は開発中のものです。 mailto:sage [04/09/17 02:30:26 ID:9Yy7gs00]
一念発起してモジュール分けをやるんだ。

79 名前:名前は開発中のものです。 mailto:sage [04/09/17 18:10:15 ID:xO/NyFmL]
漏れ、参加しようか?
マップエディタくらいなら作れるよ。
ゲームの基本的な仕様は今更ながら参加しづらいんだけども。

80 名前:名前は開発中のものです。 mailto:sage [04/09/17 20:34:58 ID:1kORR/c9]
>>79
共同で製作しようって企画ではないんじゃないか?

81 名前:( ・ω・)∩ mailto:sage [04/09/18 16:09:26 ID:Y/aHvJYv]
>>72-75
どうもありがとうございます。
今、かなり賢いAIも考え中です。
まだ、先のことですがネットに対応して、「複数のプレイヤー vs AI」の時に使えそうなので。

>>77
ガンガレって「頑張れ」って意味だったのですね。知りませんでした.
ありがとうございます。頑張ります!

>>78
モジュールの意味は検索してなんとなく分かったのですが、
どう分けるのかイメージできなくて、
もう少し調べてみないとできそうにないです。

>>79-80
スレ立てたときは共同で作ろうと思ってたんです。
自分だけで作れる自信が無くて・・・。
今は、みなさんの助言のおかげで完成できそうな気がしてます。

マップエディタを作ってもらえるのなら、頼みたいのですが、
まだ、データの形が決まってないところがいくつかあるので('';

82 名前:( ・ω・)∩ mailto:sage [04/09/18 16:12:30 ID:Y/aHvJYv]
敵機のAIを作りました。
>>74さんのをそのまま使いました。ありがとうございます。

1.基本は常に前進
2.前方が壁ならランダム方向転換
3.xx%の確率でランダム方向転換
4.前方に何もなくてもxx%の確率で撃つ
5.前方に自機&陣地が存在したらxx%の確率で撃つ

(xx%は0〜100まで変えられます。敵機の種類ごとに変更可能。)
(実行ファイルの敵機は 3を1% 4を3% 5を50% にしています。)

思ったよりうまく動いてると思います。
でも、当たり判定を作って、速度調整をした後にもう一度
調整か改良しないといけないかもしれません。
何か動きが違う感じがするので。

次は、弾、自機、敵機の当たり判定を作りたいと思います。

83 名前:名前は開発中のものです。 mailto:sage [04/09/18 17:26:22 ID:9LXfRJnU]
右方向を向いて壁に密着して弾を撃つと、一番手前の一番上のブロックが
1個だけ残ってるね。

84 名前:80 mailto:sage [04/09/18 18:27:55 ID:HW6mCAXn]
>>81
漏れも個人で作ってみる。
お互い頑張ろう。

85 名前:名前は開発中のものです。 mailto:sage [04/09/18 23:00:38 ID:rglvGYN7]
バトルシティみたいなゲーム、ソース付きでBASICマガジンのホームページにうpされてるよ。
投稿プログラムのコーナーの2000年5月号のとこ



86 名前:( ・ω・)∩ mailto:sage [04/09/20 01:12:41 ID:Oexw1q7P]
>>83
何度も試したんですが、そのバグが出てきませんでした。
なので、修正はもう少しかかりそうです..

>>84
はい!頑張りましょう。

>>85
どうもありがとうございます。
参考します!

87 名前:( ・ω・)∩ mailto:sage [04/09/20 01:46:06 ID:Oexw1q7P]
弾-弾 弾-自機 弾-敵機 の当たり判定を作成しました。

一応、今は当たってちゃんと消えてるのですが、
ゲーム速度を落としたらバグがでてくるかもしれません(''
(自機は弾が当たっても消えません。)

------------
ちょっと質問です。
弾はshot[8]  敵機はenemy[4]の配列を使ってるのですが、
これは一般的な方法なのでしょうか?

いくつかプログラムを見たんですが、
違うやり方もあるようなので、ちょっと気になって。

ttp://www9.plala.or.jp/sgwr-t/c/sec15-5.html
最初は↑のような方法でしたかったのですが、
なんだか難しそうだし、変数が増えそうなので諦めました。

88 名前:名前は開発中のものです。 mailto:sage [04/09/20 01:58:55 ID:f+AcIb8r]
>>87
リスト構造を手っ取り早く使いたいなら、STLのlist(vectorでも良いけど)を使うと楽じゃない?

89 名前:80 mailto:sage [04/09/20 02:07:50 ID:VdXYB/LI]
現在、自機の表示・移動まで作成しました。
次は弾の発射を作ってみようと思います。

( ・ω・)∩さんと同じようにELを使って作成しようとしたのですが、
なんだかファイル分割が出来なくて諦めてしまいました。

代わりに、ここのライブラリを使用しています。
ttp://www.interq.or.jp/black/minami-m/

90 名前:名前は開発中のものです。 mailto:sage [04/09/20 05:12:43 ID:gIDmjFga]
>>87
リストは便利だけど、将来的に使い方を覚えるので良いと思うよ。
STLのListとそのページのやりかたは似たようなものなので両方勉強してみるのもよし。

メリットとしてはEnemy[4]だと敵が4機か1機か0機か関係ナシに4回チェックしなければ
ならないけど、リストなら1機なら1回だけしか処理を呼ばなくて良くなる。

場面ごとに出現する敵の数やアイテムの数が大幅に変動するようなものだとリストにしておけば
CPUパワーやメモリ消費を必要最小限に抑えることが出来るようになる。


ちなみに配列の敵の数は#defineか、const変数で定義した方が良い。あとで増やす時楽になるので。

#define ENEMY_VALUE 4
もしくは
const int ENEMY_VALUE = 4;

として、敵の配列の最大数として使用している4という数字をENEMY_VALUEに置き換えれば
4機じゃなくて8機にしたいときスムーズに変更できる。

91 名前:名前は開発中のものです。 mailto:sage [04/09/20 12:06:36 ID:BYeKGbVO]
初心者がSTLとかにいきなり手を出さない方がいいと思う。いろんな意味で。

92 名前:名前は開発中のものです。 mailto:sage [04/09/20 14:50:54 ID:7/mB1suy]
とりあえずEffectiveC++とEffectiveSTLぐらいは一通り読んでから作った方が良いな

93 名前:名前は開発中のものです。 mailto:sage [04/09/20 17:12:22 ID:kLjr1+BM]
えー

94 名前:( ・ω・)∩ mailto:sage [04/09/22 00:24:40 ID:/4Z81bhj]
STLのlistですか。_φ(・ω・ )メモメモ
このゲームは、ユニット数が少ないから配列でもよさそうですね。
でも、結構使えそうな気がするのでゆっくりと調べてみます。
どうもありがとうございました!

>>89
ファイル分割が出来ない理由って>>52ですか・・・?
間違ってたらすいません(''

95 名前:( ・ω・)∩ mailto:sage [04/09/22 00:25:35 ID:/4Z81bhj]
今回、作ったところは下の3つです。
・弾の再装填時間を作成
・自機、敵機の停止時間を作成。(自機・敵機が一定時間動かなくなる機能)
・爆破表示 [爆破クラスの作成](自機・敵機が破壊された時のみ表示)

弾の再装填時間を忘れてました('';
敵機の停止時間は、動きを止めるアイテムのためです。
自機は味方機から撃たれた時のためのです。

次は、、、アイテム関連を作ります!



96 名前:80 mailto:sage [04/09/22 01:43:51 ID:XP6c+MBO]
>>94
その方法は試したんですけど,改善されませんでしたorz
別のライブラリに乗り換えた今も,時々そのことを思い出して頭がもやっとします。

97 名前:47 mailto:sage [04/09/23 00:31:44 ID:k7D7aDWV]
おー、ガンガッテるね。
そろそろ画像をうpしようと思って来たら丁度アイテム作成か!
もう用意してあるよ。でもアップローダが使えないみたいでつ。


98 名前:名前は開発中のものです。 mailto:sage [04/09/23 00:56:26 ID:ix/1QRkO]
こっちは?
gamdev.org/up/upload.php

99 名前:47 mailto:sage [04/09/23 19:31:44 ID:Tmtf5ZoF]
>98
ありがd。さっそくうpしてきました。
ttp://gamdev.org/up/img/1326.png

ちなみにちゃんと組み合わせるとこんな画面になりまつ。
ttp://gamdev.org/up/img/1326.png


100 名前:47 mailto:sage [04/09/23 19:49:33 ID:Tmtf5ZoF]
組み合わせ画像の番号がコピペでそのままだった・・・orz

× 1326.png
○ 1327.png

101 名前:( ・ω・)∩ mailto:sage [04/09/25 21:47:34 ID:OFktArWF]
画像、ありがとうございます!!
さっそく使わせていただきました。

・アイテム関連を作成。
・バリア関連の作成(表示方法は考え中)
・敵機出現管理関数の作成(現在、出現間隔は最短に設定)[最大20機まで]

を作りました!


ttp://gamdev.org/up/img/1327.png
この画像を見て思ったんですが、
画面の大きさは今のままでもいいのでしょうか?
小さいかなと思って、もっと大きくすることしか考えてなかったので('';
自分はこのままでもよさそうな気がしてきてます。

102 名前:名前は開発中のものです。 mailto:sage [04/09/26 04:40:43 ID:/e+Ill1F]
>>101
単純な拡大でも良いから倍解像度で遊べると嬉しいなぁ

103 名前:名前は開発中のものです。 mailto:sage [04/09/28 19:09:35 ID:743xQImD]
というかあのサイズはどの環境に丁度いいんだろう。

104 名前:47 mailto:sage [04/09/28 21:46:54 ID:EN3TuKfn]
320×240あれば足りると思うけれど、
640×480にして拡大表示するのもありでつね。
スキャンラインも入れるとシブいかも。


そうそう。
バトルシティのキャラって装甲車になっても
絵のサイズは16×16だったんですね。
今度までに描き直しておきますです。

105 名前:名前は開発中のものです。 [04/10/12 03:44:36 ID:5BYyWGXd]
試験で忙しいのだろうか。
応援age




106 名前:名前は開発中のものです。 mailto:sage [04/10/12 16:26:24 ID:UV7As7sf]
C++歴2週間そこそこじゃなぁ・・・

107 名前:47 mailto:sage [04/10/13 21:04:29 ID:38kzEK6k]
>106
2週間で絵が出せて動かせれるなんて漏れより凄いですよ。
もっとも漏れがカスなだけかもしれんけど。

>101
とりあえずChangeDisplaySettings()で320×240に変更して、
画面左上でもいいから表示できればいいんじゃないかな。
あとで画面真ん中に表示できるように改造すればいいだけだしね。


108 名前:80 mailto:sage [04/10/14 01:40:21 ID:ET88o5FU]
こっそりのんびり作ってる80です。

砲弾の発射を実装しました。
次はマップ表示・当たり判定っぽいです。

( ・ω・)∩さんと仕様が被ってしまうと良くないので
いろいろ独自仕様なとこ考えてます。

そういえば、マップエディタの人はどこ行ったんだろう。
漏れが余計なこと言ったからかな・・・



109 名前:名前は開発中のものです。 mailto:sage [04/10/15 19:12:57 ID:p7Ovp/QY]
YO

110 名前:名前は開発中のものです。 mailto:sage [04/10/15 19:36:01 ID:XmketHMs]
決めました

111 名前:名前は開発中のものです。 mailto:sage [04/10/15 23:53:38 ID:+x/VxyVt]
ほんとうにそれでいいのか?

112 名前:名前は開発中のものです。 mailto:sage [04/10/20 20:25:27 ID:QkVrTGoy]
>>111この一言によって
2人をめぐる運命の歯車は回り始めたのです。

113 名前:( ・ω・)∩ mailto:sage [04/10/29 00:27:59 ID:BsjfUtDp]
>>102-104 >>107
2倍3倍って感じで拡大できるようにしてみます。
値を変えるだけでできるみたいなので、それで試してみます。

>>105
試験じゃないけど忙しかったです。

>>106
2週間・・・?

>>108
独自仕様ですか!楽しみだ。
自分のはプログラムが大きくなってきて
バグが増えてきて独自の仕様とか考える余裕ないです(--;

>>109-112
お話の途中おじゃましてすいません('';

114 名前:( ・ω・)∩ mailto:sage [04/10/29 00:35:55 ID:BsjfUtDp]
いつの間にか一ヶ月も経ってました('';
来週は休みが多いので少しは進むかも

・フレームレート調整処理を追加(1秒間に30回程度更新)
・敵機同士の衝突判定 ( すり抜けたり、重なったりしないようにする処理も)
・[調整] 敵の更新回数を減らし速度の低下をしました。(速すぎるので)
・マップの表示方法の一部変更
・マップデータの修正(一部間違えてました)


敵機の速度をかなり落としのたで、
狙って撃てるようになりました('ー'

次は、レベルごとの弾の変化を作成したいと思います。
これで、防弾壁も破壊できるように!

115 名前:( ・ω・)∩ mailto:sage [04/10/31 14:39:51 ID:aT8mkNkY]
どうも風邪をひいちゃったみたいです。
また、遅れる・・・(´・ω・`)ショボーン

[修正]
・敵機が右上の位置から出なかったバグを修正
・アイテムの時計の敵機停止方法の変更
・自機の更新回数を減らした (自機の移動速度低下)
[追加機能]
・レベルごとの弾の機能を追加 (lv1 弾速が上がる lv2 弾が2つまで発射可 lv3防弾壁破壊可)
・自機、敵機の残機表示

自機の速度を下げたら、レンガとレンガの間に楽に入れるようになりました。
でも、自機の動きにちょっと違和感があるのでもう少し調整が必要かも

(今回は、自機の初期レベルが3になっている実行ファイルも入っています。)

次は、自機と弾の当たり判定を作りたいと思います。
これで、自機もやられるように・・・



116 名前:名前は開発中のものです。 mailto:sage [04/11/05 23:57:29 ID:XmN1DdeJ]
良スレ発見。がんばれ。

117 名前:名前は開発中のものです。 mailto:sage [04/11/09 03:54:34 ID:BYZNqjuG]
Borland C++ Compiler 5.5でバトルシティー作るのってMicrosoft Visual C++ 6.0で作るのと比べると大変過ぎでしょうか・・・?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<102KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef