Tag Archives: WinDiff

Moving Platforms

It’s been a few days since I’ve updated progress on Arcana Manor because I’ve been intently involved in implementing an important feature: moving platforms.  These are moving planes or scaled cubes that players can stand on top of, moving along with the platforms as on an elevator.  These moving platforms are important, by definition, to a game in which platforming a key part of gameplay.

Torque Game Engine Advanced doesn’t have out-of-the box support for moving platforms, which means that they have to be added as C++ code, preferably by the addition of one of the downloadable resources on Garagegames.com.  To integrate such a resource with a codebase that I’ve already heavily modified, I had to use WinDiff, a program for comparing files and isolating their differences.  Once I isolated these conflicting code fragments, I had to choose how to merge them by incorporating relevant new lines of code from the resource and discarding irrelevant lines of code.  This process was complicated by the porting of the resource from TGE 1.5.2 to TGEA 1.7.1, especially since the resource itself was actually for TGEA 1.8.1 but had been compiled from multiple TGE versions.  In practical terms, these multiple versions and resources meant that I had to spend several days reading through C++ source code, puzzling out its logic and structure until I could figure out which lines of code were needed and which were not.  I re-compiled the engine dozens of time, de-bugging code changes to preserve the resource’s functionality while updating it and slotting it in with ArcaneFX, melee, and other code changes I’ve already implemented.

I now have moving platforms.  The key is making the player object a child of the platform, which is a pathshape moving along the nodes of a path.

Unfortunately, I have to use a rectangular dts shape that came packaged with an early version of the resource, because the player falls through any dts that I make myself in Softimage.  I think this has to do with the way that collision meshes are set up in the process of exporting the model from Softimage to dts format, but after spending a day on collision meshes I haven’t been able to isolate the problem.

I’m now trying to trigger the moving platforms with a spell so that I can incorporate telekinesis into my magic system.  Since the magic system is the focus of the game and the surreal mansion is the secondary focus, it would be best if these two aspects of gameplay could be tied together.  I have a telekinesis spell that can move an interior instance with the settransform() function, but the interior leaps all at once rather than animating smoothly and carrying the player with it.  If I can trigger a pathshape with a spell, the player could raise and lower bridges with the alterative school of magic, corresponding to the wands.