Engine - FrankNine/franknine.github.io GitHub Wiki
引擎
Ubisoft
Anvil
Snowdrop
- Snowcap: GPU Profiling Using Machine Learning | Al and Games #83
- 訓練模型估計 Editor 上的場景在機器上的效率
- 18K parameters, 80 KB, 3.3% ~ 4% Error rate
Remedy Northlight
IO Glacier
Stingray / Our Machinery
Unreal
- Unreal Engine powers Marvel Rivals to create a new multiverse of Marvel Heroes
- On ABZÛ we ripped out multiplayer and lots of other cruft from AActor and UPrimitiveComponent
- The Technical Journey of Clair Obscur: Expedition 33 | Unreal Fest Stockholm 2025
- 95% Blueprint
- 基本 Unreal 遊戲架構
- 『鳴潮』におけるレイトレーシング――光で描くアニメ風オープンワールド | Unreal Fest Tokyo 2025
- 「ライブアライブ」28年前の作品をHD-2Dで蘇らせる挑戦 | UNREAL FEST WEST ’22
- GPU Profiling in Unreal Engine 5.7 for "Far Far West"
- Complete Game Optimization for Unreal Engine 5
Godot
SimCity GlassBox
- SimCity Insider's Look GlassBox Game Engine Introduction
- SimCity GlassBox Game Engine Scenario 1: The Economic Engine
- SimCity GlassBox Game Engine Scenario 2: The Water System
- SimCity GlassBox Game Engine - Scenario 3: Fire
自製
- Tyler Glaiel - Open Source libraries I use in my game engine and really like a lot
- flibit_unreal_unity
- Casey Muratori
- Mike Acton
- Making Video Games in 2025 (without an engine)
- INSTRUCTOBOTS reveal! // Nic Barker and Anton Mikhailov (Handmade Network Expo 2026)
WASM
Conference
架構
Timestep
- Fix Your Timestep!
- How to make your game run at 60fps
- DeltaTime is a frame behind
- Fixing Time.deltaTime in Unity 2020.2 for smoother gameplay: What did it take?
- The Elusive Frame Timing
- Smash Ultimate Input Lag Analysis (Button2Pixel)
FPS
Unity 50Hz Fixed Update vs 60Hz Camera Update
- The Unity Engine's 50Hz Physics Problem Strikes Again!
- Timesteps and Achieving Smooth Motion in Unity
- Rigidbody.interpolation
Culling
Allocator
Arena
- Untangling Lifetimes: The Arena Allocator
- Enter The Arena (Talk)
- Memory Arenas, Explained Simply
- John Lakos “Local ('Arena') Memory Allocators
Data-Oriented
- CppCon 2014: Mike Acton "Data-Oriented Design and C++"
- 程式就只是 Transform 資料的工具,工程師得職責是確保資料正確變換
- 三大謊言(對 C++ 風氣的批評)
- 軟體是平台
- 硬體才是,不同硬體有不同限制需要不同解法
- 程式要圍繞現實世界建模
- 程式比資料重要
- 軟體是平台
- Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)
- Use indexes instead of pointers
- Store booleans out of band
- Eliminate padding with Struct-of-Arrays (Zig MultiArrayList)
- Store sparse data in hash maps
- Use "encoding" instead of OOP/Polymorphism
- Padding 與 Size 算數,減少資料大小獲取速度提升
- Building An Object System: Features, Tradeoffs, and Pitfalls
- Intro to Data Oriented Design for Games
- Swap back array
ECS
- The First Entity Component System - An Interview with Marc LeBlanc
- Column major, array of component that can be indexed by entity ID
- 沒有強調 DoD
- 1-1 Link
- Thoughts on ECS
- Sebastian Aaltonen
- Entity Component System FAQ
- 云风
- Archetypal ECS Considered Harmful?
- 增減 Component 會需要在 Archetype 間搬移資料,Invalidate handle,造成複雜性
- 有些東西比 DoD 還快,像是 Spatial Partitioning Data Structure
Fat Struct / Handle over Pointer
- Avoiding Modern C++ | Anton Mikhailov
- Fat Structs with Anton
- Handles are the better pointers
- 外界只能傳 Handle ID,Pointer base 只有 System 知道
- Generation check