Skip to content

Establish a consistent folder/file layout within demo project directories #280

@LikeLakers2

Description

@LikeLakers2

Right now it seems like the demo projects are all over the place with how they're laid out, and what file types are used. As an example of some issues in layout I see:

  • Some demos with relatively few files will store the files in the root of the project, which is okay. But others that also have relatively few files will sort them into directories. This also applies to projects who have large amounts of files.

  • A couple demos appear to make directories specifically for one type of object, and will only store that object's *.gd and *.tscn file in there (they will over-categorize). Most others will generalize the content into one directory (i.e. graphics going into res://art/ instead of a subdirectory of res://art/; they will over-generalize).

  • Some demos use *.scn instead of *.tscn. Some will use *.material or *.mesh instead of *.tres.

  • Some demos will include the default_*.tres files, while others will not.

  • The naming scheme of both folders and files is just not consistent at all. Some use snake_case, some use CamelCase, some opt not to use either and just put wordstogether. I notice that networking/multiplayer_bomber even seems to mix and match.

  • To add to this, files that are used for non-engine purposes (such as 2d/dodge_the_creeps/attributions.txt) also don't seem to have a consistent naming scheme.

  • The plugin demos should be a full project rather than just the project folder, in order to maintain consistency instead of arbitrarily requiring the user to have to figure out that there's a step 2 (Installing) to those plugin examples.

  • And finally, I noticed that visual_script/multitouch_view uses a GDScript file in a project that, in my opinion, should be entirely VisualScript. Perhaps that's nitpicking, but I see it as an inconsistency I should note for the sake of this issue.

All of this, at least to me, adds up to a demo project repository that just seems harsh to navigate. For every new demo project I explore, I would have to figure out what sort of layout that demo project is using. And while it takes maybe two to three seconds for me, I imagine for beginners it might take even longer.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions