Category: Personal


So during a conversation with some colleagues the topic of RobotWars came up. Not the ones in real life though, but virtualized. As in, you program the behaviour of your own robot and then you compete with other programmers (or your own robots). I have never heard of programming games like this (I know of logo, or turtle) so I had to start reading up on them and there are dozens at least. I think just the idea of this is awesome. So I have been digging through them and a lot of them seem to be built around their own scripting language which may be faster to get going with, I liked the idea of a RobotWars clone that used a full commercial language which includes all the language’s bells and whistles. So far the only one I have found that does is called RealTimeBattle. Check it out at :

http://realtimebattle.sourceforge.net/

Unfortunately the latest source code available for download did not build. As it turns out the project hasn’t been updated since 2005 and the C/C++ compilers and their standards have changed somewhat since then. Most of it has to deal with string handling, plus I found patch lying around that was published around from 2006 that was necessary to get the source to compile. I am a bit surprised that there is no backwards compatibility with regards to string handling but until I look into why the APIs have been changed the way they have, I shall assume that the gurus managing the C/C++ standard have good reason for refactoring the way they did.

If I can get in touch with the original RTB programmers, I will try get my patched version added onto sourceforge. In the meantime here is a download link just in case I can’t get the sourceforge version updated :

RealTimeBattle 1.0.8 Revised

Just as a caution, I did not take time to optimize my changes, such as the use of namespaces which may not be necessary. Feel free to optimize yourself.

Ciao 🙂

So it has been a dang long time since I last posted anything… In short, a job change happened and it has been a steep learning curve with a large change to the industry I work for. I have moved from Business Systems software to telecommunications with VOIP. Despite the stressful move I have learned about some awesome tech and am getting into some advanced software which I am looking forward to getting involved with. Although I will probably be most heavily involved with Java work, I do get a fair amount of exposure to the C written PBX and hopefully some C++ for some of the smaller utilities used which are languages of interest for me personally.

Part of the learning curve has been using Linux which I started off with simply by using it in a VM, but I recently ditched the VM and moved to Linux Mint 13 as my main OS. All that aside, once I get a firmer grasp of VOIP and its related tech, I will hopefully be able to blog a little on some of the lower details involved.

Anyway, just wanted to put up a brief status update,

Ciao 🙂

My story continues…

So we finally had a lot of the ground work behind us in terms of admin but we had only made a few of the design decisions, mainly that it would be a 2D top-down shooter. In terms of content, details, and platform, we were still fairly unsure. Now from what I’ve seen, a lot of people frown upon using other games as derivatives for ideas and inspiration. But the truth is that is exactly how we came about our core game play and its mechanics. Most of us had followed or played Crimson Land while some of us had also played some tower defense games from DoTA to web/flash games. So after discussions based on these two denominators, we decided to make a hybrid shooter/tower defense game.

Another important aspect to the design process was the target platform, which is something we still debate to date. We ended up deciding to focus on Xbox360 as our main platform simply because we mainly visualized Zita Asteria (ZA) being played by a bunch of friends having a braai (barbecue for the internationals reading this) with a good beer or two playing a game for some good team work on a ferocious shooter. So a group of friends playing a team based shooter was an important facet which the console catered more for, and Xbox 360 was obviously easier to develop for considering our experience and base framework was already written using the XNA SDK.

Those decisions behind us, we started throwing together a list of features, functions and aspects that we wanted to put together that would be complimentary to the “group of friends” concept. Without giving away too much, we came up with some ideas and weapons that worked on the team play idealism. In hind sight, this was probably one of the largest scope creep propagators. Just from what I’ve seen from other game developers though, scope creep is a regular part of any creative work. Another point of debate was the name, which at the time was still “Pilot Project”. We eventually set up a poll on our project website to vote for various names that we had brain stormed. Ironically the name we ended up voting for was taken after doing some research, and we ended up with the name Zita Asteria, not even in our original poll but we were pushed for time before giving a basic demo to the local IGDA group. Simply a derivative and play on Greek words meaning “Searching the Stars” if I remember correctly.

