トップページgamedev
985コメント402KB

初心者のためのゲームプログラミング

■ このスレッドは過去ログ倉庫に格納されています
000102/06/04 00:45ID:cA3D98JA
どうも初めまして。私は、某理系大学の学生です。
将来は、企画もできるゲームプログラマーになりたいと思ってます。
そこでなんですが、私はまだパソコン歴2年くらいしかありません。
また、プログラム歴は0年です。
なので、どこからどうやって勉強していいのかまったくわかりません。
そこでなんですが、みなさん私に
どこからどのような過程で勉強していけばいいのか教えてください。
RPGを作りたいです
0639ごん04/02/14 20:55ID:Iy74Y64N
人工知能やるなら必読の本特集
http://page.freett.com/intteliart/index.htm
0640名前は開発中のものです。04/02/17 16:09ID:srbEjedK
DIBSection、GetAsyncKeyStateで十分ゲームが作れるでしょう。ExcelVBAでも60FPSでる時代なんだから
0641名前は開発中のものです。04/02/17 22:43ID:uK2QzGox
>>640

2DのRPGみたいにビットマップにゲーム画面を描いて表示する、という
タイプのゲームならそうだね。DIBSection(WinG)は、そもそもゲーム
開発向けの描画機能としてWindowsに追加されたわけだし。
0642名前は開発中のものです。04/02/18 01:07ID:vDsuIQTa
今、何かソフトウェアを作りたくてCを勉強しているのですが、
ネットで公開されているHTML形式の文書を参考にしています。
でも、俺が馬鹿なのかテキストの説明不足なのか…。
(凄く親切に書いてあるっぽいので、多分俺が馬鹿なんだろう…)

やはり皆さん、数学はかなりできてましたか?学生時代。
数学ある完璧に出来ないと、習得できないのでしょうか…。
0643名前は開発中のものです。04/02/18 01:26ID:O0hmwpby
>>642
常に '1' を取っていても余裕で出来る。

俺が言うんだ。間違いない。
0644名前は開発中のものです。04/02/18 01:39ID:GQW0NoGP
>>642
なにも暗記とかする必要ないんだよ。テストじゃないんだし。
僕なんかいまだにウインドウひとつ表示するのにも過去に作ったスケルトンをコピーしたり、
入門書開いたりしてるぐらいだよ。
理屈なんか後からついてくるから、雑誌に載ってるソースをタイピング練習するんじゃなくて、
雑誌やヘルプのソースをつぎはぎして1つ自作してみたらいいよ。

