アクションゲーム製作総合スレッド Part1at GAMEDEV
アクションゲーム製作総合スレッド Part1 - 暇つぶし2ch200:名前は開発中のものです。
04/11/18 23:57:22 aoFM9lh5
>>198
俺は足元、中央下に設定してる。
□□□
□□□
□□□
□■□
  ↑ココ

トップビューの場合はXYともに中央

201:名前は開発中のものです。
04/11/19 03:17:39 fCir4yg0
漏れも>>200と同じ。
これだとキャラの大きさが変わっても
初期位置とか直さなくてもいいから何かと便利だと思う。
当たり判定はほんの少しだけ面倒になるかもしれないけどね。


202:198
04/11/19 03:47:53 /OfHTGgu
返信ありがとうございます。
皆さんの助言を参考に、今現在、下中央をキャラクターの位置としようと考えています。
ですがキャラクターの横幅が偶数だった場合、下記の黒い部分のどちらをキャラクターの位置とすればよいのでしょうか?

□□□□
□□□□
□□□□
□■■□
 ↑↑

皆さんはどうされてますか?教えて下さい。お願いいたします。


203:名前は開発中のものです。
04/11/19 04:28:01 LkWQMGX8
>>202 好きにしろ。
下らんことで悩む前にどっちかに決めてそれにあわせてゲームを完成させろ。
今回のやり方でだめなら、次回作でもっと良いやり方を考えろ。

つーか、お前は本当に自分の書いてるプログラムを理解できてるのか?

204:名前は開発中のものです。
04/11/19 06:48:15 KHujW7fq
そんなの適当でいいんだよ

205:名前は開発中のものです。
04/11/19 06:51:57 EWBoPtNf
適当でいいなら、左上が一番簡単だと思う。

206:名前は開発中のものです。
04/11/19 07:08:54 s4Qljw49
左右反転すると真ん中のほうが楽。

だが>>202はほんとどうでもいい。適当でいい。
そんな1ドットをどうこうするような細かいもん作ってないだろ。

207:名前は開発中のものです。
04/11/19 07:19:13 CvTcRkeC
>>202
ドット絵を描くときに左詰めで描くから左に一票。
でも実際は当たり判定やスプライトのサイズなんて
動的に取得できるような関数作るから計算しやすい左上を基準にするかなぁ。

208:名前は開発中のものです。
04/11/19 21:17:57 96g2G40X
>>202
横幅を奇数にすればいいじゃん。
どうしても偶数で作りたかったら、端1列を透明色にするとか。

209:名前は開発中のものです。
04/11/20 03:15:36 JyIyTZXc
奇数サイズのスプライトなんてアンビリバボーだな

210:名前は開発中のものです。
04/11/20 13:58:52 JyIyTZXc
キャラクタの見た目の幅のことだろ
>>209の頭の中ではどうか知らんが、そもそもスプライトのサイズと
ゲームのロジックは切り離されてるはずだし

211:名前は開発中のものです。
04/11/20 17:33:17 LdCr7d2e
ID:JyIyTZXc

212:名前は開発中のものです。
04/11/20 17:42:38 WUyW5P+J
>>211
シーッ!

213:名前は開発中のものです。
04/11/20 18:41:43 8hGqhcWx
バッカおまえら>>209>>210はケーブルテレビ使ってる別人なんだよそうに決まってる

214:名前は開発中のものです。
04/11/20 19:13:41 93dCWbxq
家族で共有してると大変ですね

215:209
04/11/20 19:20:08 BNVREhMz
ホントに別人なんだけどこりゃ無理だ…
オレはDIONのADSLなんだがアクセス規制されたぽいので
そのIDはもう出ない。いまは京ぽんから。

まあ断末魔だなコレ

216:名前は開発中のものです。
04/11/20 22:49:09 8XWxHFow
無視すりゃいいのになんでわざわざ名乗り出るんだろう?

217:名前は開発中のものです。
04/11/20 23:21:23 xXDimROI
>>216
それは自分への問いかけですか?

218:名前は開発中のものです。
04/11/21 00:25:15 nBSELby7
あ、210は漏れだわ
eatkyoのinfoweb

219:名前は開発中のものです。
04/11/21 07:58:44 z/wEXkzc
アクションゲームに限った話じゃないけど
PUSH ANY KEY とかスタート画面によく出ますよね
普通はメッセージとか使うんだと思うんですが
DirectInput使ってあれを実現したいんですがどうしたら良いでしょう?

220:名前は開発中のものです。
04/11/21 11:01:16 2XxbehLq
>>219
それはDirectInputの使い方がわからないのか?
それともキー(ボタン)入力待ちの方法が分からないのか?

単にボタンが押されたら次の状態に遷移するだけだと思うんだが。
状態遷移図かいてる?

221:名前は開発中のものです。
04/11/21 11:58:44 z/wEXkzc
スイマセン、言葉不足でした

>それはDirectInputの使い方がわからないのか?
>それともキー(ボタン)入力待ちの方法が分からないのか?

後者の意味がよくわかりませんが、おおむね前者だと思います。

DirectInputを使って「あるキーが押された」ことを検知する
のはできますが、「何かキーが押された」ことを検知する
方法を知らないのです。
そもそもDirectInputにそんな機能があるかどうか、も知りません。

あと、DirectInputを使って実現したい、と書きましたが、
メッセージで処理したくない(ウィンドウプロシージャ内に
その処理を書きたくない)だけで、APIとか使ってでも良いです

222:名前は開発中のものです。
04/11/21 12:30:06 YAOm7t3G
>>221
なんか「ビックリしたユーザの行動」スレを思い出すな
いくら HIT ANY KEY だからって電源ボタンやNumLockまで検出する必要は無いだろうし、
該当しそうなキーを全部チェックして1つでも押されていれば先に進めばいいんじゃない?

223:名前は開発中のものです。
04/11/22 19:11:28 Uf66t4QN
>>185
10年以上昔のベーマガ掲載のゲームよりひどい・・・


224:名前は開発中のものです。
04/11/22 20:09:44 yKJaxAcu
具体的にどのへんが?

225:名前は開発中のものです。
04/11/22 20:11:58 ZMLKr/mT
きっと視神経へのダメージの事だわさ

226:名前は開発中のものです。
04/11/23 00:58:52 Ox5TS5k9
ベーマガ掲載のゲームって、稿料もらえるし、それなりに選抜されてたんじゃないの?

227:名前は開発中のものです。
04/11/25 07:06:21 JzO3Dc7v
そう言えば、アーマード・コア作ろう。という声がないのが不思議だな。

本作はPC版出しそうにないし、簡易ネット対戦を望むなら、誰かやりそうだと思うのに。
固定ファンもいるし、MOD向きだし。

という事で、今やってるものがある程度出来て、まだ誰もやってなかったらやってみようかな?

228:名前は開発中のものです。
04/11/25 08:22:25 KgdcUzS6
先行者のゲームとか

229:名前は開発中のものです。
04/11/25 13:25:18 W531vgfJ
もっとレトロチックなの作りたいやつが多いんじゃないの

230:名前は開発中のものです。
04/11/25 14:31:07 DPdOHTg2
そもそもまともな人なら
こんなところで何か作ろうなどといわない

231:名前は開発中のものです。
04/11/25 19:02:43 bNN/YI6j
メカを組み合わせて遊べる3人称視点の3DSTG、ネット対応、ってとこか
いろんなジャンルでMODの土台が充実するといいなーとは思う

