Progress!

Hey everyone,
I hope you are doing great :)

This week I’ve made a lot of progress on my game: the first level blockout is nearly complete, and all the features are implemented already.
I will do a small family and friends playtest next week, and report back with the findings!

In the meantime, let’s dive a little bit into my Trenchbroom/Godot/FuncGodot setup.

First, let me tell you, I really enjoy the workflow!
Here’s a quick video showing it in action:

At the moment though, it’s a bit tedious to add new 3D models.
Here’s what I have to do to make a model available in Trenchbroom:

  1. Create the model in blender, with the materials
  2. Export the model as an glb to Godot
  3. Create a Godot scene, with the model in it, rotate it to face the correct direction
  4. Create an entity resource using the model
  5. Export the entities library
  6. Reload the entities in trenchbroom

Next week, I’ll create a Godot tool script to automatically generate props entities for each 3D model in a folder.

For reference, here’s how I’ve structured my project:

GodotGame/
├───raw_assets/                           # .blend / .krita / .aseprite ...
├───src/                                  # The actual godot folder
│   ├───addons/
│   │   └───func_godot/
│   ├───entities/                         # One folder per entity
│   │   ├───player/  
|   │   │   ├───player.gd                 # Godot script
|   │   │   └───player.tscn               # Godot scene file
│   │   ├───door_entity/  
|   │   |   ├───door_entity.gd            # Godot script
|   │   |   ├───door_entity.tres          # FuncGodotFGDBaseClass Resource
|   │   |   └───door_entity.tscn          # Godot scene file
│   │   └───fdg.tres                      # FuncGodotFGDFile Resource
|	├───maps/                             # Trenchbroom & Godot Scene map files
│   │   ├───level1/  
|   │   │   ├───level1.tscn               # Godot scene file
|   │   │   ├───level1_map_settings.tres  # Optional FuncGodotMapSettings Resource
|   │   │   └───level1.map                # Trenchbroom map file
│   │   └───func_godot_map_settings.tres  # Global FuncGodotMapSettings Resource
│   ├───scripts/                          # Non-entity scripts, like tools, managers, UI, ...
│   ├───models/                           # Exported game models in .glb format
|   │   └───props/   # <-- Folder from which all props entities will be generated
│   ├───textures/                         # Textures
│   └───config.tres                       # TrenchBroomGameConfig Resource
└───trenchbroom/                          # FuncGodot's "Map Editor Game Path"
    └───models/                           # FuncGodot exported models, added to .gitignore

This setup is still evolving, so let me know if you have any thoughts or suggestions! Have a great week & see you next time!

#gamedev