Dynamic Geometry
Creators: Alexander Bruce
Engine: Unreal Tournament 2004
Modification: UT2K4 Level Component
Last Update: 17th June 2007
Current Status: Working. Mostly hardcoded.
Further Development: Including further configurability to remove hardcoded components.
Download: Not yet available
Description:
Reconstructing the world you play in...
| Demonstration / Purpose | Translating the Snake Metaphor | Background Information | Recursive Interaction | Compound Recursion | Dynamic Fading Textures | Further Development |
Page 3 - Implementation - Some quick background information
This is not a complete tutorial, as the majority of work is already done with no reason to repeat it. Unlike Recursive Space, we're not just dealing with pre-existing
elements and making them work together to produce a result. The system itself will eventually be available for download, so I'll only step through some of the more
interesting developments.
If we really wanted to, we could create our own tiles from scratch, however, that defies part of the purpose of modding. It would be doing a whole lot of work when
we can start with something closer to what we need. In Unreal we've got movers. This may seem a little bit odd, given that the tiles that were just demonstrated
don't actually move anywhere at all, but there are some functions we can salvage for the kinds of interactions we need.
Unfortunately, we still only have a basic starting point, so I needed to do a fair bit of my own code to get the kinds of interactions that I want. I started by
modifying the StandOpenTimed state, given that the initial idea was all to do with tiles reacting when stood on, though this is now essentially irrelevant, as I
practically rewrote the entire state anyway.
For development purposes, we should make the tiles to respond to weapon fire as early as possible, as its much faster to remove tiles like this than it is to run around
on foot. Movers already have a TakeDamage function, so we just modify the conditions of this to say "always open if called, and the tile is closed". For our tile itself,
we can either create our own mesh, which I eventually did anyway for rendering purposes, or we can start with something like HumanoidHardware.Beams.jribbedcolumn01HA.
| Back | Home | Next |