Skip to main content

Lessons Learnt

Journal Category



Well, it's been over 12 months since I last had a crack at a demo. I fell on my sword with my last attempt due to the fact that I was trying to do everything in one go, e.g. create the tech as I needed it.
Anyway, it's been 12 months since I last did anything for myself so I thought I'd give it another go. Basically I want to do this for 2 main reasons:
1. I think I have an awesome idea for a game and I want to be able to show the mechanics of it off (graphically it may suck :P )
2. To learn more about the underlying structure of game and improve my programming abilities.

Anyway, I have no screen shots at the moment or any design down on paper, but there will be more to follow.

Well, for the last little while I have been getting to grips with some areas that I have not previously had much experience with. Mainly XML, .dae, and writing my own binary file format.

I very much like knowing what everything does and this is why I think I chose to write my own engine and supported file format. Though most of this is still in it’s very early stage, I can now start using to code I have to write a game that has 3d model in it.

Some things that I have really learnt from mucking around with binary files, when writing out the binary file make sure that it is correct or else you can spend a LOT of time at the other end trying to figure out why what your reading in is wrong. Also, if your going to write a binary file, make sure you have specified succinctly what the format is and make sure it work before you implement it.

Since the last update, I've made a lot of changes to the way the Engine and the game works. I've implemented a shader system that will hopefully enable me to easily add more shaders as required. Like the post on (…), the shaders work by selecting the one you want (I've just defined an enum to choose from), then passing the required information through via a struct. The shader then pulls the data it need out of this struct and renders the stream. This works really well when put together with a scene manager that define basic types (Mesh node, line node, etc).

At the moment, I'm working on implementing the AI for the fleet, and then the ships. Image 6 shows that I've got some basic states for the fleets, but they are not really doing anything.

I've been really lazy with this project recently so today was the perfect opportunity to get some work done on it. At the moment I'm just trying to make it look a bit better since I have the basics for the AI. The shader system is working, but I think it will need a bit more research as it seems that every time I want to do something different I have to rewrite a shader only changing a few lines.