So with the development underway, our simple “2D” top down arcade shooter had begun building up momentum at least amongst the team as well as with some of the friends and family we had told about our little project. Enjoying the work and getting into the game concept, we continued to grow the scope and change/add features to best suit the game. One of the largest initial changes which we didn’t plan for was a 3D terrain engine. You read that right, 3D, with 2D sprites rendered over the terrain. When I first saw the guys developing the terrain engine propose the idea, I loved it. It gave the game a sense of quality and depth (yes I just said that) that I really liked. I had little to no idea at the time how this would affect the scope and design. Bear in mind this was supposed to be an after-hours project that would be simple and relatively quick to put together(3-6 months). To be honest, despite the amount of extra work that the 3D terrain decision caused, I don’t regret it. The level and quality that we could step up to would not have been possible in a purely 2D, sprite based world. The process of refactoring design and code became periodic and habitual eventually, but my own experience in business systems has shown me this is a fact of software development, not only game development.

The next leg in ZA’s development brought us to a more competitive point in the project’s development…… but you’ll have to wait for the next post to find out J

( I promise to try put in some legacy screen shots if I can find them J )

I thought it would be a good idea to post my thoughts on the first year of working on Zita Asteria. Next month (Oct 2011) will be a year since the original team came together to discuss and eventually develop the arcade shooter we now call Zita Asteria. I’ll try to continue posting episodes into the future regarding my experience. This first episode though I will break up into parts to cover the first year.

Just as a bit of background… I was originally looking for computer graphics and game programming courses in early 2010. I eventually found AD Courses which at the time did an introductory and intermediate course in game programming in XNA. It was here that I met my future team mates for Zita Asteria.

A number of us were very new to the area of game/graphics development while some of us at least had some experience in business systems development. Although I myself had tinkered with Ogre3D and OpenGL at least a little, my knowledge of the area was weak at best. With this in mind we started discussing the possibility of trying to develop a fully playable game and release it to the world. With all of us being gamers, there was a great number of ideas in terms of game concepts. So we decided to give it a try. Let’s face it, creating a new world is exciting. So in late October we started brainstorming ideas on a game we would all enjoy making, and eventually playing. With a total of seven people on the team all with varying skills, we had fair resources for a hobbyist indie group. With that said we were mostly programmers, not artists (I can hear your eyes rolling). We had one artist in the group as well as one of the coders with some experience working with sprites and basic 3D models. But that was pretty much it. Some of the challenges we encountered around content creation I will discuss a little later.

After our original meetings around game ideas, we had decided to go with an arcade shooter. It was only a few weeks later that we decided to go with a top down perspective, despite having a basic framework for a side-scroller already. The other major design decision that was made early on was to make the game 2D to try keep content creation as well as the game framework as simple as possible.

Our next step was to try set up a process to use our resources productively without stepping on each other’s toes. Bear in mind that we didn’t technically have a project manager although some of our industrial experience did include it. This brought us to our next major decision… roles for each of us to give us a field of responsibility. To name a few of the roles, Level Lord, Graphics Guru, Effects Ninja, Marketing Maiden, Traffic Controller. As cheesy as they may sound, they did give us some boundaries to work towards.

Although as we later learned, specializing roles in a team this small is not completely practical. It’s amazing how many different facets there are to making a game from start to finish, which requires more of a Jack-Of-All-Trade skill set to get through all the items on a To-Do list. With that said, having these boundaries did give us a primary area of responsibility while other miscellaneous areas could be secondary.

Up to this point we had laid some of the ground work for our project but we still needed to make some crucial decisions, such as what the game idea was going to be on. But this is where I’m going to stop my story for now. That is year 1 part 1 of my story Zita Asteria thus far.

Stay tuned for the next part…

Hi All

Just an update regarding the odds and ends that I have been working on:

– Numerical Methods 2 : Solving systems of equations

This is a nice simple implementation of gaussian methods for solving matrices. I still need to test this algorithm and its implementation thoroughly though.

– Particle Systems : A Simple Demo

A basic standalone particle system done in XNA using DPSF as a framework with a focus on tweaking the particle system itself. This is still a work in progress.

– Projectile Motion Demo

A simplistic 2D demo that I would like to use as a test bed for testing and experimenting with trajectories.

I have also started a basic game in DirectX with a very simple concept in mind. This is largely still on the drawing board though and is a means for me to dig into DX more thoroughly.

As I am working on these items I am also finishing up Zita Asteria and as such these projects have had to take a lower priority. But we are probably in the last quarter of our release schedule(hopefully). We are also however finding that the last 20% of a project really is 80% of the work.

I just felt a quick update was in order. I’ll do my best to get a project or two out before my exams start in November.

Ciao 😀