Skip to content

Structure of Project

James Russell edited this page Apr 7, 2018 · 3 revisions

Project Directory Structure

The project folder structure looks like this:

  • Godot_FPC_Base
    • blends/
      • Contains the Blender files of imported meshes:
        • “base.blend” contains the level geometry.
        • “FPC_Base_Mesh” contains the player character’s basic mesh geometry.
    • coll_shapes/
      • Contains any collsion shapes.
        • “invisible_walls.shape”
          • The invisible walls around the level geometry. This is here because I don’t want any visible geometry, so I just made the walls in Blender, exported them as “.dae” files, created a collision shape in Godot from it, saved it, and deleted the mesh node.
        • “Shape_Capsule.shape”
          • The capsule collision shape for the player.
    • dae/
      • The exported dae files for level geometry and other things.
    • documents/
      • Contains documents pertaining to credits of assets used, asset licenses, and this manual.
    • environment/
      • Contains the default environment for the project.
        • It has been set as such in the “Project Settings” in the editor, so any new scene created in this project will have it, by default.
        • Can be overridden by a “WorldEnvironment” node, of course.
    • fonts/
      • Contains fonts used in this project.
      • Only contains the “Almanack” font.
    • scenes/
      • Contains all the scenes used in the project.
      • Has the base level scene, the Godette model, the player scene, and the main scene that everything is run from.
      • DEBUG/
        • Contains scenes useful for debugging if you are experiencing problems or are coding new features.
        • Contains the collision sphere and position visualization axis scenes.
    • scripts/
      • Contains all scripts for things like the player, elevator platforms, scene initialization, the spheres that can be pushed by the player, GUI and DEBUG elements.
      • DEBUG_Elements/
        • Scripts for the collision spheres and position visualization axis.
      • GUI_Elements/
        • Scripts for the GUI elements, which are really just the cross hair, it’s red circle, and the debug label.
      • textures/
        • dark_metal_01/
        • A metal texture I made.
        • You can use it however you want.
      • godette/
        • A model from SirRichard94 of Godette, the unofficial Godot mascot.
      • hdr/
        • Contains a free HDRi from HDRI Haven.
      • HUD/
        • HUD textures.
        • Just the cross hair and its red circle.
      • Imperfections/
        • An imperfection texture I made with GIMP.
        • You can use it however you want.
      • reference_textures/
        • Contains any textures to be used as reference.
        • Just a image that has two lines intersecting at the center of the screen.
      • xcf/
        • The GIMP project files, just in case someone wants them.
    • CREDITS * Just credits some people who made assests that are used in this file.
    • export_presets.cfg * Godot-generated presets for exporting the project.
    • icon.png * The custom icon I made for the project.
    • LICENSE * The license of this project, which is the MIT license.
    • project.godot * The godot project file thing.
    • README.md * The GitHub readme.

Godot Project Editor Structure

This is how the project itself, when opened in Godot, is structured. I’m not going to completely spell it out as you can just open the project and see for yourself.

  • Main.tscn
    • Env_and_Lights
      • Contains the world environment, which uses the “environment/Main_Env.tres” resource.
      • Also contains the sun lamp.
    • Base
      • The scene that contains the base level geometry.
      • Also, it is the parent of the platform, sphere, and miscellaneous static body nodes.
    • GIProbe
      • Just the GI probe.
    • Player
      • The player scene node, which is “scenes/Player.tscn”.

Input Map

The input of the project is simple. All the used actions look like this:

  • ui_cancel
    • Key: Escape
    • Exits the program.
  • Player_FW
    • Key: W
    • Moves play forward.
  • Player_BW
    • Key: S
    • Moves player backward.
  • Player_Left
    • Key: A
    • Moves player left.
  • Player_Right
    • Key: D
    • Moves player right.
  • Player_Jump
    • Mouse: Right Button
    • Key: Space
    • Makes player jump.
  • Player_Use
    • Key: E
    • Uses any usable object that is being pointed at.
  • Player_Shift
    • Key: Shift
    • Causes the player to move faster when held.
  • Toggle_Fullscreen
    • Key: F4
    • Toggles fullscreen.
  • Player_ToggleDebug
    • Key: F3
    • Toggles the visibility of the debug label in the player scene tree.

Extra Information

How to use the debug scenes and scripts is explained in the “Debug Scenes” section.