[日誌]

メニューとか / 2008-08-03 (日)

コマンドメニューきました
今週はCPU負荷対策やバグ修正などで地味な変更が続いていました。

そして週末。
メニュー表示に対応しようと表示と最低限の動作を実装。
ひとまず形になりましたー

徐々にネトゲぽくなってきてうれしい限り。
来週もこの調子でがんばろう。

[リリース]

Ver0.016 / 2008-08-01 (金)

 ファイル数コメント行実行数コメント率
Ver0.01669328,27669,26128.57%
Ver0.01568928,05168,45428.57%
前回比+4+225+807±0%
ファイル数は、ヘッダとソースファイル(*.hと*.cpp)が対象です。

更新内容
・描画のCPU負荷対策。
・画面内で移動するキャラが多い時の負荷対策。
・攻撃対象以外のキャラが重なっていた場合にそのキャラ以外を攻撃するように修正。
・釣りや攻撃中に視点移動できなかったのを修正。
・釣りやゴミ箱イベントの判定位置がずれていたのを修正。
・矢が矢に当たった時に消滅するように修正。
・雲が左端と上端に隠れている時に動きがカクカクしていたのを修正。
・装備画像が他のクライアントに反映されないことがあったのを修正。
・座り状態から移動できないように修正。
・ログウィンドウからの発言でメッセージコマンドが有効になるように修正。
・マップ間移動を実装。
・マップ間移動のはまり対策。
・マップ移動の暗転中に移動できないように修正。
・座標が変わらない時はマップイベントのチェックをしないように修正。
・選択中のアイテム名を表示するように対応。
・AltキーとF10キーでシステムメニューを開かないように修正。
・アイテムメニューを変更。25個まで持てるように修正。
・ついていく状態のままマップ移動すると、2、3歩別の場所がみえていたのを修正。
・ついていく解除のキーをXキーに変更。
・つれていく解除時にメッセージ表示するように修正。
・誰かをひっぱっているキャラについてこうとした時のメッセージを変更。
[ コメントの受付は終了しています ]
1: 通りすがり (08/05 17:27)
700弱のソースファイル数はかなり多いですねー
それに対して行数が70000って事は
ずいぶん細かくファイルを分けて管理してるんですね。
2: 春うらら (08/06 07:39)
処理毎にクラス分けしていくと、気がついたらこんな感じになってました。
約半分はヘッダファイルなのでソースとして350くらいなのかもしれませんね。

[日誌]

ついていく機能最強説 / 2008-07-27 (日)

移動地点に群がる人々
約4時間かけてマップ間移動を実装しました。
一見うまくできたように思えたのですが…

移動の暗転中に方向キー押してると移動できてしまうタイミングがあるようで、マップIDと座標がずれてしまい意図しない場所に移動できてしまう問題が。
発見のきっかけになったのはついていく機能。

ついていく機能は、前のキャラの座標をおいかける機能。
ユーザーの意思とは関係なく座標を変えるというのがミソで、その影響からいろんなバグへと繋がります。

新しい機能が実装される度にまず試されるのがついていく機能を使ったもの。
今までも、そしてこれからも。

ついていく機能はSBOP2のデバッグのキモになるんだと思います。

[日誌]

討伐。そしてハングアップ / 2008-07-26 (土)

開始直前
敵の反撃処理が実装されたということで多数の敵との負荷テスト。
はたして、無事に動くのでしょうか。
23時ごろイベント開始。

うようよ
なかなかいい出だし。サーバーも快調に動いております。
クライアントもCPU負荷が上がりつつもがんばっている様子。

スッキリ
名前を非表示にすると大分スッキリします。おぉまさにアクションRPG。

弓部隊前へ
飛び道具だと反撃を受けないので並んでバンバン撃ちまくり
これだけのキャラが画面中を動きまくっているのは見ていて感動。
なんて楽しいんだろう

そして・・・

もう無理!!!
どかんと増えたキャラにクライアントが悲鳴をあげました!
今の実装では画面内に400ほどキャラが動きまくると限界のようで、固まって操作不能となりました…

そこから負荷の高い処理を探して何とかしようと試みること1時間。

リベンジ!
深夜1時を過ぎたころ、負荷対策第一段を実施。
キタ━━(゚∀゚)━━!!

画面内に約1000のキャラでも何とか動くようになりました!
マップが増えてもこれだけのキャラが同時に動き続けるようなことはそうそう無いと思うので
しばらくは負荷的に持ちこたえそうです。

後は実装を進めつつちょくちょく対策をしていこうと思います。


3時間弱でしたが、いろんな収穫がありました。
やっぱり実際にやってみないとわからないことは多々あるもので。
負荷以外にもいくつか問題が見つかったので対応していくようにします。

ご協力ありがとうございました。

[リリース]

Ver0.015 / 2008-07-25 (金)

 ファイル数コメント行実行数コメント率
Ver0.01568928,05168,45428.57%
Ver0.01468627,76867,36528.99%
前回比+3+283+1089-0.42%
ファイル数は、ヘッダとソースファイル(*.hと*.cpp)が対象です。

更新内容
・モーション最初の1コマの効果音が鳴らないことがあったのを修正。
・消滅時にエフェクト表示するように修正。
・敵のアイテムドロップを実装。
 キャラ属性にアイテムドロップ率を追加し、
 持ち物があればそこから、なければ親の所持品から1つを指定確立でドロップ。
・新キャラサイズNPC画像の2枚目以降の表示に対応。
・移動速度と敵キャラの移動確率を設定できるように実装。
・キャラのフェードイン・フェードアウトの時間を調整。
・敵が消滅する時にエフェクトが表示し終わるまで削除しないように修正。
・同PCで複数アカウントを作成できないように修正。
・メッセージコマンドの「髪変更」「服装変更」「アクセサリ変更」「武器変更」「盾変更」を無効に。
・盾アイテムの画像指定が正しくできていなかったのを修正。
・マップイベント「ゴミ箱」を実装。
・矢の飛び始めがおかしな向きになっていたのを修正。
・使用するパッドを保存するように修正。
・噴出しの新規追加ができなくなっていたのを修正。
・斜め向きで攻撃した時に4方向に変更して攻撃するように修正。
・気絶直後に防御すると気絶解除されていたのを修正。
・釣り中に気絶すると気絶解除されていたのを修正。
・気絶中にログアウトすると他のクライアントに透明でエフェクトだけ残り続けていたのを修正。
・敵を倒した後のフェードアウト時に死亡モーションのまま消えるように修正。
・釣り竿を釣り場以外で使用した後、移動してから装備変更するとワープしていたのを修正。
・[オプション-動作設定]に[おひるねタイマー]を追加。
・おひるねタイマー発動中に、ログウィンドウから話したり、ついていくで移動した時に解除されるように修正。
・マップイベント情報を更新した時にクライアントの視点位置が初期化されてしまっていたのを修正。
・ジョイパッド使用時に、右下が押しっぱなしになることがあったのを修正。
・HPとSPが全快の時にゲージが1ドット欠けていたのを修正。
・敵の反撃処理を実装。まだまだテスト段階。
・おひるねタイマー解除時に座り状態で戻るように修正。
・矢が当たらなくなっていたのを修正。
・[管理者ウィンドウ]ステータス情報が常に最新情報を表示するように修正。
・[管理者ウィンドウ]マップイベント情報の削除機能を実装。
・[管理者ウィンドウ]メニューの"その他"→"デバッグ"に"移動当たり判定無効"を追加。