Floor Demo 3
Floor Demo 3
Second revision of moving 3D floors. This time, we're using an MD3 for visual representation.
=========================================================================== Advanced engine needed : GZDoom 2.0 or greater Primary purpose : Technical demo of 3D moving floors with 3D model representation instead of textures Archive maintainer : Place it in /prefabs next to flordmo2 =========================================================================== Title : Floor Demo 3 Filename : FLORDMO3.PK3 Release date : July 21, 2015 Author : Ethan Watson aka GooberMan Email Address : firstname.lastname@example.org Other Files By Author : Doom - The Arcade Game Space Station Omega Prime Directive The previous two floor demos Misc. Author Info : But Goober!? Why are you making Doom maps again? Description : Second revision of moving 3D floors. This time, we're using an MD3 for visual representation. Additional Credits to : ReX for noticing and wanting the other floor demos tweaked for his needs. =========================================================================== * Play Information * Executable needed : GZDoom 2.0 IWAD Needed : DOOM.WAD or DOOM2.WAD Map # : MAP01 Single Player : Yes Cooperative 2-4 Player : Yes Deathmatch 2-4 Player : No, but no reason why not with some starts Other game styles : No Difficulty Settings : No New Graphics : No New Sounds : No New Demos : No DEH Patch : No * Construction * Base : FLORDMO2.WAD Build Time : An hour or two. Tool(s) used : GZDoom Builder. Known Bugs : More like known limitations. Will Not Run With... : Bloodborne. Well, my entire life didn't run with Bloodborne. Did I mention you should play Bloodborne? * General info * Here be the third iteration of the 3D floors that you can ride. I know, right? ReX noticed a link to FLORDMO2 that I had left in a thread about ridable 3D floors and eventually asked how he could use it in his upcoming Paranoiac expansion. It turns out I had to put a bit of extra work in to make it work as he wanted, so here it is. The main difference this time is that a 3D model was required as a visual representation instead of using textures on the polyobject. For the purposes of this demo, I have left the textures applied to the polyobject so that you can see what it is doing and how it works in relation to the 3D model. Speaking of, the idea of a "visual rider" is presented in this example. A visual rider is simply a thing that is permanately attached to the platform. This example only has one, but a bit of expansion can make it virtually unlimited. If you're eagle eyed, you'll notice the rider is actually a frame behind the floor itself. I don't know where the floor will be a frame in the future, so the velocity is simply updated from the delta between the previous and current frames. I assume this won't be an issue for most people. Also note that because you're using a 3D model in this demo, you can design your polyobject accordingly. Map out the outline of your 3D mesh and off you go. I don't have a whacky 3D model to use for this (and I hate modelling) so I just used a wooden palette I pulled from opengameart.org for Prime Directive. The map this time is in ZHexen format. I believe ReX still uses WadAuthor for mapping, and since it has no UDMF support the previous floor demo WADs were almost useless to him since he had no way of getting in and seeing how they worked. If you're still on ZHexen, this iteration is proof that the effect is not reliant on UDMF features. LIMITATIONS * Things get screwy if your polyobject goes below the normal floor. * Rotational friction is not currently supported. There is no GetPolyobjAngle to compare against. * I'm disabling view bob when setting the velocity. I quite simply haven't checked if leaving it enabled will bob your view as the platform moves. * It is possible to desynchronise the floor by standing still. * The thing representation lags by a frame. No real way around this. THE WAY FORWARD FROM HERE * See if we can't get a flat rendering over that 3D floor. Transfer_Heights trickery? Non-solid 3D floor trickery? * Get "Actor hits floor" working on that polyobject. Or compeltely rewrite my hop on/hop off logic. * See the TODO in the script? Making the floor logic work for any arbitrary actor instead of players is really not that complicated a task. Maybe I'll do it one day and upload a fourth iteration of the floor logic. =========================================================================== * Copyright / Permissions * The MD3 used in this archive was obtained from opengameart.org and is under a public domain license. For the source files, point your browser to http://opengameart.org/content/wood-pallet-v1-pack All original work in this archive is released under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported license. You are free to reuse any original portion of this archive for non-commercial purposes as long as you credit me and share any modifications made using the exact same license. More info can be found at http://creativecommons.org/licenses/by-nc-sa/3.0/