Project PLASMA FPS 2004: Thread 4

Blitz3D Forums/Blitz3D Programming/Project PLASMA FPS 2004: Thread 4

Well I have a considerable amount of code for all game objects. In fact I have implemented switches, gadgets, flares, reactors (particles), warps, soundfields, and modules. They work in very basic manner at moment and will be expanded. However, there are a few that need some time.

The Ladder object aka Climber. The Ladder object is a 'field' in which the player or bot moves vertically up or down upon collision, dependent on the direction of travel. I'm pondering over the implementation of this game object. My current idea is to simply turn off gravity and jump to the player within the field. The player can move freely up or down, but, once out of the field gravity is turn on. If any one else have implemented Ladders, please sure your thoughts.

Platforms aka Lifts are moving game objects that transport player and bots. My current platform design will move horizontally, vertically, and patterns using waypoints. Although most cases these are platforms in which players stand on, they dont have to be. Platforms require dynamic collision detection and gravity is applicable. Dynamic Collision is tricky, but, others have managed it and I'm looking for ideas to do the same.

Now some of you may be wondering what are soundfields, warps, and modules. Soundfields are basically pivot points with blitz sphere or cube collision applied. They emit sound upon collision. The idea behind them is to shape 3D sound emissions. Collision can also be used to trigger AI sensors etc.

A Warp Object is a cubic field that simulate gravatational forces on players/bots/particles. I have been able to effectively simulate gravity, anti-gravity, wind, and turbulence. You can also use these for vacuum tubes accelerators etc.

The Module Object is an object that stores a pool of the entities for recycling. Great for creating and managing LOD mesh sets, particle sprites, etc. This object also serves us great in optimizing the overall game engine. For example, if only 5 bots entity can be seen at once at any given time, why load or copy 20 entities? You dont! You simple recycle 5 bots entity when in view. This methodology can be applied to replicated game objects.

Reduce the number of entities copied and loaded, reduce loadtime, memory consumption.