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

ToHeart2X

るーこが可愛い。

libnkf

libnkf.zip 別件でこんなもんを作った。 http://www1.ttcn.ne.jp/~kaneto/dll/nkf32dll.html こちらのを改造させていただきました。オリジナルからの変更点は ・スタティックリンクライブラリとインポートライブラリも作った。(元のはdllをLoadLibrary&GetP…

MMORTS

SXML(OpenGLUI)を日本語化。 フォント描画をFTGLに、描画される可能性のある文字列を全部std::wstringに変更。stringとwstringの変換には気は進まんがwcs系関数を。 0.86になっていくらかまともになってるけど、基底クラスのデストラクタがvirtualになってな…

ToHeart2X

購入目的の75%くらいが噂に名高いタマ姉のためだったんだけど、期待を裏切らないキャラだったようだ。初登場シーンだけですっかり好き好きタマお姉ちゃん。

CEGUI/OpenGLUI

togeさんが調べていたのを思い出してCEGUIとOpenGLUIを試してみた。(思い出すまでwGuiをOpenGL用に改造していた…。) 望んでるものは適当にウィンドウが出せて、適当にコントロール(ボタン、チェックボックス、テキストコントロール、リストコントロールが…

MMORTS

厳密にやらなければサーバープログラムは大して難しくない。普通のゲームからグラフィック部分を取っ払ってネットワーク用インターフェースをくっつけたようなもの。問題なのはクライアント側。障害となりそうなのは、どうやって同期を取るか、インターフェ…

MMORPG

8月の終わり頃エミルクロニクルオンライン(俗称エロミルクオンライ)をやりだしたものの1週間ほどで飽きる。 3Dで萌え系のグラフィックは結構頑張ってるけど、それ以外見るところが全く無い。システムはどこをどうみても「ROを全力で真似しました」という感…

豆腐

IRCに外部からの客がちらほら訪れていて意外だったり嬉しかったり。 進化、リプレイ、オンラインで他のプレイヤーと協力してCOMの敵を倒すモードを入れたり、サーバー側が今何フレーム目かをクライアントに常に伝えて待たせることで同期エラーをほぼ根絶した…

#豆腐

EmpireTohuの対戦用のIRCチャンネルを作りました。wide系サーバーの #豆腐 たまにEmpireTohuの対戦をやる以外はAoCやったりAoMやったりその他割と何でもあり系。

通信対戦

多分4人以上の対戦に完全に対応。 今まで4人以上でやると1人落ちたり等非常に不安定だった。 原因だったと思われるところはマルチスレッドの排他制御絡みで、必要の無い部分でロックしまくってたのでクライアントが増えると制御が詰まって徐々に遅れて同期エ…

通信対戦

選択されてるオブジェクトのみ処理の順番が変わる部分があり、そのせいでズレていたようだ。修正したら完璧に同期できるようになった。 体調壊したり方々で怨嗟の声を上げたりしながら続いた6日間に及ぶバグ追跡の旅は、たった1行の余分な部分を削除しただけ…

共有オブジェクトの中のスタティックリンクライブラリの中のstaticなオブジェクト

分かりにくいバグでふと思い出した、EmpireTohu開発初期に遭遇した性質の悪いバグを現実逃避がてらにメモ。 実行ファイル(.exeとか)と共有オブジェクト(.dllとか.soとか)が同じスタティックリンクライブラリをリンクしており、そのライブラリの中にstati…

通信対戦

作業記録 ・先日のアイデアを実装。これ自体は2時間程度でできた。が、しかしズレる。同期できていない。 ・通信データをテキストデータからバイナリデータへ変更。通信量云々ではなく、テキストだと小数が劣化してしまうため。 ・今までオブジェクトをアッ…

通信対戦

完全な同期について真剣に考え出したところで、今までとは違うアプローチの、より良いかもしれない方法を思いついた。 ・クライアント側は、常にゲーム内時間をサーバー側とは20フレームくらい遅らせて進行させる。(20フレームは適当。クライアントとの通信…

通信対戦

複数ユニットへの指示、破壊イベントまで行き渡るようになった。 あとフレームスキップの部分を少し改良し、通信対戦時は必ずフレームスキップようにした。 それとhttp://d.hatena.ne.jp/i-saint/20050619#p1の「ゲーム内のオブジェクト同士が自動的に飛ばし…

通信対戦

オブジェクト生成、右クリック指示、建設あたりまで指示が行き渡るようになった。あとプレイヤー毎に違う国を割り当てて対戦できるようになった。 ユニットを複数選択して右クリックしたときの指示がちょっと面倒でまだ未実装だけど(グループオブジェクトを…

通信対戦

目標達成。2つのマシンからひとつの国を操作できるようになった。 とは言え、現状全く同期できてない上に、サーバー側とクライアント側で指示がごちゃごちゃになってしまっている。工場にユニット作成指示出したら、クライアント側はローカルの作成指示とサ…

Musical Baton

ponさんとid:halo_w2さんからMusical Batonなるものが回ってきました。 音楽ファイルの総容量 3.6G。ゲームミュージック8割、同人音楽1割、その他1割くらい。 …趣味が偏り過ぎなのは良くないかもと思いつつ、一向に改善される気配が無い。 今聞いてる曲 UNIV…

通信対戦

通信プロトコルを適当に考えつつ、指示情報を通信データに変換する部分をぼちぼちと。やりとりする指示情報は基本的にマウスとキーボードの操作で発せられるイベントだけでいいはず。 ゲーム内のオブジェクト同士が自動的に飛ばし合うイベント(視界の中に敵…

通信対戦

少しだけ実装できそうな気がしてきた。というか今まで難しく考えすぎていた。 ゲームの内部計算はサーバーがやる。クライアントはユニットへの指示情報だけをサーバーに送りつつ、ゲームの進行状況を受信して表示する、という風にやれば、クライアントとの通…

PS3 Linux

http://pc.watch.impress.co.jp/docs/2005/0609/kaigai187.htm 実現されるなら多少無理してでもPS3はできるだけ早い段階で購入したい。個人で家庭用ゲーム機のゲーム開発、というのはちょっとした夢なのだ。 …しかし、実現されたら、/.jで心配されてたみたい…

GeForceFX6800

AoE3と同時に買う予定だったけど、待ちきれなくて先に購入してしまった。とりあえず今までのGeForce4じゃ動かなかった技術デモを見て楽しむ。自分で複雑なシェーダー書く気は今はあんまりないけど、手を出すとなったらやっておきたいことリスト。 ・ブラーと…

サイト移転

さくらへ移転ついでにリニューアル。

gdb

先日のような、リモートログイン先でデバッグ、みたいな状況なんかのためにgdbの使いかたを少し勉強。今まではprintfデバッグか、VCのデバッガ使うかで済ましてきたのだった。gdbの使いかたはここらへんを参考に http://bichir.cocolog-nifty.com/blog/gdb_f…

OSX対応

IRCの知り合いにMac使いがいることが判明したので、無理言ってssh経由でそのマシン上で作業させてもらう。 Macはビッグエンディアンなので、まずはエンディアンの対応(と言ってもfreadとfwriteを差し替えただけだけど)。OSXのgccには-sharedが無いので-dyn…

地形テクスチャ

地形エディタのテクスチャ編集機能の基本的な部分を実装。基本はFCやSFC時代のRPGによくあるマップチップ。現状繰り返しパターンがばればれで実に美しくない。やはりアルファは別にするべきか。 それと、木などの資源、そしてできれば建物やユニットも地形エ…

地形テクスチャ

地形ポリゴンの一部分にだけテクスチャを貼ってみるテスト。 マルチテクスチャを使って、とか書いてたけど、使わなくてもテクスチャ張り替えて複数回描画するだけで簡単にできるようだ。ただ、パターンをばれにくくしつつ、違和感無く繋ごうとするとアルファ…