232:名前は開発中のものです。
04/11/26 12:14:52 8S49Buo1
3DCG描けるヤシが居なくて挫折に一票(藁


233:名前は開発中のものです。
04/11/26 16:36:48 01x0SJmH
へぇ
3DCGって、描くものだったんだ

234:名前は開発中のものです。
04/11/26 17:02:52 B+mKizMi
>233
描くもんじゃないの!?

235:名前は開発中のものです。
04/11/26 18:10:20 bmmbTDMM
貼り付けるためのテクスチャを描くのか?
いや、描いた事ないからほんとに知らないけど、俺は描くもんだと思う。

236:名前は開発中のものです。
04/11/26 19:55:32 F/4BM1fo
テクスチャはフォトショ等のフィルタから生成したり、写真加工したり、手書きしたりと色々。

237:名前は開発中のものです。
04/11/27 06:17:29 nNgK7oSy
Beats of Rageでモナーのゲームが作られてる
URLリンク(www.geocities.jp)
BORの人気が高まっているらしいが・・・本当?

238:名前は開発中のものです。
04/11/27 11:14:33 P4qYp70q
BORっての自体初耳


239:名前は開発中のものです。
04/11/27 23:34:54 yoG1pScc
>>234
3Dはモデルを「組む」とか「作る」もんだと思う
描くってのはちょっと違和感あるな

240:名前は開発中のものです。
04/11/27 23:42:06 JASdTwIV
>239
「組む」ってのに同意
とくにローポリは「組む」って感じ

ポリゴン数気にしない&骨入れないんだったら
「描く」って感覚でもできると思うけどね

241:名前は開発中のものです。
04/11/28 00:37:23 XIhq8XD7
>>238
【ベアナックル】BeatsofRageMOD製作スレ【KOF】
スレリンク(game板)l50

242:名前は開発中のものです。
04/11/29 03:35:14 U5tdL2TW
>>237のサイトのムービーが再生できなかった・・・

243:名前は開発中のものです。
04/11/30 09:57:44 fJ1Mcoix
>>242
動画はリアル。リアルプレイヤー入ってます?

ゲームの主人公とかがメインのゲームなのに>>237のヤツはキャラも作ってるみたい。
Beats of Rageってイマイチだと思ってたんだが、>>237が言ってるように人気がでてきたみたいだね。


244:名前は開発中のものです。
04/12/01 22:26:27 xQXTpqo4
>>243
そんなの入れたくない。
mpgにして。

245:名前は開発中のものです。
04/12/01 23:03:27 z5ng+Rdt
俺もQuicktimeとRealは絶対に入れたくなかったので
MediaPlayerClassicのプラグイン?で見ている。

保存するものは基本的に全部AVIに変換してから保存するが。

246:名前は開発中のものです。
04/12/04 09:15:47 ceiP9Uwz
はいはい

247:名前は開発中のものです。
04/12/05 02:48:50 7gzxgZOT
返事は1回

248:名前は開発中のものです。
04/12/05 07:21:21 sIPEkyQQ
>>244>>245
WMVのムービーが見れるようになってますよ~。
URLリンク(www.geocities.jp)

249:名前は開発中のものです。
04/12/05 17:22:17 faSlQI3x

あんま見てても面白い内容になってないな…

250:名前は開発中のものです。
04/12/07 22:29:33 Nkt240DJ
MIDIをストリーム再生してるやつっているか?
MCIは開くまでの時間が長いので、使いもんになりまへん。
DirectMusicも嫌いだしなー。

251:名前は開発中のものです。
04/12/08 01:44:20 +PhqUDvz
MIDIは環境依存だから仮のものって印象しかない

252:名前は開発中のものです。
04/12/08 12:29:11 aYrhhJ0J
ストリーム再生ってことは自分でドライバ作らないとだめってことだな


253:名前は開発中のものです。
04/12/08 23:42:51 fn6azQDD
MIDIモジュールにデータ送って音鳴らすだけなら簡単。
切れ目のないループ演奏も大して難しくない。
普通にSMF開いてそれを演奏ってまでやろうとするとちと面倒。

254:名前は開発中のものです。
04/12/08 23:50:03 CPNslY+d
MIDIって、ストリーム再生しなきゃいけないほど、ファイル大きかったっけ?


255:名前は開発中のものです。
04/12/09 00:07:20 HEBUMVJR
MIDIなんか使うなよ。

256:名前は開発中のものです。
04/12/09 00:54:45 540yGDtx
>>254
200KBのBGMファイルをMCIで開いて味噌w

257:名前は開発中のものです。
04/12/09 03:11:04 zkAbZejf
MIDIでなんでそんなデカくなるんだ?
SysEX使うわけでもあるまいし。

258:名前は開発中のものです。
04/12/09 18:08:13 TMzyhP9O
>>254
ちみはストリーム再生の意味がわかってないとおもわれ

ここでいうストリームってのは途切れのないループをするために
独自ドライバでMIDIコマンドおくることだろう

SMFファイルをながしておわりというレベルとは違う

ZMUSICとか参考にして作ればいいだけ

259:名前は開発中のものです。
04/12/09 19:23:16 kX82LQgs
>ここでいうストリームってのは途切れのないループをするために
>独自ドライバでMIDIコマンドおくることだろう
あほなこといってるとおもう

260:名前は開発中のものです。
04/12/09 19:39:47 R2tpui2B
MIDIをBGMとして使おうとする神経がわからない
鳴らさないほうがマシだ

261:名前は開発中のものです。
04/12/09 20:15:28 nZpgMZvO
まぁ遊ぶほうとしてはoffにできればoffにして遊ぶだけだったりする
offにできないのはクズゲームとして捨てる
惜しいほど面白いならデバイス消音して遊ぶ

それとは別に、>>258のようなのは作りたいもんだとは思う
スレもいくつかあるようなんだが、大抵はUI作るのとごっちゃになっててどうにもこうにも
スレと関係ない話が混ざった

262:名前は開発中のものです。
04/12/09 22:56:17 zP8atGfM
確かYGS製のゲームはストリーム再生だったと思う。

263:名前は開発中のものです。
04/12/10 22:49:03 W4CZKNrO
音楽として演奏(一連の流れ)っていう意味では全てストリームなんだが。
というわけでMCIもストリーム再生に含まれる。

>>261
どうせやるならオーディオのストリーミングもいいぞ。
一から自分で作った波形がそのまま再生されるってのは結構感動。

264:名前は開発中のものです。
04/12/11 00:10:50 1OS7WaCz
>>263
処理の手順としてストリームかどうかってことじゃねーの?


265:名前は開発中のものです。
04/12/12 11:14:01 56kNXguI
>252
ドライバというか処理を書くのは簡単。

演奏用スレッド立てるなりマルチメディアタイマを起動するなりして、
一定の間隔でmidiOutShortMsg()などでMIDIを操作するだけ。


266:名前は開発中のものです。
04/12/12 20:58:23 UzShcwAs
誰もスレ違いなことに気付いてないのが凄いな

267:名前は開発中のものです。
04/12/12 22:00:39 jBzmEJaW
このまま誰も気づかずに1000まで行く予定

268:227
04/12/13 12:47:43 GaSLKrfH
今作ってる奴が、もう少ししたらUP出来るかも。

サイキック・フォース(って知ってる?一部で人気だった)
ジャンル的には、3D格闘&シューティングなんだけど。
あれ作ってます。
モデルデータとか作ってくれる人居たらいいなあ。

269:名前は開発中のものです。
04/12/14 03:57:22 yxvWjFQ6
なつかしいもん作ってるな

270:名前は開発中のものです。
04/12/14 05:13:30 DDGCo+Mb
今で言うところの、旋光の輪舞、か

271:名前は開発中のものです。
04/12/14 16:52:00 43O4BOUE
ストEXと同じく、3Dモデルを使うが扱う座標系に2D準拠のものがあったりしそうな

272:名前は開発中のものです。
04/12/15 08:02:35 X3Vjd/DZ
>268
スゲー、期待してます
PS版のカメラワークは当時ツボッた

273:227
04/12/16 04:40:26 wqjYOUIk
取り敢えず頑張ってます。

やっとこビルボードの描画を実装しました。
ちょっと特殊な実装方法なので苦労しました。

後は、球コリジョンを実装すれば、ベースは一通り出来たかも。

274:227
04/12/16 20:19:40 wqjYOUIk
球コリジョン取り敢えず実装、、。

押し出し処理を入れてみたけど、半径が小さすぎるとすぐ軸がずれるし、
大きいとパンチとかが(絵的に)当たらなそう、、。調整ムズい。
ダッシュ等の時に、相手サーチするようにすれば、解決するのか、不安。

275:名前は開発中のものです。
04/12/18 07:26:03 wUjx+TGr
サイキはシューティングに分類されるのかな?
飛び道具は重要だけど

とりあえず>227期待しとるよ

276:名前は開発中のものです。
04/12/18 08:10:46 K6QEeqd8
格闘じゃないのか?

277:227
04/12/19 04:20:01 4aLFz88/
両方だけど、格闘寄りかな?
実は、前に作った偽ガルーダという2DSTGのシステムを拡張する形で
作ってます。
今、コマンド解析の部分にバグがあるようなので、調べてます。
殴ったり飛び道具当てたりとかまで実装出来てます。

278:名前は開発中のものです。
04/12/19 05:06:18 gB2TN1tM
ああ、君は偽ガルーダの人か。
もう縦シューは作らんの?

279:227
04/12/19 07:33:42 4aLFz88/
今の所ないです。>縦シュー
システム作ったのはいいけど、アイディア&絵がないのが何とも、、。
今回も言える事ですが。
色々フィードバック出来てて、レストームのようなものも作れるようにはなってると思う。
(後、内部的なコードの汎用性や整理等)

1人で作ってくのは無理があるかな。と。
今回は、色々試した結果、メタセコ&GameAnim3Dというアニメツールの、
低価格路線でデータ作ってるので、比較的敷居は低いので、
データ作ってくれる人がいると嬉しいな。と。
でもやっぱり3Dは敷居が高いか?、、。
ホムペとか立ち上げた方がいいのかな。いずれは。

280:名前は開発中のものです。
04/12/19 10:28:26 kgZLtbo7
>GameAnim3D
URLリンク(gameprog3d.web.infoseek.co.jp)
これか

とりあえず完成させてから協力者を募るのが良いと思われ

281:名前は開発中のものです。
04/12/19 13:33:15 gB2TN1tM
3Dだと仮画像使ってプログラムしていって
後で差し替えってやりづらくない?

282:227
04/12/21 08:06:32 SW2mSfpP
ageときます。

コンフィグファイルに対応してみたんですが、以外と苦労した、、。
ベースクラスのコンストラクタから、派生クラスのvirtual関数呼べないみたいね。
知らんかった。
派生クラスが未生成だろうから、当たり前なんだろうけど。

>>281 ??キャラのスケールやらボーン構成が一緒なら大丈夫かと。

283:名前は開発中のものです。
04/12/21 08:59:42 WFOAiF6P
>>227-231
Silver Knightsとか。

284:名前は開発中のものです。
04/12/25 23:47:39 IUyAqHMx
ガンガ!

285:名前は開発中のものです。
04/12/26 03:03:17 WFyn5ILm
俺は何も出来んが>227がんばれ~

286:185
04/12/26 14:45:11 X83L2HU3
URLリンク(up.isp.2ch.net)

とりあえず台と穴を作りました。2Pが地面より下に行くと動けなくなるのはクリティカルなバグです。
直りません。

287:名前は開発中のものです。
04/12/26 20:10:47 Rnk0bofW
直せないバグなんてない。

288:227
04/12/27 00:22:34 nT9/BIUi
頑張ってます。
基本システムはほぼ出来てきました。
(ガード、バリア、回避バリア、ブレイク、投げ、壁ダウン等)
順調なので、そろそろ何か見せれるかも。

289:名前は開発中のものです。
04/12/27 01:12:16 /x6NZP6T
期待しておる

290:名前は開発中のものです。
04/12/27 06:46:40 C7XxCILq
動けなくなるのは仕様ですといえばよかったな


291:名前は開発中のものです。
04/12/29 18:13:59 QG0Mi4F/
>227
スクショキボンヌ

292:227
04/12/30 02:29:00 8n/58+YS
ゲムデブの画像掲示板に上げときました。

URLリンク(gamdev.org)


293:名前は開発中のものです。
04/12/30 04:21:44 CjoC984V
かなり出来てきてるな

294:名前は開発中のものです。
04/12/30 07:41:22 jcenx7eb
レベル高いなー

295:名前は開発中のものです。
04/12/31 20:09:26 0eSASmtX
見たいのに繋がらない…

296:名前は開発中のものです。
05/01/05 05:35:14 yjFdGuCC
偽ガルーダはもう完成したの?
まだあぷろだにのこってるかな

297:227
05/01/05 23:36:07 m8TF3hkc
>>296
いえ。なんもやってないです。
絵を描くのがしんどいので止めました。

近々、仮設サイト&プロジェクト立ち上げてみようかと思います。

298:名前は開発中のものです。
05/01/07 13:12:37 Mj8P4Zg+
>>297
がんばってね

299:名前は開発中のものです。
05/01/07 14:38:47 8Vbn/+Nn
操作はどうなってるのかなー
原作の操作はパッドじゃないとムリポ

300:227
05/01/09 18:04:07 Lt1kizvi
>>299
とりあえず、斜め方向は見ないようにしてます。

バリアガード 46G
波動拳コマンド 26S
という感じ。

チャージ(3つ押し)とかあるし、パッドでも親指押しは無理です。

301:名前は開発中のものです。
05/01/10 18:57:42 tA70IeCu
3~4ボタンのゲームはプレステのコントローラならR1、R2ボタンなどに割り当てる手がある
とはいえ同時押しはなるべく減らしたほうがいいな

302:名前は開発中のものです。
05/01/10 21:11:32 1BSgyTYT
キーボードによっては同時押しに認識制限があったりするしねぇ


303:227
05/01/13 03:04:09 E+aGsPKe
取り敢えず、仮設ページを公開してみます。
まだまだ完成しそうにないですが、宜しくです。

サイキ開発仮設ページ
URLリンク(www.geocities.jp)

304:名前は開発中のものです。
05/01/13 13:37:58 qByo3nXW
かなりマトモだ
がんがれ

305:227
05/01/13 22:44:22 E+aGsPKe
>>304
ありがとうございます。励みになります。

プロジェクトスレは、スクリプト、ogg再生ぐらいが実装されるまで
保留した方がいいですかね?

現状、サウンドはappWizdが生成するwave再生クラスをちょっと使い易くラップしただけです。
スクリプトはLuaかPython辺りが良いですかね?(Luaは取り敢えず、組み込みテストが出来た段階)

3Dに関しては、メッシュ(mqo)名ぐらいしか縛りはないと思います。
(というか、揺れもの、ビルボード等の機能がないだけですが、、揺れものはいずれ実装したいな。と)

306:227
05/01/14 09:50:25 JKx0lcoy
ogg再生、取り敢えずしてみたけど、重い、、。
waveだと大丈夫なんだが。
一度デコードしてるから一緒だと思うんだけど、違うんだろうなー。
エンコードのオプション弄ってみます、、。

307:名前は開発中のものです。
05/01/14 10:23:02 ke1MHWRV
その程度で重くなるかなあ。
開発環境は?

308:227
05/01/15 01:05:14 wlzDlara
開発環境は、P42.8G, M1G, RADEON9700Proです。
ぶっちゃけHL2も普通に遊べるので、このぐらいで落ちる筈はないです。
なので余計ショックです。

キャラモデルは最適化してないので、元々の負荷が高い可能性大です、、。
当然、負荷の表示とかあった方が良いですね。(msとかバーで)
どっかやってるサンプルないかな?ヘタレですいません、、。

oggは曲のエンコードオプションを色々調べてみます、、。

309:307
05/01/15 04:37:55 xk9bCyeQ
俺より全然上だw
どう考えてもoggデコード再生ごときで遅くなるとは思えんなあ

310:名前は開発中のものです。
05/01/16 21:23:07 oqkmJK1a
デコード用のスレッドを他のゲーム部分と分けてないとか。

311:名前は開発中のものです。
05/01/16 22:50:40 IJy2W+As
PeekMessageを使ってるとか。
ゲームでは、間違っても使ってはいけない関数だからなぁ・・・


312:名前は開発中のものです。
05/01/17 00:27:46 90hq1/Eg
>>311
ん?それは

マルチスレッドでGetMessage使う場合と
シングルスレッドでPeekMessageを使う場合とで
比較をしているのかなと勝手に脳内補間したんだけど、合ってる?
 
で、この二者間のパフォーマンス差が(今時のPCで)
どれほどのものか比較したうえでその見解? > 間違っても使ってはいけない関数
 
少なくとも、俺の環境(Athlon 1GHz + Radeon9200)で
自作の2Dアクションを組んだときは、どっちでもいいという結論に達したけど。

313:名前は開発中のものです。
05/01/17 06:41:28 /r2ckyEZ
>>312
いや、マルチスレッドでGetMessageを使う場合と、
PeekMessageを使う場合とで比較しただけだから、
シングルスレッドは想定外。


314:名前は開発中のものです。
05/01/17 06:43:32 dU23o/pP
>>313
GetMessageとPeekMessageを勘違いしてたわけか

315:名前は開発中のものです。
05/01/17 06:45:49 dU23o/pP
あ、>>314取り消し
レスよく読んでなかったスマソ
そろそろ寝るか_| ̄|○

316:312
05/01/17 23:45:43 Y4/IgqbU
>>311
>>313
 
で、PeekMessageがゲームでは間違っても使ってはいけない関数
というのは具体的にどういう条件で出てくる話なの?
 
粘着してるわけでなく、率直な疑問。

317:名前は開発中のものです。
05/01/18 00:54:35 ydi2Mvvf
>>316
PeekMessageループとマルチスレッドを併用すると、
悲惨な現象がいくつも発生する。

まず、PeekMessageループはCPU稼働率を100%に押し上げる。

CPU稼働率100%の状態でマルチスレッドを使用すると、
マルチスレッドの処理は異常に重くなり、マルチスレッド
の動作期間中は、PeekMessageループの処理もガクガクになる。

あと、CPU稼働率を100%にしていると、ファンの音はウルサイし、
並列動作させてる別のアプリが異常に重くなるわ、Windowsは
動作不安定になるわ、マウスはマトモに反応しなくなるわ・・・

まあ、Pentium4以上ならCPUの追加機能があるから、
こうした現象は、発生しないかもね。


318:名前は開発中のものです。
05/01/18 01:54:12 fRzX6xxO
PeekMessageというAPIは、貧弱なCPUを100%利用しつつ、かつ、
Windowsの動作も行うための命令だったと、漏れは思ってる。

けれども今は、マルチスレッドで同期を取りつつブン回しても、
普通のCPUでもパフォーマンス的には同等近い速度が出せるし、
さらに、Hyper-Threadingに対応したCPUなら、同じCPU稼働率
100%でも、マルチスレッドの方が高速になりかねん。

その意味では、PeekMessageループは、今は、
ほとんど不用なAPIでないかと思うんだよな。


319:名前は開発中のものです。
05/01/18 02:10:18 1XF5tIKv
「PeekMessageループ」などというAPIは存在しない。というのは置いといても、
普通Sleep(1)、最悪でもSleep(0)をはさんどくもんじゃないのか?

320:名前は開発中のものです。
05/01/18 07:36:34 lXPOJuNH
OSとのやり取りが不安定になるだろ。
ただでさえ操作性が気になるジャンルなんだし、
DirectInputとのやり取りが不安定になるのは、勘弁してほしい。


321:名前は開発中のものです。
05/01/18 08:01:45 bnzqLo0Q
そうなのか。俺は
while(1)
{
 if(::PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE))
 {// メッセージがあるか調べる
  if(!::GetMessage(&msg, NULL, 0, 0))
  {// メッセージがとれない
   break;
  }

  ::TranslateMessage(&msg);
  ::DispatchMessage(&msg);
 }
 else// メッセージがないのなら独自の処理を
 {
  ::MsgWaitForMultipleObjects(0, NULL, FALSE, (ゲーム処理にかかった時間から適切な止める時間), QS_ALLINPUT);
  ゲームアップデート();
 }
}
ってのがデフォだと思ってた_| ̄|○

