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
hyperion51 0b46d5ee39 Database Support
Refactored almost everything, but most importantly we now integrate with RethinkDB for game data.
2020-03-22 19:05:26 +00:00
.idea Database Support 2020-03-22 19:05:26 +00:00
Assets Database Support 2020-03-22 19:05:26 +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 Database Support 2020-03-22 19:05:26 +00:00

Aetheria-Economy

Economy Simulation for Aetheria

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.