Second revision of moving 3D floors. This time, we're using an MD3 for visual representation.

Floor Demo 3
390.29 KB
WAD Type
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           : <email removed>
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 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.   

* 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.

* 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 and is under
a public domain license. For the source files, point your browser to

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


DM Spawns
Co-op Spawns
Help improve the database by uploading an image
Creative Commons License