• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • ✅ The POLL for Hive's Texturing Contest #33 is OPEN! Vote for the TOP 3 SKINS! 🔗Click here to cast your vote!

dungeon gen tool

Status
Not open for further replies.
Level 31
Joined
Jul 10, 2007
Messages
6,306
A tool that will parse over a map, rip out the wc3 script, and replace all CreateUnit that create a unit that has a specific model type with CreateUberSplat relative to an origin x,y.

CreateUnit(player, unitTypeId, xCoord, yCoord, 0)
to
CreateUbersplat(xCoord+x,yCoord+y,uberSplatBasedOnUnitTypeId,255,255,255,true,false)

From here, parse over the tile types in the map and retrieve them and generate SetTerrainType for each tile relative to the origin x,y.

Store each ubersplat into a private array.

Go over all CreateDestructables in the script and put change their creation points to points relative to x,y and store them into a destructable array.

Any CreateUnit with no ubersplat on it should be created relative to x,y and stored into a unit array.

Output the final creation script into a function (ubersplat,terrain,destructable,units)
function CreateDungeon takes real x, real y returns nothing

Generate a destruction script for destroying all of the ubersplats and destructables and units
function DestroyDungeon takes nothing returns nothing

Output the final script (all together) into a text box for easy cnp.

This will be used for generating interiors. A terrainer will create internal (inside buildings, dungeons, etc) terrain for a map in a second map using destructables and an interesting ubersplat technique using units. When they are finished with the terrain, they should be able to rip the script out of it for everything they placed so that it can be ported into the main map for generation. This will also make it easier to edit dungeons on the fly, increase over all space on the map, content, and etc.

Custom units with a specific type of model file should be parsed over in order to retrieve the ubersplat ids used (user shouldn't have to configure).

The map should be able to either be dropped on to the program or opened by the program. There shuold just be a big textbox on top and a progress bar on the bottom (no start conversion necessary, auto start processing when a map is opened via drop or open command).

This will be pretty dang useful and I've already seen a few ORPG projects that want to generate dungeons in this fashion. I'm sure quite a lot of people will appreciate this. Also, with a tool available, more people will be wanting to do this so that they can cram more content into their maps =P.

I'll also be doing a system for cell based interior generation so that people terrain in blocks (various rooms, or even possible zones).

Sadly, there is no way to generate external terrains as terraindeformation handles permanently leak.
 
Status
Not open for further replies.
Top