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.

06/01/10
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.

04/03/10
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 GameDev.net (http://www.gamedev.net/community/forums/topic.asp?topic_id=169710&PageSi...), 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.

28/05/10
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.