I’m currently building levels for the game, placing obstacles and items to create hopefully interesting courses.
Not using Unity or Godot to create this game means that I don’t have a tool to create 3D levels for the game. Instead, I’m using Blender to place objects and making sure the distances and the timing of obstacles is correct.
Since I’m already using Blender to create the characters and items appearing in the game, using it to create the levels seems logical to me.
Any geometry that I need specifically for a level, like buildings or bits of environment, is modeled and stored directly in the level Blender file. If the object needs to appear more than once, then I will create instances, which generates additional positions for the object but prevent the geometry and texture coordinates to be duplicated.
By using instances, I can see within Blender how the object fits into the level at each position. Later, the game will be able to recognize, which geometry data the respective instances are using and render the correct 3D objects at each position.
For general objects like items, I’m simply using placeholders in Blender. By using a specific naming convention, the game will know which object to use for each placeholder.