I'm starting to adapt a proof of concept arcade game engine into something that supports a sequence of levels. Each level will have a few exclusive images that go along with it, and possibly music, SFX, and maybe even fonts. I'm not sure if there's a "right" answer — in fact, I'm pretty sure there's not — but I'm curious what most folks use as their primary organizing principle for level assets.
Specifically, do you…
- Keep all images, sounds, fonts, etc. in their respective top-level
images
,sounds
, andfonts
folders, either in subdirectories according to level/scene and/or using some filename prefix scheme? - Group all level assets together with any other related files (including code, config, etc.) such that each level is entirely self-contained within your project structure?
- Something else I haven't thought of?
I'm flip-flopping on the best approach, and see pros and cons to each. There's a certain appeal to having a level manifest as a singular folder that you could hypothetically move around as a unit (that probably stems from a lifetime as a Mac user where apps and all sorts of other "bundles" are just fancy folders), but it goes against the recommended project structure.
I'd love to hear how others have approached this and any pitfalls I should look out for!