After generating the Ultima maps, I thought it would be a cool idea to map something that hasn't been done yet. I was inspired by DarkWolf's Wolfenstein 3D maps and Ian's Doom Maps and decided to create isometric maps of Rise of the Triad. Rise of the Triad is moderately well documented, and the source code is available, so I figured it would be a fun little project.
Well, a month or so later it's done. Enjoy. I'm starting with the Shareware levels, and will upload the Dark War levels, Comm-bat levels, Extreme ROTT levels, etc. later. See below the maps for a zip download option as well as map notes.
If you are interested in trying the game, you can grab the Shareware Version from 3D Realms. The full version can be found either there or at GOG.com. There are a few source ports of ROTT floating around, but they didn't feel quite right to me. I recommend just playing it in DOSBox. The default DOSBox settings should play the game just fine, but you may want to edit the .conf file and increase the mouse sensitivity. The in-game sensitivity adjustment does not go very high.
E1A9: Too Tall
5184 x 3616, 6.2 MB
E1A10: Play Room
2688 x 2688, 6.7 MB
Deluxe Edition Levels
E1A11: Prelude to a Kill
5824 x 3232, 12.1 MB
E1A12: Jumpin’ Jehoshaphat
6016 x 2624, 11.7 MB
7936 x 3456, 14.1 MB
huntbgn2.zip (210.1 MB)
All maps were created via a Python map generator and wad decoder I wrote from scatch using the Python Imaging Library (PIL). I will be posting this script once I finish some code cleanup and documentation. I am also not much of a pixel artist, so any tiles/icons that are not in the Rise of Triad wad file are rendered as solid colour shapes using PIL's drawing capabilities. If anyone wants to contribute some additional artwork to the project, it would be appreciated. However, the existing images do their job fairly well and don't look too much out of place.
Since isometric perspective can obscure certain items from view, I implemented an algorithm to detect this and draw important items above their space with a line pointing downwards. The algorithm is a bit sensitive for items that are partially obscured (i.e. wall over left half of area), but I considered this more important than having a difficult-to-find item. If I get enough feedback about this, I may consider introducing some sort of threshold and sizing metrics to decide when something isn't really obscured. Important items consist of:
- Player Start
- All Weapons
- All Power-Ups, including the Random Powerup, but not Power-Downs
- More Potent health pickups (Priest Porrage, Large Monk Crystals, Healing Basins) and 50 point pickups
- All Bosses and Secret Items (excluding Scott Miller's head, as that only shows up one in the standard levels and is only partially obscured in that case)
- The collectable triads in Comm-bat levels
Keys are always marked with the key icon and a line pointing to their location, whether they are obscured or not.
Switch links are also indicated on the map. Switches are marked yellow letter and activate any items indicated by the same letter in teal. Timed objects are marked instead with the time interval in mm:ss that they are active (e.g.: 03:00 to 05:00). Elevators are represented in a similar fashion, in green text. Any elevators with the same number are linked to each other.
The cluster of guards that appears on most maps represents a random enemy spawn point. These are used all over. In the shareware and episode 1, the guards in that group represent the most commonly spawned results. In Episodes 2 and 3, the Strike Guard and Triad Enforcer can also show up. In Episode 4, this will spawn mostly Monks.
Enemies can also have a few characters denoting with particular characteristics. Enemies marked with a ^ will only show up in the hardest difficulty. Enemies marked with ! are set to ambush the player. Patrolling enemies will be shown in their walking animation. Robots have no walking animation, but they are always patrolling.
The main single player start to a level is marked with the sprite for Taradino Cassatt. Any Comm-bat spawns in a level will be marked with the sprite for Thi Barrett. She will show up all over the place, even in single player maps.
Flat Arrow sprites in ROTT are a bit special. If they are placed on a wall, that wall is a pushwall and can be pushed (or triggered) in that direction. If they are on the floor, they redirect other objects, such as moving walls, patrolling guards, GADs, traps, etc. Circles on a wall indicate a non-directional pushwall.
Some algorithms are not exactly the same as the original game. Most notably, the algorithms to decide the orientation of thin walls, and the algorithm to loft sprites in an arch. The result is fairly good, but there is room for improvement.