I just wanted to say “Thank you” to all of my readers! I got a lot of feedback, and some of the articles were the initial impulse for some people to rethink about their code and try different approaches.
I also received the second transaction from Leanpub this week, which makes about $100 in total! I’m really thankful – even though the articles are available online for free, the fact that people still purchase/donate makes me really happy.
I’m already thinking about some fresh topics to write about. In case you’ve got something interesting (and not specific to your project), leave a comment.
This article is about a topic that is one of the pillars of writing good code: Error reporting. It is what a programmer does when he or she thinks that there’s something wrong which should not go wrong. And because professional programmers want to know when something goes wrong, it’s incredible important to do error reporting right.
There’s a common problem in software design that doesn’t only exist in game development called code dependencies. In a project, small or big, every developer comes to the point where several modules depend on each other: The GUI renderer depends on the health points and inventory, the inventory depends on the object pool and player state, the rendering engine depends on the object pool, textures, geometry, and much more.
One goal of object-oriented programming is to write modular (thus flexible) source code, and one of the biggest rules is to keep dependencies low. This article will talk about a system that implements a message bus with fire-and-forget behavior, with the main target being eliminating dependencies in the sources.