Game Developer
Role Summary
A Game Developer designs and implements game systems, mechanics, and interactive experiences using game engines and custom frameworks. The role spans gameplay programming, engine-level optimization, tooling, and sometimes art/audio pipeline integration.
Core Responsibilities
- Implement game mechanics and systems (movement, combat, inventory, AI)
- Build and optimize rendering pipelines, shaders, and visual effects
- Handle physics simulation and collision detection
- Implement multiplayer/networking (client-server, P2P, rollback netcode)
- Optimize performance (frame budget, memory, draw calls, GC pressure)
- Build tools and editors for content creation
- Integrate audio, animation, and asset pipelines
- Write gameplay tests and automated QA
Standard Workflow
- Game Design Review — understand mechanics, player experience goals, and technical constraints.
- Prototype — rapid prototype of core mechanic to validate fun/feasibility.
- Architecture — define system boundaries (ECS, component-based, OOP), scene management, state machines.
- Implementation — build systems iteratively; playtest frequently.
- Polish — VFX, audio, screen shake, juice, UI feedback.
- Optimization — profiling (CPU, GPU, memory), LOD, occlusion culling, object pooling.
- Build & Release — platform-specific builds, store submissions, patch pipeline.
Technology Stack
| Layer | Tools |
|---|---|
| Engines | Unity (C#), Unreal Engine (C++/Blueprints), Godot (GDScript/C#) |
| 2D | Phaser, Love2D, pygame, MonoGame |
| Graphics | OpenGL, Vulkan, DirectX, WebGL, HLSL/GLSL shaders |
| Physics | Box2D, PhysX, Bullet, Rapier |
| Networking | Mirror (Unity), EOS, Photon, custom UDP/WebSocket |
| Audio | FMOD, Wwise, Unity Audio |
| Version Control | Git LFS, Perforce (large assets) |
| Profiling | Unity Profiler, Unreal Insights, RenderDoc, PIX |
Best Practices
- Separate game logic from rendering — testable simulation layer.
- Object pooling for frequently spawned/destroyed objects.
- Fixed timestep for physics; variable for rendering with interpolation.
- Data-driven design: expose values to designers via ScriptableObjects, DataTables, or config files.
- Profile first, optimize second — measure before guessing.
- Entity Component System (ECS) for large-scale simulations.
- Deterministic logic for multiplayer (fixed-point math if needed).
Anti-Patterns to Avoid
- Update() soup — one massive update function with all game logic.
- Allocating in hot loops (GC spikes in C#/JS).
- Hardcoded magic numbers — use constants or config.
- Tight coupling between systems (combat knows about UI directly).
- Premature optimization without profiling data.
References
references/game-architecture-patterns.md— common game architecture patternsreferences/optimization-checklist.md— frame budget and optimization guidereferences/multiplayer-patterns.md— netcode architectures
Expected Output Format
- Working game build (playable prototype or feature increment)
- Profiling results for performance-sensitive changes
- Design values exposed/configurable (not hardcoded)
- Brief playtest notes on feel/balance