One of my pet hates is trying to solve problems in other peoples code.

A long time ago, not far from here I unpacked my first Spectrum. I marvelled over the space age design but little did I know this would change my life for the next 15 years. In the evenings after work I sat programming my first game 3D Space Wars. A simple space shooter, its revolutionary feature was a point of view 3d looking display.Well that was 32 years ago. I want to see what I can do on a modern platform. I want to write a game that has gameplay at it heart, so it plays like a retro game but uses up to date technology. I want it to run on any reasonably modern machine, not just high end games machines with the latest graphics cards. I also want to program it all by myself, like we did in the old days. That is perhaps the biggest challenge. Modern games have huge teams of developers including artists , programmers and sound engineers. I have just my ingenuity and skills honed over the last 32 years. This time there is more than 16k of ram and the scale and graphics will have to stand along side the latest games. In this blog I shall describe the trials and tribulations of the development process: one mans battle against the intricacies of Direct X and Visual C. The first parts will be retrospective, taken from my written diaries as I struggled to build a game engine. Then I shall chronicle the actual progress of my toils showing the failures and the successes.I shall try to show the thought processes that go into the creation of a game. I know 2 ways to create a bad game. The first is to just program and trust to luck that it will all work out. The other is to try to design the whole thing first without trying it out. The way to a really good game is an elusive path between these extremes. Some ideas will work some will not. The flexibility to be able to change the design as it matures is a key requirement of the game engine. People say to me I should use a game engine such as Unity but that seems to be defeating my prime objective of doing it myself. One of my pet hates is trying to solve problems in other peoples code. Having to work with Direct X is bad enough. I use as thin a layer as I can manage with, who knows I may want to implement an OpenGL interface to the engine one day.Starting with the game engine design is also a good way to put off nailing down the actual game design so it has time to mature in my head. I like to go to that place halfway between awake and sleep where you can manipulate your dreams like a movie director. Its a great way to test designs and who knows if you fall asleep you may dream of a fabulous new idea. That's how I thought of 3d Seiddab Attack. I dreamt I saw this game at a show that everyone was marvelling over. I was standing there thinking "I wish I had thought of that" then I woke up and thought " I did think of that".You can also send your feedback to me via twitter : @ t2_steve