2004-01-01から1年間の記事一覧

0x0D 0x0A

Windowsのfread、fwriteは、UNIXで使っていたように何気なく使うとデフォルトでCRLFを勝手にLFに変換してくれるようにできてる。こんなことをされると処理したバイト数はわけわからなくなるし、全くいいことがない。遥か昔、外部データへのパッケージングを…

リッスンする

他のクライアントからの接続リクエストを待機するリスナーを立ち上げる必要がある。リッスンは一つのIPと関連付けられて行われる。ゆえにもしもホスト一つに複数のIPが設定されていた場合、その複数のIPへ向けての接続要求がくることを想定しなくてはならな…

昔のビデオカードでは (G550とか) d->SetRenderState(D3DRS_ZFUNC, D3DCMP_ALWAYS); とやっても勝手に比較するようだ。というかZFUNCの変更自体させてくれない?スクロールするサブフレームを描画しない領域をマスクするのに、0.0fでクリアしていたZバッファ…

バグバグバグ

3人集まると誰かが落ちるバグ。ノード情報をリレーするのにその情報が送り先のノードの情報かどうか調べず送りつけていたのが原因。受け取り側は自分自身の情報が送りつけられることを想定しておらず、その情報の更新頻度が落ちた時点で対応するキャラを削除…

バグ

チャットでnを含む文字列を書くと、n以降が描画されなくなる。開発環境から立ち上げた場合は問題なく、リリース版のみで再現する。原因は、2年くらい前に書いた画面への文字描画のモジュールでの初期化忘れだった。文字のテクスチャ上の位置を記録しているテ…

2万行超え

拡大-> http://f.hatena.ne.jp/kataho/20041206114503 サーバー側に実体を持つエンティティをつくるために、クライアントで使われているエンティティの管理周りとDirectXとの癒着をはがす作業をやっていた。作業がガンガン書き込むんじゃなく、きったりはっ…

車輪の再発明

名前の重複チェックをしたくない。データベースを検索するのが面倒な上に、ユーザーには好きな名前を使えないという制約を強いることになる。そういうわけなので、ある機能においてアカウントの特定が必要なときにユーザーIDとパスワードの組など使わないこ…

Half-Life2買ってしまいました。ゲームとしての内容はいまいち期待していたほどでなかったけども、美術がすごかった。さび付いた鉄パイプの手摺とか巨大なコンクリートの建造物とか、おやじどもの渋い顔つきとか。センスがすごく自分好みの位置に照準されて…

なんか乾燥してるんで免疫力おちてきた。

19,123。縫合完了まであと一歩。にしても小手先アクションが増えても結局毎回それを使っていればOKてな具合にしてたんじゃ意味ないし。いろいろな状況に応じて使い分けられるようにできないとね。そっちのゲームデザインの方のが難問だ。

トランジションを実装したので

18,895lines

バグ。描画するオブジェクトの描く順番を管理するリストに追加するのに単純にpush_backで最後尾に追加していた。リストがそれぞれのオブジェクトが申告するオーダーから再ソートされるのは1フレーム描画するために行われる評価のループの始まる手前に一回き…

仮想世界はNewbiesのためにデザインされる

http://www.gamasutra.com/features/20041103/bartle_pfv.htm 裏付けがあまりなく、偉い人の見解だという点だけで納得しなくてはならないけれども、斬新でも普通に共感できる見方ばかりだし、短くて簡潔だし、おもしろいよ。内容としては、以下の4つの要素が…

一ヶ月ぶりに

ビルドできた。大手術を終えて後は開いたお腹を塞いでいこうかといった状態。やった事。 タメ攻撃をさせるための改変。GBゼルダの剣攻撃のようなタメ操作を導入するよ。 攻撃を放った時点の情報からそれぞれのノードがダメージ値を算出してしまう。ラグの影…

結局パターンとしては

条件によって表示しなくてはならないものについて 1.時間(表示・非表示のタイミング) 2.質(or形式) 3.位置 等について決定権をバラバラに分散して各所に配することがよくある?抽象クラスでもつくろうかな?いや今回みたいに別に表示するものとも限らな…

