花烏風月の日記帳

「花烏風月の日記帳」の編集履歴(バックアップ)一覧に戻る

花烏風月の日記帳 - (2009/10/02 (金) 22:25:09) のソース

*徒然日記
----
*2009.10.02(Fri.)
凶悪なバグに遭遇した故、行けんかった。すまん!
一応業務連絡。
[今作っているマップオブジェクトについて]
大きく分けて2種類。
・共通オブジェクト...樽とか柵とか井戸とか棺桶とか
・派生オブジェクト...建物とか壁とか窓とか

共通オブジェクトは、文字通り共通の部品で、テクスチャも同じ。
派生オブジェクトは、城の設定(地方風土)をテクスチャを書き換えて表現する部品。ただし形状とかUVは変わらない。
モデルとテクスチャは用意しておくので、マップに配置する仕事を回すつもり(場合によってはUV展開も頼むかもしれないけど)。
たぶんTeferiさんに投げると思うのでよろしく~。

#comment(,below)
----
*2009.09.29(Tues.)
久しぶりに学校へ来た…。

[モデル作成]
Rayさんが持ってきた首(笑)を萌ちゃんの体に乗せた。
おー新キャラ。
でもこれじゃあまり意味なくて、肝心なのはテクスチャでバリエーションを出せることなので、
さっさと汎用の衣装作ろう。
それと、城のモデル作っています。
が、ぶっちゃけまだ全然です。
インターンの納期というギロチンの刃が迫っているので作業しようにもできないという…ねorz
…というわけで、水~金でもし「最後まで残る」日があれば連絡お願いします。
19時で退けるので向かいます。最速19時30分着!

ま、完成部分を書いておくと、
shibaiから投げられた設計図を元に建造物(ただの箱)仮配置のマップとその床メッシュ。
スケール値を微調整すれば使えるはず。

で、当面の計画ですが、時間を見つけて建造物とか構造物をパーツとしてうpしていくので、
それをアシさんに配置してもらおうと画策しています。
マヂで作業なので白羽の矢が立った方は覚悟してくださいね。
パーツのテクスチャに関してですが、デフォルトとして、
白亜の宮殿のようなイメージ(世界観(花烏版)における「アスール共和国」)で作っておくので、
後はそのテクスチャを書き換えて派生させてください。
その関係でループテクスチャふんだんに使うのでメモリ食い荒らします。
異論??断る(笑)

#comment(,below)
- あ、連絡はケータイにお願い!  -- 花烏風月  (2009-09-29 23:05:07)
----
*2009.09.23(Wed.)
ご無沙汰。花烏です。空気ですね、百も承知です。はい。
仕事終わった後に学校寄ろうと考えていたんですが、
見事に読みが外れまして…
実質会社出れるの20時とか残酷な現実が待ち構えておりましたorz
おぼろげな記憶を引っ張り出すと、「学校のある時間外(18時以降)は残業扱いになる」
って規定があったようななかったような気がするので、この辺りは要相談。
先方も残業代なんて出したくないだろうし、こっちも早く上がれるなら円満てやつでしょう。

それと、業務過程で有用な情報を入手したので紹介。

