Directory structure - Maruno17/godotmon-project GitHub Wiki
Godotmon Project has a directory structure that needs to be respected when pushing to the project's repository.
Directory structure
This project has only recently started, and while we have come up with a preliminary directory structure which is outlined below, it is subject to change.
- addons/
- (Third party content, both Godot-modifying and game-modifying)
- src/
- (Source code, i.e. all the .gd script files)
- assets/
- audio/
- se/
- bgm/
- data/ (Database/PBS file contents)
- tilesets/
- battle_frontier.tres
- brown_cave.tres
- city.tres
- field.tres
- healing_centre.tres
- abilities.tres
- items.tres
- trainer_classes.tres
- town_map.tres
- tilesets/
- fonts/
- my_font.ttf
- graphics/
- animations/ (spritesheets)
- battle/
- animations/ (spritesheets)
- backgrounds/
- ui/
- entities/ (charsets and trainer sprites)
- player/ (charsets and other sprites)
- items/
- monsters/ (and subfolders for monster sprites/icons/footprints/etc.)
- overlays/ (overworld fogs/panoramas/light glows)
- tiles/
- ui/
- bag/
- monster_dex/
- party/
- trainer_card/
- slot_machine/
- windowskins/
- maps/
- pallet_town/
- pallet_town.tscn
- player_house_downstairs.tscn
- player_house_upstairs.tscn
- oak_lab.tscn
- rock_tunnel/
- top_floor.tscn
- bottom_floor.tscn
- route_2.tscn
- pallet_town/
- shaders/
- some_shader.gdshader
- some_shader.tres
- templates/
- player.tscn
- entity.tscn
- healing_nurse.tscn
- item_entity.tscn
- mart_vendor.tscn
- ui/
- bag.tscn
- party.tscn
- trainer_card.tscn
- audio/
src
The src
directory should contain all the GDScripts used in various nodes or to define Resource. Its structure is not yet established.
assets
The assets
directory should contain all game assets (graphics, audio, fonts, data files, scenes, shaders). Those assets are organised by how they are to the game and then their category.
assets/audio
Directory containing all audio files that are supposed to be played through some sort of speaker. It currently holds se
(sound effect) and bgm
(background music).
For simplicity, music that plays without loop will be stored in assets/audio/bgm
and sounds that repeat using AudioStreamPlayer(2D) will be stored in assets/audio/se
.
assets/graphics
Directory containing all images that might be used to render anything on the game screen. Images are organised by category, e.g. the battle-related images goes into assets/graphics/battle
with their own categories. (Battle is a pretty big gameplay element compared to all other gameplay element).
assets/maps
Directory containing all the Map scenes. Sub directory might be used for maps containing other maps (or other variations of the same map).
assets/shaders
Directory containing all the shaders used to transform entities on the screen (e.g. creating a day/night tint effect).
assets/templates
Directory containing all the scenes that might be used in maps (e.g. map entities).
assets/ui
Directory containing all the scenes for UI.