Moving to Zig


It has been half a year since I last made a commit on Reckless Drivin’. This is mostly due to being busy with school, but I have also reached a point in the reimplementation where I need to decide how to draw to the screen. I see two options:

When making a CHIP-8 interpreter I used SDL surfaces, so I am familiar with the basics. The original Reckless Drivin’ game drew to the screen in similar ways, and that was on 2000’s hardware, so there isn’t any performance penalty for doing it this way. However, I would like to learn OpenGL (even if I am only drawing 2D sprites), so I am leaning toward this route.

This time away from the project has also led me to think about a full rewrite in Zig, rather than porting the original C source. Since learning it last summer I have been using Zig for more and more of my projects. I really enjoy the language, and that it addresses many of the downsides of C while still staying simple.

Here are some of the benefits I see for moving to Zig:

Downsides:

After considering the above points for some time, I have decided to rewrite in Zig!1 While this does mean Open Reckless Drivin’ will be farther removed from the original source from Jonas, I think this is the best option.

So why am I writing this? At this point, I don’t think many (or any) people are following my blog or project closely.2 But working in public motivates me to stick to my goals, which now include rewriting Open Reckless Drivin’ in Zig starting today! Here is the plan:

I am excited to see where this goes!


  1. Seems similar to rewrite it in Rust, so I named my branch riiz for rewrite it in Zig!↩︎︎

  2. If you are, awesome! Feel free to say hi!↩︎︎