When I first finished my novel and was looking for publishing options, a dear friend gave me the idea of writing a few short stories revolving the main characters first, mainly for publicity reasons. I found this idea very useful in that I’d also be able to get feedback from my friends, without putting them through the hassle of reading a long (perhaps tedious) novel from a first-time author.
This short story is about one of my characters, and the language, setting, and point-of-view are the same as those used in the main story:

Mirza Ghasemi

Cooking is one of those things that is in the heart of the Iranian culture. From our shiny steam-cooked rice to our delicately and painstakingly prepared sauces, are things we can never let go of. When I traveled abroad, one of the main things I missed was Iranian cuisine. This urged me to learn how to cook. At first I thought the passion for this cuisine is only in our blood. But once I began cooking for my non-Iranian friends, I realized that the taste of Iranian food goes beyond our boundaries.


A few days ago I made a northern Iranian dish called Mirza Ghasemi for a friend of mine. They were psyched, and immediately asked for the recipe, so they can cook for their colleagues. When I finished writing the recipe in English, I thought it could be a good idea not only to share it with my friend, but with whoever else who might want to try it. Hence I decided to add a section to my long-abandoned blog for Iranian cuisine.

Continue reading

Day 25: Sprite as an Entity

By now we have the foundation we need to implement our entity-based framework. Today we are going to go through an example of how we can adapt our previous logic to this system. We begin with sprites not only because they constitute one of the key components of Artenus, but also because they are entities that have most of the behaviors we discussed on day 24. What we do today is then basically defining Sprite as a combination of these behaviors rather than a simple object.

Continue reading

Day 24: Entity Behaviors

Last day we introduced entities. Our implementation for them was extremely general and simple: they had only attach and detach methods. If we want to adapt them to the different scenarios they are meant for, we need another mechanism. In some game engines, this mechanism is called “attachments”. For example, each entity can have a motion attachment, a physics attachment, and so on. In Artenus, we take a different approach, and handle different use cases of entities through behaviors. A behavior is a declaration of a feature or a set of functions an entity supports.

Continue reading

Day 23: Sprites vs Entities

After a relatively long break, we now start the fourth part of the tutorial series! What we designed over the past 3 parts was a simple graphics framework. However, as we all know, there is more to games than graphics. Other elements of games include physics, controls, etc. Today, we discuss a framework that can accommodate all these features.

Continue reading