diff options
Diffstat (limited to 'blog/src')
-rw-r--r-- | blog/src/.files | 2 | ||||
-rw-r--r-- | blog/src/g/godot_project_structure.md | 27 |
2 files changed, 17 insertions, 12 deletions
diff --git a/blog/src/.files b/blog/src/.files index 1542439..29cdca1 100644 --- a/blog/src/.files +++ b/blog/src/.files @@ -14,4 +14,4 @@ a/volviendo_a_usar_la_pagina.md 1651116062.9191298 1651116501.5491333 0f36388a5a a/devs_android_me_trozaron.md 1652608264.4901433 1652609027.0201497 41c897ac0c6e0bd66f67ddc8286f4413 rant,spanish,update a/password_manager_authenticator_setup.md 1652654434.4686146 1653179084.149559 ccd90b7bb896f09438696bb793eb6138 english,short,tools g/starting_gamedev_blogging.md 1652764794.9016073 1653179221.26956 2d6665cebea06ff376dbde9643a893c4 english,gamedev,short,update -g/godot_project_structure.md 1653182170.4395845 1653182586.3895879 791ab9c902aa15d66218e1e6e6191491 english,gamedev,short +g/godot_project_structure.md 1653182170.4395845 1653366918.4756405 a7b153df43631f17864cd8ab67aca60f english,gamedev,short diff --git a/blog/src/g/godot_project_structure.md b/blog/src/g/godot_project_structure.md index f69a74d..3f013cc 100644 --- a/blog/src/g/godot_project_structure.md +++ b/blog/src/g/godot_project_structure.md @@ -6,9 +6,9 @@ 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. +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: +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 @@ -28,27 +28,26 @@ Where I would prefer to have more modularity, for example: - 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, 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/sirectory structure more in line with what I'm currently using (and similr to the site that is down that I liked that much). I just do somethings a bit different, and end up with: +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 for their respective software, could also be the whole imported assets from some packs, where you can just select few of them to actually use) +- /assets (raw assets/editable assets/asset packs) - /releases (executables ready to publish) - /src (the actual godot project) - .godot/ - actors/ (or entities) - player/ - - assets/ - sprites/ + - player.x - ... - enemy/ (this could be a dir with subdirectories for each type of enemy for example...) - - assets/ - sprites/ + - enemy.x - ... - - actor.gd + - actor.x - ... - levels/ (or scenes) - common/ - - assets/ - sprites/ - ... - main/ @@ -57,7 +56,7 @@ It might look like it's more work, but I prefer it like this. I wish [this site - ... - dugeon/ - ... - - Game.tscn (I consider the "game" itself a level/scene, so I'm including it here) + - Game.tscn (I'm considering the "Game" as a level/scene) - game.gd - objects/ - box/ @@ -72,11 +71,17 @@ It might look like it's more work, but I prefer it like this. I wish [this site - menus/ - ... - ... + - sfx/ + - ... + - vfx/ + - ... + - etc/ + - ... - Main.tscn (the entry point of the game) - main.gd - - icon.png + - 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. Basically you need to abstract some entity/object that you're going to use into its more basic form and use subdirectories for each level of abstraction (a player is an actor and thus we use actor/player; a box is part of the world, and is a level so we can use levels/common/decor/box or something like that). Once you have the most basic abstraction done, anything that belongs to that abstraction will have all of its assets/sounds/shaders/etc in it's directory.
\ No newline at end of file +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 |