Mario Odyssey Summary Post

[Early Draft. This is just my notes while playing the game. Because I love this game, I will have real posts for this later. Follow me to get notified.] Super Mario Odyssey is outstanding! Notable things I thought at the end: The many different ways to complete objectives for low vs high skilled players. The …

How to Keep Players in Their Flow Channel

When we create games, our goal is to create an experience enjoyable enough that it holds the player’s focus as long and as intensely as possible. When something captures our complete attention and imagination for an extended period, we enter an exciting mental state. The rest of the world seems to fall away, and we …

How Final Fantasy X uses layers of challenge to keep players immersed in gameplay

Final Fantasy X (FFX)  is a turn-based RPG originally released by Squaresoft in 2001 for Playstation 2 and remastered on PS3, PS4, and PC. While not a perfect game, FFX follows several good game design practices that keep players enjoying the game even 16 years later. One good practice is the use of challenge layering …

Prefer Composition over Implementation Inheritance

In a previous post, we learned implementation inheritance should be avoided. But, what can we do instead? Composition to the Rescue We want to be able to share code while allowing us to switch out different functionalities on the fly keeping us extensible. Without inheritance, what could we do to share code? Let’s use composition! …

Implementation Inheritance Is Evil

Inheritance is an Object-Oriented Programming concept near and dear to my heart. Early on I recognized it as a godsend to programmers. Over time, I found myself realizing its destructive nature in my projects. In programs where I began to crave extensibility, I noticed that inheritance started limiting me to due to its tightly coupled …

My Favorite Books About Coding

Even with the internet around, books are great resources for learning about coding. Here are books I recommend. Clean Code I love Clean Code. It has so many small little tidbits that make code easier to read and maintain. Anyone who does any coding NEEDS to at least skim this book! My favorite tip: always …