pc-games
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChinesePC/Console Game Development
PC/主机游戏开发
Engine selection and platform-specific principles.
引擎选择与平台专属原则。
1. Engine Selection
1. 引擎选择
Decision Tree
决策树
What are you building?
│
├── 2D Game
│ ├── Open source important? → Godot
│ └── Large team/assets? → Unity
│
├── 3D Game
│ ├── AAA visual quality? → Unreal
│ ├── Cross-platform priority? → Unity
│ └── Indie/open source? → Godot 4
│
└── Specific Needs
├── DOTS performance? → Unity
├── Nanite/Lumen? → Unreal
└── Lightweight? → GodotWhat are you building?
│
├── 2D Game
│ ├── Open source important? → Godot
│ └── Large team/assets? → Unity
│
├── 3D Game
│ ├── AAA visual quality? → Unreal
│ ├── Cross-platform priority? → Unity
│ └── Indie/open source? → Godot 4
│
└── Specific Needs
├── DOTS performance? → Unity
├── Nanite/Lumen? → Unreal
└── Lightweight? → GodotComparison
对比
| Factor | Unity 6 | Godot 4 | Unreal 5 |
|---|---|---|---|
| 2D | Good | Excellent | Limited |
| 3D | Good | Good | Excellent |
| Learning | Medium | Easy | Hard |
| Cost | Revenue share | Free | 5% after $1M |
| Team | Any | Solo-Medium | Medium-Large |
| 因素 | Unity 6 | Godot 4 | Unreal 5 |
|---|---|---|---|
| 2D | 良好 | 优秀 | 有限 |
| 3D | 良好 | 良好 | 优秀 |
| 学习难度 | 中等 | 简单 | 困难 |
| 成本 | 营收分成 | 免费 | 营收超100万美元后抽成5% |
| 团队规模适配 | 任意规模 | 单人-中型团队 | 中型-大型团队 |
2. Platform Features
2. 平台特性
Steam Integration
Steam集成
| Feature | Purpose |
|---|---|
| Achievements | Player goals |
| Cloud Saves | Cross-device progress |
| Leaderboards | Competition |
| Workshop | User mods |
| Rich Presence | Show in-game status |
| 功能 | 用途 |
|---|---|
| 成就系统 | 激励玩家达成目标 |
| 云存档 | 跨设备进度同步 |
| 排行榜 | 促进玩家竞技 |
| 创意工坊 | 支持用户模组 |
| 丰富状态展示 | 显示游戏内状态 |
Console Requirements
主机平台要求
| Platform | Certification |
|---|---|
| PlayStation | TRC compliance |
| Xbox | XR compliance |
| Nintendo | Lotcheck |
| 平台 | 认证标准 |
|---|---|
| PlayStation | TRC合规 |
| Xbox | XR合规 |
| Nintendo | Lotcheck |
3. Controller Support
3. 控制器支持
Input Abstraction
输入抽象
Map ACTIONS, not buttons:
- "confirm" → A (Xbox), Cross (PS), B (Nintendo)
- "cancel" → B (Xbox), Circle (PS), A (Nintendo)Map ACTIONS, not buttons:
- "confirm" → A (Xbox), Cross (PS), B (Nintendo)
- "cancel" → B (Xbox), Circle (PS), A (Nintendo)Haptic Feedback
触觉反馈
| Intensity | Use |
|---|---|
| Light | UI feedback |
| Medium | Impacts |
| Heavy | Major events |
| 强度 | 适用场景 |
|---|---|
| 轻度 | UI反馈 |
| 中度 | 碰撞反馈 |
| 重度 | 重大事件反馈 |
4. Performance Optimization
4. 性能优化
Profiling First
先做性能分析
| Engine | Tool |
|---|---|
| Unity | Profiler Window |
| Godot | Debugger → Profiler |
| Unreal | Unreal Insights |
| 引擎 | 工具 |
|---|---|
| Unity | Profiler Window |
| Godot | Debugger → Profiler |
| Unreal | Unreal Insights |
Common Bottlenecks
常见性能瓶颈
| Bottleneck | Solution |
|---|---|
| Draw calls | Batching, atlases |
| GC spikes | Object pooling |
| Physics | Simpler colliders |
| Shaders | LOD shaders |
| 瓶颈 | 解决方案 |
|---|---|
| 绘制调用 | 批处理、图集 |
| GC峰值 | 对象池 |
| 物理运算 | 简化碰撞体 |
| 着色器 | LOD着色器 |
5. Engine-Specific Principles
5. 引擎专属原则
Unity 6
Unity 6
- DOTS for performance-critical systems
- Burst compiler for hot paths
- Addressables for asset streaming
- 针对性能关键系统使用DOTS
- 对热点路径使用Burst编译器
- 使用Addressables进行资源流加载
Godot 4
Godot 4
- GDScript for rapid iteration
- C# for complex logic
- Signals for decoupling
- 使用GDScript实现快速迭代
- 使用C#处理复杂逻辑
- 使用Signals实现解耦
Unreal 5
Unreal 5
- Blueprint for designers
- C++ for performance
- Nanite for high-poly environments
- Lumen for dynamic lighting
- 为设计师使用Blueprint
- 为性能需求使用C++
- 使用Nanite处理高多边形环境
- 使用Lumen实现动态光照
6. Anti-Patterns
6. 反模式
| ❌ Don't | ✅ Do |
|---|---|
| Choose engine by hype | Choose by project needs |
| Ignore platform guidelines | Study certification requirements |
| Hardcode input buttons | Abstract to actions |
| Skip profiling | Profile early and often |
Remember: Engine is a tool. Master the principles, then adapt to any engine.
| ❌ 不要做 | ✅ 应该做 |
|---|---|
| 跟风选择引擎 | 根据项目需求选择 |
| 忽略平台规范 | 研究认证要求 |
| 硬编码输入按钮 | 抽象为动作 |
| 跳过性能分析 | 尽早并频繁进行性能分析 |
谨记: 引擎只是工具。掌握核心原则,就能适配任何引擎。