News:

One Minute Game Review by The Happy Friar: https://ugetube.com/@OneMinteGameReviews
Also on Rumble: https://rumble.com/c/c-1115371

idTech 4 (aka Doom 3 tech) Discord Server! https://discord.gg/9wtCGHa

Main Menu

UPDATED! Doom 3 Automatic Map Builder V.1

Started by BloodRayne, February 08, 2015, 03:00:39 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

BloodRayne

YES I KNOW YOU GUYS HAVE BEEN WAITING FOR THIS.
DOWNLOAD THE UPDATED FILE WITH TEXTURE SETS AND EXAMPLE PROJECTS INCLUDING LOTS OF EXTRA'S:



REMARKS:
- I will take bug fix requests and I will take feature requests. Bug should be fixed quickly, but features might take a while (several weeks).
- My bug& feature list was on the old forum, I can't find it any longer so I don't know exactly how far a long I was. If someone can find the old thread, I might pick up on the feature list again.

Just remember this is a BETA but it has a lot more features than the old D3 Map Builder. Remember to save often, but otherwise it's pretty stable. You can now load/save your projects, you can now set manual lighting. Let me know if there are errors. You can now even place random monsters. Almost getting to the point where it's more than just a mapbuilder, but also a random mission generator.

The map builder in action in this example video showing the entire process from start to finish:
https://www.youtube.com/watch?v=JcLtrQz6H3I

O0 O0 O0 O0 O0 O0

motorsep

Are there any plans on having random generation of the maps and having several floors? (which can be tweaked manually as seen on this video afterward)

BloodRayne

Quote from: motorsep on February 08, 2015, 02:46:31 PM
Are there any plans on having random generation of the maps and having several floors? (which can be tweaked manually as seen on this video afterward)
You can add multiple floors in this build. A random generation was in there, but was dropped due to it being nearly impossible to position all the doors and entry ways so that the maps keep performing. Multiple levels are even harder to create randomly. But I can re-enable it.

For now, this build should be quite a large step beyond the latest, I hope it works well for ya. :)

The Happy Friar

#3
A version that supports Quake2 would be awesome.  :)  The .map formats are very similar (but different enough that you can't quickly convert via text editor), I can provide a simple box map for an example.

EDIT: a bug?

When I export the map, the center of the map builder doesn't correspond to the center of the Doom 3 map cord's.  In my test map, I made some rooms, exported, and it was in the far north/west quadrant when I loaded it in to Radiant.

BloodRayne

#4
Quote from: The Happy Friar on February 09, 2015, 10:18:54 AM
A version that supports Quake2 would be awesome.  :)  The .map formats are very similar (but different enough that you can't quickly convert via text editor), I can provide a simple box map for an example.

EDIT: a bug?

When I export the map, the center of the map builder doesn't correspond to the center of the Doom 3 map cord's.  In my test map, I made some rooms, exported, and it was in the far north/west quadrant when I loaded it in to Radiant.
Nah, not a bug but a feature. :)
I think the centre of a map in Doom3edit correlates to the bottom LEFT of my grid. It might be fixable, but it could be a challenge. I just started exporting from 0,0,0 and work my way up and right from there.

The export is quite dirty. It needs to be copied/pasted into a new class which then needs to be changed. I treated the export like I would do to a dynamic webpage, building strings and adding to them in sections so that the maps keep working. The order is quite rigid, but once I got a skeleton map moving it was easier to figure things out. I created a base function called 'createSimpleBrush' that takes coordinates such as size. The texture coordinates are pasted in statically, for now, based on a 128x128 tiled texture.
Reworking it for Quake1,2,3 or 4 shouldn't be that difficult at all.
As for Unreal maps, I have no idea how they are defined and I think they are in a binary format (I've never seen a text definition of that format).

This is what the mess now looks like:

Private Function CreateSimpleBrush(ByVal x1 As Integer, ByVal x2 As Integer, ByVal y1 As Integer, ByVal y2 As Integer, ByVal z1 As Integer, ByVal z2 As Integer, ByVal texture As String) As String

        Dim brushdef As String = ""

        m_Primitive += 1

        brushdef = "// Primitive " + m_Primitive.ToString + vbNewLine + "{" + vbNewLine + " brushDef3" + vbNewLine + " {" + vbNewLine
        brushdef += "  ( 0 0 -1 " + z1.ToString + " ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) """ + texture + """ 0 0 0" + vbNewLine
        brushdef += "  ( 0 0 1 -" + z2.ToString + " ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) """ + texture + """ 0 0 0" + vbNewLine
        brushdef += "  ( 0 -1 0 " + y1.ToString + " ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) """ + texture + """ 0 0 0" + vbNewLine
        brushdef += "  ( 1 0 0 -" + x1.ToString + " ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) """ + texture + """ 0 0 0" + vbNewLine
        brushdef += "  ( 0 1 0 -" + y2.ToString + " ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) """ + texture + """ 0 0 0" + vbNewLine
        brushdef += "  ( -1 0 0 " + x2.ToString + " ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) """ + texture + """ 0 0 0" + vbNewLine
        brushdef += " }" + vbNewLine + "}" + vbNewLine

        Return brushdef

    End Function

BloodRayne

#5
UPDATED LATEST VERSION.

- Includes texture sets
- Includes example project
- Includes Creature export
- Includes Entities & Monsters tab

Basically, it's best new version to get. :)

The Happy Friar

D3 format has some extra data that Q2 doesn't have.  Not sure why (seems just extra to me).  Here's a breakdown of the Q2 map format to help "nudge" you along.  :)
http://www.gamers.org/dEngine/quake2/Q2DP/Q2DP_Map/Q2DP_Map-2.html#ss2.1

BloodRayne


The Happy Friar

test_box.map (rename the .txt to .map)

6 brushes (walls/floor/ceiling), light & player.

Thanks!

BloodRayne

Quote from: The Happy Friar on February 11, 2015, 01:28:33 PM
test_box.map (rename the .txt to .map)

6 brushes (walls/floor/ceiling), light & player.

Thanks!
Do you know of any working links to Worldcraft or any other Q2 editors? It's best if I test it myself.
From looking at the format it doesn't look that different, an export should certainly be possible!

The Happy Friar

Here's most (all?) Q2 editors: http://leray.proboards.com/thread/3615/mapping-editors-tool-downloads
I currently use GTKRadiant 1.5.0 because I can export brushwork as a .obj, import in to Blender and use that for model work.

BloodRayne

I will download one and will see how far I get with the exporter. Stay tuned! :)

The Happy Friar

GTK 1.5 should work almost identical to DoomRadiant.  1.6 is nicer though.  I think DarkRadiant is built off that one.