About

Goals Link to heading

  • Play a bunch of old video games
  • Get better at programming
  • Learn about game development
  • Produce something other people can enjoy
  • World domination

Methodology Link to heading

Plan Link to heading

  1. Examine various examples of video games throughout history chronologically.
  2. When I find a game which has some interesting attribute, such as introducing a game mechanic for the first time, either create a “clone” of that game or implement that attribute in a game I’ve already made.
  3. Update this website with any interesting information I find and any games I create.

How Accurately To Reproduce Games Link to heading

Where do I want to fall on the scale from “write a game in archaic assembly that could run on original hardware from the time period” to “use a modern game engine to make something losely inspired by the old game’s basic concept but in 3d with modern graphics”? I think I will lose interest in the project if I’m too far to either extreme. Mostly I’m just going with what “feels right” to me. I like the retro aesthetic so I will probably make my games to run at the same resolution as the original and stick to limited color palettes. However I am not planning on sticking to old limitations around memory usage, how many sprites can be displayed at the same time, or trying to duplicate slowdown.

Which Games Will Be Covered Link to heading

I don’t have any strict rules on this beyond going in roughly chronological order, however here are some rough guidelines I’m following:

  • Since I’m writing a 2d game engine I will be sticking to 2d games. I consider games like Space Harrier to be 3d.
  • I am planning on ignoring multiplayer focused games. This is because I would have a hard time testing them by myself. Also programming networked gameplay for realtime games is hard.
  • I am planning on ignoring genres I don’t like. Don’t expect to see many sports or racing games.
  • I am far more likely to cover games I enjoy or have nostalgia for.

Why is the name “Infinite Yak”? Link to heading

It is a reference to Yak Shaving which is “Any apparently useless activity which, by allowing you to overcome intermediate difficulties, allows you to solve a larger problem.” Basically I felt like I needed some structure to my hobbies, so I’ve created this essentially endless project to give myself some direction. While you could interpret the goal of the project to be “recreate every video game ever” the real value of it is self improvement and the fun I have along the way. Unless I end up selling out, in that case the real value is cold hard cash (this is very unlikely).

How are you making the games? Link to heading

Currently the games are written in Go using ebitengine and various other packages/frameworks/libraries which are likely to change from game to game.