Unreal Engine 5 GAS: building an ability system right
My dash ability fired once on the client and then went silent. The bug was not GAS itself, it was touching an attribute without a GameplayEffect.
Unity Profiler: Find the Real Bottleneck, 22 ms to 8 ms
Frame time hit 22 ms and everyone blamed the shaders. The Unity Profiler capture said otherwise; here is how measuring took it down to 8.7 ms.
コヨーテタイムとジャンプバッファ:良いジャンプの 12 行
プレイヤーが「ジャンプの感触が悪い」と言うとき、たいていは 2 つの機能が欠けています。どちらも 30 分で書けます。
Lag Compensation: Why Your Perfect Shot Did Not Count
How server-side lag compensation is actually built for shooters: the rewind buffer, the numbers that tune it, and the point where the window has to stop.
ゲームエンジンにおけるC++メモリ管理:フレームを食うのは誰か
フレーム内でnewを呼び出すとプロファイラに13msのスパイクが出たが、フレームアリーナとオブジェクトプーリングを導入した結果、ピークは7.9msに低減した。その原因分析と対策の手順を詳しく解説し、プロファイル結果の観察からメモリ割り当てのボトルネック特定、アリーナアロケータの実装、スレッドごとの分離までの全工程を追う。
Unreal EngineでBlueprintとC++をどう使い分けるか:実測7msで見えた性能の境界線
Blueprint VMのコストはほとんどのシーンでは見えないが、毎ティック数万ノードになった途端に7msを消費した。実測値をもとに、どこまでをC++に置き、どこからをBlueprintに残すのか、UPROPERTYの公開範囲やチーム拡大後のマージ問題まで含めて、ハイブリッド構成の境界線を具体的な数字で説明する。
DOTS/ECS 移行から学んだこと
本番プロジェクトの一部を ECS に移行し、フレーム時間が 34% 下がりました。ただし効果は予想した場所からは来ませんでした。
モバイルゲーム最適化:ドローコールとオーバードローの実測でAndroid実機のフレームレートを17FPS改善した記録
ミドルレンジのAndroid端末で、タワーディフェンスのシーンが41FPSから動きませんでした。ポリゴン数には一切触れず、ドローコール、マテリアル、オーバードローを実機で計測しながら同じシーンを58FPSまで引き上げた手順と、それぞれの変更で実際に取り戻せたミリ秒、そして測定の順番までまとめて記録しています。
HLSLのcompute shaderでGPUパーティクルを100万個描画する最適化と計測の実践記録
CPU側のパーティクル更新が4万個で11.4msに達したため、状態をStructuredBufferに載せてHLSLのcompute shaderへ完全に移し、DrawProceduralIndirectで描画するまでの手順をまとめました。DeadListによる再利用と同期の落とし穴まで実測値付きで解説します。
クライアント予測をいちばん簡単に説明する
マルチプレイの移動処理は複雑に見えます。実際には 3 ステップです。予測し、比較し、補正する。
Game engine architecture from scratch: six layers, one loop
Writing your own engine starts with getting the layer order right. Notes on subsystem order, fixed timestep simulation, and when to move to a ready engine.
URP と HDRP のどちらを選ぶか:Unity レンダーパイプラインの選び方を実測データで検証する
対象プラットフォームの一覧が答えをすでに出していることがある。HDRP の volumetric と SSR にかかる実測コスト、URP がモバイルで得る帯域幅の余裕、そして途中で切り替えたときに本当に払う金額を数字で並べた。
スタイライズドライティング:セルシェーディングの先へ
段階的な影は誰もが知る第一歩です。本当の個性はリムライトと影の色の選び方に宿ります。
NavMesh・A*・フローフィールドで200体のAIエージェントを詰まらせない経路探索
200体のエージェントが押し寄せる攻城シーンで経路探索が詰まる理由、NavMeshが黙って嘘をつく場所、そしてA*とフローフィールドを使い分ける境界線がどこにあるのかを、プロファイラの実測値だけを頼りに順を追って整理します。ボトルネックは探索そのものではなく、毎フレームの処理の側にありました。
Dedicated Server アーキテクチャ設計の実践:1コンテナで48人同時接続、コストまで実測
権威型のゲームサーバーをバックエンドから切り離し、マッチメイキングのキューとルーム割り当てを作り直しました。1コンテナで48人を同時に支える構成と、同時接続プレイヤー1人あたりの実コストを、実測値とともにまとめています。リージョン選定とスケーリングの判断基準、そしてリレー方式で十分なケースについても触れます。
キャラクターコントローラが滑っているように感じる理由
プレイヤーがキャラクターコントローラが滑っていると感じるとき、ブレーキ、地面検知、斜面処理、補間という4つの別々のバグを指しています。
ビヘイビアツリーか Utility AI か
どちらも正解になり得ます。決め手は、敵が同時に何個のことを天秤にかけるかです。
Game development CI/CD: why nightly builds change everything
Setting up build automation on a small team took five days; the average lifetime of a broken commit dropped from 2.5 days to 9 hours and release days calmed down.
Publishing a game on Steam: what to do, and when to do it
On my first game I opened the store page three weeks before launch and shipped with 480 wishlists; on the second I built the calendar backwards.
スタジオがゲームプログラマーのポートフォリオで実際に見ているもの
面接する側に座ったこともあります。目を引くポートフォリオにはいくつか共通点があります。
3 件