[[WinMerge日本語版>http://www.geocities.co.jp/SiliconValley-SanJose/8165/winmerge.html]]
簡単にいうと、2つのソースを見比べて違う部分を指摘してくれるステキなソフト。
無意味なスペースとか全部すっ飛ばして比較してくれるのでかなり賢いです。
実際使ってみたけど、レヴォリューションでした、はい。
今までよくもバグの修正を反故にしてくれましたね…

&sizex(7){&bold(){絶対、導入するように。}}

@Toシバイ
グラフィック班、そろそろ本気でやらないと詰むので1~2人ください。

#comment(,below)
- 誰でもいいや。ほとんど"作業"だから(笑)  -- エレガントな 花烏風月  (2009-09-24 01:20:20)
- おそらく Teferi さん。  -- Shibai  (2009-09-23 20:53:07)
- プログラム、サーバ班も人が足りない状態だから、1人だけだけどグラフィックやってもらうね~。  -- Shibai  (2009-09-23 20:50:02)
----
*2009.09.11(Fri)
若干進捗あったので更新。
~本日の作業~
・当たり判定のアルゴリズム考察

[当たり判定]
攻撃側のクライアントで判定する方式に変更します。
また、クラスと通信関数を分離する方針でいきます。
通信関数をSceneに固めてしまえば、#if(ONLINE)~#elseでの切り替えが楽になるはず。


#comment(,below)
----
*2009.09.07(Mon)
 ~お知らせ~
・わからない部分があったら花烏まで連絡を(僕のソース勝手にいぢるなぁぁぁぁ!!)
・ルームの数っていくつくらい予定してる?世界観考えてたんだけど、3勢力に各人数制限の城で6つくらいでどうよ?

 ~きょうのさぎょう☆~
・がい(字が出てこない…)要をまとめる(世界設定とかの)
・シバイ族等の設定を追加(用語集)
・なかなか進まなかった当たり判定がついに完成
・インデックスと引数が合致しない不具合を発見(Out of Lengthエラー吐いた…)

[概要まとめ]
 今まで漠然としすぎていたので、
 すこしずつ世界観を固めていこうと思っています。
 で、[[用語集]]を作ったので暇な人編集手伝ってくださいね☆
 にわかに厨二が薫る…。

[用語集に設定を追加]
 シバイ族とかの設定をリーダーの過去の発言から考えました。
 亡国の理由が"究極破壊魔法"とか、我ながらいい仕事した(笑)

[当たり判定処理完成]
 フッ( ̄ー+ ̄)

[Out of Lengthエラー発見]
 ランタイムエラー吐いて発覚…。
 ぐっじょぶ、自分。対処は明日考える。

\(^o^)/

P.S.
いろんな意味で乙…ね、にゃんこさん。

#comment(,below)
----
*2009.09.05(Sat.)
伊勢市で開催された景観シンポジウムに行ってきました。
歴史や文化の保存や継承といったテーマでした。
ちょっと畑違いだったかも~…。
歴史を重んじることに異論はないけど、それに囚われて時間を止めてしまうのもいかがなものかな。
まぁ、詳しくは明日辺り&blanklink(ブログ){http://elegantia.blog120.fc2.com/}に書くんで暇な人見てくだしあ。

~本日の作業~
・マネジメントクラス改修

[続・マネジメントクラス改修]
かかし・拠点に関しては、ポインタからインスタンスを格納する方式に変更。
せっかくのSTLにわざわざポインタで格納するのもナンセンスだし…。
ただし、飛行物体やエフェクトは派生クラスを格納する都合上、無理でした。(当たり前だぁな…)
代替処理として叙述関数をenableからNULLチェックに変えました。
直前にenable == falseの要素にSAFE_DELETE()掛けて、その後erase()という寸法。
エフェクトは動作確認してないけど、飛行物体は大丈夫っぽい。
ただ、通信のカットインが入った場合にNULL参照して吹っ飛ばないか一抹の不安が…。

#comment(,below)
----
*2009.09.04(Fri.)
~本日の作業記録~
・通信会議
・当たり判定テストクライアント
・マネジメントクラス改修

[通信会議]
敵鯖作ればええやん~、と思っていましたが一筋縄ではいかない模様。
僕としては敵とボスのアルゴリズムは統一した方がいいと思う。
ボスをサーバーに置くなら敵も置こうよ、と。
クライアントに置くのなら、ルームマスターが敵を制御して鯖を中継して他のプレイヤーと同期取るのが通信量抑えられるような気がする~。

[当たり判定テストクライアント]
一応完成。カメラ操作できるようにしようかな~。
テストしていたら200本の矢が描画限界と判明した。
さらに、リストからの削除が失敗(後述)していたことも…。
そーいえばDirectXに頂点数を減らしたメッシュ(プログレッシブメッシュだっけ?)を生成するってステキな関数なかったっけ?
気のせいかな…。

[マネジメントクラス改修]
リストの削除が上手くいっていないことが発覚したのでチェック。
erase()で排除しているはずだけど、メモリからの解放に失敗してるっぽい。
よーく考えたら動的に生成するためにあるSTLにポインタのコンテナ作るのもナンセンスかなー。
というわけで、ポインタのリストにするのやめます。そうすればerase()一発で解決する…たぶん。

あ、今日から課題のNPC配置ツール作り始めるので空気になります。働きません、終わるまで。
#ref(人生の幸福.png)
#comment(,below)
----
*2009.09.03(Thurs.)
今日は四日市で散髪してきた。懐が吹雪いてきた(´・ω・`)
~本日の作業記録~
・当たり判定テストをTeferiさんに投げる
・マネジメントクラス修正
・戦闘フィールド作成

[当たり判定テスト]
Teferiさんが判定チェックまでやってくれたので、今日中にテスト環境を仕上げとく。

[マネジメントクラス修正]
&bold(){BaseManager}
&bold(){FlyingObjectManager}
&bold(){EffectManager}
を&color(red){更新しました。}
従来はGetInstance()を呼ばれた際にnewして作っていましたが、
昨日のヒープエラー解消によりstatic領域の使用が解禁されたため、
GetInstance()でstatic定義する方式に変更しました。
これにより、解放に必要だったDestroy()は要らない子に。(・_・)ノシ

[戦闘フィールド作成]
いつまでもぬるいAIを使っているわけにいかないので、
本ちゃん用の戦闘フィールド(4人前)を作り始めました。
シバイ君がブラマンテのサン=サーティロ聖堂([[拾ってきたPDF資料>http://ux.getuploader.com/ds1524/download/32/a12_02_saggio_schofield.pdf]])顔負けのだまし絵のキープを
作ってくれるようなので期待しましょう^^

#comment(,below)
----
*2009.09.02(Wed.)
曇り空でしたが、雨降らなくてよかったぁ~(*´∇`*;△
ってなわけで…
~今日の作業記録~
・ヒープエラー解消 →お疲れ自分
・かかしクラス作成 →ヒープエラー解消したので使用可能に
・当たり判定(通信) →破綻\(^o^)/
・当たり判定テスト用クライアント →今作ってるお(´・ω・`)

[謎のヒープエラー 解決篇]
I先生が殺虫剤を持っていたので、割とあっさり(でもないけど)バグ退治。
原因はオーバーロードされた&color(blue){new}&&color(blue){delete}演算子でした。
メモリーを管理しているクラスが抹殺された後(CWindowクラスのデストラクタで天に召される)にSTLのデストラクタ(内部でdelete演算子が呼ばれる)が発動した場合、
すでに死んでいるメモリー管理クラスを参照するため吹っ飛ぶ、というのが事件の真相。
動的に確保するのをやめ、メモリー管理クラスを静的メンバ変数にして解決(static領域の解放がSTLのデストラクタの後に行われるため)

&color(red){&sizex(7){&bold(){OG_Window.cpp} & &bold(){OG_Window.h}を更新してください!!}}

[かかしクラス]
早い話がCMeshModelのリスト配列。
スケール合わせとか当たり判定のチェックに使えるかなー

[当たり判定]
従来の&bold(){「点と線の当たり判定」}は矢の出現を以って破綻しました(合掌)
僕は優しいから、「納得できん!」というカタブツの為にヒントをあげよう。
①オブジェクトの原点は接地面にある。
②矢の原点は鏃(先端)にある。
③「点と線の当たり判定」とは、2つのオブジェクトの原点をつないだ線の長さで判定すること。
もう分かったね??(^_^)
で、いろいろと考えた結果、独断と偏見で&color(red){&sizex(5){&bold(){「レイ&超ローポリモデルによる判定」}}}に政権交代します。
 
[当たり判定テスト用クライアント]
上記の当たり判定をテストするために作ってます。
明日までにどうにかする…つもり。

#comment(,below)
----
*2009.09.01(Tues.)
にゃんこさんの真似をして日記を始めてみた。

~今日の作業記録~
・謎のヒープエラーの解明 →努力はした。
・飛行物体の当たり判定&通信 →たぶんできた。

[謎のヒープエラーに関して]
OGLibの中枢に未知のバグが生息している可能性あり。 
OGLibは、new演算子で確保する領域をメモリープールから割り当てているらしく(OG_Memory.cppでnew演算子をオーバーロードしている)、 
そいつがかなり怪しい。これまでに確認された意味不明なヒープエラーもここに起因するかもしれない。 
…が、記述からして相当気色悪いので、僕は投げる。

[飛行物体の通信関連]
敵クラスの操作がいまいち分からんのでテキトーにやった。
当たり判定のアルゴリズムはもう少し洗練できるかも。
それでも通信量はかなり軽減されるハズなので、随時当たり判定を切り替えていく方向でよろ~。


今日インターンシップ先の社長さんに直談判した結果、あっさりと快諾いただけました。
よって、この先火曜日はゼミに参加します。ご安心を。

#comment(,below)
- _|\○_ヒャッ ε=\_○ノ ホーウ!!  -- 花烏風月  (2009-09-02 00:16:00)
----
*テンプレ

#comment(,below)
----