-
Notifications
You must be signed in to change notification settings - Fork 0
Documentation
nicoleepp edited this page Apr 1, 2017
·
36 revisions
Access the current state of the game now at http://singedfeathers.online
- Chrome sometimes doesn't update it immediately so please use Firefox.
https://github.com/Devin0xFFFFFF/comp4350-project/wiki/How-To-Play
https://github.com/Devin0xFFFFFF/comp4350-project/wiki/Deploying-to-iOS
- Open project in unity
- Click File -> BuildSettings
- Use gradle, and check Development Build
- Press Build
- Move apk file onto android device
- Install on android device
- Open project in unity
- Click File -> AutoBuilder -> Android
- Get apk from SingedFeathers/Builds/Android
- Install on android device
- The structure of the code follows an MVC like architecture. When a user interacts with the system Unity creates an event which is processed by the view. The view processes the event by invoking calls through controller interfaces. Controller methods which are invoked through the calls then modify the content of the models. These changes are then accessed by the view through the controller interfaces when needed. Unlike most MVC architectures, the view is a bridge between Unity logic and the core logic of the system and acts as the input/output access for the user. Below is a high level diagram of the architecture.
- The code is divided into Unity specific code (SingedFeathers) and general C# code (CoreGame).
- We are using an MVC-like structure with the models and the controllers in the CoreGame C# code, and the views in the Unity code.
- More server architecture information here: https://github.com/Devin0xFFFFFF/comp4350-project/wiki/Server-Architecture
- The MapServer is composed of an AWS API Gateway which is backed by AWS Lambda functions.
- The Lambda functions interact with persistence to retrieve/store map metadata/data
- These interfaces all live in the CoreGame project
- ITileController, IPigeonController, and IMapController are straightforward MVC controller interfaces.
- ITurnController is so that the TurnController can be tested easily with NSubsititue.
- ITurnResolver is that we can stub out turn resolution down the road.
- ICommand is like ITurnController and is to test Commands.
- Singedfeathersmaps bucket: holds map data, each map file is named: ${mapID}.json
- Singedfeathers.online bucket: hosts our static website
- SingedFeatherMaps table holds map metadata, primary MapID key matches map filename in S3
- We have a version of the game up on singedfeathers.online
- We plan on getting a game server and coordinator for the final snapshot
- We have been focusing on getting a core game up in Unity over servers so they will be easy to do when the time comes
- Where our core game logic is located
- Multiplayer Server Lobby code
- Map Server code for serving and storing game maps
- Raw resource files used to create unity graphics
- The unity project and 'View' of our code
- The code logic is contained within the
SingedFeathers/Assets/Scripts/
folder - The tests for our CoreGame logic are within the
SingedFeathers/Assets/Editor/
folder - The rest of the folders
Plugins
,Prefabs
,Scenes
, andSprites
are all resources used for the unity project to work correctly
- Travis log and script files for installing/building our project are here.
©WhyNot 2017