このまえのROでいうところの露店の看板を表示する時と同様の問題がまた。これはパターン発見なのか?今度は受けた攻撃の種類や強さ、それをどういう風に表現するかを知っている層と、それを画面に表示する正確なタイミングを知っている層が全然別という状態…

18,391 へってるぅー!Σ(・ω・)

自分を追い込むために行数カウントいこう。現在18,490lines

難解なパズル・終わらないゲーム

http://www.legendmud.org/raph/gaming/theoryoffun.html ―――それでも中には解き方がもう分かっている問題ばかりを解いていられる安心を好む人もいる。原始時代は、家畜や人間を襲う狼達がそういう人達に恐ろしい難題をつきつけてきたことだろう。今は昔ほど…

http://d.hatena.ne.jp/kataho/20040702 またやったぁぁぁぁぁorz 2合分の米が保温で低温炊飯されてました。

デザインとしてのプレイヤー間の情報流通の制限

http://www.gamegirladvance.com/archives/2003/07/28/not_yet_you_fools.html 仮想世界は「仮想」なんだ。「仮想」だからこそ「現実」を離れることができる場所たりえる。現実の自分から離れたいからこそ、僕らは仮想世界で遊ぶ。仮想世界では人は別の自分…

韓国のRMT市場

200社を超えるRMT関連企業が合計で90〜450億の年間収支http://msnbc.msn.com/id/6161530/site/newsweek/オンラインゲームを配給している会社が共同でRMT仲介に手を出したところ、公式にゲーム内のデータにリアルマネーの値段がついてしまったことで、データ…

GMになるテスト

http://hrj.square-enix.co.jp/section/online/gamemaster/eq2/parttime.html Q5. 次のような状況の場合を想定して、以下の質問に答えてください。あなたは、駅のホームにいるとする。ホームの待ち位置に立っている人Aがいて、その前は人一人が入れるくらい…

インタラクションとその結果の表示について

で、実際の自分のプログラムの話なんだけども、現状では応答を待ったりすることはなく、クリックすれば自分のキャラの攻撃アニメのシーケンスが最初から最後まで再生されて、一方でネットワークを介して送られてきた正確なダメージ値の乗った情報を受け取っ…

インタラクションとその結果の表示について

たとえばROで魔法を使った瞬間にラグが起こると、魔法が発動する瞬間までアニメーション等の処理が進んだ段階で停止する。そしてラグが治まりサーバーからのメッセージが届くようになった瞬間に魔法が発動して敵が死ぬ。ROにおいて、敵に攻撃してそのヒット…

インテリセンスが壊れる

http://www.tech-archive.net/Archive/VisualStudio/microsoft.public.vsnet.ide/2004-03/0096.htmlVisualStudio.NET 2002を使っているのだけど、しばらく立ち上げっぱなしにしておいたり、新しいクラスを追加して作業していたりすると大抵インテリセンスが…

Internet Killed The Video Star

http://atomfilms.shockwave.com/af/content/regurge01 Mosaicのことを知ったのは92年のこと IRCは君の話題で持ちきりだったな 偉い社長さんやなんかはその頃には こんなことになるなんて知る由も無かっただろうけど AOLとコンピュサーブとプロディジー 画像…

ゲームを構成する処理が一部でもクライアントで行われることが避けられない以上は、チートが不可能なソフトウェアを作ることはできない。結局とれる対策はチート開発に時間がかかるようにしたり、時には脅したり、人間の方に働きかけてチートをさせないよう…

チートについて

アイテム関係を実装していると、今書いてる部分がチートの温床にならないかと気になってしまう。気にしても仕方ないんだけどね。 http://www.counter-hack.net/content.php?page=article_blizzard ネットワークゲームとして歴史的な作品であるDIABLO Iで繰り…

結局 http://d.hatena.ne.jp/kataho/20040918 で苦労して実装した変なふきだしは、とりあえず今のところは使わないことに。ああまたしてもINTPなことだなぁ。アイテムのGUI周り実装の峠を越えた感じがする。行数が18000台に突入。