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


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

【Delphi】 ゲームつくるぞ(゚Д゚)ゴルァ 2【Delphi】



1 名前:名前は開発中のものです。 mailto:sage [04/10/15 19:34:29 ID:q0RdRnIe]
Delphiでゲームを作ってしまおうという実践形式のスレです。

初代スレ>>1より抜粋:
「プログラム経験無
しかしRPGを作りたいのだ。
叩き煽りにめげず己が道を突き進みたい。
何故あせるのか。
そこには一つの目標が在るから。
とりあえずは本との睨めっこ。
やる気は12分にあるので、駄スレと言わず付き合っていただきたい。」

RPGに限らずがんがん作ってあぷしてきましょう。

過去スレ:
【Delphi】 ゲームつくるぞ(゚Д゚)ゴルァ 【作れば?】
pc5.2ch.net/test/read.cgi/gamedev/1051110669/

[Delphi] RPG作らねば [Delphi]
pc2.2ch.net/test/read.cgi/gamedev/1013976376/

ゲ製作技術板専用あぷろだ集:
forgamedev.zombie.jp/wiki/pukiwiki.php?uploader

Delphiまとめ
gamdev.org/w/?%5B%5BDelphi%A4%DE%A4%C8%A4%E1%5D%5D

関連スレは>>2-10くらい。

199 名前:名前は開発中のものです。 mailto:sage [05/02/06 21:28:57 ID:UwhvIXqG]
乙。
スクリーンモード切替って可能だったのね。
きっちり切り替えできてます。

>>198氏の方法をおいらの作ったスケルトンで試してみたら
ウィンドウ⇒フルスクリーンは大丈夫だったけど
フルスクリーン⇒ウィンドウでOSがフリーズしますた。
詳しく検証してないんだけどTDDDD.Use3Dを使うとダメっぽい?

200 名前:198 mailto:sage [05/02/09 00:46:36 ID:pbdFi9eH]
Use3D使うとダメだった。何が悪いのやらさっぱりわからない。
研究チェック対象に入れておきます。

