Rogue Bit 🕹

October 31, 2019

I have a peculiar taste in video games. I’ve never been an avid gamer despite owning consoles and building a gaming PC when I was younger. Nontheless, a few games stuck with me even after years without playing them. Portal stood out with whole new concept of “FPS” games to me, introducing “teleport portals” you can shoot with a gun. Kerbal Space Program taught me, not only orbital mechanics, but also to appreciate astrophysics, our solar system, and endurance when facing problems that are really hard to solve.

This weekend I came accross Rogue Bit, a fun little game about computers that introduces concepts of low level programming in a really innovative way. I really admired it because it teaches while also being really fun.

In the game you are a single bit that suddenly becomes sentient. You’re the 7th bit in a byte and you an move around memory slots by XORing with adjecent bytes. You can’t move (XOR) to a byte whose 7th bit is 1 because you’d cease to exist.

While you’re moving around, you’ll encounter mazes and instructions you can interact with by changing its bits. When you XOR yourself with other bytes you’ll inevitably hack programs, either by modifing its instructions or their arguments. You’ll be able to tell programs to compare data registers with unexpected memory slots, and even jump the execution to a whole new instruction set.

Although short, the game is really fun and educational. Since you’re literally playing, the game forces you to learn how to think with a programming and hacking mindset, going through troubleshooting and reverse engineering. If you want to learn about bitwise operations, assembly code and overall low level programming you should definitely play Rogue Bit. The game is available on Steam, Nintendo Switch and for PC and macOS.

I have the feeling this will enter my short list of games that stand out through the years.

Rendering enums in SwiftUI

Enums are an excellent way to leverage Swift's value-types and immutability principles for handling states. Imagine you have a view that …… Continue reading

Using native and non-native animations together

Published on November 11, 2019

The Art of Coding

Published on September 26, 2019