俺がやったのは、すでにある簡単なフリーソフトをそっくりそのまま自分で作ってみるって
ことをやったりしてた。見た目&機能くりそつでメイドイン僕みたいな。
作り上げると達成感があっていいよ(^^
0645名前は開発中のものです。04/02/18 02:15ID:6De/UOm9
来年から大学生の18歳です。
情報系の大学に受かり、プログラミングを勉強しようと思っています。
パソコンについてそれなりに知識がありますが、プログラミングに関してはBASICが少しわかる程度です。
言語はなにからはじめればいいでしょうか?
将来はプログラマーになると思います。
ですので、ゲームだけでなくソフトウェアも作れるようになりたいのですが、趣向が違うのでしょうか?
お金はありますので、高いソフトでも買うことは出来ます。
アドバイスしていただけないでしょうか。
0646名前は開発中のものです。04/02/18 04:29ID:zLze+cOD
情報系なら最初から学校でCやると思うし、多分環境も学校で買わされると思う。
0647名前は開発中のものです。04/02/18 07:21ID:SQHjamuH
つーても学校のペースでやってたらお話にならんけどね。
情報系の学部と言っても、将来の職業選択とか深く考えずに入学してくるパンピーが大多数だし
授業も基本的に連中に合わせてるから、あまり期待はしないこと。

まあ、でも普通よりはプログラマ系の人間との遭遇率はずっと高いけどね。
大抵はサークルか何か作ってつるんでるので、そういうコミュニティ探してとっとと潜り込むべし。

本題だが、どうやらゲームも作りたいようだし、Visual Studio .NETのProfessional Editionを買って
C→Java→C++の順番でやればとりあえず間違いないかと。
途中で他の言語に寄り道してもよし。というかガンガンしる。
0648名前は開発中のものです。04/02/18 10:21ID:/qZ+aGXo
>>642
3Dバリバリで物理シミュのエスプリがきいたゲームを作るなら
数学を知らないとそりゃ困る。
と言っても暗記する必要は全くない。
むしろ暗記はダメ。応用がきかんし。
暇があれば数学の教科書で一つ一つ理解していけばいい。
気分が乗ったらちょっとやる
って言う勉強スタイルもマターリしててイイよ。
0649名前は開発中のものです。04/02/18 13:07ID:6De/UOm9
>>647
レスありがとうございます。
Visual Studio .NET手に入れますね。
では、Cから勉強してみようと思います。
0650名前は開発中のものです。04/02/18 15:06ID:k+8PQXSq
3Dプログラムにどうしても腰が引けてしまうへたれです。
そろそろ取りかからないとマジで取り残される。。。
鬱だスノウ。
065164204/02/18 17:14ID:epmm0hFK
皆さんレスありがとうございます。
とりあえず、何か作ってみる事にします。
ありがとうございました。
0652名前は開発中のものです。04/02/18 22:01ID:uUto4xzY
漏れは趣味でHSP使ってる。
HSPだろうとExorcism Breatheみたいなゲームができればプログラマ名乗っても問題ないと思う。
漏れには100年かかってもこれができる気が線。
なのにHSPを小ばかにしてCだとか行ってる藻まえらは・・・ネ申か?
0653名前は開発中のものです。04/02/18 22:14ID:zLze+cOD
俺はC++使ってるがゲームはテトリスさえ未だ満足に完成させられん。
ゲームプログラミング自体の技術とそれぞれの言語の技術は別だと思う。
0654名前は開発中のものです。04/02/18 22:31ID:Zdq7xvp8
ゲームプログラミング練習帳買ってきた。
いきなりヘッダなしのソースで載っててびっくりした。
そこまで初心者向けじゃないってことか。
0655名前は開発中のものです。04/02/18 22:34ID:jijzHEzl
最近ygs2000ってのを知って、ちょこちょこといじってる。
HSPとCを少し知ってるだけの自分でも、なんとかゲームが作れそうです。
0656名前は開発中のものです。04/02/18 22:35ID:Bj7QXkb8
>>650
メビウススレってまだ残ってますか?
0657名前は開発中のものです。04/02/18 22:49ID:ERqvnceb
>>652
そういう問題じゃねぇ。
まず道具の選択が悪いってことよ。

資料とか情報の量とかみてHSPがベストな選択か?
C++ではゲームのサンプルソースなどかHSPより豊富なのは認めるだろ?
自分がやろうと思ったことはもうすでに誰かが実行して尚且つソースまで公開してる可能性も高い。
すくなくともHSPよりはこの可能性が高いはずだ。
言語は関係ないというがHSPしか知らない人間が果たしてC++のサンプルソースをみるだろうか?
つまりHSPしか知らない人間はこの小さなコミュニティだけで奮闘しなければならない。
ってのが今の状態なわけよ。

これまた密な話になるが他の言語に加えてHSPも知っている人間とHSPしか知らない人間では
大きく異なると俺は考える。

実はHSPって選択よりはC++とDirectXの方がサンプルも豊富で全体的な難易度でいったら楽だと思う。
でもこれを学校の勉強的な方法でやろうとしてしまうと全く駄目。一歩も前へ進めない。
で、HSPをやってみるって方向へいくんだろうけど問題はそこじゃないんだけどなぁw
0658名前は開発中のものです。04/02/18 23:14ID:dFt2CDjK
最低限の(習作としての)ゲームを作れるまでのコストは、やっぱりHSPのほうが小さいんじゃない?
いきなりC++とDirectXやって挫折するより、まず、HSPで楽しむというのも一つの手ではあると思う。

まぁ、オレのオススメは両方をつまみ食いしてみて、どっちが向いているかを確かめることだが。
(ただ、将来ゲーム製作関係の仕事につきたいならC++しか選択肢が無いことに注意だ。)
0659名前は開発中のものです。04/02/18 23:23ID:su9YvBQ+
>>658
同意。
紙工作でカッターナイフ(C++)を渡すより
はさみ(HSP)を渡した方がとっつき易い

とりあえずやってみて、完成させることが重要。
少なくとも現状で幾つかの言語があることが分かっているのだから、
特定の言語で行き詰まった(限界が見えた)ところで、
乗り換えを検討することができるだろう。
0660名前は開発中のものです。04/02/18 23:58ID:ERqvnceb
>>659
>とりあえずやってみて、完成させることが重要。
長期的にみて俺はそうは思わない。
プログラマは育った土壌がとにかく大事だ。
ゲーム会社にいる2D親父なんてのがいい例だ。
乗り換えや方針変更なんてのがうまくいくとは到底思えない。
はじめのスタートダッシュでちょっとつまづいたぐらいで
HSPに逃げてしまうのはあまりにも残念でならない。
0661名前は開発中のものです。04/02/19 00:10ID:Nw2A+D8A
http://www.butterfly.net/buzz/TSG_Butterfly.pdf
にある論文みつけたんですが。こういうのって日本語で
訳されたページないんですかね?
0662名前は開発中のものです。04/02/19 00:34ID:Tj2Oungk
まぁ人それぞれでしょ。
複数の言語覚えるつもりの人は敷居の低いのから始めた方がヨサゲ。
少なくとも漏れはいきなりc++から始めてたら挫折してただろうな。
0663名前は開発中のものです。04/02/19 05:27ID:58iV8he0
プロになる(それで飯を食う)のならC++しか無い
が、プログラム初心者ならHSPもアリだろう
「モチベーションの維持」も大事な要素だぞ
0664名前は開発中のものです。04/02/19 07:58ID:l5GZNq1M
お前らプロの方は最初からC++でプログラム始めたのですか?

おれは、BasicだYO!!(QuickBasicだが)
0665名前は開発中のものです。04/02/19 09:29ID:yClfmY4C
ポケコンのBASICで糞しょぼいイーアルカンフーもどき作ってから数年…
Cを勉強しようと思っていまつ。

目標は3Dの格闘ゲームですが、最初の教本は「独習C」でいいのでしょうか?
0666名前は開発中のものです。04/02/19 09:31ID:Ft3FBy17
C++は日本刀みたいなものだな。
実物持ってみりゃ分かるんだが、ありゃ非常にアブナイ。
0667名前は開発中のものです。04/02/19 09:35ID:Ft3FBy17
なんかこんなページ引っかかったので貼っとく。英語読めるヤツはゴー。

"How do I make games?" A Path to Game Development
http://www.gamedev.net/reference/design/features/makegames/
ここで推奨されてるキャリアパス(?)は
テトリス→ブロック崩し→パックマン→スーパーマリオ→ギャラガ→ガントレット
か。
0668名前は開発中のものです。04/02/19 09:53ID:rwGM2mab
やっぱ、壁うちテニスからでしょ。
こんにちはマイコン。
0669名前は開発中のものです。04/02/19 09:55ID:6m15sAf+
やっぱりゲームの歴史から学ぶべき。
ブロック崩し→インベーダー→ギャラクシアン。ヘッドオン→パックマン。みんな配列を使ったゲーム。要はアルゴリズムは変わらないってこと。言語は何でもいい。昔はBASICとマシン語しか無かった。
0670名前は開発中のものです。04/02/19 10:23ID:rwGM2mab
>>664
俺は、BASIC(MSX)→アセンブラ→C→C++→その他いろいろ、と言う感じ。
言語を複数知ってると、「プログラミングとは何ぞや?」ってことが見えてくるよ。
0671名前は開発中のものです。04/02/19 10:24ID:Hwnq+Onl
これどうよ
http://www.n2gdl.net/bookshop/tatsujin/index.html
0672名前は開発中のものです。04/02/19 10:27ID:y6kHtC2X
>>667-669
そういうもんなのか?
俺はてっきり、ノベル→RPG→シューティング→アクション って流れだと思ってたんだが。
0673名前は開発中のものです。04/02/19 10:46ID:Ft3FBy17
>>672
プログラマ的視点だとノベルはそれほどハードル低いわけじゃないし、
RPGが次にくるのもかなり異議ありだぞ。
0674名前は開発中のものです。04/02/19 11:32ID:nGasD5oh
>>672
アクションやシューティングはゲーム全体にプログラムの占める
割合が多いからね。ついでに見た目から作っていけるので
モチベーションが維持できる。

Win環境なら、
ウインドウを作る

自キャラを出す

自キャラを動かせるようにする

敵キャラを出す

敵キャラを動かせるようにする



ノベルやRPGは膨大なデータを管理するシステム開発が大変。
柔軟性のあるシステムのために、スクリプトを作る必要があるだろうし。
0675名前は開発中のものです。04/02/19 11:47ID:rwGM2mab
>>672
「ノベル、RPG」と「シュー、アクション」はそもそも求められるスキルが
全然違う。それに、ノベルはともかくとして、ちゃんと動きのあるRPGを作る
ためには、シューティングやアクションが作れるだけの技術が必要となる。

なので、ゲームプログラミングをどこからはじめるかという話題になると、
必然的にシューティングやアクションからということになるわけだ。

逆に言えば、シューティングやアクションがちゃんと作れれば、それ以外の
ジャンルも(少なくともプログラム技術的には)作れるようにはなるってこった。
RPGつくるならあとはプログラム技術以外のスキル(構成力とか忍耐力とか持続力
とか?)をつければ良い、と。

(ノベル系はプログラミングの話として面白味がある部分はもう無いと思うので除外)
0676名前は開発中のものです。04/02/19 13:14ID:y6kHtC2X
>>673-675
やべ。超勉強になった。
それにしてもRPGって案外難しいもんなんだな

DQみたいなRPG考えると、
当たり判定とか歩行時くらいしか使わないから楽なもんだと…
まぁデータ量が多いのは分かるが。
0677名前は開発中のものです。04/02/19 13:57ID:i2G/W7ED
ちょっとまってくれ。
テトリス>ブロック崩し
に納得できない。

逆じゃないか?
0678名前は開発中のものです。04/02/19 14:41ID:g0FxWW+9
初心者で簡単なアクションなら作れるんだけど
(スクロールと当たり判定と反射する角度と慣性?くらいじゃないの?)
テトリスの概念がいまだによくわかりません。
これってかなりヤバいですか・・・?
0679名前は開発中のものです。04/02/19 14:48ID:rXiCN6cG
それより前に非アクションから始めるべきだと思う。
倉庫番で配列・判定を勉強。

それとブロック崩しは作りやすそうに思えるが
当たり判定やその後の反射をつきつめると意外に奥が深いぞ。

当たった後は消えるだけでいいシューティングの方がはるかに楽だ。
0680名前は開発中のものです。04/02/19 15:09ID:g0FxWW+9
レスどうもありがとうございます。
倉庫番はすでにやったんですけど。
テトリススレのjavaソースちらっと見たら
なるほど、テトリスはマスを全部配列で考えたらいいのか・・・>配列・判定
落ちてくるブロックどういう風に扱ってるのとか勉強してきます。
0681名前は開発中のものです。04/02/19 20:10ID:aO34Xj2q
以前Javascriptでたった5行しかないテトリスのソースが有ったけど
あれ凄いな・・・
0682名前は開発中のものです。04/02/19 20:27ID:t5yV4PZ/
RPGを作りたいなら、

1 マップチップ(小さなビットマップ)をいくつか作りウインドウ上
に適当に敷き詰めるプログラム

2 配列に一画面分のマップデータを作りそのマップデータに対応する
マップを表示するプログラム

3 2画面分のマップデータを作り、そのマップを一方向にスクロール
表示するプログラム

4 4×4画面程度のマップデータを作り、そのマップをキー入力に
応じて上下左右にスクロール表示するプログラム

5 上下左右するマップの中央にキャラクタを透過描画するプログラム

 ・・中略・・

n 1から数バイトのバイナリコードを渡すと、メッセージを表示する
スクリプト(仮想マシン)プログラム

n+1 スクリプトシステムに選択ダイアログを追加するプログラム

といった感じで段階を踏んでいけば、そのうちできるようになるよ。
私も気が向いたときに少しずつこの種の実験プログラムを作っている
うちに、気が付いたらドラクエ風RPGの基本システムができていたw

考えていると面倒な気がしてくるけど、やってみればそうでもない、
という処理も結構あるしね。結局、大切なのはプログラムをある程度
まとめ作る「勢い」なのかも(^^;。
0683名前は開発中のものです。04/02/19 21:14ID:7A9riY8J
むしろ続ける根気だな。
どこかで躓いても諦めない根性
0684名前は開発中のものです。04/02/19 21:43ID:jqt6w00K
勉強させていただきます
0685名前は開発中のものです。04/02/20 08:32ID:O3GxsjmG
根気を維持させるという技術。
ややこしいけどそういうのが上手い人もいるんだろうな。

余裕があるうちに休憩しておくとか
見通しと区切りをちゃんとつけておくとかそういうの。
0686名前は開発中のものです。04/02/24 17:12ID:2qVO22Cv
ゲーム作成を考えているものですが、
やっはりゲーム作成にはwin32APIやDirectXの知識は必要でしょうか?
Cは覚えたのですが、オープンソースのもの見ても
大抵がC++とwin32APIで書かれているのでやっぱ必要かな〜。
と思っているのですが、Cだけでゲームというのは作れるのでしょうか?
以前DOS上で動く簡単な文字のみのRPG作りましたがやはり画像出して
動かすという事を考えますとCだけでは無理があるのでしょうか?
0687名前は開発中のものです。04/02/24 17:26ID:UaKZdR16
そんなこと人に聞くほどのものでも無いでしょ・・・
こういうものを作りたいという目標があって何が必要か分かってるなら学べば良いことだし。
画像出して動かすだけなら最悪VBだって作れる。
0688名前は開発中のものです。04/02/24 17:49ID:Y7quTbTQ
>>686
とりあえずSDLというゲーム用のライブラリを使ってみてはどうでしょうか?
http://www.libsdl.org/index.php
0689名前は開発中のものです。04/02/24 18:18ID:QzqFx48f
>>686
c言語を覚えたが次にグラフィックを扱いたいという意味ならYES
ただ、選択肢はそれ以外にもたくさんあります
Javaなどと違いグラフィックライブラリは仕様に含まれていないからです

WindowsSDKやDirectXSDKの他にもSDLやOpenGLなどがあります
また、それらを利用しやすいように工夫したラッパーライブラリがあります
Easy Link Libraryがその代表例です

それぞれの使い方についてはプログラム板に情報があります
0690名前は開発中のものです。04/02/24 20:09ID:aIJzQ1I6
俺は他のSDK勉強するのが面倒なのでC+++VCLっすw
0691名前は開発中のものです。04/02/24 21:24ID:/HH21fb1
誰か漏れにテトリスの作り方を教えてください
0692名前は開発中のものです。04/02/24 21:42ID:QzqFx48f
>>691
ブロックを落として
左右に移動
回転させて
地面に着地
積みあがってしまったら→ゲームオーバー
埋まっている行があれば消してあいた隙間を埋める
ネクストを表示して
はじめにもどる



どういう事を教えて欲しいんだ?
もし宿題なら専用スレに依頼すれば完成品がでてくるよ
0693名前は開発中のものです。04/02/24 22:03ID:/HH21fb1
1ブロックで、
ブロックを落とす、左右に移動する、地面に着地する
まではできたんですが、その先がどうすればいいか分からないです

配列を使うという話を聞きましたが、どう使うか分かりません。
あと宿題じゃないです。
0694名前は開発中のものです。04/02/24 22:12ID:aIJzQ1I6
>>693
4ブロックで、
>ブロックを落とす、左右に移動する、地面に着地する
ようにすればいい。
1ブロックだと一つの変数で事足りるけど4ブロックそれも不定形ならもっと変数が要る。
0695名前は開発中のものです。04/02/24 22:32ID:QzqFx48f
>>693
http://www.interq.or.jp/moonstone/person/del/otimono_02.htm
ここの一番下、testris.lzhに実行ファイルが含まれてて
配列の内容を表示しながらプレイできるので理解の助けになる

着地したブロックの上に積み上げるのはできてるのか?
配列はすでに着地したブロックを記憶しておき後から検索するのに使う

消去できるブロックを探す場合は1行すべてがブロックである行を探す
回転(左右、下への移動の場合も同じだが)する場合は操作中のブロックも
配列として格納し移動先と比較しブロック同士が重なり合う場合は移動できないことがわかる
など非常に重要な役割を果たす
0696進可 ◆Sinka1my5k 04/02/24 23:13ID:pYHD2VUT
うぉ?紹介されてるし(汗
汚いソースですが、よければどうぞ。

作ってからこういうのもなんだけど
ボード配列の上にブロック配列を重ねて
判定する方式のほうが楽だったなぁ。
0697名前は開発中のものです。04/02/24 23:37ID:/HH21fb1
色々ありがとうございます。
自分のやってたやり方じゃかなり無理っぽいんで
配列を使う方法で1から頑張ってみます。
069869704/02/25 16:07ID:qfGBxsNn
取り敢えず、配列を使う方法で
4ブロックで、ブロックを落とす、左右に移動する、
地面(他のブロックも)に着地するまではできました。
現在は列の消去に挑戦中なんですが、なかなか上手くいかないです。
(列の消去自体はなんとかできそうですけど)

4つのブロックを1つの固まりとして扱う方法が分からなくて、
移動の判定とかを4ブロックそれぞれのパーツのブロックの1つ1つを調べる方法でやってるんですが、
これだと回転した場合も全通り調べなきゃできないし、もう訳が分からなくなりそうです。
やっぱりほとんど勘でやってるので根本的な事が間違ってるみたいです。。。

あと、進可さんのは配列を考えるときとても参考になりましたが、
Delphiだそうなので自分にはソースは読めないです(自分はCです。)

ゲームプログラムやる人はテトリスはみんな最初に通る道と聞きますが、
みなさんはサクサク作れましたか?
0699名前は開発中のものです。04/02/25 16:20ID:jwFXTRaA
テトリス作ったことなーいよ
最初に通った道がシューティング
0700名前は開発中のものです。04/02/25 16:23ID:MjBoX65v
壁マリオ
070168604/02/25 20:29ID:6OlGn9Wy
ちょっとレス遅れましたがありがとうございます。
いろいろ個人で画像を操作できるSDLとかSDK、その他
探して頑張ってみます。
0702名前は開発中のものです。04/02/25 21:22ID:EfbyJ+nh
マリオ様がみてる
0703名前は開発中のものです。04/02/25 21:26ID:1GHCSbpM
>>702 ゲキワロタ
0704名前は開発中のものです。04/02/26 01:36ID:XGyZFjQK
>>698
俺も今ちょうど作ってる
1週間ぐらいかかってやっとGBのテトリスをほぼ再現できた感じ
これから他の要素を盛り込もうとしてる
0705名前は開発中のものです。04/02/26 02:15ID:fNctcycY
RPGツクールでいいじゃん。
0706名前は開発中のものです。04/02/26 03:48ID:ndX7y4rW
RPGツクールでテトリスを!?
070769704/02/26 10:20ID:m9qY2lsy
>>704
凄いです...自分は上手くいかないのでまた最初からやり直す事を検討中です
ちなみに言語は何ですか?
C言語だったら何行くらい書いたか教えてください。
自分は>>698の内容程度しかできてないのに400行以上なんです…
0708名前は開発中のものです。04/02/26 16:59ID:WaZWgcuE
ttp://www.ss.u-tokai.ac.jp/~ooya/Program/Game/
テトリスのほかにも参考になるソースが置いてあった
Delphiだけどな

>>696
進可たん乙です
ホームページ見させてもらってます
肝心なところを伏せてあるのは焦らし作戦ですか?w
どんなデータ管理をしてるのかひっじょーに気になりますです

>>698
>テトリスはみんな最初に通る道
かなり後になってからです
まずはコラムスやぷよぷよ、シューティング、他にはメイドインワリオ風のようなゲームが中心でした
テトリスの回転はある時期に悟りを開いたように理解できました(←つい最近ですが)
どこかのスレにも書いてあったけどはじめにテトリスを作るってみんなレベル高杉
070969704/02/26 18:02ID:m9qY2lsy
>>708
そうなんですか!?
自分はてっきりテトリス作るくらいができないと、
他のゲームを作るのも難しいものだと思っていました。

現在、なんとか昨日の適当な方法の続きで4ブロック回転と積み上げまでいきました。
あと、4ブロック回転の時の当たり判定(…というのか良く分かりませんが)と、
揃った列の削除がまだできてません。

汚いソースだろうがコピペの嵐だろうが取り合えず完成させる事を目標としたいと思います。
0710進可 ◆Sinka1my5k 04/02/26 19:40ID:5AR7oDF/
>肝心なところを伏せてあるのは焦らし作戦ですか?w

いえいえ、今までの応用だから全部説明するまではないかと。
それにソースも含めて公開してますし。

焦らしっていうより、ページで説明するのが面倒って部分もありますw
・・・ここだけの話ですが、作るほうならコラ○スとぷよ○よはとっくに出来てたりして。
んでもってさらに現在、オリジナルルールで作ってます。
ttp://gamdev.org/up/img/258.jpg
0711名前は開発中のものです。04/02/26 19:44ID:XGyZFjQK
>>707
C++Builder使用、ヘッダ除いて多分700行ぐらい…?

辺り判定は落下中のブロックのために確保した配列と、画面に積んであるブロックのための配列を比べて、両方trueなら×、それ以外なら○…
揃った列の削除は、ある行の全てのマスにブロックがあるかどうかで判定してブロックがあった場合、
その列に相当する配列の中身をまずゼロとかにして、次に一つ上の列のマスの状態をコピーして…とかやりますた。
ガンガレ。
0712名前は開発中のものです。04/02/26 20:01ID:JZrTBTIU
進可さんに惚れますた!
0713名前は開発中のものです。04/02/26 20:05ID:MpCa+gmR
おれも、711さんと同じように、2つの配列を比べる関数を作りました。

ブロックの左右移動可能か?
ブロックの落下可能か?
ブロックの回転可能か?

これら、すべて判定できるので、とても助かった気がします。
0714名前は開発中のものです。04/02/26 20:06ID:90/xFdgR
以前どっかのスレで無理矢理詰めた感は有ったが
たった5行のjavascript最短ソースのテトリスが有ったけど
アレ理解出来なかった・・・
0715名前は開発中のものです。04/02/26 21:21ID:7gKCxt/i
キチンと最初に設計しないと上手く行かないと分かってるのに、メンド臭くてやる気が起きない
071669704/02/26 22:47ID:m9qY2lsy
揃った列の削除までできました。
後は4ブロック回転の時の当たり判定ができれば
ショボイながらも一応完成できそうです。

自分は配列を1つしか作らない方法でやってるんですが(…というかそれしか思いつかなかったです)
>>711さんや、>>713さんのおっしゃる様に配列を2つ作れば良かったっぽいです。
ちなみに現在1100行オーバーです…
071769704/02/27 10:28ID:RugYp+Z8
テトリスなんとか完成しました。
スレの皆様、いろいろ教えて下さってありがとうございました。
効率の悪い書き方のせいか、最終的には約1300行にもなりました。
この後、追加要素(BGMなど)を盛り込もうとも考えたんですが、
あまりに汚いソースなのでやる気が出そうにありません(苦笑)
なので、>>237さんを参考に今日からブロック崩しを作ってみようと思います。
今回の目標はビットマップを使う事です(テトリスはRectangleで作ったので)
0718名前は開発中のものです。04/02/27 15:33ID:Q9VH1vvW
>>697
テトリス完成、おめでとうございます。
071969704/02/27 19:52ID:RugYp+Z8
>>718
ありがとうございます。

…というか自分書き込み過ぎですね(汗
0720進可 ◆Sinka1my5k 04/02/27 20:51ID:8MIJ2gnR
テトリス完成おめでとー。
ブロック崩しは作りこむほど奥が深いから気をつけて。

壁反射だけならまだ簡単だけど、ブロックに当たった時の反射方向や
球のスピードが速くなった時のすり抜け対策とか考えることは色々ありますぞ。
0721名前は開発中のものです。04/02/27 21:20ID:U/Gt4WbP
やっぱ倉庫番が一番楽だよな
0722名前は開発中のものです。04/02/28 09:26ID:pmE2Umai
Win32APIプログラムって全部暗記する必要あるんですか?
僕は暗記が苦手なので挫折しそうです^^;
072369704/02/28 09:58ID:lYdEMf/n
>>720
ありがとうございます。
現在、ビットマップの透過(?)と、
テキストファイルからブロックの配列を作るのに悪戦苦闘してます。

>>722
>>627-628を参照して下さい
0724名前は開発中のものです。04/02/28 14:47ID:iQVQ6vmy
ゲームを作るのにC++ BuilderXってどうですか?
BCCの新しいバージョンにエディタが付いたもののようですが
アセンブラ(TASM)も内蔵されていて
無料で統合環境ということでDelphiから乗り換えてみようかと
思っています
すでに使ってる方など感想おねがいします
0725名前は開発中のものです。04/02/29 01:37ID:qd/c0xZi
よくわからないけど、Delphiと比べるとRADないのが痛い人には痛いかも。
詳しくは

Borland C++ BuilderX
http://pc2.2ch.net/test/read.cgi/tech/1065260556/
072669704/02/29 01:41ID:j2ob2y2D
目標だった画像の透過とアニメーションができたので、
弾の速度は変わらないし、反射角度も90度固定ですけど、
一応、ブロック崩し完成って事にしました。

次はファミコン風のボンバーマンに挑戦してみようと思います。
目標はBGMにmidiファイル、効果音にwavファイルを使う事です。
0727名前は開発中のものです。04/03/01 22:35ID:/gKZWbpP
ISM-Fatal Errorって何??
ゲームインストールして起動させようと思ったら
この表示が出てダメなんだけど…

FATAL:EQ:Type mismatachって表示される…
誰か対処方を教えて下さい。
0728名前は開発中のものです。04/03/01 22:40ID:t4sH9QS4
>>726
http://pc2.2ch.net/test/read.cgi/gamedev/1023007103/
↑ここにいってみれば?
072969704/03/02 01:38ID:ZUvtQmuI
>>728
ありがとうございます。
プログラムの方はヘボイなりになんとかなりそうでしたが、
素材が手に入らなくて困っていました。
リンクを辿ったらボンバーマンの画像や効果音があったのでいくつか利用させて貰います。

現在はプレイヤー、敵キャラ1匹、爆弾一つの操作まで出来ました。
ただ、敵がキャラクターに向かって動くようにはまだ出来てないです。
あと効果音とBGMもまだ付けてないです。

それと、今はキャラクターを描画するのに
マスク画像を使ってBitBltを2回使って透過する方法を使ってるのですが、
次からは「DIBを使った抜き色による透過」というのにチャレンジしてみようかなんて思ってます。
なんか難しそうですが(苦笑)
0730名前は開発中のものです。04/03/02 13:13ID:uuZIYtUM
>>682

私はC++入門本レベルぐらいの内容は理解したつもりで
RPGのようなゲームを作ろうとしてりる者です。
662さんが書いた中略以下がわからないのですが、どなたか詳しく
説明していただけないでしょうか?
0731名前は開発中のものです。04/03/02 14:04ID:5i7MDMsl
>>730
 682氏に聞かないと解らんが、多分 町の人や道具屋との会話のことかな
クエストを受けたり、武器を買ったりの、そのさい「はい」「いいえ」や
アイテム売買など
0732名前は開発中のものです。04/03/02 17:25ID:FHMYa0cu
すいません、ちょっとお尋ねしたいんですけど
物体同士の当たり判定ってどういう考え方でやればいいのか
できればやさしく教えてください
0733オレー04/03/02 17:31ID:BI5jzYnv
>>732
いろいろあるぞ!
一番簡単なのは、物体と物体の距離を求めて、ある距離以下になったら当りにするやつだ!
0734名前は開発中のものです。04/03/02 17:57ID:6SOpOeX3
>730
ぶっちゃけにカスタムメイドのPRGツクールを作るということ。
そういう意味でもツクールを触っておくのは意味があると思うけどな。
(バカにする人もいるけど)
0735名前は開発中のものです。04/03/02 18:24ID:xvdfyDYN
>>732
>>733の他には、物体に判定枠の情報を持たせて、枠の座標が重なったら当たりにする方法も。
ただ、>>733と上記の方法では移動が速いとすり抜ける問題が有る。
それを解決する判定方法は一つ上のレベルになるんで、まずはどちらかで組んでみては?
0736名前は開発中のものです。04/03/02 19:02ID:VXTtRZMX
javaでゲームを作っていたら友達にC++で作れよ
といわれました。
javaだとだめなのですか?
0737名前は開発中のものです。04/03/02 19:12ID:B3kmk66a
カスタムメイド・・・?
18禁ゲームっぽいな(笑
0738名前は開発中のものです。04/03/02 19:46ID:E8Xe2avz
>>736
友達に理由聞いてみた?
JavaもC++も一長一短だよ。

Java
・Windows以外のPCでも動く。
・その分遅い。
・C++と比べれば簡単。

C++
・WindowsならWindows専用になってしまう。
 (十分な知識があればそうでもないけど…)
・断然速い。
・その分難しい。

両方とも親戚のような言語なので、
片方で学んだことはもう片方でも少し応用すれば使える。
どっちか好きなほうから手をつけてみては?
■ このスレッドは過去ログ倉庫に格納されています