322:名前は開発中のものです。
05/01/18 19:06:23 X88J3aOH
私は次のように解釈しています。

1) PeekMessage() だけでメッセージ(メイン)ループ
→ CPU 使用率 100%
→ 消費電力、発熱、Windows アプリとしての行儀の悪さが気になる。
2) フレーム毎に Sleep(0) を挿入する
→ プロセスの CPU 占有は解消できる。
→ システムは依然として CPU 100% を示す。過剰発熱は続く。
3) フレーム毎に Sleep(n) を挿入する
→ 余剰時間を待機する。CPU を解放できる。
→ ただし Sleep 中はメッセージループが滞ってしまう。やはり行儀が悪い。
4) そこでマルチスレッド。
  メッセージループとメインループのスレッドを分ける。
  ここで PeekMessage() すると (1) に戻ってしまうので GetMessage() を使う。
  メインループは Sleep(n) などで fps を調節する。

ただ、URLリンク(homepage1.nifty.com) には
「GetMessage() はスレッドを停止しない」とあります。
PeekMessage() + WaitMessage() で代替すべきなのかも。

323:名前は開発中のものです。
05/01/18 22:17:15 OsP497Jz
Sleep(n)で制御を他に渡すと、fpsの精度が(せっかくtimeBeginPeriodしてても)維持できない気が。

324:名前は開発中のものです。
05/01/18 22:53:48 v1uoKNWT
まずは実験してみましょう。たまたま同じタイミングで
複数の重い処理が同時に実行される、なんて事がない限り、
気にならないと思うよ。


325:名前は開発中のものです。
05/01/19 02:29:32 tOpn/RpV
Sleep(n)はtimeBeginPeriodしても制度が問題になることが多いよ
Sleepはなんだかんだで精度が保障されないしね

たとえば次のフレームまで10msあいているのなら5msあけて
そのあと役5msくらいsleep(0)で監視とかそういう小手先のテクが必要になる

ちなみにSleep(n)でやばいのはノート系、とくにPentiumM搭載マシンは
デフォの電源管理がデスクトップになっていないので可変クロックなわけだが
Sleepで1以上をつかうとまったく安定しないのがよくわかる

いまやPentiumMはデスクトップでもかなりの分野で使われているので
これを考慮しないというのはもはやありえないべ


326:名前は開発中のものです。
05/01/19 03:00:23 ibNY0vPj
sleepがダメなら何を使えばCPUを100%にさせずにFPSを維持させるんだ?

327:名前は開発中のものです。
05/01/19 03:13:09 tOpn/RpV
基本的にリアルタイムOS使ってない時点で妥協するしかあるまい

328:名前は開発中のものです。
05/01/19 07:54:38 KlNdNs9J
>>326
俺は規定時間を満たさないなら(例えば1フレーム16ミリ秒)、Whileループさせてたけれど。
でも結局Sleepと同じか。

329:名前は開発中のものです。
05/01/19 11:21:05 etvgdar6
ただのループ待ちだとCPUがMAXに熱くならない?

330:名前は開発中のものです。
05/01/19 21:12:30 aKYZjqz+
試しに 東方永夜抄 と Queen of Heart 99 で試してみましたが、
やぱCPU使用率100%になりますね。
ゲームだと100%になるのはしょうがないのかな。
エロゲとかはまた違うんだろうか。

331:名前は開発中のものです。
05/01/19 23:23:50 kI8iKu4Y
こうなったらゲーム用のOSが欲しくなるな。

332:名前は開発中のものです。
05/01/20 00:33:28 1MmCAp1f
最近のマシンはCDから起動できるんだからそれ使えば
main()からブートするのがさくっとつくれるとおもわれ

ただし、ビデオカードとかサウンドカードとかつかえないけどなー
公開されているパーツを集めてきて組み立てるのだ

まぁ86系の場合boot面倒だからやるひとあまりいないとおもうけど
昔のPCの感覚でつかえるはずだ

333:名前は開発中のものです。
05/01/20 00:33:50 wKUxX6sK
>>328
Sleepより悪い。というか最悪。

334:名前は開発中のものです。
05/01/20 01:05:45 UKmHVJSG
誰か>>332を解説してくれ

335:名前は開発中のものです。
05/01/20 01:09:15 DPMkEMAS
俺からも頼む

336:名前は開発中のものです。
05/01/20 01:23:02 cRp2WmOq
スレッドはビジーループさせてもCPU100%いかないの?

337:名前は開発中のものです。
05/01/20 07:31:09 2l+XOu2v
>>336
100%稼働させても、GetMessageなら安定動作してくれる。
まあ、スレッドの優先順位にもよるらしいが。

338:名前は開発中のものです。
05/01/20 07:34:11 Ref4TFhU
意訳

1段落目:
自分で1からOSを作ってブート可能なCD作ればいいじゃん
(2行目は意味不明)

2段落:
翻訳不可能
ドライバのことだろうか?

3段落目:
(省略)


OS作ること自体は難しいだろうけど不可能じゃないよね
OSを作ろうpart9
スレリンク(tech板)

339:名前は開発中のものです。
05/01/20 14:19:24 XBff+/Qh
シングルスレッドならブートローダーさえあれば、OSは必要ないでしょ。

多分>>332は、こう言いたいと思われ
「一気にプログラム&データ読み込んでリセットベクタにエントリーすればフルパワーで全エリア使い放題」

340:名前は開発中のものです。
05/01/20 18:56:59 DvGagJ0Z
記憶媒体が無いと記憶させれんぞ。
それぞれの記憶媒体に対応させるデバドラは、どうすんだ?


341:名前は開発中のものです。
05/01/20 20:46:10 U3Hu7z70
むしろMS-DOSでやれ。

342:名前は開発中のものです。
05/01/20 23:27:48 Cat713Cg
LinuxとSDL使えばそれなりにできそうな気もする。激しく面倒そうだが。
記憶媒体はFDかUSBメモリあたりが妥当か?

343:名前は開発中のものです。
05/01/21 00:58:36 ZvargaUa
>>342

Linuxという時点ですでにリアルタイム性が
割り込み応答でサウンドドライバ掛けたりラスタースクロールでいるくらいの応答性があれば問題なし

344:名前は開発中のものです。
05/01/21 01:15:21 IN7lhuFe
>>343
ディスプレイによって画像同期周波数の違ってる問題とか、
どうするんだ?

>>331
漏れ的には、PCで自由に開発出来るゲーム機が欲しいな。
実行させるだけならPCでもできるが、ゲーム機なら、
統一環境で実行させられる、みたいな感じで。
XBoxにはそーゆーのを期待してたんだが・・・


345:名前は開発中のものです。
05/01/21 01:18:33 JDbvAaFT
>>344
そこでコンソールプログラミングですよ!
XboxやGCはまだ敷居は高いですがお手軽なGBA、
ちょっと本格的にやりたいならDCなど各種取り揃えております。

346:名前は開発中のものです。
05/01/21 01:30:06 MlXISHIM
PCで開発できて、PCでもゲーム機でも、
誰もが遊べる点がポイントな。


347:名前は開発中のものです。
05/01/21 01:34:39 MlXISHIM
特殊な環境がないとPCでは遊べないとか、そーゆーのでは駄目。
一般人のPCでも、ゲームとして遊べないとな。


348:名前は開発中のものです。
05/01/21 02:31:38 V/hhRqKz
つまり、次のWindowsにXBoxエミュレータが標準搭載され、
次のVisual C++でXBoxのソフト開発が出来ればOKと。


349:227
05/01/21 06:00:37 rVO9zRuX
>>312
PeekMessage関連は、何れ調べてみます。
現在はappWizが生成したコードまんまです。
見たところ、アクティブである場合>PeekMessage
ない場合>GetMessage
をコールしてるようです。
アクティブってのが、多分フォーカスとかも含んでるのかな?と。

350:名前は開発中のものです。
05/01/21 06:45:18 6gp8NAog
>>346
ゲーム機メーカーはどうやって利益を上げるんだ。

351:名前は開発中のものです。
05/01/21 06:57:11 IAlZHZ67
アクションゲーム製作総合スレッド・・・

352:名前は開発中のものです。
05/01/21 17:18:31 i4hNq7ja
シューティングスレが寂しくなったので、ここでクダまいてるだけ

353:名前は開発中のものです。
05/01/21 20:27:46 dR3s8yKc
>>350
音楽CDと同じで、面白いゲーム作れば売れるだろうし、
つまんねーゲーム作れば割れ厨の餌になる。ただそれだけの話だ。
要するに、つまんねーゲーム出してる所はさっさと潰れろと。


354:名前は開発中のものです。
05/01/21 20:41:37 dR3s8yKc
>>350
新品のPCの方がゲーム機の性能より上かもしれんが、
中古PC性能はゲーム機より下。中古PCで遊んで、
面白かったらゲーム機を買うヤシだっているだろ。
そもそも、PCは仕事でしか使わないから性能イラネ!
ってヤシも珍しくないし。

漏れなんて、3Dは未だにオンボードチップ使ってる。


355:名前は開発中のものです。
05/01/21 20:42:52 dR3s8yKc
>>350
利益出てるのか?

356:名前は開発中のものです。
05/01/21 20:57:53 dR3s8yKc
>>350
あと、利益の出し方は商売がうまいかヘタかの問題だしな。
少なくとも、PCはいらないけれどもPCゲームは遊びたい
という人なら買うだろ。


357:名前は開発中のものです。
05/01/21 20:59:35 dR3s8yKc
さてと、アクションゲームの話に戻すか。
藻前ら、ツールはどこまで作り込んでいますか?


358:名前は開発中のものです。
05/01/21 21:04:47 dR3s8yKc
>>346
フリーウェアが大量に出回りそうだな・・・

359:名前は開発中のものです。
05/01/21 21:24:33 Hoy2oMgd
よくできたコントだ

360:名前は開発中のものです。
05/01/21 23:23:10 UuLd6x2c
誰もが作れるほど敷居が低すぎると、クソゲーが増えて良作が埋もれる法則。
昔な、アメリカでアタリショックっていう現象があったんだ。

361:名前は開発中のものです。
05/01/22 01:25:19 4Gqz2KBw
>>353-356
ゲーム機メーカーはそのハード用ゲームのライセンス料をゲーム製作メーカーから
取る事が主な収益構造だと思ったんだが。
その点で、だれでもタダ(あるいは安く)でつくれたら、どうやって儲けるんだって話。

362:名前は開発中のものです。
05/01/22 02:02:53 SMeoGQLY
MSX

363:名前は開発中のものです。
05/01/22 04:14:06 vgSLqLDM
>>361
それでようやく色々と納得できた。
単に、数出せれば良いというモノでもないのな。
まあ、既に数出まくりなわけだが・・・

364:名前は開発中のものです。
05/01/22 09:31:30 rictG3Qy
>>353-358 これ全部同じヤツの連レスかよ!

>>353-356は全部>350へのレスかよ!一回のレスで済ませろよ。つうか自演?

>357 名前:名前は開発中のものです。[sage] 投稿日:05/01/21(金) 20:59:35 ID:dR3s8yKc
>さてと、アクションゲームの話に戻すか。
>藻前ら、ツールはどこまで作り込んでいますか?

1人で勝手に過熱しといて何が「さてと」だタコ

