I’m experimenting with an idea for the movement of the missiles in CIC. Rather than having the missiles move independently using their speed and direction I’m pre-calculating the missile paths. The missiles still use the movement under constant acceleration equations (suvat) to have correct movement speeds, however my new approach comes with a lot of advantages over simply calculating the new position based on the old one each frame. These advantages are:
I had a couple of extra hours last night to code and decided it was time to start implementing the Network System for CIC using RakNet. I’m pleased to say that RakNet is everything I had hoped it would be. It took about 15 minutes to get my client and server implemented and connected to each other. The tutorials are helpful and any problem I ran into I solved quite quickly. The only substantial issue I had was my first message I passed was not working as I expected. This was simply because I didn’t cast the enum of it’s type to a (uchar) and so it was taking 4 bytes rather than 1.
I’ve recently been listening to some of the GDC 2005 presentations. While listening to Molyneux’s speech about ‘The Movies’ I heard a statement that I’m starting to hear more often. It went something like “I was playing an early build of the game and realised I was spending too much time navigating through menus”. Firstly I believe this shows a poor design as it should have been obvious from the initial design doc that most of the game was going to be based within menus, and if this isn’t what was intended, it should have been fixed back at this early stage. That aside however, I have a problem with what most people in the industry tend to do next. Molyneux’s solution to this problem was almost identical to Mark Skagg’s solution I heard for Battle for Middle Earth (BfME) at E3 last year. The solution was “To completely remove the menus”. Both guys loaded up the game and proudly showed a 3D scene with absoultely no menus.
I’ve been working on an interface system for CIC and so far it’s coming along nicely. I looked into using XML however decided it would be easier to roll my own file format for the UI’s. I’ve added functionality for array’s of components to be loaded from the file. So far I have images, buttons, radio buttons and containers for the radio buttons.
I’ve been quite busy since my last post, both at work and on my design. I’ve completed the first pass on my game design doc and I decided it was time to move into some technical design. I went and formalized my design into UML for my framework and I’ve also put together a design for the game engine. I was happy enough with the design that I’ve decided to start getting back into coding to put together my first ‘state’. I made some big design decisions relating to both gameplay and engine design.
The game design document is coming along nicely. Crunch time has been, gone, and is back again already. We had 5 days off last week, and I took that time to relax and plan my design. I’ve made a few changes to some of my initial ideas, however I think the gameplay will benefit from it.
The crew of the space shuttle Discovery have been in space now for a little over 10 hours. The launch went spectacularly and other than a few damaged tiles all is going well so far. I’m a big fan of all things space (in case that wasn’t already obvious) and I think NASA’s current plans for the future are a positive sign for humanity. I will reveal more about what I believe the future of space flight to be with my ‘Future History’ to go along with my space game. I want to make it as believable as possible, with a little wishful thinking added in for good measure. My prayer’s are with the crew and I wish them a safe trip and return.
I’m now officially in the ‘crunch period’ of our current project at work. We’re working overtime every evening for the next 8 weeks leading up to the big release of MyVritualHome. This is really cutting into my time for working on the tech demo, however I’m making an effort to still get up early and get an hour or two of coding done before work.