Hello,
I would like to share with you my tool for map generation, which originally I created ~10 years ago and in the last half a year I spent some time to partially refactor it (actually whole core code was rewritten from functional programming to oop, but parts of logic were just copy-pasted), make it more useable and extendible.
I already made it public few days ago on one discord, but we here have more wide public.
Be aware that, the code is messy - still there are a lot of legacy areas, messy code.
Repository: GitHub - abecek/otMapGenPublic (https://github.com/abecek/otMapGenPublic)
A little show off of capabilities:
- Generating maps through CLI:
- Generating maps in running TFS:
My quite old lap is barely recording video and generating map at once, sorry for that (actual performance of generation it's not so bad as seen on this video):
Below is an example of my "no-freeze" experimental generation script, which is not public, but public scripts give similar final results:
Both generation ways give the possibility to save final map into .otbm file.
Please check Readme for more details, how to use it, etc.
Current generation scripts:

The ones starting with "test..." are used by me for testing and development.
Under data/schemas directory you have files containing lua tables with item ids - representing kind of "bioms" in the minecraft.

You can modify and expand them as much as you like. I hope you will also share them!
If there will be possitive feedback I most likely will continue the project, fix existing bugs, add multi-floor feature and more. Hope you like it!
It's initial goal was to speed up mapping of tombs, but currently it can be used for various purposes - generating random dungeons in game on tfs startup, after modyfications even maybe in the runtime (because of freeze/lag when generation is running currently), etc. It's up to your creativity how you willl use it.
Note: regarding caves - I've not been focusing on it much, probably there are more bugs there than in tomb like scripts.
How fast it is currently? For 100x100 sqm map, ~30 rooms:

with "tableMode" running state enabled on TFS, it took 2.1 seconds to generate above tomb (on quite old lap - dell 5490, i7-8650U, 16GB ram, with chrome, intelij in the background)
Output:
I would like to share with you my tool for map generation, which originally I created ~10 years ago and in the last half a year I spent some time to partially refactor it (actually whole core code was rewritten from functional programming to oop, but parts of logic were just copy-pasted), make it more useable and extendible.
I already made it public few days ago on one discord, but we here have more wide public.
Be aware that, the code is messy - still there are a lot of legacy areas, messy code.
Repository: GitHub - abecek/otMapGenPublic (https://github.com/abecek/otMapGenPublic)
A little show off of capabilities:
- Generating maps through CLI:
- Generating maps in running TFS:
My quite old lap is barely recording video and generating map at once, sorry for that (actual performance of generation it's not so bad as seen on this video):
Below is an example of my "no-freeze" experimental generation script, which is not public, but public scripts give similar final results:
Both generation ways give the possibility to save final map into .otbm file.
Please check Readme for more details, how to use it, etc.
Current generation scripts:

The ones starting with "test..." are used by me for testing and development.
Under data/schemas directory you have files containing lua tables with item ids - representing kind of "bioms" in the minecraft.

You can modify and expand them as much as you like. I hope you will also share them!
If there will be possitive feedback I most likely will continue the project, fix existing bugs, add multi-floor feature and more. Hope you like it!
It's initial goal was to speed up mapping of tombs, but currently it can be used for various purposes - generating random dungeons in game on tfs startup, after modyfications even maybe in the runtime (because of freeze/lag when generation is running currently), etc. It's up to your creativity how you willl use it.
Note: regarding caves - I've not been focusing on it much, probably there are more bugs there than in tomb like scripts.
How fast it is currently? For 100x100 sqm map, ~30 rooms:

with "tableMode" running state enabled on TFS, it took 2.1 seconds to generate above tomb (on quite old lap - dell 5490, i7-8650U, 16GB ram, with chrome, intelij in the background)
Output:
# Executing script: data/talkactions/scripts/otMapGenPublic/data/genScripts/test100.lua, logIdentifier: 6629.809
# Loading schema file: data/talkactions/scripts/otMapGenPublic/data/schemas/test1.lua
Main ground created, execution time: 0.0240000000003421 memory: 4072.208 kB
Available map tiles for potential new wayPoints count: 6 after the procedure.2 memory: 9537.219 kB
Waypoints created alternatively, execution time: 0.016999999999825
Length: 303 memory: 10693.156 kB
TSP running...
Creating paths...
Paths between waypoints created, execution time: 0.096999999999753
Rooms created, execution time: 0.0020000000004075
Bordering walls...4 memory: 14309.355 kB
Bordering walls done, execution time: 0.072999999999411
Creating 35 markers alternatively..., #acceptedMapTilesTab: 05 memory: 16178.094 kB
Deleting old marker points, to delete count: 0
Initial acceptedMapTilesTab length: 2754
Available map tiles for potential new markers count: 1095 after the procedure.
Markers created alternatively, execution time: 0.020999999999731
Ground created, execution time: 06 memory: 23612.098 kB
Creating 75 markers alternatively..., #acceptedMapTilesTab: 07 memory: 23755.008 kB
Deleting old marker points, to delete count: 35
Initial acceptedMapTilesTab length: 2636
Available map tiles for potential new markers count: 81 after the procedure.
Markers created alternatively, execution time: 0.028999999999542
Ground created, execution time: 0.00100000000020378 memory: 16972.797 kB
Correction of the groundId 231 done, execution time: 0.0339999999996519 memory: 17326.41 kB
Creating 100 markers alternatively..., #acceptedMapTilesTab: 010 memory: 13516.422 kB
Deleting old marker points, to delete count: 75
Initial acceptedMapTilesTab length: 2031
Available map tiles for potential new markers count: 323 after the procedure.
Markers created alternatively, execution time: 0.13700000000063
Brush created, execution time: 0.005000000000109111 memory: 16381.293 kB
Bordering ground done, execution time: 0.03800000000046612 memory: 17857.359 kB
Corrections of borders done, execution time: 0.03700000000026213 memory: 13900.77 kB
Making details in rooms done, execution time: 0.01000000000021814 memory: 23759.387 kB
Creating details on map done, execution time: 0.1660000000001715 memory: 25498.285 kB
Creating details on map done, execution time: 0.16899999999987
Creating details on map done, execution time: 0.14899999999943
Creating details on map done, execution time: 0.14500000000044
Creating details on map done, execution time: 0.16499999999996
Creating details on map done, execution time: 0.14499999999953
Creating details on walls done, execution time: 0.042000000000371
Combined creation of the details done, execution time: 0.9940000000006
Map tiles created, execution time: 0.5839999999998316 memory: 17030.34 kB
# General execution time: 2.104000000000317 memory: 20801.926 kB
Attachments
-
otMapGenPublic-main.zip1.5 MB · Views: 37 · VirusTotal
Last edited: