Hello everyone.
I was just wondering how all of you organize your project(s). I don't talk about folders and files, but in the conception.
What tool do you use to "write down" your idea ? How do you organize how you'll make your game ?
I'll start with my way. The only tool I use is "XMind", a mind mapping tool, and order it with my classes I need to do. That's all
(This is my mind map I use for my project)
How do you organize your project(s) ?
How do you organize your project(s) ?
Founder of NeoShadow Studio. Currently working on the project "Sirami".
github / linkpy
github / linkpy
Re: How do you organize your project(s) ?
wow, that seems very organized.
I tend to structure it more loosly:
I tend to structure it more loosly:
Re: How do you organize your project(s) ?
Oh ? You don't add more element ? Like in assets, add a node for "image", "sounds", no ?
Founder of NeoShadow Studio. Currently working on the project "Sirami".
github / linkpy
github / linkpy
Re: How do you organize your project(s) ?
Well, from thereon out I name them after their purpose: "Gui", "Effects", "Characters"
Re: How do you organize your project(s) ?
Oh okay, I see. Quiet simple but this can be enough.
Founder of NeoShadow Studio. Currently working on the project "Sirami".
github / linkpy
github / linkpy
- zorg
- Party member
- Posts: 3470
- Joined: Thu Dec 13, 2012 2:55 pm
- Location: Absurdistan, Hungary
- Contact:
Re: How do you organize your project(s) ?
It's good to think about what can affect what else, and also about speed vs memory trade-offs.
My preferred way is a simple text file inside my project folder, showing the structure of both the internal files, and since we are talking on the Löve forums, the save folder as well. For example:
The above also makes sure that there are no similarly named paths between the two "root" directories Löve gives you access to.
My fetish for 3-letter directories notwithstanding, i find this quite clean as it is, and it could be specialized more if need be.
As for those trade-offs that i mentioned, those usually come into the "foreground" when one's optimizing an already working codebase, though with experience, huge refactoring can, in most cases, be averted. Also, since lua is not a strongly typed language, my code's usually missing everything that has "class", "factory", "emitter", "builder", "generator", and similar, appended to them. In general, i don't really have a "great plan" of sorts when it comes to modules and interoperability between them; if it works, it works, cleaning can come later.
My preferred way is a simple text file inside my project folder, showing the structure of both the internal files, and since we are talking on the Löve forums, the save folder as well. For example:
Code: Select all
bin -- project folder
dat -- assets
gfx -- graphics, spritesheets, tile atlases... may be subdivided further
ani -- animation data, describing how one "object" would animate
sfx -- sound effects
bgm -- background music
fon -- fonts
sha -- shaders
vox -- voice tracks
map -- map data
mid -- midi sheets, also music
mod -- tracker modules, also music
...
src -- my own lua files, may be subdivided further
lib -- 3rd party stuff
-- name of lib creator
-- libname
main.lua
conf.lua
usr -- save folder
sav -- save files
ini -- config files (controls, etc...)
scr -- screenshots
log -- debug & error reporting
mod -- mods, zip files should be good enough :3
hst -- high score tables, if applicable
rpl -- replay files, not really video, just input over frames (deterministic that way)
vid -- recorded video, series of canvases exported to png; not a realtime thing, probably creatable from replay files though.
...
My fetish for 3-letter directories notwithstanding, i find this quite clean as it is, and it could be specialized more if need be.
As for those trade-offs that i mentioned, those usually come into the "foreground" when one's optimizing an already working codebase, though with experience, huge refactoring can, in most cases, be averted. Also, since lua is not a strongly typed language, my code's usually missing everything that has "class", "factory", "emitter", "builder", "generator", and similar, appended to them. In general, i don't really have a "great plan" of sorts when it comes to modules and interoperability between them; if it works, it works, cleaning can come later.
Last edited by zorg on Tue Jun 07, 2016 9:26 pm, edited 2 times in total.
Me and my stuff True Neutral Aspirant. Why, yes, i do indeed enjoy sarcastically correcting others when they make the most blatant of spelling mistakes. No bullying or trolling the innocent tho.
Re: How do you organize your project(s) ?
Boy, i really do have to organize things.
But i tend to "group" things together based on what they'll do in the game. I have .lua's that only store functions and others that actually have runnable code, for example.
https://github.com/Sulunia
Re: How do you organize your project(s) ?
Oh, quiet good you two !
Sulunia, for me I really don't like having .lua file in my main folder (except conf.lua and main.lua, of course). And I tried Beatfever and it's looks very good, but... What I see in you image, you have not so many files for what you done. I don't understand how you do
Sulunia, for me I really don't like having .lua file in my main folder (except conf.lua and main.lua, of course). And I tried Beatfever and it's looks very good, but... What I see in you image, you have not so many files for what you done. I don't understand how you do
Founder of NeoShadow Studio. Currently working on the project "Sirami".
github / linkpy
github / linkpy
Re: How do you organize your project(s) ?
Personally, I use very little OO in my projects. In rare cases, I might use OO when writing the high-level game logic.Linkpy wrote:I don't talk about folders and files, but in the conception.
Looking at a couple of my larger projects,
there's the "utils" folder for modules that can be reused in other games,
the "states" folder for things like game states, menus and UI,
and a "core" folder where all of the game logic goes.
The rest of the stuff is content: assets, localization files as well as level data and game objects.
Zorg's approach is interesting, and I use a couple of tricks similar to his example.
Like for example, I have a "sfx" folder that contains two sub-folders "wav" and "ogg".
Then I can specify which format I want to use just by changing "sfx/wav" to "sfx/ogg".
During developing, I use "wav" since it's easier to edit.
but when packaging public builds I run a batch converter and switch to "ogg".
Similar tricks can be used for textures with varying level of detail.
Re: How do you organize your project(s) ?
Yes, with a .sh file for converting file we can build all target in a command, interesting.
Founder of NeoShadow Studio. Currently working on the project "Sirami".
github / linkpy
github / linkpy
Who is online
Users browsing this forum: Ahrefs [Bot] and 2 guests