201 名前:名前は開発中のものです。 [05/02/09 23:15:53 ID:RMQExbEB]
Delphi 2005 personal edition announced
(Through Martin Pyka's weblog) - According to a an announcement on the German website
Delphi-Source.de, Borland will release the personal edition of Delphi 2005 at the end of February.
The announcement says that it will be free and that it will allow individuals (not companies though)
to create commercial applications. Sounds good to me.

turbo.gamedev.net/default.asp


要するに2月末にD2005Personalが出て個人なら商用可能ってことか?

202 名前:名前は開発中のものです。 mailto:sage [05/02/10 08:45:52 ID:KBLo8ZOo]
あぁこちらが元ネタか。
Free といってもダウンロードはやらず、雑誌のおまけ CD として配布する。
ということらしいです。
ドイツの雑誌につけるということはかなり前から確定していて、何回かリークもありましたが
そろそろ確定のはず。

日本で、雑誌につくかどうかはわかりませんよ。まぁ C-Magazine がつけるでしょうけど。


203 名前:名前は開発中のものです。 mailto:sage [05/02/10 09:19:13 ID:nEdZX+df]
このあいだDel7を買ったばかりなのに、
ボーランドさんったら冗談キツイよ・・

204 名前:名前は開発中のものです。 mailto:sage [05/02/10 13:15:54 ID:KBLo8ZOo]
「このあいだ」っていつだよ。先週とか言うなよ。
買う前にちょっとは調べろ


205 名前:名前は開発中のものです。 mailto:sage [05/02/11 00:26:55 ID:5gJsXFuy]
>>202
詳細サンキュー

ちょっとググってみたらDelphi7も海外では雑誌の付録になってたそうで
こりゃ日本で手に入れるのはもうあきらめたほうがいいかな_| ̄|○

206 名前:名前は開発中のものです。 mailto:sage [05/02/11 03:36:33 ID:wMuIvfOR]
中の人情報では、期待していていいよ。という話です。

207 名前:名前は開発中のものです。 [05/03/02 08:00:52 ID:z0oWKd/Z]
翻訳オワタ

GamDevPukiWiki - OpenGLwithDelphi
gamdev.org/w/?%5B%5BOpenGLwithDelphi%5D%5D



208 名前:名前は開発中のものです。 [05/03/03 08:10:51 ID:lh5drDVe]
Quadruple D Ver. 3.02キター!

Ver. 3.01a → Ver. 3.02
二台以上のジョイスティックを接続した際のバグの退治
DepthStencilSurface未使用時にTDGCarad.Resetメソッドを呼び出すとメモリ保護違反のでるバグの退治
SXLibの修正
MakeMaterial関数の修正
TSXScene.PushSpriteLite, PushBillboardLiteメソッド追加
TSXScene.SphereVisibilityの誤りを訂正
TSXFrame.UpdateBoundsの誤りを訂正
TSXFrame.Material.ambientのデフォルト値を$00000000から$FFFFFFFFに変更
s_mathpackの修正
NowPointInPillar関数の訂正
TFacedTriangle3Dの宣言ミスを訂正
LineSeg3D関数のミスを訂正
マニュアルの修正
NowLerpColorの説明が実装と異なっていたのを訂正
QDArcチュートリアルを古いヘルプから移植


209 名前:名前は開発中のものです。 mailto:sage [05/03/03 10:00:06 ID:XiJl56IW]
キター

しばらく放置していたシューティング、また作りなおそっと。
これを機にまたQD勢が盛り上がるといいねー!
その為には、ソースをまた公開すっかなー

210 名前:名前は開発中のものです。 mailto:sage [05/03/04 02:45:01 ID:MQQKfkgS]
QDアップデートマンセー。

>207
読みてーけどゲムデブ落ちすぎ……。


211 名前:名前は開発中のものです。 mailto:sage [05/03/04 04:41:35 ID:RBgY1g3L]
>>210
DelphiでOpenGL
f54.aaa.livedoor.jp/~gamedev/pukiwiki14/pukiwiki.php?Delphi%A4%C7OpenGL

212 名前:名前は開発中のものです。 mailto:sage [05/03/04 19:27:31 ID:XKn1qPky]
マニュアルにPushSpriteLiteの引数TDGTextureを
>Nilを指定すると、テクスチャ無し(ただの四角形)になります。
って書いてあったけどNilにしたらEAccessViolationがでた。

213 名前:名前は開発中のものです。 mailto:sage [05/03/04 19:42:02 ID:G7rk5Aw3]
マニュアルの誤記だねぇ。

テクスチャのサイズに応じて表示する範囲が自動的に変わるわけだし、Nilにしたら
サイズが分からなくなるからな。

214 名前:名前は開発中のものです。 mailto:sage [05/03/05 07:07:19 ID:gtGKrGEZ]
wikiに書いてあげると、qdの中の人が直してくれるかもよ。
マニュアル表記を。

215 名前:名前は開発中のものです。 [05/03/13 05:27:49 ID:pnE6WTTe]
Delphiあげ

216 名前:名前は開発中のものです。 [05/03/15 00:17:18 ID:1CAhGM4w]
なんかしゃべれよ

217 名前:名前は開発中のものです。 mailto:sage [05/03/16 03:16:33 ID:VycS34Sp]
ImageListは遅いことに気がついた。



218 名前:名前は開発中のものです。 mailto:sage [2005/03/23(水) 01:22:58 ID:x+aFofyQ]
>>21
うぷまだぁ〜?

219 名前:名前は開発中のものです。 mailto:sage [2005/03/23(水) 14:14:52 ID:UZrpG79s]
もしかしてキャラのアニメーションってtimerじゃ遅かったりする?

220 名前:名前は開発中のものです。 mailto:sage [2005/03/23(水) 17:43:32 ID:c7itB9yF]
外人かわいそう・・・・
ttp://www.pgd.netstarweb.com/viewtopic.php?t=1396

221 名前:名前は開発中のものです。 mailto:sage [2005/03/23(水) 18:55:25 ID:RKmtvjMj]
>>219
TTimerは55msが最高速度らしいよ。
描画処理速度との兼ね合いがあるし、高速なアニメーションはムリポ

>>220
ほほえましい。

222 名前:名前は開発中のものです。 [2005/03/24(木) 20:59:29 ID:FMot6Wio]
QuadrupleDでスキンメッシュを扱う方法ないですか?

223 名前:名前は開発中のものです。 mailto:sage [2005/03/25(金) 18:20:16 ID:ltx3lv99]
>222
過去にメーリングリストでそういうライブラリ+ツールが公開されてたと思う
今はもうどこにも無いかもね

224 名前:名前は開発中のものです。 mailto:sage [2005/03/25(金) 19:43:02 ID:JC4+Ssd6]
>>222
QDうんぬんというかDirectXのAPI使えば普通にロードできるじゃん

225 名前:名前は開発中のものです。 mailto:sage [2005/03/25(金) 20:22:32 ID:YHKP02+G]
>>223
gamdev.org/w/?%5B%5BDelphi%A4%DE%A4%C8%A4%E1%2F%A5%C0%A5%A6%A5%F3%A5%ED%A1%BC%A5%C9%5D%5D
これのことでしょうか
古いバージョン向けでした

>>224
やはり3DだとQDは使わないほうがいいんですかね
初期化が面倒なので重宝してるんですが


方法がないみたいなのでQDの利用はあきらめます
ありがとうございました

226 名前:名前は開発中のものです。 mailto:sage [2005/03/26(土) 08:57:57 ID:/a7naKgM]
自分で作るという気概はまったくないんだな。
完成せずに終わるに1票。

227 名前:名前は開発中のものです。 mailto:sage [2005/03/26(土) 17:48:47 ID:G7ysfd1t]
DirectXを使えとか自分で作れとか多彩な意見が聞けてありがたいです、どうも

自作の場合なんですがTSXMeshのVBufはリードオンリーになってますよね
これにアクセスできないと自作できないと思うのですが何か方法はありますか?



228 名前:名前は開発中のものです。 mailto:sage [2005/03/26(土) 22:22:13 ID:Q7JbKITv]
完成せずに終わるに2票目。


229 名前:名前は開発中のものです。 mailto:sage [2005/03/26(土) 22:34:57 ID:G7ysfd1t]
えーと、完成って何の話ですか?
ひょっとして何かプロジェクト進行中だったら質問なんかしてごめんなさい。

230 名前:名前は開発中のものです。 mailto:sage [2005/03/26(土) 23:21:24 ID:0U97Uuxh]
ロック、アンロック。

231 名前:223 mailto:sage [2005/03/26(土) 23:31:00 ID:BTPhD+5W]
ウエイト仕込むなら
>225
の ”MQO2SX” ってやつのソース群の中にある

unit MQOtoSX_MainEngine;

// メッシュ全体の頂点フォーマットの変換
procedure MQOtoSX_ConvertMeshFormat( aMesh: TSXMesh; aNewVertexFlags, aNewVertexSize: DWord );

// メッシュ全体のβグラデーションの指定(スキン指示を頂点ウエイトへ還元する)
procedure MQOtoSX_SetMeshBeta( aMesh: TSXMesh; aInfo: TMQOObjBoneInfo; isPreviewMode: boolean );

あたりが参考になるはず。ツール付きだしすぐ実験できる。


実際にぐにゃっと曲げる処理は ”SXAnimator” のソース群の

unit SXPuppet;

procedure TSXPart.OnRenderMesh_SetupOneSkinned(Sender: TSXFrame);

って関数の最後のほうだ。3939行あたりから。


「古いバージョン向けでした」って、ろくに中身見ないで言ってるだろ。
直接には使えなかろうが、これだけ資料があるんだからなんとかできるだろう

232 名前:名前は開発中のものです。 mailto:sage [2005/03/27(日) 09:03:39 ID:ZEXtjeAk]
ここにもあたよ
www1.odn.ne.jp/ceb94660/temp/MQO2SX_02.zip


233 名前:名前は開発中のものです。 mailto:sage [2005/03/27(日) 12:16:41 ID:T9oV5wT4]
直リンきたー

234 名前:名前は開発中のものです。 mailto:sage [2005/03/28(月) 01:41:37 ID:GbZOYgPU]
ko-ta氏も作ったモノ整理して公開してくれると
ありがたいんだけどなー。

235 名前:名前は開発中のものです。 [皇紀2665/04/01(金) 01:30:50 ID:3rNCiuog]
 

236 名前:名前は開発中のものです。 [2005/04/03(日) 02:27:49 ID:om/ooDJ6]
誰か作ってー

237 名前:名前は開発中のものです。 mailto:sage [2005/04/03(日) 03:19:05 ID:P1BxXm/W]
なにを?



238 名前:名前は開発中のものです。 [2005/04/04(月) 19:00:24 ID:LUgamHmP]
Delphi製ゲーム

239 名前:名前は開発中のものです。 mailto:sage [2005/04/04(月) 23:40:35 ID:h7lgzMTh]
>>238
ほい。
www.pgd.netstarweb.com/competitions/PGDCompetition2005.html


240 名前:名前は開発中のものです。 [2005/04/05(火) 03:52:26 ID:iC0QnOe0]
>>239
うおぉ!
すげー

241 名前:名前は開発中のものです。 mailto:sage [2005/04/17(日) 12:08:18 ID:borjr8jB]
Delphiでアクションゲームを作りたいと思っているのですが、
新規作成する際、「アプリケーション」で作成すればいいのか、
または「コンソールアプリケーション」などの、
別のもので作成すればいいのか、全く分かりません。
助言をどうか宜しくお願い致します。
初歩的過ぎて話にならないでしょうか。

242 名前:名前は開発中のものです。 mailto:sage [2005/04/17(日) 12:48:21 ID:EAaprhUH]
おまいさんがDirectXとかのコンポーネント使いたいと思ったら
必然的にフォームが必要だろうから、コンソールにする必要はない。

243 名前:名前は開発中のものです。 mailto:sage [2005/04/17(日) 13:26:51 ID:9TRJTO60]
的確なアドバイス有難う御座います。

マリオのような横スクロールのアクションゲームに
育成という要素をあわせたものを作ろうと思っているのですが、
やはりゲーム関係にはなんにせよコンポーネントが必要になるでしょうか?
捕まえたモンスターをパスワードに変換させる機能も夢見ているのですが。。。

また、私自身、コンポーネントというのは、
ロボットを強化する追加パーツみたいなもの、
という解釈をしているのですが、合っているでしょうか。

244 名前:名前は開発中のものです。 mailto:sage [2005/04/17(日) 13:40:23 ID:HGBKcpME]
「強化」パーツかどうかはともかく、全体を構成している一つのパーツ、という意味で
言ってるなら合ってる。というかおまいさんは、Delphiで何かしらのソフトを作った事は
無いんじゃないか?まずは初心者向けのお勉強サイトを見る事を強く勧める。
いきなりゲーム作りは厳しいぞ

245 名前:名前は開発中のものです。 mailto:sage [2005/04/17(日) 13:40:45 ID:eUumXExh]
またすごい釣り師が出てきたもんだな

246 名前:名前は開発中のものです。 mailto:sage [2005/04/17(日) 14:44:28 ID:MsfkJ2ml]
何度も返答有難う御座います。
頑張ってDelphiに慣れようと思います。
現在は「Seventh Delphi」というページを見て、
コツコツと基礎を勉強している最中です。

247 名前:名前は開発中のものです。 mailto:sage [2005/04/17(日) 20:00:11 ID:Mtx0i29t]
2005pはマダカヨ



248 名前:名前は開発中のものです。 [2005/04/21(木) 20:32:20 ID:dTpY6Pem]
GameVision SDK 3.02 キタ━━━━━━(゚∀゚)━━━━━━ !!
oggサポートキタ━━━━━━(゚∀゚)━━━━━━ !!

Big Daddy Games
www.bigdaddygames.com/

249 名前:名前は開発中のものです。 [2005/04/24(日) 00:29:31 ID:2r13uZnF]
ObjectPascalって、Cより安全だけど、ハードを直接叩くことは出来ないんでそ?
エフェクトバリバリの軽快動作ゲーム作りたいときは、Cのほうがいいかな?

250 名前:名前は開発中のものです。 mailto:sage [2005/04/24(日) 01:21:09 ID:wnzwphmx]
こらこら半可通なことを言うな。
例えば、Delphiのみでインラインアセンブラだって使えるんだから、
ローレベルのことができないというのは誤りだろう。

Cと比べると、オブジェクト指向を言語仕様で取り込んでいてで大型プログラムを作りやすいけど、
ポインタの書き方に自由度がないとか特徴があるな。
あるいは、C++だったらテンプレートのような、不自由なまでの自由さがあるとか。

こういった特徴をふまえて、自分で使いやすい環境を選べばいいんだよ。

251 名前:名前は開発中のものです。 mailto:sage [2005/04/24(日) 08:28:55 ID:GozPfGMu]
>>249
結果だけをみるなら、CにできてDelにできないことはないよ。
Cのほうが実現しやすい、という部分がどうしてもあるなら
そこだけCで作ってobjで取り込むという方法もあるよ。

252 名前:名前は開発中のものです。 mailto:sage [2005/04/24(日) 11:52:16 ID:FHdgB3Jt]
>>249
エフェクトバリバリてのが、自前描画のことなら、インラインアセンブラでDelphiでも可能。
でも、今時ならDirect3Dか、OpenGL使う。

253 名前:名前は開発中のものです。 mailto:sage [2005/04/24(日) 17:49:18 ID:a5Eyb4At]
Delphiを使ったことありませんがエフェクトばりばりのエロゲを作ろうと思います。
書店で有益な指南書ってありますか?

254 名前:名前は開発中のものです。 mailto:sage [2005/04/24(日) 17:56:22 ID:Swv0g1Jq]
エロげのことはわからないけどDelphi関連のゲームの本なんてほとんどない上に使い物にならんものばっかりさ。
DelphiXの本はまぁまぁだったけど。
地道にネットを放浪するのが吉かと。。

255 名前:名前は開発中のものです。 mailto:sage [2005/04/24(日) 20:56:14 ID:xcSidbfk]
seventhDelphi(IE)で基礎を学習→Delphi4(6)プログラミングバイブル(本)→不足部分はGoogle
これ定石。
ってかバイブルの4と6って全然違うって本当?まじなら6買いにいくんだけど。

256 名前:名前は開発中のものです。 mailto:sage [2005/04/24(日) 21:25:26 ID:Yh9Y+uuF]
>>255
俺は6しか持ってないが、
これだとseventh Delphiの次のステップとしてはとても勧められない
高度な知識の宝庫になっていると思うけど。

257 名前:名前は開発中のものです。 mailto:sage [2005/04/26(火) 21:56:06 ID:7ffgyd+F]
うほっ
home.wxs.nl/~mikewiering/msrc/



258 名前:名前は開発中のものです。 mailto:sage [2005/05/19(木) 12:45:35 ID:YznRP/j/]
うほっ
ttp://www1.tmtv.ne.jp/~daigo/samaroga/oyajikoubou.htm

259 名前:ふがし ◆SlDOOZZxQ. [2005/06/14(火) 17:03:07 ID:l8Ymh0iV]
delphi2005落としてきたけど他のバージョンの方が使いやすいとかはない?

260 名前:名前は開発中のものです。 mailto:sage [2005/06/14(火) 18:21:25 ID:g6YiU1Se]
まず落としてきたってのはどういう意味だ

261 名前:名前は開発中のものです。 mailto:sage [2005/06/14(火) 20:33:05 ID:6YByFScv]
どこで落とせんのよ?

262 名前:名前は開発中のものです。 mailto:sage [2005/06/15(水) 03:05:01 ID:Bms0t8MG]
>>259を通報しますた

263 名前:ふがし ◆SlDOOZZxQ. [2005/06/15(水) 08:01:46 ID:x3AjL/6W]
borlandの公式で落とせたぞ

264 名前:ふがし ◆SlDOOZZxQ. [2005/06/15(水) 08:02:03 ID:x3AjL/6W]
それとも俺のかんちがいか?

265 名前:名前は開発中のものです。 mailto:sage [2005/06/15(水) 09:24:21 ID:yi75Qx3g]
2005ってtrial版じゃねーの

266 名前:進可 ◆Sinka1my5k mailto:sage [2005/07/05(火) 00:26:18 ID:2h8uUpfJ]
やっとTLISTを理解できたぜーフゥァーハハハハ!
弾の管理に楽だね、これ。

267 名前:名前は開発中のものです。 mailto:sage [2005/07/05(火) 00:42:38 ID:LxvwlDS6]
ちょっとまて、今までTLISTを理解していなかったのか orz

ちなみにTLISTは、できるだけ静的に使っても速いとはいえんから、
弾の管理には不向きだよ。



268 名前:名前は開発中のものです。 mailto:sage [2005/07/05(火) 01:32:25 ID:fOp4H8Kz]
今時のマシンならTList使っても、大丈夫だって

269 名前:名前は開発中のものです。 mailto:sage [2005/07/05(火) 01:51:39 ID:LxvwlDS6]
TListのデフォルト配列なりItems呼び出すたびに、

function TList.Get(Index: Integer): Pointer;
begin
if (Index < 0) or (Index >= FCount) then
Error(@SListIndexError, Index);
Result := FList^[Index];
end;

が呼び出されるのは、少なくとも俺は気持ち悪いよ。
STGなんかで毎フレーム呼び出すオブジェクトに対しては使いたくない。
まあ、でも人それぞれかな?

270 名前:名前は開発中のものです。 mailto:sage [2005/07/05(火) 03:52:00 ID:9Z/MR+kp]
>>266
乙。
読んだよ。


>>296
データの持ち方をどういう構造にするにしても結局同じようなことするんじゃない?
おいらは「気持ち悪い」とまでは感じないけども。

ところでデータの管理方法って他にどんなのがある?

271 名前:名前は開発中のものです。 mailto:sage [2005/07/05(火) 04:08:46 ID:9Z/MR+kp]
Delphi ゲーム製作講座更新されとる


ところでこれだけど
delphi.nce.buttobi.net/asm01/index.html

function foo: Longword;
asm
 mov eax, 123
end;

じゃね?

272 名前:名前は開発中のものです。 mailto:sage [2005/07/05(火) 04:28:12 ID:rjlvTk1V]
あそこは、ゲーム作る上では疑問符つきの記事多いよな。
回転のところもせっかくQuadruple Dを使っているんだから、
4096度系を使用して、4096度系の優位点とか説明するべきだよ。

r and 4095 で角度の正規化ができるとか。

273 名前:名前は開発中のものです。 mailto:sage [2005/07/05(火) 08:12:07 ID:uewP0lm+]
>>267
>>268
>>269
速度と安全性が反比例するのは一般常識だろ?

274 名前:名前は開発中のものです。 mailto:sage [2005/07/05(火) 12:18:22 ID:9Z/MR+kp]
>>271
修正された
見られてる!見られてるよ!

275 名前:進可 ◆Sinka1my5k mailto:sage [2005/07/05(火) 22:42:36 ID:8GumEUAb]
>267
確実に理解したかとなるとちょっとあやしいけど、大体の使い方は理解した。

>弾の管理には不向きだよ。
むぅ、となると弾管理に最適なのはどういう方法だろ?シューティングスレで聞いてくる。
とりあえずもっといい方法が見つかるまでは富豪プログラムで行きます。


276 名前:名前は開発中のものです。 mailto:sage [2005/07/06(水) 00:23:25 ID:hnvD/An4]
シューティング用ならTListで過不足ないよ。
固定長配列とかに変えても、フレームレートには0.1%も影響しないと思う。

それよりものちのちのメンテし易さのほうが百倍大事でしょ。
トリッキーなやり方だと、ソースの役割とか忘れた頃にきっと苦労するよ。












とTList大好きなおれが言ってます


277 名前:名前は開発中のものです。 mailto:sage [2005/07/06(水) 02:54:48 ID:lV4geLxo]
普通のアプリケーションを作る分にはVCLは最大限に活用していくと
大変な楽をできるが、一般的にはVCLは速度を考えて書かれてはいない気がするんだよね。

弾幕にできあいのTListを使って機能足すより、必要最小限のプリミティブな変数とメソッドを使って
できるだけシンプルな自作クラスを使った方が、最後には、速度も出るし保守もしやすいと思う。



278 名前:名前は開発中のものです。 mailto:sage [2005/07/06(水) 03:03:46 ID:lV4geLxo]
あと、STGやアクションのようなゲームの場合、
データをできるだけ静的に扱うべきだ、という意見には否定の無いところだと思うけど、
進可dもそろそろタスクシステムを勉強するのがいい頃合いだと思うよ。

タスクシステムの最大の利点の1つは、大量のワークスペース付きのオブジェクトを
メモリ内に、最初に確保してその後それらを静的に扱うことで速度が出るということ。

で、タスクシステムTListをからめると使いやすいかというと、そうでもないかなと思う。

というのが、どうもC++系の、便利なVCLが無い環境でゲーム作ると実際速くて、
そのノウハウをDelphiに持ち込むとやっぱり速いゲームができるという実感がある俺の意見。

279 名前:名前は開発中のものです。 mailto:sage [2005/07/06(水) 09:32:35 ID:k4sscyRu]
> というのが、どうもC++系の、便利なVCLが無い環境でゲーム作ると実際速くて、
> そのノウハウをDelphiに持ち込むとやっぱり速いゲームができるという実感がある俺の意見。

禿同。
結局は速度と開発効率などのバランスの問題だと思う。

280 名前:名前は開発中のものです。 mailto:sage [2005/07/06(水) 10:13:27 ID:piyt1tSN]
特にPersonal版使っている人たちは、VCLのソースが付いてこないから、
VCLのクラスライブラリは、実際使用して動かしてみないと、
どのくらい速度が出るものなのかわからないっていう問題はあるよな。

そういう意味では、遅くてもいいからまずは完成させて、その後、
速度を上げるべく、自作クラスライブラリに置き換えたり試行錯誤する方が良いのかもしれない。
そこまでできたら、確実に、そして滅茶苦茶プログラミング経験値が上がるよ。

281 名前:進可 ◆Sinka1my5k mailto:sage [2005/07/06(水) 21:49:20 ID:ev5U5uOo]
向こうのシューティングスレから。

>弾を管理するんだったら、単純な配列でいいと思う
>全要素の検索が面倒なら、配列に何個入っているかっていうカウンターを用意して、
>デリートしたときに、最後の要素をデリートした部分にコピーして、カウンターを減らす

うはwww目からウロコww

>278
タスクはもうちょっと後で学ぶつもり。一つのシステムを
消化しきってから次に進んでるんで私の歩みは遅いでつ。


282 名前:名前は開発中のものです。 mailto:sage [2005/07/06(水) 23:33:15 ID:piyt1tSN]
向こうのスレで弾をいちいちnewするとかいう話が出てたけど、
真似しないように。

283 名前:名前は開発中のものです。 mailto:sage [2005/07/06(水) 23:45:24 ID:3yhwVqUL]
>>282
オレやってるんだけどww
実際に、プロファイルとってみたことある?
描画処理と、実行処理(弾の移動とか)とを切り分けるとわかるが、
圧倒的に描画処理が重いんだよね。
今時の環境じゃ、気にならんというのがオレの結論。

284 名前:名前は開発中のものです。 mailto:sage [2005/07/06(水) 23:49:41 ID:3yhwVqUL]
あと、10年前ならいざしらず、古典的なタスクシステムも、
今時やるのはアホらしいというのが俺の結論だな。

自前でメモリ管理するより、クラスとポリモフィズム、
逐次メモリ確保の方が開発も速くで保守も楽。
第一、Delphiのメモリ周りって小さいオブジェクトの確保に最適化されてるとか、知ってる?

とか、いいながら、>>278がどんな方法でやってるか気になって夜も寝られない。
教えてください。お願いします。

285 名前:名前は開発中のものです。 mailto:sage [2005/07/06(水) 23:55:55 ID:C/FxYc5E]
おいらもTList継承したクラスでいちいちnewしてますが速度気になりません。
そういう細かい最適化より、どうやってゲームを面白くするかに気を割いたほうがいいと思うので
これ以上速くなってもなあって感じです。
諸兄の言う方法で速度が2倍3倍になるなら是非にもと思うけど。


おいらも>>278は気になるなあ。
ソース全部とは言わないけど、どんな風になってるか簡単な構造だけでも教えてほすい。

286 名前:278 mailto:sage [2005/07/07(木) 01:16:15 ID:wdNVJn6r]
暇なんでCマガの12月号付属サンプルみたいだけどDel厨向きのタスクシステムサンプルつーのを作って
みるわ。もちろんWindowsネイティブな。少しまちなー

いや、あんまり暇じゃないけどな。
できたらどこかにあげとくよ。

287 名前:278 mailto:sage simojoatom83trivia [2005/07/07(木) 03:39:52 ID:wdNVJn6r]
ttp://ccfa.info/cgi-bin/up/src/up13265.zip
に置いとくよ。パスはメルラン。

関連するけど、とにかくゲームの真っ最中は、静的にデータを扱いたいので、
(メモリ確保にかかる時間が嫌いなのよ俺。ここらへんの意見は人それぞれだが、
周りの人間を見ていると、そう間違えた考えでは無い筈。)
実際にQD3なんか使って、敵は3D、敵弾は2Dなんていう場合、敵を生成するときだけTSXFrameの
インスタンスを作るというのが嫌なので、ステージ開始前にあらかじめ使いそうな分だけ
TSXFrameのインスタンスを作っておく。



288 名前:278 mailto:sage [2005/07/07(木) 03:40:44 ID:wdNVJn6r]
そして、3Dなキャラが出てくるときに、
空きインスタンスをタスクに渡すということを俺はやっている。
もちろん3Dキャラが死んだらそのTSXFrameのインスタンスは解放せずにキープしとくわけだ。
(タスクシステムの応用と言えないこともない)
点数表示とかのフォント生成も、必要なだけ最初にやるか、フォントを画像ファイルにしてしまう。
とにかくゲームの最中は静的にデータを扱うようにしている。

ソースだけ見てもわかりにくいし、タスクシステムを勉強したいと思ったら、
去年のCマガの12月号を図書館とかで探して併用してくださいな。

まあとにかく、あくまで俺のやり方だからいじめないでおくれよ。
連レススマソ。

289 名前:名前は開発中のものです。 mailto:sage [2005/07/07(木) 10:03:54 ID:eUxojZS8]
すげえw
クレクレ厨の要望に答えてくれるとはなんと有言実行なお方だ!
解析して参考にさせてもらまつ

290 名前:名前は開発中のものです。 mailto:sage [2005/07/07(木) 10:34:43 ID:eUxojZS8]
気になった点。

Is-Aは出来るが、Has-Aは出来ない。
極端な話、継承してデータを増やすことはできるが、
コンポジット(複合)的なプログラミングはしにくいということ。

実例を挙げると、TListとか、THogeとか、Createするものをタスクに組み合わせると、
普通にメモリ確保しちゃって、速度的な恩恵を得られない。
# まあ、極端な話、stringとか動的配列でもそうなるが

フルにOOPを使えないのはちょっとキツイな、と思った。
なんとか改善できないかなー。

291 名前:278 mailto:sage [2005/07/07(木) 12:27:28 ID:PLVoi/j4]
うむ。だから、コンポジションでメンバーにするクラスのうち、
インスタンスがある種のタスクの個数分欲しいときは、さっき書いたTSXFrameみたいな話になるわけ。
必要個数以上の分のインスタンスを先に確保してそれを必要に応じて渡す。
終了したら解放せず回収して使い回し。みたいなことを。
(TSXMeshとかTDGTextureとかは複数のTSXFrameで掛け持ちが可能だからそういったことは必要ない。)

でもまー、さっきのソースでのやり方だと、TListなんかとは組み合わせにくいと思うし、組み合わせる利点無いと思う。
(元々不要なVCLとはリンクせずに、速度とファイルサイズを稼ぐ様なソースコードではあるんだけど。)
それが、 >>278 で俺がタスクシステムTList云々言った理由な訳。

もう一度いっとくけど、これはあくまで俺とかその周囲何人かのやり方だから、これが絶対じゃないですよ。

全然関係ないけど、Ray-Kudryavka X #200って、QD2製だったのな。
感動したよ。

292 名前:278 mailto:sage [2005/07/07(木) 12:38:40 ID:PLVoi/j4]
あと、さっきのソースの肝は、
289行目の
tasks[i]:=TMAXSIZE_TASK.Create;
で確保したメモリを
168行目の
task:=TENEMY(manager.CreateTask());
で少々強引なキャストをして、静的な運用をしているところなので
そこら辺を中心に読んでいくと良いかも。

本来、兄弟関係のTMAXSIZE_TASKとTENEMYでは、一般的にはキャストできないし、
一般的なアプリケーションを作る場合にはおすすめできないキャストなんだけど、
TMAXSIZE_TASKのメンバー変数のサイズがTENEMYのメンバー変数で必要なスペースを上回るので
強引にキャストできる。
これが、オブジェクト指向を取り込んだタスクシステムの肝で、
なんでこんなことができるかというのは、「Delphiオブジェクト指向プログラミング」とかで、
Delphiのクラスのメモリ構造について知る必要があるので、興味があれば読んでみてね。

293 名前:名前は開発中のものです。 mailto:sage [2005/07/07(木) 23:43:00 ID:SR4CAcY0]
Amazonのアフィのユーザー名で気づいたけど、
アマゲニュースの中の人とDelphiゲーム製作講座の中の人って同じじゃんかよ。
ttp://amagame.blog12.fc2.com/index.php?q=Delphi%A5%B2%A1%BC%A5%E0%C0%BD%BA%EE%B9%D6%BA%C2
なんか見ると、いかにも他人っぽく書いているが、ニュースサイトっぽいことをしている以上、
いらん誤解避けるためにもそういうことは明らかにしといたほうがいいと思うんだけどな。

どうもDelphiゲーム製作講座がアフィに走ってからやっていることが微妙っぽいかも。

294 名前:名前は開発中のものです。 mailto:sage [2005/07/08(金) 01:09:34 ID:UwP7+tJ5]
べつにいいんじゃね
おれみたいな素人の読者としては有用な記事が読めればいいし

295 名前:名前は開発中のものです。 mailto:sage [2005/07/08(金) 04:53:02 ID:zhRetJ63]
うかつにそういうこというと、

アマゲニュースの人乙

とか言う奴も出てくるような気がする。

296 名前:名前は開発中のものです。 mailto:sage [2005/07/21(木) 09:17:37 ID:m/7sJPC5]
Canvasの動作チェッカーを作ってみた
gamdev.org/up/img/2924.zip

297 名前:進可 ◆Sinka1my5k mailto:sage [2005/07/21(木) 12:28:57 ID:I3AIQtAP]
今日は休みなのでDELのお勉強。オブジェクト内オブジェクトのやり方をやっと理解した。
いやほんと、俺のレベルってまだこんなんなのよ(^^;
ユニットごとにまとめる便利さもやっとわかってきたとこだし。

で、ついさっき、画像で得点表示させるのを外部ユニットのオブジェクトにまとめると便利そうだと気がついた。
得点表示オブジェクトのクリエイト時に0〜9を並べた指定画像を読み込んでおく。
そして(描画先キャンバス、ゼロ桁目XY位置、描画する点数)を指定した関数で描画できるように。
得点が増えて桁数変わっても内部で計算するから余計な事は考えずにすむ。

とっくに誰かが考えついて実践してるだろうけど、基本的な考え方はこれでいいですよね?



298 名前:名前は開発中のものです。 mailto:sage [2005/07/21(木) 12:53:04 ID:EruOAjIw]
>>297
そうそう。
得点表示用のクラスとそのインスタンス一個作って、
各キャラクタのメンバーとかに、そのインスタンス(の参照)をいれときゃいいんよ。

299 名前:進可 ◆Sinka1my5k mailto:sage [2005/07/21(木) 18:27:55 ID:PyO+l++v]
お返事さんくすでっす。色々がんばってみます。






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

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

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