DxLibFanに戻る
概要プログラミングコンテストがあるのです!我々、高校生のための!去年はこんなのです。 実は、去年応募したのだが、見事に大敗!!!!! で、そのソフトがダウンロードルームにあったりするちなみにゲーム処理部分に関してはかなり役に立たない。 DirectDrawやDirectAudioのサンプルくらいにしかならないです!!! なので、そのリベンジとして最優秀賞を狙うべく(おまえがなれるわけ無いだろ!と突っ込みもきそうだが・・・) モチベーションを保つため今日から開発日記をつけることにした。19:51 2003/05/02 ちなみにまだ汎用ラッパーとタスクエンジンが完成していないのです!スマン! 日記全容21:10 2003/07/05もうだめだ!!時間が無い也!!!!実は、今、Fox Toolkitを使ってメモリの使用状況の表をExcelみたいにしてリアルタイム更新が出来るデバッグWindowを作っているのだが、 もう時間が無い!!! さっさと ゲームオブジェクト(矩形を管理したり、出現処理や関連付けやその他もろもろのラッパーで、タスク処理ができるクラスに挿入できるようにしたもの newする時も事前に確保していたメモリ領域から割り当てるので高速 などなど) やタスク処理機構やワイプをガリガリ組んでいかなきゃもう追いつかない!! グラフィックだって作ってないし!!!今回も音楽や効果音はフリー素材に頼るとしても・・・うー つらい。デバッグ1億年かかりそう。 しかし、その前に・・・部活の方も火達磨なんですよ!!!締め切りに間に合わないなり!!! ぐわーー!!! きつい也きつい也キツイ也 の ULONGLONG_MAX 乗 ナリなり くどい!! コ○助か己は! ナリ活用も分からないのにホザクナ! ヴぉけ(壊) ともかく きつい状態なんですよ!!! だれか!!!!!!!!!!!! 手伝ってください!! いいよ!?って みたいな方 いらっしゃいませんか? ワイプのデザイン等やってほしいのです。 (ワイプのデザインは難しい。いや、基本的なブラインドとかじゃなく、 汎用的な(例えば、360度どの方向にひし形が進んでもしっかり画面を埋め尽くしてくれる奴とかの事を指します) CAPCOM VS SNK 2のひし形が画面を埋め尽くすようなワイプとか) メインループ内にガリガリ組む厳しさはもう分かっているんです。 去年の失敗を経験しているので・・・ぐぎゃ〜〜〜〜をぉ!!! あ〜あ〜 川の流れのよ〜に〜 (激壊) (コワレマシタ・・・) 22:14 2003/06/24どうも〜。やっと定期テスト終わりましたよ!!!(結果は?--) 聞かないでくれ)さて、ちょっと という かかなり! クラスの設計を誤ってしまい、 リライトすることになってしまいましたよ!!!! やっぱりクラスの実装はしっかり卓上でやってから!!!! と思いました。 (かなり関係図が複雑になっていって、C言語の方がSmartに書けるような実装にしちゃったのですよ。 これではさすがに・・・って事なので・・・ あう〜。間に合うのかなぁ。そろそろゲームのロジックの方、作っていかなきゃいけないんだけど・・・ 20:01 2003/06/20かなり日記の更新をサボっているようですね^^;さて、最近はメモリのVector化にはまってます^^; Vector化するとなんか速いようです。(メモリアクセスに無駄がなくなるからだとか) また、 もし、出場できたらこれに出ようと思います。 さらに、更新されているんですね^^;今年度のプロコンのページ もうひとふんヴぁりだ! これが今までの私の成果です。ちなみにここは常時更新しますのでチェックしておくといいかもしれません。 22:51 2003/06/03dkutilのフレームベースのメモリ管理屋さんが完成。これでグローバル変数なんていう面倒なものを用意せずにいつでも好きな時に 宣言できる。かつ、メモリ領域がベクトル化?されているので速い!! これはすごいぞ!!!(たヴん) 0:09 2003/06/01かなりサボってたようだなぁ。まぁいい。dKingyoUtilClassがもうすぐで完成しそうで完成しないのだ。 ATL/WTLの使い方がいまいちよく分からない!? まぁ、お後がよろしいようで(謎) 最近は、GCもどきが出来たのが一番でしょう^^ あとは各ライブラリのラッパーとかラッパーとかラッパーとか作ってました(それだけかい!? もう日本語からかなりかけ離れた日記となりました。オオ!ジョルノ!なのです!はい。 プログラミングばかりしていたので、それだけ頭がいっちゃったようです。 22:39 2003/05/21かなり日記を付け忘れたようだ。というか、まったく何もやっていないからだ。 最近、金魚ほえほえЭというソフトを作っている。 ただのVCと同じソースにするトランスレータだ。 作ってみたが、まったくといっていいほど使えないソフトだった。(TT/~ かなりエンジンがへぼイ+トランスレートが遅い。 もうねむいっ一ツーの!!! でもこれはスクリプトエンジンに応用できないんかいな? アル意味結構勉強になった。C言語の愚痴にもいろいろと書いている 21:23 2003/05/1811:19 2003/05/18 今日は何をするかねぇ?未だにスクリプトとロジック間の構想が練られていない。 ぐヴぉぁぁぁぁぁ!!!!! いちおう、ここに塵を溜めているのでよろしく〜〜!!! 21:20 2003/05/18 ふぃ〜〜いちおうマップやリストを使いこなしてロジックとの連携は完成に近づいてきた!! そういえば、最近、DxLibの掲示板にあるものがかかれていたのでその回答をUPした也! みるヴぇし! 17:49 2003/05/17今日は以下の本を借りてきた。以上也!??:?? 2003/05/16今日は鬱。何もせず!!!19:59 2003/05/15スクリプトエンジンをちまちま作っていく。いちおうデータ構造が決定。 typedef std::list typedef dKingyoArrayOneByOneDynamic<_SOURCE> _SOURCE_MANAGER; 22:21 2003/05/14今日は何もしない也!もう眠い也!!お休み也!!! 22:22 2003/05/1322:21 2003/05/13今日の成果。(なんかへヴぉいなぁ) 個人的にこのGerowoHaku関数がイイ出来だと思う^^(d金魚のセンス最悪〜〜) いや、機能がイイ出来ってわけではないよ。 ネーミングがだよ!(ますます最悪〜〜!!!) ふぁ〜〜今日は沢山プログラム組んだな〜〜(嘘をつけ!!) 13:15 2003/05/13 今日は休日出撃の為に休日を使った分、今日が休みなのだ。(火曜日) で、昨日はほとんど進まなかった。(シュン さっそくなんだが、 これが手に入った。 前に図書館で注文していた奴だ。でも、今回出品する奴は3Dは使わない予定なので、 いちおう頭に叩き込んでおくだけにしておく。 レイトレ出来たら次はフォトンマップだ〜よ!!!(前、借りたけどよく分からなかったよ!フォトンマップ!)
余談:
TQTのページ: ちょっと他では手に入らないものが沢山手に入るHP。 すごいよ!特に、素数をファイルに吐いてくれる物は良かった^^ RAY-KUDORYAVKA X BGM: ここのHPは レイクドリャフカ のBGMをoggで配布しているところ。 レイストーム や レイクライシス じゃありません!!! レイクドリャフカはそれらを意識したすばらしいフリーソフトです。 私もあのようなソフトを作ることを目指してます。 15:01 2003/05/122003/05/11以前のスクリプト言語案についてはすべて破棄じゃ!!!はっきり言ってヴぁかすぎる!!!!! これはやっぱりExcelで編集できるような感じで!!! では、こんな感じにしよう! 22:23 2003/05/1122:35 2003/05/11d金魚スクリプト言語文法(仮) 定義(このスクリプトの中のみで):
変数
こんなので簡単に管理できるのだろうか? ちなみに内部の処理のフローチャートを説明すると、
こんな感じです。で、このクラスはグローバルにしてシングルトンにでもしないと上手く使えませんねぇ。 まぁ、確保するサイズが元から決まっているのなら私の作ったdKingyoArrayOneByOneがかなり有効なんだけど。 信頼性で選ぶならboost::object_poolかな? まぁ、置いときますので。私のやり方が間違っていたらどうかご指摘お願いいたします。すごく喜びます。 18:05 2003/05/11 今からスクリプト系プログラムを組んでいく。 いちおう、途中で自分が戸惑わないように仕様をメモしておこうと思う。 d金魚スクリプト(仮)仕様メモ
余談:
私が見つけた汎用的スクリプト言語特集。 Pnuts Python:(パイソンって読み方でよいのですよね^^;これを知った瞬間、 スト2のバイソンが思い浮かんだ。 私ってヴぁかだなぁ〜〜 超有名なRuby 21:54 2003/05/10今日はがんヴぁってみる。明日は学校の行事で出撃しなくてはいけないからだ。 さて、今日の成果はこんな感じ。 もしや、これを書いただけじゃないだろうね! ごもっと・・・ いえ、違いますよ!しっかり実装しましたよ! いんたーふぇいすだけじゃないですよ! DrawQueueを独立させて各描画関数をすべてキュー式(自作 priority queue)にしました。 これでいちいち描画順序を気にせずにOKということになりました。 これでZ値を使って拡大縮小した高低差ありのSTG(シューティング)ゲームができる!!目指せ!神威 目指せ!SITER SKAIN!!!RefleXって超かっこいいのよ! 私はBGMが特に好き^^ でも、22:00 2003/05/10現在、SITER SKAINのHPの更新が鈍っているらしい。 20:20 2003/05/09今日も鬱。1フレームの処理の内容をフローチャートにした。 これは分かりやすい!!! って事でこれをDLしてくれ! でも、多分、めんどくさいだろうから仕方が無い。 画像を用意した。 21:20 2003/05/08今日も鬱。いちおうスクリプトエンジン?らしきもののメモを書いてみようと思う。 まずはテーブル式について。 前にデータ構造は話した通り。 struct tugCSV_List{ std::string str; LONGLONG value; }; std::hash_map < std::list<tugCSV_List>,void (*function)(void) > って、ちょっと待てよ、敵のデータを作るツール作ってないよ!!! じゃぁ、どうなるのよ!! 作るしかないです。WTL/ATL7.0で作る予定です。 じゃぁあとは敵のデータ構造ですね。 //まずは敵データを管理するデータ構造。 typedef struct tugENEMY_MANAGER{ DWORD dwSize;//構造体のサイズ DWORD dwEnemyNum;//敵データを記録している数 DWORD dwMotionNum;//敵の動き方データを記録している数 //DWORD }ENEMY_MANAGER; //モーションデータ typedef struct tugMOTION{ char MotionDataPath[MAX_PATH]; DWORD ID;//ID }MOTION ; //敵データ本体 typedef struct tugENEMY{ int MakeX,MakeY;//敵が出現する座標 DWORD MotionID;//モーションデータID char GraphicPath[MAX_PATH];//グラフィックデータへのパス }ENEMY; こんな感じか? 22:33 2003/05/08 今日はデータ構造考えただけで何も出来なかった。 ATL/WTLが良く分からない。CodeProjectで見てもやっぱりクラス構造と作り方が良く分からない。 うーむ。だれか、以下の本を恵んでくれ!(ってなに図々しい事言ってるんじゃい!図書館に注文しろよ!(でも3ヶ月かかるねん)) 2003/05/07PCつけたけど、風邪の治りかけで鬱ですぐにダウン。今日は寝まくった。 22:29 2003/05/06今日はスクリプトエンジンの作成とその他実験を行った也。スクリプトエンジンについてだが、このような構造にしようと思った。 ちょいまち、その前に私の考えるスクリプトエンジンについてだが、 二つ形式があります。 1つはCSV形式の記述。Excel等で記述できるので初心者でも設定できるので簡単です。 いわいる敵出現テーブル みたいな奴です。 このデータ構造に関しては struct tugCSV_List{ std::string str; LONGLONG value; }; std::hash_map < std::list<tugCSV_List>,void (*function)(void) > みたいな構造にしようと思っている。 また、自由に敵のルーチンを組むタイプのスクリプトに関しては・・・ まだ仕様を完璧にしてないのでまだはっきりとは言い切れませんが・・・ とりあえず、 std::hash_map < std::string ,void (*function)(void) > としてます。 あとはどうすればいいのかなぁ? うーん。C言語風スクリプトを作るのは良く分からない也。 あ!、そうですそうです!JavaScript(JScript)やVBScript等とソフトを連携するにはどうすればいいのだろう? Jupiterとかは連携してますよね。 すごいなぁ〜〜。 22:18 2003/05/0522:18 2003/05/05 dKingyoIsWarehouserとタスクエンジンのテスト終了。両方ともバグはなさそうです。(まだ、2D描画のラッパーをテストしていない。) これからいろいろと作りこんでいきます。 しかし、まだ、Sound,Music,Input,のラッパーが完成してない!!!^^; もうそろそろがんばらないといけないのにねぇ。 あ、そうです!!。 yaneSDK3rdは私が知る限り今のところ最強の安定性を持つVisualC++でも使えるゲーム製作ライブラリです。 さらにYTLという最強のテンプレートライブラリがあります。 function_callbackやmaicrothreadとか本当に最強です。 皆さんも一度やねうらお氏のHPを訪れてみてください。絶対にはまりますので!! 19:07 2003/05/05 dKingyoIsWarehouser class 完成。 直訳すると、d金魚は倉庫業者。(爆 その名の通り、データの管理を行います。 hash_map等をラッピングして最終的にラッピングしたのがこのクラスです。 CGIの連想配列のような感じで行います。 そのラッパーがキーを元にデータを渡したりするのです。 これさえ使えば、あとはグローバル変数なんかとおさらばです!!!! で、グローバル変数とdKingyoIsWarehouser。どっちが速いの? //・・・・・・ あう〜〜〜。単純なグローバルの方が速いです^^;(アセアセ おい!!!だったら意味無いんじゃないの!!! そんなこと言わないでよ〜〜〜。これを通せば、例えばキーが "解像度データをよこせ" だったら、解像度のデータを返してくれたりするんですよ!!! つまり、スクリプト言語のようなものも簡単に作れるんですよ!!! さすが倉庫番!!d金魚!!!!ってくらい、便利なんですよ!!!!! (って、グローバルの方が直感的ジャン!!! と思いますよね^^;確かにそうです・・・ しか〜〜〜〜し、文字列を元にデータを返すのでコンパイル後、 データ定義テキストファイルに変更箇所を直せばコンパイルせずにすんだり、 的の出現位置を変えたいのならその外部ファイルを書き直せばOKみたいな処理をするのにこういうの必要だと思うんですけどね?? えーっと std::hash_map <std::string,void (*func)(void)> みたいなぁ〜〜。 これで処理を変えるみたいな〜〜〜。 あう〜〜〜上手く説明できない!!!! 後日、自作スクリプト言語講座にて!!!!(まだ自作スクリプト言語講座作ってないけど^^; 14:42 2003/05/05 2D描画ラッパー完成。 描画順序のついた画像データを渡すことでソートして描画することが可能。 高速描画はDxLibのおかげです。 DxLibありがとう^^ 感謝 m(_ _)m ありがとうございます。 12:24 2003/05/05 タスクエンジンが完成。 タスクを挿入する時、番兵付き線型探索 なので激速です!まだ、テストしていませんが、n=タスク総数 平均、O(n/5)くらいだと思います。 また、タスクを削除する時もキュー内から次々と抹殺していくので激速です!削除速度は n=キューの中身 O(n) です。 今まで、こんなやり方してましたからねぇ。ひとつひとつ丁寧に調べる順次探索ですよ^^; 挿入速度は平均 O(n/2)ですか???(あれ?なんか間違っているような?) これからゲームに使う機能についてのwrapperも作らなきゃあかんのです。 ああ〜〜面倒だけど、ライブラリを変えたりすると関数名まで変えないといけないから、 やっぱりwrapperって大切ですよね〜〜。 どこかにすでに完成済みのDirectXラッパークラスはないのかね〜〜!!! GTLってのみつけたけどよく分からんし・・・ 21:18 2003/05/04今日はプログラミング三昧のつもりでしたが^^;なかなかはかどらず・・・個人的にはかなりSTLはマスターした気分に陥る^^; STLといったら επιστημη氏のSTLの本が有名 ですよね^^ 本当に分かりやすくて気に入ってます。感謝 m(_ _)m ありがとうございます。 STLのページというHPもかなり有名です。 メンバが一目瞭然だし^^ 感謝 m(_ _)m ありがとうございます。 私は、皆様の努力の結晶のページで勉強させてもらってます。 ほんとうにインターネットはすごいよ!いつでも勉強できる環境はすごいよ!! と改めて認識した。 21:45 2003/05/03今日は某都道府県立図書館に行きました。そして、超有名書籍 Game Programming Gems Game Programming Gems 2 Effective C++ 第二版 を借りてきました。 もう最強です。この本さえあれば!!! 皆さんも借りてみてみてください^^ めちゃくちゃ為になりますので!!!! 製作状況としては、 今は汎用ラッパーを作成中です。 ラッパっの設計ってなんかあほらしい感じが・・・ あとは、C++のnamespaceの使い方を最近覚えました^^;(今ごろかよ! いままで名前が衝突しないように以下のようななが〜いグローバル変数を宣言する必要はもうないみたいですね^^ OnlyForSystemTaskAllDrawAndSortDrawQArraySize ああ〜〜〜〜!!!長い〜〜〜〜〜!!!! 開始日(21:01 2003/05/02)メモリ管理についてはBoehmGCを使う予定だった。しかし!!!ポッター氏の協力により、メモリテストツールを使っていただいたら!!なんと!! 以下のような結果が返ってきた。 boost::object_pool allocate time is 389 yaneAllocator allocate time is 660 malloc allocate time is 1230 GC_malloc allocate time is 16247 dKingyoArrayOneByOneDynamic allocate time is 12BoehmGCが遅い!!!! ダメジャン!!!! なのでBoehmGCは標準のメモリ管理ツールではなくboost::object_poolを標準の管理ツールにしようと思った。 しかし、ここでBoehmGCで腑に落ちないことがある。 私のBoehmGCはNT/2000/XP用にコンパイルされたものだったはず。 なのでそこらへんをはっきりさせないといけないなぁと思った。 うーん。これは今後あたらしいテストツールを作って比較しなくちゃいけないことだなぁ。 と思った次第である。 今までのプロコン2003についての
|
標準Cライブラリ | time = 5427 |
テイラー級数近似値 | time = 7962 |
d金魚式テーブル | time = 5307 |
Game Programming Gems2 に出ていたトリック | time = 9775 |
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||