>358 名前:名前は開発中のものです。[sage] 投稿日:05/01/21(金) 21:04:47 ID:dR3s8yKc
>>>346
>フリーウェアが大量に出回りそうだな・・・

戻ってねーじゃねーかよ!この糞が!

365:名前は開発中のものです。
05/01/22 10:02:30 +QvrkUFh
>>364
ハゲワロス

366:350=361
05/01/22 10:26:27 4Gqz2KBw
>>364
腹イタイ

 _no  。oO(気付かんかった……)

367:名前は開発中のものです。
05/01/22 16:27:38 4spfk2UP
ケーブルとかでID同じ別人の可能性も一応。

「アタリショック」の嘘と誤解
URLリンク(d.hatena.ne.jp)

368:名前は開発中のものです。
05/01/22 17:02:44 NPoqSETA
俺も以前、偶然同スレで同じIDの奴にレスしちゃって
自演呼ばわりされたことがあるけど(レス先のやつはもっと可哀想だなw)
これは違うと思うぞ…

369:名前は開発中のものです。
05/01/22 17:14:09 y8MpdK29
マジでコントだな。

370:350=361
05/01/27 21:17:55 tuNCjFSI
>>360
>367を踏まえると、売価0で成り立つ世界があるなら、あとはフィルタか
モデレータ構造があればよいと思う。
今現在のフリーゲーム界隈の様子を見ると、作成側も紹介側も、それぞれ
直接金を取るモデルでなくても供給があるようだ。そして機能し続けている
ように思われる。
したがって、「そんなゲームハードを出すメーカーがいる」という仮定を崩さない
ならば、>360をもってゲームハードとその界隈を心配するのは杞憂だろう。

371:名前は開発中のものです。
05/02/21 04:08:25 WfwXUAVw
スレ過疎化しちゃってますね。

同人サイキ、新バージョンUPしてみました(殆ど変化ありませんが)
後、偽ガルーダも公開してます。
URLリンク(www.geocities.jp)

スクリプトやBGMの設定が機能してないので、出来れば近々最UPしたいと思ってます。

372:名前は開発中のものです。
05/02/21 12:59:35 sfkjYuGK
偽ガルーダ、やっぱりフルスクリーンになったあと終了しちゃうなあ。errlog出る前に終了してる。
同人サイキは起動できてerrlogも出てる。
RADEON9200、win2kでDX9、IE6。
もし楽ならウィンドウモードでの起動モードきぼんぬ

373:名前は開発中のものです。
05/02/22 02:53:39 ikR8To/o
>>372
そうですか、、同じエンジン使ってるので、ゲーム側で何かしちゃってるのかも。
スイマセン。

config.txtというファイルがexeと同じフォルダにあるので、
FullScreenをfalseにして下さい。
偽ガルーダ、同人サイキどっちも存在します。
config.txtの設定、ホムペの方に書くの忘れてました。
追加しておきます。

374:名前は開発中のものです。
05/02/22 14:36:28 p5aKw6II
偽ガルーダが非常に気になるのでダウンロードさせてもらいましたが、
なぜか解凍できません。
解凍中にエラーが出て、空のフォルダ「偽ガルーダ」が作成さてしまいます。
しかも、そのフォルダを消そうと思っても削除できない・・・

こんな事は初めてなのですが、
なにか特殊な圧縮方法なのでしょうか?

375:名前は開発中のものです。
05/02/22 15:38:02 hZBZtuyr
単にダウンロードに失敗してるとか

376:名前は開発中のものです。
05/02/22 15:46:25 p5aKw6II
今もう一度ダウンロードしてみたのですが、やはり一緒です。
ちなみに解凍ソフトは
+LhacaとWinRARを試してみました。

怖くて同人サイキの方は解凍してません・・・

377:名前は開発中のものです。
05/02/22 16:03:32 hZBZtuyr
WinRARとeoとXP標準のzip解凍
3つともちゃんと解凍できた
1,306,864バイト

