This file is being remade. If you want to see this file's contents as it is currently, hit the Raw button at the corner of this gist.
-
-
Save LikeLakers2/4873884dbcdf7ee1e1c0e723f69a1a52 to your computer and use it in GitHub Desktop.
This is an example of a larger project, one that contains many assets and would thus be easier to navigate if it were categorized.
addons/
com.godotengine.generic_asset/
sprite.png
plugin.cfg
assets/
robot/
model.dae
sound_footstep.ogg
sound_jump.ogg
texture_normal.png
texture_metallic.png
voice_death.wav
voice_hurt.wav
town_area/
model_fountain.dae
model_ground.dae
model_tavern.dae
model_tavern_inside.dae
music.ogg
sound_fountain.ogg
town_guard/
model.dae
sound_footstep.ogg
texture_normal.png
voice_criminal_chase.wav # Stop! You have violated the law!
objects/
common_battle/
menu.gd
menu.tscn
common_overworld/
foliage.tres
robot/
in_battle.gd
in_battle.tscn
in_overworld.gd
in_overworld.tscn
town_area/
outside/
town_guard.gd
town_healer.gd
tavern/
barkeep.gd
bard.gd
drunkard.gd
scenes/
battle/
battle_view.gd
battle_view.tscn
town_area/
outside.tscn
tavern.tscn
scripts/
battle_system/
actions/
defensive/
block.gd
dodge.gd
parry.gd
offensive/
punch.gd
shoot.gd
supportive/
cure_status.gd
heal.gd
statuses/
fainted.gd
poisoned.gd
poisoned_badly.gd
battle_manager.gd
quest_system/
quest.gd
quest_manager.gd
This is an example of a small project, one that does not contain many assets and would generally be easier to navigate if its assets were within the root folder.
When a comment contains a number in brackets, i.e. [1]
, that refers to a footnote at the bottom of this markdown file.
res://
addons/
com.godotengine.generic_asset/
sprite.png
plugin.cfg
ATTRIBUTIONS.md # Especially for demo projects, you may want to attribute the creators of some assets used. It's a good idea to have one file where all the attributions are.
Enemy.gd # For scenes (and their related files, such as code, sprites, etc.), you should be using PascalCase, as that is the default
Enemy.png # casing style for many nodes. Additionally, all files relating to one object should use the same filename (but NOT the same
Enemy.tscn # extension). However, If a object requires more than one of a certain type of file, consider moving all of the object's files
# into a subfolder. For example, if you have many PNGs for a Enemy object, you should use a subfolder called Enemy.
LevelHills.tscn # For the sake of this example, level scenes are prefixed with Level. This isn't needed.
LevelLake.tscn # However, if you have more than a few level scenes, consider moving them into a subdirectory, to avoid overflowing the
LevelVolcano.tscn # root directory with files.
Platform.gd
Platform.png
Platform.tscn
Player.gd
Player.png
Player.tscn
UIMainMenu.gd # UI scenes should be treated the same as level scenes -- no prefix needed, but if you have more than a few, perhaps
UIMainMenu.tscn # consider moving them into a subdirectory.
UIPauseMenu.gd
UIPauseMenu.tscn
font_monster_friend.ttf # Assets should be in snake_case, and labeled by a prefix denoting their asset type [1]
font_monster_friend_license.txt # Where a asset requires a license or other file alongside it, you should attempt to ensure it appears
# next to the related file, as here where I've appended` _license`.
music_hills.ogg # [2]
sound_footstep.ogg
sound_jump.ogg
voice_lets_go.wav
voice_victory.wav
-
I did this to ensure that related assets appear next to each other, but I'm curious if there's something better we could do.
-
I've typically seen voice clips in .wav format, and music/sounds in .ogg format. Should we recommend that a project stick to one or the other?
-
How should we request tilesets be organized in a small project?
-
How do we define the difference between a small project and a large project? Or would that be up to that specific project's manager?