Sunday, 14 February 2010

14 Feb 2010 - Rich's Rapid Repairs

Another piece of game functionality falls into place - this time it's an important one. Any damage sustained by the car can now be 'fixed' by passing through a 'trigger volume' in UDK. This invisible volume will be placed in-game at a pit stop/water tower (for the steam engine, you see) to enable the player to repair the vehicle.

Here's a visual summary:

These 'water towers' (VERY basic ones for testing purposes only) affect the 'health' of the vehicle. The green tower increases the health of the vehicle by a specified amount as the player drives under it. The red tower damages the vehicle and reduces its health, but will not feature in the finished game - it is just a demonstration of how the vehicle can be affected by in-game trigger volumes.

The red tower's functionality was a result of a 'happy accident' in Kismet enabled me to take away player health and served as the foundation for my actual goal, which was the green tower's health-giving abilities. It will be handy if I want some other object or action to damage the player vehicle though, so it's worth keeping a record of how it's all done.

Once again this was solved with Kismet, inside the UDK. A slight modification on my previous unsuccessful attempt (though that was a good opportunity to learn a few things) gave me the result I wanted, and this is how it looks in Kismet:

I'm not entirely sure of how or why the setup needs to be like this but all I know is that it works, which for now is good enough. Understanding why things are set up this way is invaluable though, especially when trying to work out other functions in Kismet, but the clock is ticking and I need to look at other areas in the project for now.

There's still an incredible amount of work to do on the project including a lot of functionality issues and problem solving but every time something like this is completed, I feel that getting something close to my original idea is possible.

The next big hurdle is implementation of a 'dummy' HUD (that won't work but will serve as a demonstration of what the player will see on screen). More on that when i've made some progress.