Playing Video Games One Frame at a Time - Ólafur Waage - NDC Sydney 2024

Discover the art of playing video games one frame at a time, exploring techniques like template matching, Coyote Time, and more to automate gameplay and create a deeper understanding of game mechanics.

Key takeaways
  • Playing video games one frame at a time allows for a deeper understanding of the game’s mechanics and can be a fun and educational experience.
  • The speaker shares their own experience playing a game called Doom, where they used a technique called “template matching” to automate the gameplay.
  • The talk is not about programming games, but about playing games programmatically, which can be a fun and educational experience.
  • The speaker emphasizes the importance of understanding the game’s mechanics and how they are implemented in the game’s source code.
  • The talk is also about the concept of “Coyote Time” in games, which allows for a certain amount of flexibility in the gameplay.
  • The speaker provides an example of how they used a tool called “bmbhook” to automate the gameplay of a game called Bejeweled.
  • The talk is also about the importance of understanding the game’s code and how it can be used to create a game or program.
  • The speaker emphasizes the importance of being prepared and having a good understanding of the game’s mechanics before attempting to play it programmatically.
  • The talk is also about the concept of “approval testing” in games, which involves checking the game’s output for correctness.
  • The speaker provides an example of how they used approval testing to check the game’s output.
  • The talk is also about the importance of understanding the game’s hardware and how it can affect the gameplay.
  • The speaker emphasizes the importance of being mindful of the game’s hardware and how it can impact the gameplay.
  • The talk is also about the concept of “hat hacking” in games, which involves using the game’s hardware to hack or mod the game.
  • The speaker provides an example of how they used hat hacking to modify a game called Doom.
  • The talk is also about the importance of understanding the game’s community and how it can be a great resource for learning and improving.
  • The speaker emphasizes the importance of being part of a game’s community and how it can help you learn and grow as a programmer.
  • The talk is also about the concept of “open-source hacking” in games, which involves modifying the game’s source code to create a new game or program.
  • The speaker provides an example of how they used open-source hacking to create a new game called “Play the Game”.