Christoph Nakazawa - How Not to Build a Video Game, React Summit 2023

Learn how to avoid common pitfalls in game development from Christoph Nakazawa's personal experience of building reMDX, a game built using React and MDX, while discussing performance optimization, functional programming, and more.

Key takeaways
  • Don’t start building a game until you have a performance problem: Christoph Nakazawa learned this the hard way, starting his game project a year and a half ago without having a plan to handle performance issues.
  • Use an FPS meter: Measure your game’s performance using an FPS meter to identify areas that need optimization.
  • Benchmark early and often: Benchmark your game early on to identify performance issues before they become major problems.
  • Functional programming can be effective: Nakazawa uses functional programming in his game to improve performance.
  • Separate concerns using React: Use React components to separate concerns and make your game easier to maintain and debug.
  • Use immutable data structures: Immutable data structures can help improve performance and make your code more predictable.
  • Open-source your project: Nakazawa open-sourced his game project, reMDX, to allow others to contribute and learn from it.
  • Test thoroughly: Test your game thoroughly to identify and fix issues before they become major problems.
  • Use CSS variables: Use CSS variables to define and reuse colors and layouts in your game.
  • Use MDX: Nakazawa uses MDX, a fork of React, to build his game.
  • Don’t trust someone else’s open-source project: Even with open-source code, you should still test and verify its functionality before using it in your own project.
  • Don’t start building a game without a plan: Nakazawa’s experience shows the importance of having a plan before starting a game project.