Mooses2k / SecretHistories

First-person stealth/combat roguelite
Other
15 stars 12 forks source link

level editor for contributors to make or merge in modules #148

Open Mooses2k opened 2 years ago

Mooses2k commented 2 years ago

Easily place down 5' (1.5m) and 10' (3m) block sections (or 1m gridmaps when that's a thing for some tilesets, like for trains). Have auto-gen options, especially auto-room fill based on purpose, just make a streamlined, easy editor, in a way that would hopefully tie into: #94

Should just be able to carve and have walls/ceiling/etc autofil like Dungeon Keeper, not manually requiring setting each wall etc unless desired.

Auto-save and undo versus requiring only manual saving, modal warning when not-undoable action about to be taken.

Allow metric or imperial units (5', 10' traditional D&D) - will always internally use metric with imperial as close estimates (5' is ~1.5m, 10' is ~3m).

VISUAL INTERFACE

Left column upper-left - what is, in tree form (expand/collapse) Left column, lower-left - categorized list of what can be placed (expand/collapse) Right-column - inspector-style changeable details about selected object(s)

CONTROL INTERFACE

SELECT MODE (default mode)

EDIT MODE (upon something(s) selected)

PLACEMENT MODE (once object to place is selected from lower-left)

Integrate Voxel Tools and/or Godot Terrain3D? Be able to paint out cave sections and have it automatically generate plausible caves/mines etc from that

Maybe prefab room shapes, eventually, like stuff from Barrowmaze or IA: https://gitlab.com/martin-tornqvist/ia/-/blob/develop/installed_files/data/map/rooms.txt

THINGS PLACEABLE/EDITABLE

Room geometry & prefab room shapes RoomPurposes Individual gridmap floors/walls/pillars/ceilings Wall & floor deco (eventually) Large objects Pickable items Player spawn Creatures Vehicles (eventually) Floating text motes Material overrides Branch connections (each branch/biome should have at least one connection glue piece) GLB/glTF statics generally, autogen-only collisions supported for these

CREATURES

Drag and drop AI templates and nodes.

Body plan:

Default AI templates could include:

Traits/flags like:

Eventually allow things like import a weight-painted, rigged model as use our existing animation set, choosing whether it's a humanoid, quadruped, insect-like/many-legged (procedural based on leg count), bird-like, snake/worm/fish (procedural), ooze, floater, formless, swarm (particles).

SAVING

Should allow production of prefab rooms or prefab levels with variable amounts of proc gen allowed, such as highlight a whole area as procgen, or simply give a room a RoomPurpose and and allow different gen each time, or get as manually specific as desired, making a strictly specific room with things just-so.

Save as a prefab room, prefab 'vault' (set of rooms), an entire dungeon level.

THOUGHTS

Mooses2k — Yesterday at 4:12 PM Would a level editor just a tool for the Godot editor? Just gridmaps stuff plus maybe setting metas, RoomPuposes, manually place item, etc? Then tag as either: prefab room template or can_somethings_replace_crypts_level or this_is_the_first_run_first_level_tut? crazyStewie — Yesterday at 4:16 PM Probably something like the gridmap editor, but more specific Maybe even a 2d tool for the map data, with a 3d preview crazyStewie — Yesterday at 4:17 PM Could have a generation step that just blits some premade stuff into the world data Mooses2k — Yesterday at 4:17 PM for starters, really only needed for tut level and a certain big room strycture on the fifth level crazyStewie — Yesterday at 4:17 PM and then either generate more, or just connect them with corridors and stuff Mooses2k — Yesterday at 4:18 PM k, just checking that you see it as an editor tool versus in game thing. I feel like that would be much easier, right? crazyStewie — Yesterday at 4:19 PM Honestly, not too complicated either way Mooses2k — Yesterday at 4:19 PM Benefit of doing it in-game is you have that ability later on to add like 'build-mode' stuff that folks love...not that that's an intended gameplay loop for my adventure crazyStewie — Yesterday at 4:19 PM we could have some sort of separate 'project' (just a different scene entry point) for tools, that generates the resource files And even if we make it in-game, we can likely add it trivially as a main window addon so it would appear as a separate tab at the top, like we have the 2d/3d/script editor tabs

Eventually perhaps have a way to roughly draw out voxel sections.

Templates - level designs, rulesets, branch layout, Terrain3D section, Voxel Tools section

UE has you hold right-click to move around - worth considering. F for snap to object.

Maybe what is on the left and stuff to place OR inspector on right depending on mode

probably need search by name of object for placement

Allow multiple differently aligned gridmap areas ala what we plan for L5 of Crypts.

Ctrl-S - Save Ctrl-Shift-S - Save as... Ctrl -Z - Undo Ctrl-Shift-Z or Ctrl-Y - Redo F5 - test it in-game

REFERENCES

https://theportalwiki.com/wiki/Puzzle_Creator (good UI example) https://www.youtube.com/watch?v=wKUBkunay1c (extrusion and deformation) https://github.com/blackears/cyclopsLevelBuilder (stairs-maker especially)

Frunobulax55 commented 2 years ago

The bad news is that this will be a huge amount of work. Nthe good news is that you will have to donitbanyways for yourself to design the levels, but hey, then you already have one to give to the players. I used to be a level designer, once the tool is created I would love to do a couple.