File Structure - GameDevWeek/CodeBase GitHub Wiki

This is a recommended file structure, to keep things clean and easy to understand. You are of course free to adapt this, as long as it helps keeping things organized (make sure to communicate these changes!).

  • src/main/resources/data The base file path. Everything in this folder will be packed into the jar during a build.
    • dummies A folder to put placeholder images, so they later can be easily removed. (use subfolders as shown below)
    • entities Parent folder for entity images and animations (create subfolders for every entity).
    • fonts Font files (and corresponding images).
    • json JSON configuration files (for entities, image lists, etc.)
    • maps Maps (and corresponding preview screenshots)
      • tilesets Tilesets (and corresponding images)
    • music Music files (saved as .ogg, mono or stereo)
    • sounds Sound files (saved as .wav, mono)
    • particles Particle Effect files (and corresponding images)
    • shaders Shader files
    • ui Anything related to the user-interface.
      • menu Menu graphics
        • skins Menu skins (and corresponding images)
      • hud Graphics for the heads up display.

Create subfolders as you see fit.

Naming convention:

Apply the folling naming conventions to avoid problems and to keep things the same way everywhere:

  • lowercase characters
  • english characters and numbers only.
  • separate words by underscore.

Want to see this in action?

Actually, this guideline is too fresh, so it has not been applied to any previous GDW. But the last game, Great Unicorn Massacre was using a file structure quite similar.