January 31, 2010
Introduction

I’m a final year student  in Computer Science with Games Development at University of Hull. Back in 2006, when I’ve programmed my first demo game (Titan Explorer, a Descent-clone) it helped me getting a few interviews around some developers in UK. It wasn’t something special but it was enough for demonstrating my programming skills during that period. Almost four years have passed since then and here I’m again. During the next few months I’ll attempt to build a new game, this time far more technically advanced than Titan Explorer. The aim is the same: to demonstrate my programming skills in order to get a job in a games company. Titan Explored was actually my first C++ and my first DirectX game. Since then I’ve been programming a lot of different stuff so I’m coming in with an improved mindset, skills and experience. Most importantly though is the maturity I’ve gained when it comes to planning my code ahead and having the big idea of what I’m going to make and how I’m going to make it.

The decision to make a new game has been taken long ago since Titan Explorer is far outdated for my current level of  programming skills and experience, yet up to this day it’s the only complete game I’ve ever made. I’ve been giving some serious thought on how this new game should be during the past few months and I’ve ended up with a fast-paced room-per-level action-RPG based on the server/client architecture. Fast-paced and action because it has to be pleasant and easy to play. Room-per-level because it lowers significantly the technical difficulty in contrast to a large-scale world. RPG because it gives the opportunity to demonstrate futures and algorithms for character development. It’s also a very popular genre that everybody knows the rules and it’s the main genre in Japan and Korea which is my priority places for getting a job. The server/client architecture because massive multiplayer games are the most popular in Korea, which is the first place I’m job hunting at and every single job in Korean company requires you to have a good understanding of it.

The name “Mesartian” comes from the universe of a storyline that has been slowly maturing in my mind since my early childhood, probably around 1998. It is not particularly important to the game but it helps a lot having an already well though and developed universe that my game will rely on, since I won’t have to think about any storyline and theme details that may take some time from the main focus of the game which is the technical skills demonstration.

The game is going to be written in C++ taking advantage of STL and the Boost library. The engine will be using DirectX and it’s highly improved version of the one used in Titan Explorer. Its rendering functionality will be based on a Functionality-based Hierarchical Scenegraph as I describe it in this paper I’ve published back in 2007. The networking is probably going to be based on the RakNet library although I haven’t ever used this library before and therefore this decision might later change if I have any difficulties.

During the next few months I’m going to use this blog to log my progress and describe the process of the game’s development, including screenshots and explaining the decisions I’ve taken throughout its development timeline. The target is to have functional gameplay till the end of March and for the demo pack to be complete till the end of April this year. These dates are early estimates but I’ve had a good track record when it comes to deadlines and avoiding feature-creep, so I believe that the actual dates could be even earlier than that.

The main design and the mechanics of the game will be explained in another post soon. Mind that I’ll not be logging down actual programming techniques or code, just my progress throughout this project. This is not my final year project at the university; for my final year project I have to develop a PSP game. Although I’m using a similar developing process with this project, taking into account my experience from my previous interviews it’s far more important to have a good game to show-off that a paper or a good mark, so I’ll be giving a lot of attention to getting this game developed timely.