diff options
Diffstat (limited to 'blog/src/g/godot_project_structure.md')
-rw-r--r-- | blog/src/g/godot_project_structure.md | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/blog/src/g/godot_project_structure.md b/blog/src/g/godot_project_structure.md deleted file mode 100644 index 3f013cc..0000000 --- a/blog/src/g/godot_project_structure.md +++ /dev/null @@ -1,87 +0,0 @@ -title: General Godot project structure -author: David Luévano -lang: en -summary: Details on the project structure I'm using for Godot, based on preference and some research I did. -tags: gamedev - short - english - -One of my first issues when starting a project is how to structure everything. So I had to spend some time researching best practices and go with what I like the most and after trying some of them I wanted to write down somewhere what I'm sticking with. - -The first place to look for is, of course, the official *Godot* documentation on [Project organization](https://docs.godotengine.org/en/stable/tutorials/best_practices/project_organization.html); along with project structure discussion, also comes with best practices for code style and what-not. I don't like this project/directory structure that much, just because it tells you to bundle everything under the same directory but it's a really good starting point, for example it tells you to use: - -- /models/town/house/ - - house.dae - - window.png - - door.png - -Where I would prefer to have more modularity, for example: - -- /levels/structures/town/house (or /levels/town/structures/house) - - window/ - - window.x - - window.y - - window.z - - door/ - - ... - - house.x - - house.y - - house.z - -It might look like it's more work, but I prefer it like this. I wish [this site](https://www.braindead.bzh/entry/creating-a-game-with-godot-engine-ep-2-project-organization) was still available, as I got most of my ideas from there and was a pretty good resource, but apparently the owner is not maintaining his site anymore; but there is [this excelent comment on reddit](https://www.reddit.com/r/godot/comments/7786ee/comment/dojuzuf/?utm_source=share&utm_medium=web2x&context=3) which shows a project/directory structure more in line with what I'm currently using (and similr to the site that is down that I liked). I ended up with: - -- /.git -- /assets (raw assets/editable assets/asset packs) -- /releases (executables ready to publish) -- /src (the actual godot project) - - .godot/ - - actors/ (or entities) - - player/ - - sprites/ - - player.x - - ... - - enemy/ (this could be a dir with subdirectories for each type of enemy for example...) - - sprites/ - - enemy.x - - ... - - actor.x - - ... - - levels/ (or scenes) - - common/ - - sprites/ - - ... - - main/ - - ... - - overworld/ - - ... - - dugeon/ - - ... - - Game.tscn (I'm considering the "Game" as a level/scene) - - game.gd - - objects/ - - box/ - - ... - - ... - - screens/ - - main_menu/ - - ... - - ... - - globals/ (singletons/autoloads) - - ui/ - - menus/ - - ... - - ... - - sfx/ - - ... - - vfx/ - - ... - - etc/ - - ... - - Main.tscn (the entry point of the game) - - main.gd - - icon.png (could also be on a separate "icons" directory) - - project.godot - - ... -- \<any other repository related files\> - -And so on, I hope the idea is clear. I'll probably change my mind on the long run, but for now this has been working fine.
\ No newline at end of file |