378:名前は開発中のものです。
05/02/22 16:49:25 p5aKw6II
今XP標準の解凍を使ったら、また空のフォルダが・・・
消せないフォルダがもう一個ふえてしまいました (ノω`)・゚・。。
作成された空のフォルダ「偽ガルーダ」は、開く事もできない。。。

zipファイルのサイズは
1.24 MB (1,306,864 バイト)
でした。私のパソコン固有の問題でしょうか。
他のzipファイルは全て解凍できるのですが・・・ o(T_T)o モウダメポ

379:372
05/02/22 18:34:24 uPHZl7kd
>>373
config.txtあったのか。サンクス
ウィンドウモードだと、『0x47AA65の命令が"0x0"のメモリを参照しました』でエラー終了。errlog出る前

380:名前は開発中のものです。
05/02/22 19:31:22 vokUp0uw
>>378
proxomitronとかファイアウォールを使っていたとかいう
オチじゃないだろうな

ダウンローダを変えるか、串もためしてみなよ。

381:名前は開発中のものです。
05/02/23 03:07:40 Ep2lR8hE
>>378
すいません。ちょっと判らないです。
圧縮には、Explzhというソフトを使ってます。
たしかXPで標準対応してるという理由でZIPファイルを選択しました。

>>379
報告ありがとうございます。
errlogの所を見直してみます。
勘ですが、Direct3D等がdebugで再現するのかも。調べてみます。

382:名前は開発中のものです。
05/03/08 15:41:18 fOr0Y383
孤独にぬるく作りたかったんで、VB+Flashでアクションゲーム作ることにしてみた。

プログラムはVBでぬる~く作成。
ゲームパッド、ファイル出力、解像度の設定もVB側で。
グラフィック、アニメーションはFlash。
まあ作るのは楽。こんなオーサリングソフトは個人じゃ作れない。
アニメーションとプログラムとのタイミングも簡単にとれる。
サウンド周りも全部Flash側で鳴らせるようにした。
Flashコンポーネントひとつでいいから互換性やバグに悩まないですみ手軽。それでいて短期間で見栄えよくできた。
問題はFlashは重く、あまり沢山のオブジェクトを表示できないが工夫の余地はある。

383:名前は開発中のものです。
05/03/11 12:30:44 2wjY2/65
角度を決めて弾を打ち出すのって、どうすればできますか?
物理得意な方お願いします。


384:名前は開発中のものです。
05/03/11 12:38:40 qssgl8ma
指定した角度で弾を移動させればいい。物理関係ない。

385:383
05/03/11 12:44:58 2wjY2/65
x軸方向とy軸方向への移動を別々に考えて移動させてたんですけど、
角度を考えるとなると、その書き方が分からないのです。


386:名前は開発中のものです。
05/03/11 12:49:11 wol0IT/T
>>383
>物理得意
数学

// 角度=ラジアン
x=cosf(角度)*移動量;
y=sinf(角度)*移動量;


387:383
05/03/11 13:16:41 2wjY2/65
なかなか、うまくできない・・・。
ソースアップしてもいいですか?

388:名前は開発中のものです。
05/03/11 14:23:37 HTa5DsJA
>387
その場合、1レスに収まらないならテキストでアップロードしろよ

389:383
05/03/11 14:40:10 2wjY2/65
>>388
普通のあぷろだ37869にプロジェクトファイルごとアップしました。
なにとぞご教授おねがいします。
パスは「角度決めて発射」です。

390:名前は開発中のものです。
05/03/11 14:56:01 cHGKos1z
ごめん、言い方が悪かったかもしれない…
丸ごと来るとは思わなかった

391:名前は開発中のものです。
05/03/11 14:56:56 iFNRRCmz
まあまあリンクぐらい貼っとけ。
URLリンク(www.rupan.org)

392:名前は開発中のものです。
05/03/11 15:11:01 cHGKos1z
あんまし考えないで書いたけど玉の処理はこんな感じで良いの?

tama_old_x = tama_x;
tama_old_y = tama_y;

/* 3.14/180.0はマクロ化したほうが見やすいけど面倒だから省く */
x_mov = cosf(ue*3.14/180.0)*pow;
y_mov = sinf(ue*3.14/180.0)*pow;

tama_x+=x_mov;
tama_y-=y_mov-gra;

393:383
05/03/11 15:17:48 2wjY2/65
>>392
すごい、できてますね。
ちょっと感動・・・。

394:383
05/03/11 15:30:44 2wjY2/65
ついでに、棒に当たった時の反射角はどう算出したらいいでしょうか。
この棒は30度に設定してあります。


395:名前は開発中のものです。
05/03/11 16:55:54 BPAC//R0
うぜーーーー

396:名前は開発中のものです。
05/03/11 17:06:15 wol0IT/T
プログラム組まない(組めない)プログラマ増殖中

397:名前は開発中のものです。
05/03/11 18:29:28 Ajs4EMBm
それくらい検索汁。または図を描け。

398:名前は開発中のものです。
05/03/11 18:55:01 J61NQ7VU
それこそ高校物理の世界だなー
がんばって勉強しる

399:383
05/03/11 18:56:11 2wjY2/65
がんばります。

400:名前は開発中のものです。
05/03/13 16:36:38 fL2BiXJ1
PS2のドラゴンボールZ~Z3みたいなゲーム作りたいorz

401:名前は開発中のものです。
05/03/13 17:57:44 ynjg3961
ならまずアルゴリズムを理解することだ

402:名前は開発中のものです。
05/03/14 07:35:22 JuMY8nMU
>400
目標を高く持つことはいいことじゃが
プログラミングというものはじゃな
一足飛びには身に付かんものなのじゃよ
ここはじゃな
急がば回れと言う格言通りにじゃな
ブロック崩しから始めてみてはどうじゃろか?

403:名前は開発中のものです。
05/03/18 20:08:39 W6vbnPE1
初心者にはワンキーゲームがオススメかモナー。


404:名前は開発中のものです。
05/03/20 19:24:41 zaNdVfwo
たしざんゲームにしとけ

405:名前は開発中のものです。
05/03/20 19:38:09 xFvuiUNr
それって、ゲームというよりは、
「さんすう」ソフトの間違いかと。

406:名前は開発中のものです。
05/03/23 00:42:53 3cWT/ehY
2Dのロックマンみたいなゲーム作っているんですが、
二次元配列でマップチップをちりばめてステージを
作っている場合、どうやって当たり判定するんですか??

ロックマンみたいな重力を考慮しないと駄目な
時は「自キャラの底のY座標 > 物体の頭のY座標・・・」
の様に判定して自キャラの底のY座標が入っている変数に、当たっている物体の頭のY座標
を代入するのではうまくいかないのですが、、どなたかヒントを頂けませんでしょうか。
分かりにくい文章ですみません。。

407:名前は開発中のものです。
05/03/23 03:06:26 UGovkUa+
せっかくマップチップを使ってるんだ
マップチップで通れるか否かの判定しちゃえ

座標で考えるんじゃなくてチップ単位で処理するようにしたら楽
#座標をチップ単位に変換するのがちょっと面倒だけども

408:名前は開発中のものです。
05/03/23 11:37:05 3cWT/ehY
>>407
なるほど…。チップが16*16の時は座標/16…?
う~ん、もう少しヒントを頂けませんか?

409:名前は開発中のものです。
05/03/23 13:15:03 UGovkUa+
キャラの頭,足,右手,左手の座標があったら楽

頭の部分の判定
int i;
for(i=左手/チップの大きさ;i<=右手/チップの大きさ;i++){
 if(マップの配列[i][(頭+移動量)/チップの大きさ] が通過できないチップなら){
  移動量=-(頭-((頭+移動量)/チップの大きさ*チップの大きさ+(チップの大きさ-1)-1);
 }
}

こんな感じかな

410:名前は開発中のものです。
05/03/23 18:57:46 3cWT/ehY
おお、ありがとうございます!
早速試してみます。

411:名前は開発中のものです。
05/03/23 21:58:19 UGovkUa+
>>409
マップの配列は[横][縦]を前提としてるからその辺注意ね

412:名前は開発中のものです。
05/03/24 01:14:47 5VtHBaep
漠然とした質問だけれど。
アクションゲームにタスクシステムってどう?なかなか便利そうでそれで実装しようかと思ってんだが、
シューティングとかオブジェクトが多いもの向けな感じがするんだわ。3Dゼルダとかわんさか
オブジェクトが出てくるわけじゃないゲームとかだと、使ってないのかな などと思って。

どう?ってのも漠然としすぎてるんで、このスレの中にタスクシステムで実装してる人いるかな と思った次第。

413:名前は開発中のものです。
05/03/24 13:41:09 GOe2RJsQ
409さんのサンプルを参考に、自キャラが物体に乗った時の判定を
してみました。マップは[縦][横]=[30][40]で、チップの大きさは16*16です。

int j,i;
for (j = 0; j < 30; j++) {
for (i = 0; i < 40; i++) {
if (マップの配列[j][i] が通過できないチップなら) {
if(右手X座標 > i*16 &&
左手X < i*16 + 16 &&
足Y座標 > j*16 &&
足Y座標 < j*16 + 16){
頭Y座標 = j * 16 - 21; // キャラの縦の長さが21なので引いています
フラグ = true;
} else if (右手X座標 <= i*16 || 左手X座標 >= i*16 + 16) {
フラグ = false;
}
}
}
}

フラグがfalseの時(当たっていない時)は常にY座標を減算(8ずつ)するようにしています。
でもなぜか、フラグをチェックすると常時falseになっていて、一応、物体に
乗っているのですが8めりこんでいます。。もう一度、ヒントを頂けませんでしょうか。

414:413
05/03/24 13:43:11 GOe2RJsQ
あれ、スペースが入ってない…汗

415:名前は開発中のものです。
05/03/24 16:37:31 qEAHO4/J
行頭の半角スペースや連続した半角スペースは削除されちゃう
全角スペースに置換がてっとりばやい

416:名前は開発中のものです。
05/03/24 16:53:56 u7Oj2rIN
>>413
8進んでめり込んだあとに判定しちゃってるからだと思う
>409のは頭+移動量になってるからめり込む前に判定に入れる

417:名前は開発中のものです。
05/03/25 07:40:06 6vHhet0i
ふと思ったんだが、行動のモードを歩行とジャンプに分けるとして
それに落下モードを加えるのはデフォなのか?

ジャンプボタン離した時から上昇減速して落下とか
歩いてて地面が無くなったから落下とかの場合を考えると
そっちの方が簡単になるかな?と、ふと思いついたんだが
実はこっちの考え方の方が当たり前なのかも?と思ったんで。


418:名前は開発中のものです。
05/03/25 08:29:03 8zUnsj04
ジャンプ可能なアクションでは、足元に床が無ければ、
無条件に落下するのがデフォかと。ちなみに、床の有無の判定は、
ジャンプするかどうかの判定と一緒にやらない方が良いぞ。
かなりの確立で変なバグが出る。

1、足元に床があるかどうかの判別(ジャンプ処理用)
2、動作処理。
3、足元に床があるかどうかの判別(落下処理用)
4、落下処理。

ってな感じかな?

419:名前は開発中のものです。
05/03/25 14:12:26 UNQW+4b1
足元に床があるかどうかの判別をやって、
床フラグに反映させて、ジャンプしたら
床フラグをクリアする処理の方が良いな。


420:名前は開発中のものです。
皇紀2665/04/01(金) 14:35:11 ByLPmBAa
俺もマップチップとの当たり判定が微妙にうまくいかないのでageておく。
それは皇紀2665年の事であった・・・続く。

421:名前は開発中のものです。
皇紀2665/04/01(金) 18:26:57 Avk562TJ
最終手段として色で判定するというのもあるけどな

422:名前は開発中のものです。
05/04/02 16:58:54 bcEeWavw
なかなか面白い

URLリンク(www.malware.com)

423:名前は開発中のものです。
05/04/02 17:12:17 s9Y8P34v
>>422
いきなり自動的にヘンなソフトを
ダウンロードするページみたいだが、何だこれ?
妖しいからキャンセルしたが。

424:名前は開発中のものです。
05/04/02 17:30:20 bcEeWavw
URLリンク(www.runarudo.flnet.org)

425:名前は開発中のものです。
05/04/02 17:33:59 nltxwWQf
>>423
もう手遅れ

426:名前は開発中のものです。
05/04/02 18:06:32 IBVnthMA
>>423
ダウンロードしなけりゃ大丈夫だよ。
ダウンロードしたなら、HDをフォーマットした方がいいな。
多分、OSが変になるから。


427:420
05/04/04 22:21:39 W+uWA9ao
矩形情報を持ったオブジェクトが不可侵のマップチップと衝突したときに、めり込んだ分だけ位置を補正する処理なんだけど
振動したり、壁にくっついちゃったり、きれいにできない
みんなどんな感じでやってるか流れだけでいいから教えてくれー

今時の2Dアクションのマップって、描画は一枚絵、データは線分の集合で衝突判定は法線を元に、とかやってんだろうか
つーか最近の2Dアクション知らねーや俺

428:名前は開発中のものです。
05/04/05 00:14:28 DoQMdZY/
ひょっとして、めり込んだ後に補正処理してないかい?

1.移動する前に次の座標(移動先)を算出する
2.めり込まないならそのままGO
3.めり込みそうなら障害物の直前で止める

でいけそうなもんだが。

429:名前は開発中のものです。
05/04/05 00:17:20 DoQMdZY/
3Dゲームで主に使われてるけど、420さんの判定方法なら参考になるかも:)
URLリンク(www.cam.hi-ho.ne.jp)


430:名前は開発中のものです。
05/04/05 02:19:31 vtEI2kJK
>>428
この方法の場合、複数の物体があった場合に、
片方の手前で止めたら別の方の物体にめり込んだ、
なんて現象が発生する事もあるので、注意して作る事。


431:名前は開発中のものです。
05/04/05 02:28:58 QYk/Va0v
>>428
あとブロックより移動量が大きくなっちゃうとすり抜けちゃうんだっけ?
まあ、そこまで移動量が大きくなることはほとんど無いだろうけども

432:420
05/04/05 16:44:56 7/2TXIWe
やったできたー!
・速度の補正に、現在の位置ではなく新しい位置を使っていた
・オブジェクトの持つ矩形の幅、高さのoriginの問題
が主な原因でした

>>428-431
参考になりましたありがとう!固体感ハァハァ

433:名前は開発中のものです。
05/04/10 18:51:47 0EywJ/hC
VFや鉄拳のようなカメラワークはどうすれば実現できるんでしょうか。
2キャラ間の中心を見るようにしてあとはカメラを中心点から垂直にずらした位置へ
動かせばいいのかと思ってたらその目標地点の算出に手間取り。

もしかして考え方自体が違う?

434:名前は開発中のものです。
05/04/12 01:06:19 KPKJ9Df5
いいと思うよ。
2人のキャラの中心点をA、Bとすると、カメラの視線の先をCとするとC=(A+B)/2だよね。
カメラが存在する位置はC→A(C→B)のベクトルを90度回転させてもうちょっと伸ばせばいいんじゃないかな。
表記が分かりづらくてスマソ

435:名前は開発中のものです。
05/04/17 19:47:49 AVCbiNha
>>434
少々遅れたけどサンクス。
どうもC→Aの部分を間違えてたみたい。
その後も伸ばすときにwhile使ったりしてかなりテンパってたようだ…。

436:名前は開発中のものです。
05/05/07 12:27:56 5VRbH+3P
ほすage

437:名前は開発中のものです。
05/05/07 12:28:45 5VRbH+3P
下げ

438:名前は開発中のものです。
05/05/13 19:44:59 URgSvp8O
まったくの初心者が最終的にロックマンXを作ろうと思ってます。
とりあえず色々調べたり試しに簡単なのを作ってみようと思ってるのですが、
ツールや言語が色々あってどれを使おうか迷ってます。
ロックマン作るならこれだ!とか、これはだめだ!とかあったら教えてください。
どれもあまり変わらないものですか?
ちなみに2Dです。

あと、垂直の壁を登る壁蹴りなんてアクションはプログラムしだいでどうにかなりますか?

439:名前は開発中のものです。
05/05/13 21:13:00 wwYAXCZ1
ZGEがいいよ。

440:名前は開発中のものです。
05/05/13 21:41:41 oNN8yFJZ
あなたはロックマンは神が創ったものとでも思ってるんですか?
人間が作ったなら出来るに決まってるじゃないですか。
迷ってる?ならVC++でも買えばいいじゃないですか。10万あれば買えますよ。
ちなみにDelphiはだめですよ。VCLがうんちです。ZGEはマンモス太郎です。
そんな事よりACT系作るなら物理の勉強でもしろ。

441:名前は開発中のものです。
05/05/13 22:21:20 Fb21TaQW
VC++なんて過去の遺物はやめておけ。
参照じゃないクラスなんて考え方が古すぎてめんどっちい。
DelphiのVCLは神です。
JAVA SDKやC#の.NET Frameworkだったら超神です。

というか、HSPでもActive Basicでもなんでもいい。

442:名前は開発中のものです。
05/05/13 23:25:08 O6f7T5KT
C言語とDirectX

443:438
05/05/13 23:59:20 URgSvp8O
みなさんレスありがとうございます。
何を使うかよりどう使うか、うまく使えるかが大事なようですね。
まだ迷ってますがみなさんの意見も参考にして頑張っていこうと思います。
それでは、ありがとうございました。

444:名前は開発中のものです。
05/05/14 15:22:49 Gqt+hLdh
>>443
GameMakerで作るという手もある。
サンプルにロックマンのパクリがあるし・・・w

URLリンク(www.gamemaker.nl)
Top
>Games
 >Stand Alone Games

専用スレもあるよ。
【2D】ゲーム作成ツールGameMaker【マンセー】
スレリンク(gamedev板)

445:438
05/05/14 23:38:10 LROjirKM
>>444
レスありがとうございます。
GameMakerはダウンロード済みです。使うか判りませんが。
とりあえずまだサイトめぐりの段階です。

446:名前は開発中のものです。
05/06/04 19:47:34 F9U0FxWx
イースみたいに見下ろし型のARPGで
斜めの壁にぶつかったら勝手にズレてくれるる奴って
マップの地形データに斜めの情報も入れとけばいいんですか?
それとも周囲の地形からそのつど判定した方がいいですか?

447:名前は開発中のものです。
05/06/05 04:13:09 xdkgVqy1
>>446
大抵の場合は後者。

448:名前は開発中のものです。
05/06/07 12:10:07 YHhQeV4B
アクション用の素材ってツクールの素材以外だと、どこに素材がありますか?
素材がNEEEE

449:名前は開発中のものです。
05/06/07 12:57:37 bY/pc+ah
そういや見たこと無いな。
まあ他のジャンルと比べると、規格化の難しいジャンルだからな……


450:名前は開発中のものです。
05/06/12 20:06:19 WhyZAEvM
アクションもガンガレ!

451:名前は開発中のものです。
05/06/14 17:25:03 9FWtswMc
はじめまして。
さっきアクションゲースレがあるのを知らずに、
「ゲームのアルゴリズムを教えて」スレに書いちゃったんだけど、
マリオみたいなアクションゲーを作るにあたって、
スクロール・キャラクタ・当たり判定の管理方法の定石とか良い方法ってありますか?
見下ろしのRPGみたいに、自キャラを画面の中心に固定すると、
マップの端に来たときに、

(◇=自キャラ、■=壁)
              ■■■■■■
              ■■■■■■
              ■■■■■■
          ◇■■■■■■
■■■■■■■■■■■■■
■■■■■■■■■■■■■
■■■■■■■■■■■■■

これだと天井は見えないし、床の奥の方やマップのかなり奥の方まで見えちゃって、
美しくないしゲーム性にも難が出るでしょ。
結構古くから横スクロール系ACTゲームでは、

■■■■■■■■■■■■■
                      ■■
                      ■■
                      ■■
                  ◇■■
■■■■■■■■■■■■■
■■■■■■■■■■■■■

端まで来ると自キャラ中心じゃなくなるじゃん。これってどうやってるんですか?

452:名前は開発中のものです。
05/06/14 17:45:15 SX+8LP/H
画面の位置とキャラの位置を別々に管理してるだけ。

キャラの位置(x,y)
画面の位置(gx,gy)
マップの幅と高さ(mw,mh)
画面の幅と高さ(gw,gh)


453:名前は開発中のものです。
05/06/14 18:19:46 QN6CFzmy
キャラの位置(x,y)
画面の左上の位置(gx,gy)
マップの幅と高さ(mw,mh)
画面の幅と高さ(gw,gh)

gx = x - gw / 2;
gy = y - gh / 2;
if( gx < 0 )gx = 0;
if( gy < 0 )gy = 0;
if( gx + gw < mw )gx = mw - gw;
if( gy + gh < mh )gy = mw - gh;

あとは自分でアレンジ汁。

454:名前は開発中のものです。
05/06/14 19:39:31 9FWtswMc
お。サンクス。
マップ全体からのキャラ位置(x,y)を、
ディスプレイへの出力位置に変換するのどうしよ。
ちょっと考えてきます。

455:名前は開発中のものです。
05/06/14 20:29:27 OA7ZLhur
画面の左下をy=0にするか、画面の左上をy=0にするかでも、
話は色々と違って来るな。でもって、キャラの足元を
キャラの表示基準位置にするか、頭の先を表示基準位置に
するかでも、話は違って来るな。


456:名前は開発中のものです。
05/06/22 10:59:34 9EAdJ/sh
HSPを使って2Dアクションゲーム製作をしています。
特定のマップチップに当たるとキャラクターを死亡させるようにしたいのですが,
どうにもうまくいきません。
アドバイスを頂けないでしょうか?

ちなみに,現在自キャラの当たり判定に

celhit=8
{中略}

a=-1:mx=x/celx:my=y/cely:ma=x\celx

check=map.mx.my

if check=4 {
      map.mx.my
           }
if check>=celhit :return
といった式を使っており,
死亡させるのに使いたいマップチップは12番目です。
知識不足で申し訳ありませんが,どうかよろしくお願い致します。

457:名前は開発中のものです。
05/06/23 10:35:32 NNi2CtO/
全ソースupするとか、何がうまくいかないのかをもっと具体的に書いてもらわないとわからないです。
他の人はどうか知りませんが、私は頭が悪いのです。
出し惜しみしてもしょうがないじゃないですか。実際できてないんですから。

458:名前は開発中のものです。
05/07/01 21:30:15 uhCLvFf1
アクションゲームのデバッグモードに何が必要ですかね?
無敵 敵配置 無重力・・・・あとは?

459:名前は開発中のものです。
05/07/02 06:20:49 Gk32sIkc
お前は世の中に出回ってるアクションゲームが全部同じだというのかと

460:名前は開発中のものです。
05/07/18 15:17:29 EO3/QU2T
マリオのコピー作ってるんですが
プレイヤーがブロックと当たった時のプレイヤーの座標の修正ってどう考えればいいんでしょうか


461:名前は開発中のものです。
05/07/18 19:09:10 U/+zsg12
>>460
ブロックに当たっていると判定されない位置までしか移動しないのが基本。
例えば下に8単位移動することで床に当たってしまうのなら、4単位移動して当たるかどうか調べる。
当たれば2単位移動したとき、当たらなければ6単位移動したときに当たるかどうか調べ、
判定を繰り返して床に当たらない限界の移動量を突き止める。

ターゲットマシンの処理能力がファミコン並みの場合、ブロックが16x16単位でしか存在しないという規約を決め、
y=y/16*16 または y=y & 0xfff0
という単純な式で解決する方法がよく使われていた。マリオを作るならこちらがおすすめ。

462:名前は開発中のものです。
05/07/19 08:49:28 h08CCx7/
たいしたゲーム作れないヤシに限って
ソースを出し惜しみする罠w

463:名前は開発中のものです。
05/07/19 12:38:57 3gAxftmB
無茶言うなよ。ただでさえアクションゲーム
はソースが膨大になりがちなんだからさ。
汚いソースは見せたくないのが人情だろ?


464:名前は開発中のものです。
05/07/19 14:38:07 g9RffVxd
>>461
どうもありがとう御座います
判定後の修正済みの座標の計算自体はわかっていました
質問が言葉足らずでした

例えば右に走りながらジャンプしてジャンプ中に下からブロックに当たった場合(X方向の加速度が+Y方向の加速度が-でブロックに当たった)
修正後のプレイヤーのY座標は当たったブロックのY座標+ブロックの高さ
にしてX座標は変えない

右に走りながらジャンプしてジャンプ中に左からブロックにあったった場合
プレイヤーのY座標は変えない
修正後のプレイヤーのX座標は当たったブロックのX座標ープレイヤーの幅

というふうにすればいいのだと思うのですが
単純に当たり判定をしただけでは下から当たったのか左から当たったのか分からないので
その方法が無いかなと思ったのです

465:名前は開発中のものです。
05/07/19 18:21:22 Q/KJA8ki
ソース見せろというヤシに限って
汚くて読めないと文句言う罠w

466:名前は開発中のものです。
05/07/20 01:39:59 EPNi1Tp/
>464
横判定と縦判定を別にすりゃいいんじゃね?
横当たりで戻すなら横だけ戻す。縦当たりで戻すなら縦だけ戻すでいんじゃね?
それなら着地点がカドで両方めり込む場合も対応できるんじゃね?

467:名前は開発中のものです。
05/07/20 01:44:43 EPNi1Tp/
しかも縦判定を上下にわけたら頭にブロックがぶつかって上昇止めるのと
足の下にブロックがあって落ちないのを分けられるんじゃね?

468:名前は開発中のものです。
05/07/20 20:22:11 +a5dPNhL
どんな状態が横から当たったという事なのか
どんな状態が上下から当たったという事なのか
まずそれが定義できません
頭がこんがらがってきた

469:名前は開発中のものです。
05/07/20 20:27:59 +a5dPNhL
たとえばXの加速度が0でYの加速度がーの時ブロックにあったたら
それは下からブロックに当たったと考えられるけど
Xの加速度が+Yの加速度がーの時ブロックにあった時
下から当たったのか左からあたったのか
どう考えればいいんでしょう

470:名前は開発中のものです。
05/07/20 22:20:13 ZyAL1iJ1
キャラを左にずらしてみて当たっているようだったら左から
下にずらしてみて当たっているようだったら下から
実際に動かす必要はないから

ところで。。。
>右に走りながらジャンプしてジャンプ中に左からブロックにあったった場合
ひょっとして移動ブロック?

471:名前は開発中のものです。
05/07/20 22:21:22 G93mZ0AF
if(上)上の判定
if(下)下の判定
if(左)左の判定
if(右)右の判定
こうで良いんじゃないの?
if文4つで判定していけば面倒なこと考えずに済む

472:名前は開発中のものです。
05/07/21 23:30:52 wHTK6m5n
>>469
それってマリオで言うところの
下からブロックに接触したときだけキノコを出したいとかそういうことかな?

473:名前は開発中のものです。
05/07/21 23:35:09 HcWPA8Z2
めり込まないようにするための自キャラ座標の修正っしょ?

474:名前は開発中のものです。
05/07/22 02:20:52 C15cS8V2
>>469
1.Xの移動
2.壁との当たり判定(当たっていたらX値を修正)
3.Yの移動
4.壁との当たり判定(当たっていたらY値を修正)
矩形のブロックしか存在しない空間ならこれでOK
精度を上げたければ1/10ずつ移動させてどちらが先にぶつかるかを調べる。

これが気持ち悪ければ、ブロックに対するめり込み量が多いほうを優先するとか、
移動量自体が多いほうを優先するとか、いろいろ方法があると思う。

475:名前は開発中のものです。
05/07/22 21:01:41 rRyf+a+6
超高速走行時のすり抜け問題もあるな。1/10移動しかないか?

476:名前は開発中のものです。
05/07/24 17:31:12 L6ZxXouS
マウスで動くゲームでカーソルを自キャラの画像にしていないゲーム、
つまりマウスカーソルの移動量を取得して自キャラを動かしているものを、
DirectXなしで作るには、どうすればいいんでしょうか?

/*カーソルがウィンドウの中央からどれだけ動いたかを求めて自機の座標に反映*/
GetCursorPos(&ptCursor);
myX -= (WND_WIDTH / 2 - ptCursor.x);
myY -= (WND_HEIGHT / 2 - ptCursor.y);
/*カーソルをウィンドウの中央に戻す*/
SetCursorPos(WND_WIDTH / 2, WND_HEIGHT / 2);

上記のソースのような処理を自キャラの動作処理の度に行っているんですが、
SetCursorPosが重いのか動きがカクカクになります。
他にDirectXなしで、なにかいい(高速な)方法はないでしょうか?

477:名前は開発中のものです。
05/07/24 21:19:59 Tt4A7o+h
>>476
私の環境では目立ったガタツキはありませんでした。

>カーソルを自キャラの画像にしていないゲーム
こうしなければならない理由は何ですか?もし背景をスクロールさせているゲームなら、
マウスがすぐ机の端に行ってしまい、何度も持ち上げなければならないと思うのですが…。

個人的にはマウスポインタが画面中央からどの位置にあるかで移動量が決まる、
下記のような手法が好みです。
GetCursorPos(&ptCursor);
myX -= (画面中央X - ptCursor.x)/10;
myY -= (画面中央Y - ptCursor.y)/10;
※ゲーム開始時に画面中央をクリックさせる必要があります。
  /10の数値は調整してください。

478:476
05/07/24 22:00:52 L6ZxXouS
>>477
アドバイスありがとうございます。

カーソルを自キャラの画像にしていなかったのは、カーソルの速度が速すぎたので、
自キャラの移動量をカーソルの移動量の何分の一かにしようと思っていたからです。
実際のソースでは
myX -= (WND_WIDTH / 2 - ptCursor.x) / 5;
myY -= (WND_HEIGHT / 2 - ptCursor.y) / 5;
のように移動量を割っています(すみません、書き忘れました・・・)。

でも、「マウスポインタが画面中央からどの位置にあるかで移動量が決まる」って方法のほうが、
操作性もよさそうですね。僕のPCでは重かった、SetCursor関数も要りませんし。さっそく導入を検討してみます。

479:名前は開発中のものです。
05/07/25 01:51:00 d4SiN8in
マリオに関しては、まず移動させておいてから
めり込んでいる部分を押し返すだけでいいんじゃないかな、貫通するほどの速度もないし。
どの方向からぶつかったかというのはあまり意識しなくていいと思う。

ダッシュで1ブロック分の隙間を走り抜けたりするのも、意識しなくても勝手に再現されるよ。
プレイヤーの上昇方向の判定を少し狭くしておくと、
ジャンプが微妙にすり抜けて上の足場に着地するのも再現される。
ある程度めりこみが発生するのは構わないという前提で、甘めに判定するのがコツ。

HTMLとJavaScriptだけで作られたマリオ
URLリンク(www.janis.or.jp)

480:名前は開発中のものです。
05/07/25 19:16:34 vPG6HPYk
>>479
どの方向から来たのか分からないと
どの方向に押し返すのか決められないよ

481:名前は開発中のものです。
05/07/25 21:26:25 g1HMM4aW
右に移動してぶつかったら左に押し戻す、とか

482:名前は開発中のものです。
05/07/26 07:54:06 /o47BJro
で、ダメージで吹っ飛ばされてめり込むとw

483:名前は開発中のものです。
05/07/26 19:52:47 SBWFi+sv
吹っ飛び処理に接触判定入れてないの?

484:名前は開発中のものです。
05/07/27 09:05:46 cRa0iwYz
入れてるはずだろ。でなきゃ地面を突き抜けて落ちていく。

485:名前は開発中のものです。
05/07/27 17:39:34 JOpFaaQL
んじゃ、めり込むはずないね

486:名前は開発中のものです。
05/07/31 12:32:27 1cCJGwcX
何がどうなってか、壁のこちら側ではなく、
壁の向こう側に押し出された事ならあるぞw


487:名前は開発中のものです。
05/08/01 18:10:13 JGK4vs8h
キーによる移動と吹っ飛びによる移動を一緒にして判定すればいい

488:名前は開発中のものです。
05/08/04 05:34:35 0Nyl93/Z
物体を押して動かす動作って、やってる人いる?
複数の物体を動かすと、無茶苦茶大変じゃね?


489:名前は開発中のものです。
05/08/04 16:30:57 YFvDCil8
物体=オブジェクト=3D=3Dで物を動かすのは簡単
結論:そうでもないよ

490:名前は開発中のものです。
05/08/04 18:38:45 e7pfmO0E
>>488
矩形にとらわれない形状・空間・移動方向で、直接押された物体以外も連鎖的に
動かそうとなると、一筋縄ではいかないよね。
物理シミュレーションとかかじると面白いんだけど、そっちに気が向きすぎて
ゲーム製作どころではなくなりそう。

491:名前は開発中のものです。
05/08/04 22:56:58 Y2kkgy0i
結構大変そうだな
今年の盆休みはコレにチャレンジしてみるか・・・
いつか通る道だし

492:名前は開発中のものです。
05/08/05 09:30:12 BLdYd1nn
多少のめり込みを許容しつつ、いい感じに動くやつをつくりてぇ。

493:490
05/08/05 23:47:24 j/CQ3Nfi
円形オブジェクトを動かすサンプルを作ってみました。
参考になればいいんだけど…

Javaのソースとアプレットのデモを掲載中
URLリンク(summerclap.hp.infoseek.co.jp)

494:名前は開発中のものです。
05/08/06 00:08:25 ozOLA3p2
>>493
すげー!感動した!!
でもCしか読めん (T_T)

495:名前は開発中のものです。
05/08/06 01:23:04 mdQmR8Nd
>>494
オブジェクトの衝突判定って所だけ見れば問題なし

キモは動かす玉の加速度からぶつかり先の加速度を求めるんじゃなくて
重なった量からぶつかり先の加速度を求めてる所にあると思われる
ボールが凹んだ分だけ押し返すみたいな感じかな
スマートにまとまってていいね~

496:名前は開発中のものです。
05/08/06 09:04:03 SCanc4CH
凄い凄い。めり込み具合から計算するなんて、考えた事もなかったよ。

昔、キャラが重なる事を、全く想定しない方式で作った事があってな。
運悪くキャラが重なれば、キャラが動作不能におちいるわ、複数の
物体を押そうとすると、自キャラの移動がガクガクするわで、全然
うまくいかなかったんだよ。

Thanx!!


497:名前は開発中のものです。
05/08/06 10:11:44 D5FBVQjr
ペナルティ法

498:名前は開発中のものです。
05/08/06 12:01:33 PNc88TP1
>>497
そ~ゆ~のは何で調べるの?
アルゴリズム辞典には載って無かったんだが。


499:名前は開発中のものです。
05/08/06 16:15:06 gXfKdljo
>>498
昔はいいサイトがあったんだけど そこの作者winnyつくって捕まっちゃったんだよな

500:名前は開発中のものです。
05/08/06 17:54:31 qONoCor0
>>499
そうそう
なんか3Dのプログラムとかうpてたよね

501:名前は開発中のものです。
05/08/06 18:20:37 OQXjMLjA
PGには色々な意味で、無政府主義者が珍しくないからなぁ・・・
逆も珍しくないけどさ。


502:名前は開発中のものです。
05/08/07 02:45:23 5OtBYpxD
貴様等に何が分かるか

503:名前は開発中のものです。
05/08/07 06:13:35 R5K/VwOD
金の無い学生が、とりあえず共産主義に走ってるだけの話かと。


504:名前は開発中のものです。
05/08/07 06:26:22 ms9PetyD
学校や一部の会社は、その組織の中だけで
運営される、閉じた共産主義の世界だからなぁ・・・


505:名前は開発中のものです。
05/08/07 06:50:06 ms9PetyD
割れ厨房やピーコ厨房の悲しい所は、圧倒的に世界が狭い点だな。
夢や希望、理想を信じていて、現実を直視出来てない点が問題だ。
もっと広い目で世間を見ていれば、違った見方も出来るだろうに。
現実には、Winnyとかの氾濫で、著作権の強化には歯止めがかから
なくなりつつあるのが現状だしな。


506:名前は開発中のものです。
05/08/07 06:57:31 EiSRB336
法律は弱者救済が原則。

そして著作権は、著作権を所有している人間が弱者だと
認定している法律だ。この意味を、深く考えるべきだね。


507:名前は開発中のものです。
05/08/07 10:07:54 ZFBJiW80
>>506
>法律は弱者救済が原則。

低脳はマイルールを法律と言い出すから困る

URLリンク(www.google.co.jp)

508:名前は開発中のものです。
05/08/07 11:26:21 xz3quRgr
>>507
それは藻前の調べ方が悪い

URLリンク(www.google.co.jp)


509:名前は開発中のものです。
05/08/07 11:56:43 DvKZ5TPE
こっちの方が詳しいかもな。

URLリンク(www.google.co.jp)


510:名前は開発中のものです。
05/08/07 14:51:33 2zoPxgWc
とりあえず俺に言えることは言えることは
お前らみんなスレ違い

511:名前は開発中のものです。
05/08/07 22:08:23 Qhu6bNnu
>>510 error C4292:'お前らみんな'はあいまいであるか、アクセスできません。明確な参照を指定してください。

512:名前は開発中のものです。
05/08/07 23:58:19 5OtBYpxD
>>498
物理シュミレーションの分野。解析法とか。

513:名前は開発中のものです。
05/09/17 09:10:29 Ou43c5rT
質問です
ソニックザヘッジホッグのように
曲線で描かれた地面との衝突判定って
どう処理するのがよいのでしょうか。
地面に沿った曲線方程式を持っていて
それから計算するのでしょうか
ご教授ねがいます


514:名前は開発中のものです。
05/09/17 09:55:39 8tvgUAR/
線との接触判定を地道に一つ一つやっている。
今のマシンのパワーなら、そのぐらいは簡単だよ。


515:名前は開発中のものです。
05/09/17 14:43:24 Ou43c5rT
>>514
回答ありがとうです
接触判定用の線の配置マップは
やはりマトリクスで管理するのでしょうか?
たとえば↓のように坂道があったら
□□□□□
□□□□/
□□_/□
_/□□□
□□□□□
各マスごとに接触線の有無情報を持つということでしょうか。
00000 0:なし 1:_ 2:/
00002
00120
12000
00000
※おおまかに数値化した例です

マップがでかくなったり、細かいカーブのある地面を表現しようとすると
管理できなくなりそうだなあ。
素人丸出し、すんまそん。
何か良い方法ありますか。


516:名前は開発中のものです。
05/09/17 15:18:30 E0zJ1TH0
>>515
それは、マップの作り方次第やね。

たとえば515のマップなら、こんな風に作る事もできる。
00000 0:なし 1:床 2:坂
00002
00021
02111
11111

あと、閉じた線リストのグループを組み合わせてマップを作る方法もあるが、
これはちょっち難しいかな?


517:名前は開発中のものです。
05/09/17 15:37:45 Rc3vY+QN
まあ要するに、マップの作り方は、作りたいゲームによって変わるって事だよ。

レースゲームでは、道の両側の座標を二本のポリゴンで管理する事も珍しくないし、
道幅が固定なら一本のポリゴンで管理する事もある。


518:名前は開発中のものです。
05/09/17 16:15:52 Ou43c5rT
レスありがとう、参考になります。
ソニック系のゲームを作りたくて
どの方法がいいのが決めかねていました。
>>516
>あと、閉じた線リストの~
例えばマップを10×10マス単位に区切って
その中に含まれる直線式をリスト管理しておいて
キャラクタが居る場所のリストとの当たり判定を
するということでしょうか。
□□□□□□□□□□
□□□②__□□□□
□□□/□□□□□□
□□/□□□□□□□
□/□□□□□□□□
①□□□□□□□□□
□□③――□□□□
□□□□□□□□□□
□―□□□④――□
□□□□□□□□□□
リスト1
①y=ax+b
②y=cx+d
③y=ex+f
④y=gx+h
このマップ内にいたら上記①~④の式との衝突判定をする
ってことでしょうかね。
これなら曲線式(円とか)もリストに入れられそうですね。


519:名前は開発中のものです。
05/09/17 18:01:47 ScEP3mCD
直線の始点(x1,y1)と終点の座標(x2,y2)があれば、一本の線が描ける。
そして二つの点が決まって居れば、その線の計算式を求める事は可能だ。
(y-y1)=((y2-y1)/(x2-x1))(x-x1)

三つの座標があれば三本の線が描ける。
(x1,y1)~(x2,y2),(x2,y2)~(x3,y3),(x3,y3)~(x1,y1)
四つの座標があれば四本の線が描ける。
(x1,y1)~(x2,y2),(x2,y2)~(x3,y3),(x3,y3)~(x4,y4),(x4,y4)~(x1,y1)
こうした折れ線が、閉じた線リスト。

三つの座標で、二本の線。
(x1,y1)~(x2,y2),(x2,y2)~(x3,y3)
四つの座標で、三本の線。
(x1,y1)~(x2,y2),(x2,y2)~(x3,y3),(x3,y3)~(x4,y4)
こうした折れ線が、開いた線リスト。


520:名前は開発中のものです。
05/09/18 12:43:56 s39mZ4CU
さて質問。
今マリオ風アクションゲームを作っているんだが、壁とマリオの衝突判定で問題発生。

マリオの上、下、左、右それぞれに当たり判定を作って上が当たったら頭があたったと判定させ
下が当たったら足と壁(地面)が衝突するからY軸の重力加速度をゼロにして地面の上にたたせる。
右がぶつかったら左にすこし押し返される感じにして左も同様

こんな感じで基本的に動くようになったんだが、このキャラクターが吐く玉があるんだが
その玉にも同様の当たり判定(上下左右)を行ってるのね
だけどこの玉の移動速度があまりにも速いものだから壁にめり込んで正確に動作してくれないんだ
玉のスピードによって当たり判定を伸ばせばいいのかな?ともおもったが色々考えて却下。

最終的に1秒60フレームの60FPSとは別に玉の動作だけ600FPSくらいで判定処理をさせればOKじゃね?とおもってやってみたが
なぜか動かん!

本来マリオ風アクションゲームを作る時のキャラの当たり判定ってどう行うんだ?

521:名前は開発中のものです。
05/09/18 13:37:00 yP69ys0m
60FPSを600FPSにした場合、1フレームの移動量は1/10倍に、
60FPSを6FPSにした場合は、1フレームの移動量を10倍にしないと
玉の速度が変わるわけだが?


522:名前は開発中のものです。
05/09/18 13:39:07 vUrboQp9
めり込んでから判定するか、めり込む前に判定するか

523:名前は開発中のものです。
05/09/18 14:01:59 d7ieMFyE
>>520
このスレの上の方で、

①移動前に判定
②当たらなかったらちょっと'(1ドット?)移動
これを1フレームの移動量に達するor壁に当たるまで繰り返し

ってやりかたが出てたような気がする

524:名前は開発中のものです。
05/09/18 16:45:57 TnJMPUnx
弾が壁に当たったらデカいエフェクトでも出せば~
そんな気にならんと思うぞ。

525:名前は開発中のものです。
05/09/18 18:17:20 +n+8NiI7
マリオが壁にひっかかったりめりこんだりすりぬけたりするバグまで再現するのは、普通にやると難しいんだろうか

526:名前は開発中のものです。
05/09/18 18:50:37 fAahe9rg
>>513-519
メガドラ版とかだったらそんな大層な事してなさそう
例えばマップデータにその点での曲線の傾きを入れておいて、傾き2のポイントに左からぶつかったら上に2上がる、みたいな

もちろん上の人はわざわざ「今のパソコンなら」って書いてるわけだし今ならその方がスマートだとは思うんだけど、
ソニックは移動が高速だから多少粗くても問題なさそうだし、処理性能の面でも当時ならそうしたんじゃないかなと
見当違いだったらスルーよろ

527:名前は開発中のものです。
05/09/18 18:52:21 fAahe9rg
ごめん寝ぼけてた
忘れて下さい

528:名前は開発中のものです。
05/09/18 20:18:59 tilH0X8d
>>524
何げに良いテクを言ってる気ガス。

529:名前は開発中のものです。
05/09/18 20:25:37 tilH0X8d

|   ○))))



|  ○))))



| ○))))


・・・
・◆・
・・・

◆◆◆
◆◇◆
◆◆◆

□□□
□□□
□□□






530:名前は開発中のものです。
05/09/19 00:47:45 pDDJ7+1W
>>528
そもそも壁にあたったと判定できなくてこまってるんじゃ
あんまり意味がない気がする。

531:名前は開発中のものです。
05/09/19 09:43:08 v8vzsqdV
60フレで移動値10ぐらいならそんな気にならんと思うし、
それ以上になるようならデカいエフェクトで対処したほうがいいと思う。
接触をどこで判定するかにもよるが、弾自体をデカくしてもいいかと。
見た目のめり込みドット数は減ると思うぞ。

532:名前は開発中のものです。
05/09/19 09:45:00 FeS2reeC
>>523
なるほど
次フレームに位置する玉の場所と現在の場所にスライドするように判定を行うわけだね?

頭いいー!
で、どうやるんだろ…w

がんばってくる!

533:名前は開発中のものです。
05/09/19 09:47:15 FeS2reeC
>>弾自体をデカくしてもいいかと。

それ考えたんだけどやっぱそうしたほうがいいのかなぁ。
うぅむ。
ちなみにエフェクトで対処とかっていう案が結構でてるけど
>>528
さんが言うように早すぎると壁抜けてしまうので
エフェクト以前に判定できないのよね。

とりあえず↑の方法を頑張ってみる。


534:名前は開発中のものです。
05/09/19 09:48:32 FeS2reeC
すまん。
>>530さんね。

みんなありがとう!

535:名前は開発中のものです。
05/09/19 20:10:36 FeS2reeC
手短にC++について質問

class MOVEOBJ {
public:
**省略**
MOVEOBJ();//コンストラクタ
MOVEOBJ(int x, int y);//コンストラクタ
};

class PLAYER : public MOVEOBJ {
public:
**省略**
};

MOVEOBJ a(8,8);//これは出来るけど
PLAYERn(8,8);//敬称してもこれは出来ない。

どうすればPLAYERクラスからMOVEOBJ内のコンストラクタにアクセス出切る?

場違いかな?

536:名前は開発中のものです。
05/09/19 20:56:48 JUxOCKS9
class PLAYER : public MOVEOBJ {
public:
PLAYER( int x, int y ) : MOVEOBJ(x,y){}
**省略**
};


537:名前は開発中のものです。
05/09/20 14:48:01 1rmjE96S
>>536
THX

538:名前は開発中のものです。
06/01/05 23:56:28 8YIYn0ZE
>>227
年を2つ越えて亀レスだが、俺がPC版アーマード・コア作っちゃっていい?
本家のACはもう行くところまで行ってしまった気がする。

539:名前は開発中のものです。
06/01/06 03:29:23 MTbix/3n
>>538
ガンガレ

540:名前は開発中のものです。
06/01/06 14:04:58 yOgH2a1d
>>539
㌧クス、地道にがんがる。

541:名前は開発中のものです。
06/03/07 01:01:48 LVgywCzP
横スクロール型アクションゲームを作っているんですが(魔物ハンター舞(知ってるかな?))みたいなやつ、
コマンド技などを実装しようと思いますがコマンドの判定がいまいちわかりません。
1フレーム(約14ms)毎にキー状態を取得し、前のキー状態と比較してAかつBのコマンドがあれば
フラグをONにし、そのフラグがONの状態の時あるボタンを押されたらコマンド技という実装を考えたのですが、
どう頑張っても入力が不可能になってしまいます、どうすればいいでしょうか?

542:名前は開発中のものです。
06/03/08 10:36:03 mZu8SEWn
それでいいはずだけど?実際のキー入力見たら?
入力無し状態が間に入って、成立してないって判定してるかも。

543:名前は開発中のものです。
06/03/08 19:45:40 LPRPt45/
コマンド解析ロジック
でぐぐって参考にすれば?

544:541
06/03/08 21:30:58 7jcBB4H/
>>542
その通りでした、くだらないバグですいません。

>>543
ありがとうございます、参考にします。

545:名前は開発中のものです。
06/03/21 18:07:26 s8nZYA/R
プレイヤーキャラクタの動かしかたについて質問です。
キー入力をキャラクタの動きに対応させる際に、以下の二通りの実装を考えています。

1. 上位側でキー取得、キーに対応したキャラクタの関数呼び出しで行動。
2. キャラクタ側行動関数内でキー取得、対応した動作を内部で記述。

1、2、どちらがOOPとしてスマートな実装方法だといえるでしょうか?
識者のかたお願い致します

546:名前は開発中のものです。
06/03/21 19:18:13 JkFbCiMp
>545
俺もちょうど似たようなところを組んでいたが、OOPとしては当然1じゃね?

ゲーム内のキャラクタが、現実のキー入力という異世界の情報を、直接扱うのは美しくない。

547:名前は開発中のものです。
06/03/21 19:47:18 II3VfSa/
なるほど、そういう考え方もあるな。

548:名前は開発中のものです。
06/03/21 19:55:29 BETRB9Hh
そうなん?
普通に2がやりやすいと思うが。

549:名前は開発中のものです。
06/03/21 22:51:39 nXEENBpa
やりやすいとスマートは違うぞな、もし

550:名前は開発中のものです。
06/03/23 03:37:22 2sNSmG50
1だとCPUもキー入力的に動かせる気がして1にしてる。

551:名前は開発中のものです。
06/03/23 17:03:05 Ccbbk2h0
てか、2の方法だと、プレイヤーの行動以外のために
キー入力状態が欲しくなったら面倒じゃん。

552:名前は開発中のものです。
06/03/23 17:18:37 lA0BaRyH
イベントリスナーを使うのがオブジェクト指向っぽい

553:名前は開発中のものです。
06/03/24 01:57:47 4Uk+3T2/
ところでまったくの初心者である俺から質問させてほしいんだが

C言語とかDelphiとかどれがお勧め?

いま友達が簡単だからお勧めっていうHSPってのを勉強してるんだが
使ってるのによって何か弊害とかあるのですか?
あのプログラムができない云々とか(´・ω・

554:名前は開発中のものです。
06/03/24 03:03:04 HlGxkzvX
言語にお勧めなんて無いよ、使い慣れたのが一番だ

あとの質問は意味が理解しきれないのでパス
#使ってるコンパイラなのか言語なのか
#プログラムができないってどういう意味なのか

555:名前は開発中のものです。
06/03/24 03:12:01 7W3qOTI+
プログラムの基礎を学ぶ意味でCを最初にやる事を強く勧める


556:名前は開発中のものです。
06/03/24 04:00:40 4Uk+3T2/
>>554使いなれたのが一番・・・なるほど、あと説明が変ですみませぬ
>>555やっぱりCが押されるようで、ありがとう
んーやっぱC言語からって意見をよく聞くからC言語がいいのかな


なんかHSP使うと細かな命令がやりにくいとか、
処理が重いとか言われてて、もしHSPに満足できなくて
C言語に乗り換えて使うとしてもHSPの知識では役に立たないとか?
だったら早期に見切りを付けてC言語やったほうがいいのかなって
(;´・ω・
いずれは3Dアクションゲームを作ろうと思ってるからなおさらC言語なのかなと
(こう発言して散っていった先人達は星の数ほどいるらしいから
今は笑い飛ばしてくれていい)
だけど早期にそれなりのアクションゲーム作りたいならHSP使えと言われるジレンマorz

557:名前は開発中のものです。
06/03/24 06:09:45 lhqBkY85
とりあえずHSPで何か作っちゃうのが良いよ

558:名前は開発中のものです。
06/03/24 06:57:50 fkaCWNcU
HSPの言語の知識は役に立たないかもしれないが、
HSPでのプログラムの経験は、役に立つかもな

559:名前は開発中のものです。
06/03/24 10:40:32 6JV0Yf7q
結果が全てなのだぁ

560:名前は開発中のものです。
06/03/24 10:53:44 7W3qOTI+
最初はコンソール画面でオセロでも迷路でも作ればいいよ
プログラムすることの面白さに気付ければ
後は誰の後押しも無く自分で学んでいける

HSPはポインタあるのかな?
ポインタって何?(・∀・)
という状態になるのが怖いな

Cでグラフィカルな表現に進む場合にはWindows、DirectXが立ちはだかるわけだが
SDLという道もあるので頑張って欲しい

561:名前は開発中のものです。
06/03/24 17:07:56 ynvPJr33
>>553
マジレスするとRuby。趣味言語として。
しかし趣味でゲームつくるくらいならHSPで間違いなく十分。

モチロン職に就くなら話は別だが。

562:名前は開発中のものです。
06/03/24 17:10:41 ynvPJr33
連レススマソ

>>560
HSPでも一応ポインタは使えるよ。

ところで、>>555もそうなんだが
なぜ職でプログラミングをやるわけでもない初心者に
Cを進めるのか理解できないんだ。
煽りとかじゃなくて真剣な話ね。

ちょっと答えてくれるとウレシス

563:名前は開発中のものです。
06/03/24 17:19:20 6JV0Yf7q
>>562
2DゲームならHSPでもいいかもしれんけど、
3Dゲームになると明らかにdirectXとか使ったほうが良いし
そのためにはC言語くらい出来ておくべき。

それと俺の場合はシューティングゲームを良く作るんだけど、
最近の弾幕バリバリ系のをHSPで作ると凄く処理が重たくなる。

564:553
06/03/24 17:25:42 4Uk+3T2/

>>557とりあえずHSPで作ってみます

>>558という思考からやっぱり最初からCやるべきなのかと思ってしまう

>>559同意

>>560なんか擬似的にポインタっぽい仕様があるとか聞いた

>>561.562んー趣味LVだからなァ、たしかに・・・


とまあ、Rubyとか出てきたしそれぞれに特徴があるんだったら
説明をお願いしたいんですがorz
初心者すぎてゴメン、とりあえずCはプロ向きで
HSPは初心者向きで他のを使うときには役に立ちにくい感じのでいいのかな
他のDelphiとかどうなんでしょ(´・ω・

とりあえずいずれの目標は
つ{URLリンク(www.geocities.jp)
↑のをもうちょいゲームとして遊べる仕様なのを作ってみたいです

565:名前は開発中のものです。
06/03/24 17:32:18 7W3qOTI+
最初に身に付ける言語が基礎になると思うから。



566:553
06/03/24 17:38:50 4Uk+3T2/
おっと書き込み中にレスが増えてました

>>563
そう、その意見をHSPを使ううえでよく聞かれるんだよね
「処理が重たくなる」っての、それが心配なんだけど
Cで作る場合とかなり違うと思っていいんですか?


C言語が優秀なのはわかった
とりあえずこのスレで質問した結果から
明日書店へひとっ走りして入門書を購入してこようと思います

ちなみに今手元にあるのは
「HSP3プログラミング入門」
「12歳からはじめる、HSP3.0ゲームプログラミング教室」
中古本ですけど値段が手ごろだったので

567:名前は開発中のものです。
06/03/24 17:41:50 7W3qOTI+
書籍代はケチるんじゃないぞ
ゲーム買うの我慢しても良書を買うべきだ

568:562
06/03/24 17:42:27 ynvPJr33
>>563
HSPでも3D扱えるしDirectXでなくとも
今なら[SDL]+[OpenGL]も十分実用に耐え得るようになってきている。
にもかかわらず、未だに皆初心者にCを進めるんだよなー。
HSPの速度は同意。[hspdxfix]を使うとかなり軽減はされるが。
……と[C++] +[DirectX]でゲーム作ってる職業プログラマ志望の
漏れが考えていますw

>>565
だからその基礎にするのがなぜCなのか理解できない。
初心者がCやるくらいならJAVAからはじめたほうがずっといいと思う

>>566
早まるな、HSPならネットの資料で十分足りる、金の無駄だ

やべぇ、長文な漏れキモスwwww

569:名前は開発中のものです。
06/03/24 17:46:37 7W3qOTI+
>初心者がCやるくらいならJAVAからはじめたほうがずっといいと思う

初心者がいきなりオブジェクト指向を理解できるとは思えないんだよね
手続き型の限界を知ってからのほうが身につくんじゃない?
CならC++に無理なく移行できるし
Cは色んな意味で入門言語として手堅いんだと思うよ。

570:名前は開発中のものです。
06/03/24 19:44:31 UCMQhwlE
C++かJava、それと企画書はUMLの技法を使う
つまりオブジェクト指向を勉強したほうが良い
(C++の言語を作った人(ストラウストラップだっけ?)が、C++から始めることを薦めていた)
手続き型言語のCは、もはや時代遅れ

例えば敵機にしても、一つ一つがオブジェクトであり、個々に判定したり動くのが原則
またクラスを派生させ、敵機などは系統立って設計されるべき

571:名前は開発中のものです。
06/03/24 20:29:43 ynvPJr33
>>569
そっか。漏れは初心者の頃オブジェクト指向には目から鱗だったんだが。
今度新規生がまたくるから、ウチの人員を研究対象として
今年は手続き型とオブジェクト指向型とどちらがわかりやすいか
調査なんかしてみるかな。

>>570
趣味プログラマがUMLなんか使うかよ禿www

572:名前は開発中のものです。
06/03/24 20:34:18 mFmDrFXE
手続き型を先にやったがために、
オブジェクト志向になじめないってパターンもあるしな

573:553
06/03/24 20:40:01 4Uk+3T2/
ん、通常はC→C++という流れで覚えると思ったんだが
>>570のいうC++から始めることを薦めてるってのが気になるなぁ

ついさっき本屋でC++の入門本に
「本書はCを知らなくてもC++ができるようになる本です」
ってのがあったんだけどC++から覚えるってのも
一つの手段として考えたほうがいいのかしら
聞けば聞くほどHSPに不安が出てくるな(笑

574:570
06/03/24 21:01:26 D/m13lxQ
C++よりもCのほうが難しい
Cの本には、こういうプログラミングをすれば処理速度が上がるなどの個別のテクニックの解説が多い
またわけのかわらん自己中なプログラムを組む奴が多い

またクラスが無いから構造体を使うが、構造体にはアクセス権が無いため、
その構造体がどこでアクセスされているか、ソースコードを追っていくのが大変

プログラミングが難しい

575:名前は開発中のものです。
06/03/24 21:29:57 ynvPJr33
>>573
この程度の情報量でHSPに不安がでてくるようなら
HSPやるにしてもCの勉強をはじめるにしても長続きしない。
とりあえず手軽に始められるんだからHSPで1ヶ月もやってみ。
そしたらHSPで足りるのか足りないのかわかるから。
なんにしろ3DACTなんて初心者が独学で数ヶ月でできるもんじゃない。

>>574
ただのOOP厨でしたか。お帰りください

576:名前は開発中のものです。
06/03/25 03:43:31 lNWu+DsU
ってか、Cから始めるといろいろめんどいというか、
ゲーム作り始めるまでに覚えることが多々有りすぎるから、
だったらまずはゲームってどんなふうに作られてるのか知る上でも、
メッチャ簡単なものでいいからHSPで作っちゃえば良いと思うんだけど。

577:名前は開発中のものです。
06/03/25 04:26:04 9+AYDTvc
単純な内容ですぐ遊べるものが欲しいならHSP。
じっくり学んでたくさん作るつもりがあるならC。

578:名前は開発中のものです。
06/03/25 10:55:59 Xo5AkaJL
>>577
嘘ばっかか。
たくさん作るつもりならむしろ手軽なHSPだろ
Cで作るならクオリティに凝ってもらいたいものだ

579:名前は開発中のものです。
06/03/25 13:24:10 oCQS7gTs
Cは低水準よりの言語だからなあ、ある程度プログラミングに慣れてからのほうが覚えやすいと思うな


結論としては、C言語は覚えておいても損は無いよってことで

580:名前は開発中のものです。
06/03/25 21:19:25 1d6aG4+O
俺としては
HSP→手軽、限度低い。
C,C++→とっつきは悪いかも。ただ覚えさえすれば、かなり使える言語。

って感じ。
なんでHSPがよく批判されるかっていうと
入門者に手軽なHSPを薦めること自体は別にいいんだけど
HSPの簡単さになれると他の言語に移りににくくなるんだよね。
まぁそれでもいいって言うんならいいけど

581:名前は開発中のものです。
06/03/26 03:38:03 eIBmOWGN
>>580
どうせ向上心のあるやつは半年もすれば
ほうっておいてもHSPから離れていくんだから、
当面初心者にはHSPを進めておけばいいと思うんだ。

ただ、
>まぁそれでもいいって言うんならいいけど
な上から見た態度はすこぶる気に食わないんだ。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch