Skip to content

Project Structure

Kevin Prehn edited this page Aug 2, 2018 · 6 revisions

When you first clone the repository, you will see five folders in the directory:

entire file structure

  • DataStructureEdGame - The Unity game project
  • Generator - A (currently unfinished) procedural level generation using ASP
  • images - Images for the Wiki and README
  • ServerScripts - PHP scripts which are placed on a server for logging.
  • TiledToJsonEdGame - Tiled level files and conversion script

DataStructureEdGame - Unity game project

This folder contains the Unity game project. The game should be opened with Unity 5.6.0, which you can download here by looking under the Unity 5.x tab. The entire game is in the scene called "MainGameScene".

Main Scene Hierarchy

When you open the MainGameScene scene, look in the Hierarchy in the Unity Editor.

MainGameScene Hierarchy close up

  • Main Camera - The scene's camera
  • GameController - Object containing the GameController script
  • LoggingManager - Object containing the LoggingManager script
  • WorldGenerator - Object containing the WorldGenerationBehavior script
  • WonGameCanvas - Canvas that is revealed when the player completes all levels
  • GameCanvas - Canvas that is displayed during game play.
  • MenuCanvas - Canvas that is displayed when the game is initialized
  • EventSystem - Unity event system
  • BottomOfWorld - Object which reset the level if the player falls into it.
  • Background - Object that has the background sprite

The GameController script will set all canvases into their proper active states when the game starts. You may notice that the scene is empty of all game objects. This is because all level objects are instantiated at runtime based on level description files. These level description files are referenced from an array in the WorldGenerator object.

world generator inspector view

Assets Structure

Looking at the Project window in the Unity Editor:

Project Assets view

  • Fonts - Fonts for the game
  • LevelDefs - Level definition JSON files. These are used by the WorldGenerator to create levels
  • Resources - Images, materials, and physics materials for the game and instruction panels
  • Scenes - Game scenes
  • Scripts - Scripts for game objects and the HUD
  • Sprites - PreFabs of game entities

The prefabs GameController, LoggingManager, and WorldGenerator have default settings for the scripts in them.

Generator

TODO

ServerScripts

This folder contains PHP scripts which should be included on the server where you are logging your data. Be sure to also update the URL configuration variables in the LoggingManager object in the Unity Editor so the game knows the server and path to send requests to. These configuration variables should be for the folders which contains these scripts, not the scripts themselves. Do not rename these scripts.

TiledToJsonEdGame

This folder contains .tmx Tiled level files, generated JSON files, a ruby script which does the conversion, and an executable TiledToJson.exe that was generated with Ocra from the ruby script.

Please view the Level Editor Guide page for more information on making and editing levels.