Skip to content

playgen/it-alert

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

IT Alert! is a system admin, network protection, cooperative survival game.

It is part of the RAGE project.

The project has three main areas:

  • The client.
  • The server.
  • The shared simulation.

Licensing

See the LICENCE file included in this project.

Cloning

  • When the project is cloned the ECS solution will need to be opened to perform a NuGet package restore, this will only need to be repeated if the ECS is updated with new package dependencies.
  • If cloning via SourceTree or another graphical git tool plese ensure that the LFS content has been pulled for all of the submodules.
  • Within the Unity folder you will need to run the CreateLibJunctions.bat file in order to set up the GameWork SymLink required for the project structure to be set up correctly.

Key Project Structure

  • doc: Documentation
  • lib: Precompiled Included Assets used by the client and server.
    • GameWork: Game Development Framework.
    • High-Speed-Priority-Queue-for-C-Sharp: Used by the simulation for pathfinding.
    • Photon: Used by the Photon server.
  • Server: Server side code, based on the Photon server architecture.
  • Simulation: Simulation source.
  • Unity: IT Alert Game Client Unity project files.
    • Assets
    • lib: Precompiled Included Assets used by the client.
      • Unity: Prequired Unity DLLs.
    • PlayGen.ITAlert.Unity: Source game client logic, builds to Assets/PlayGen.ITAlert.Unity.
    • Tools
      • CreateLibJunctions.bat: Setup script to create SymLink to necessary lib files.
    • PlayGen.ITAlert.Installer: WiX installer project.

Included Assets:

Development

Requirements

  • Windows
  • Git LFS
  • Visual Studio 2017
  • Unity Editor

Environment Setup

For .pdb debugging it is expected that you work from P:\it-alert so that the source files can be resolved.

If you are going to be commiting DLLs or want to debug code inside the DLLs, you will need to do the following:

  1. Open CMD.
  2. We will refer to the parent folder of your IT Alert repository as your "Projects Folder".
  3. Map your Projects Folder to the drive letter P:
    SUBST P: [Parent dir of it-alert project]
    If the path of the it-alert project is C:\Users\Bob\Projects\it-alert, the command would be:
    SUBST P: C:\Users\Bob\Projects
  4. Navigate to P:\it-alert to make sure the mapping has worked.
  5. Remember to always use this path when working on it-alert.
  6. Pull any of the repositories with source code you want to debug to your Projects Folder, leaving the cloned repository name as the default that git has defined.

Run Process

  1. This project uses Git Submodules so make sure those have been pulled too.
    At the time of writing, this can be done with: git submodule update --recursive if already cloned
    or to clone: git clone --recurse-submodules [it alert repository url]
    Note: Make sure that Submodules have been pulled properly. SourceTree likes to ignore the Newtonsoft.Json Submodule.

  2. Build Engine/Ephemeris.ECS-Alpha.sln and Simulation/PlayGen.ITAlert.sln.

  3. Run Server/PlayGen.ITAlert.Photon.sln (Make sure PlayGen.ITAlert.Photon.Plugin is set as startup project).

  4. Build Unity/PlayGen.ITAlert.Unity/PlayGen.ITAlert.Unity.sln.

  5. Run Unity/Tools/CreateLibJunctions.bat to setup the required symlinks so the correct dlls are included (you need to do this before opening .Unity so Unity doesn't create the folders instead). This will create a symlink at \Unity\Assets\Gamework.

  6. Open and run Unity/ in the Unity Editor.

Updating

GameWork.Unity

Build solution and place new DLLs (found in GameWork.Unity\bin) into lib\GameWork folder. Note that code changes could be needed as a result of updates to this asset.

Commit hash: 37b623daf815667d6f523c38ab47304bfac82b22

PlayGen Unity Utilities

Build solution and place new DLLs (found in various folders in this project) into lib\PlayGenUtilities folder. Note that code changes could be needed as a result of updates to this asset. New prefabs may also need copying, although take care not to overwrite customised versions of previous prefabs.

New DLLs should also be copied into the lib\PlayGen Utilities folder in the SUGAR Unity project.

Commit hash: 99d0daaa429430b36807bc5c28e567a61fc75e7d

SUGAR Unity Asset

Build solution and place new DLLs (found in SUGAR-Unity\Assets\SUGAR\Plugins) into Assets\SUGAR\Plugins folder. Note that code changes could be needed as a result of updates to this asset. It is advised that you do not remove the prefabs for SUGAR, as these have been edited to match the styling of Space Modules Inc. Only replace these assets if they are no longer compatible with the latest version of the SUGAR Unity asset, and even then be aware that you will need to recreate the previous styling.

Commit hash: 51bbdcd3658af28823471a09f3be89dff0b641f9

RAGE Analytics

Follow the instructions provided in the RAGE Analytics Documentation.

Commit hash: 652a562c11d3b2ddb85bae509a719d30ed6ecd0c

Evaluation Asset

Follow the instructions provided in the Evaluation Asset Documentation.

Commit hash: 6c4551df61ac1a1829ed0cbf7b9788362ee1342a

Conventions

  • Work from P:\it-alert.
  • Commit .pdb files when committing .dlls.

Developer Guide

For detailed information on the project structure for the Game Logic, Server and Client, see the the Developer Guide.

Versioning

Each main area of the IT Alert project has its own version located in:

The version is composed of:

  • Major: Increment for backwards compatibility breaking changes.
  • Minor: Increment for features.
  • Build: Increment for bug fixes, minor changes etc that result in a new build.

Build

Run Instructions

To run the Photon Server as a service, see the Deployment Documenetation.

Installer:

Wix is used to create the Windows installer.

Using the game-launcher repository, games can be launched using a url.

Requirements:

  • Wix Toolset
  • Visual Studio 2017
  • Wix Visual Studio Extension
  • Game Launcher project

Process

  1. Create a Unity PC Build at Unity\Build\ITAlert_StandaloneWindows64 called “ITAlert_StandaloneWindows64”.
  2. Once built, go to the project solution (Unity/PlayGen.ITAlert.Installer) and build the PlayGen.ITAlert.Installer project.
  3. The resulting windows installer can be found at Unity/PlayGen.ITAlert.Installer/bin/PlayGen.ITAlert.Installer.msi

The process for setting up a game installer is also detailed within the Game Launcher documentation.

  {
    "BaseUri": "http://api.sugarengine.org/v1/"
  }

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages