Sci-fi ARPG made in Unity
  • C# 85.7%
  • Python 5.3%
  • ShaderLab 2.4%
  • HLSL 2.3%
  • Ink 2%
  • Other 2.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2020-03-23 01:43:37 +00:00
.idea Database Support 2020-03-22 19:05:26 +00:00
Assets Galaxy Editor Changes 2020-03-23 01:43:37 +00:00
Economy.Server Database Support 2020-03-22 19:05:26 +00:00
Economy.Shared Database Support 2020-03-22 19:05:26 +00:00
Packages Copy Aetheria Code 2020-02-27 18:51:07 +00:00
ProjectSettings Old Aetheria Code 2020-03-09 01:28:55 +00:00
.gitattributes Initial Client/Server Communication 2020-02-26 17:48:40 +00:00
.gitignore Shitty uniform Poisson Disk Sampling 2020-02-28 12:42:00 +00:00
Aetheria-Economy.sln Database Support 2020-03-22 19:05:26 +00:00
Aetheria-Economy.sln.DotSettings Database Support 2020-03-22 19:05:26 +00:00
Assembly-CSharp-Editor.csproj Database Support 2020-03-22 19:05:26 +00:00
Assembly-CSharp-Editor.csproj.meta Shitty uniform Poisson Disk Sampling 2020-02-28 12:42:00 +00:00
Assembly-CSharp-firstpass.csproj Database Support 2020-03-22 19:05:26 +00:00
Assembly-CSharp.csproj Database Support 2020-03-22 19:05:26 +00:00
Assembly-CSharp.csproj.meta Shitty uniform Poisson Disk Sampling 2020-02-28 12:42:00 +00:00
Assets.meta Shitty uniform Poisson Disk Sampling 2020-02-28 12:42:00 +00:00
Economy.Shared.Unity.csproj Database Support 2020-03-22 19:05:26 +00:00
Economy.Shared.Unity.csproj.meta Shitty uniform Poisson Disk Sampling 2020-02-28 12:42:00 +00:00
Economy.sln Hotfix (Missing Project Files) 2020-02-26 18:00:22 +00:00
LICENSE Initial commit 2020-02-18 15:06:06 +00:00
MagicOnion.Abstractions.csproj Database Support 2020-03-22 19:05:26 +00:00
MagicOnion.Abstractions.csproj.meta Shitty uniform Poisson Disk Sampling 2020-02-28 12:42:00 +00:00
MagicOnion.csproj Database Support 2020-03-22 19:05:26 +00:00
MagicOnion.csproj.meta Shitty uniform Poisson Disk Sampling 2020-02-28 12:42:00 +00:00
MagicOnion.Unity.csproj Database Support 2020-03-22 19:05:26 +00:00
MagicOnion.Unity.csproj.meta Shitty uniform Poisson Disk Sampling 2020-02-28 12:42:00 +00:00
MessagePack.csproj Database Support 2020-03-22 19:05:26 +00:00
MessagePack.csproj.meta Shitty uniform Poisson Disk Sampling 2020-02-28 12:42:00 +00:00
README.md Galaxy Editor Changes 2020-03-23 01:43:37 +00:00

Aetheria-Economy

This repository is the home of Aetheria, which could be described as a sci-fi hybrid ARPG/RTS MMO about a group of corporations colonizing a hostile alien galaxy, with a satirical narrative critiquing late-stage capitalism.

The ARPG game design document is available here, while the RTS gameplay is documented here. The goal is to essentially create two games which both take place in the same persistent universe, allowing players with vastly different preferences to struggle together for the survival of mankind.

Architecture

There are two solutions in this repository. One is a Unity project containing the desktop client for Aetheria, and the other is a .NET Core server application. There is some code shared between them, located at Assets/Scripts/ServerShared, defining a common protocol and data serialization format. Client-Server communication is implemented using MagicOnion, an RPC framework that transmits MessagePack over the wire.

Aetheria uses RethinkDB for data persistence. To make this possible, all persistent data is marked with attributes for both MessagePack and JSON.Net serialization. During operation, the client does not communicate with the database server directly, only the game server does that; the game server caches data relevant to the game and sends it to the clients.

Database Editor Tools

In order to facilitate the creation and maintenance of game data, there is a Unity editor utility which communicates directly with RethinkDB. You can access the tools by selecting Window/Aetheria Database Tools in Unity's menu. This will cause two windows to appear, the Database List View and the Database Inspector.

Connecting to RethinkDB

At the top of the list view there is a text field where you can enter the URL of the database server. When you click connect, the editor will download and cache all of the items in the game, as well as subscribe to the changefeed. The list should now populate with items. For access to our database servers and therefore live game data, please contact us; it would be dangerous to make our actual database URL public!

Editing Items

You can unfold the categories of items in the list view to see what items exist. If you select an item, the Database Inspector will populate with all of the available fields of that item. Any changes you make in the Inspector will automatically be pushed to RethinkDB. If you've connected to the production database, this will update the stats of in-game items in real-time!

Contact Us

If you want to chat, please join our Discord server.