JerkyTreats / EndlessHorizons

Spacefaring Game Project
http://endlesshorizonsgame.com
3 stars 0 forks source link
c-sharp game unity3d

EndlessHorizons

Endless Horizons is a Unity3D game that allows you to build the interior of a spaceship. Think LEGO meets FTL.

The player drag and drops Ship Components onto a grid, you build the shape of your Spaceship.

Endless Horizons is a prototype in very early stages of development- meaning it doesn't get updated all that often, and can be a bit ugly.

Features

The following links to some of the various features developed for Endless Horizons. The list is roughly ordered by how recently devleopment work has gone into it. Each link contains a short description of the feature, its path in the codebase, and any interesting technical notes related to the feature.

Code Structure

The primary design pattern for Endless Horizons is to follow a MVC design pattern. The unity Game Obect represents the View, the added MonoBehavior acts as the Controller, which accesses and manipulates data contained in a Model class. The intent is to allow for unit tests on the Models, and eventually integration tests for the Controller. That's the intent, anyways.

You can see this code structure in practice in Assets/Workshop/Grid:

The root folder for game code is in ShipDesigner/Assets. The following will explain the various folders found in root.

Engine

Engine contains core code, utility/helpers that can be used anywhere in the code, and data management stuff. Not to be confused with UnityEngine

Game

Contains gameplay specific code.

Resources

Resources is a special folder recognized by the UnityEngine. It allows for easy access to various files. For Endless Horizons, it contains Sprite data and Prefabs.

View

Contains Camera components and related data.

Workshop

Contains the Grid and the tools to manipulate the Ship.