Join the demo

Our Favourite FAQs From The Aether Engine Discord (Thus Far!)

Jan 29, 2019 4:00:00 PM

The eagle-eyed amongst you will have noticed that we’ve recently launched our Discord channel, covering all things Aether Engine and our upcoming world record attempt to host the biggest online battle of all time.

It’s your perfect chance to chat to the Hadean team and find out more about the tech, the record attempt and… us! If you want to join our Discord channel, here’s the invite link:

Join us on discord

In the meantime, we thought we’d pull a few of our favourite questions you’ve asked us in Discord alongside our answers, so you can hit the ground running when you join our Discord channel.

What is HadeanOS based on? 

HadeanOS is an internally developed OS. It’s binary compatible with Linux and supports all of POSIX and most of the Linux Syscalls API, however it is internally different from Linux in very fundamental ways. It’s been designed from first principles to be a lot more robust, reliable, and scalable and in addition to POSIX/Linux Syscalls offers Hadean-specific syscalls to handle concurrency semantics and IPC (Inter-Process Communications) in a distribution-agnostic manner.

As such, a simple 10-line programme can run on a single core on one server, or dynamically scale up to thousands of servers. You still run the exact same source and exact same ELF binary at both scales. The reliability and robustness properties of HadeaonOS (going above and beyond Linux, Windows, various Unices etc) ensure that during this scaling to thousands of servers the change of an edge-case single fault in any server supporting your programme is minimal. In fact, the Hadean guarantee is that such a fault is either a programme bug (which will be discovered early and should be fixed) or due to a hardware fault (which are actually vary rare when you eliminate all OS/systems software and framework issues).

What kind of transport mechanism are you using to propagate packets? 

As for the transport layer there are various. HadeaonOS itself provides a Shared-Nothing concurrency process-based concurrency API (via a Spawn(…) Syscall). Communications between Hadean Processes is provided via Channel-based semantics. Channels themselves are internally implemented in various ways. E.g. on a single core or CPU internally, the OS may use memcpy while the API semantics look identical (i.e. send/receive via channels).

On a multi-CPU system this channel access will happen via QPI communications. In a multi-server case these channel communications will be handled via network – we have two implementations of our own protocol HCP which is significantly more robust and high-performance than TCP particularly when used inside a single datacentre. HadeanOS also offers TCP-based channel implementations that are a level up and have the usual TCP drawbacks but also the TCP advantage of being pretty universal across the internet.

Must a deployment of your infrastructure be all in the same physical location?

No. In fact the current 10k demo requires us to distribute out our game and connection servers across geographically disperse locations. Ultimately we are constrained by the underlying latency and bandwidth limitations of the available cloud datacentres. However, thanks to our bare metal nature HadeanOS and Aether Engine are very efficient in exploiting the performance of the hardware and network.

We will be able to run this alongside Windows, correct?

You play your game on Windows or any other as usual. The game servers run on HadeanOS.

What will this do to localhost Windows testing of the networking code? Specifically testing during deployment.

You’ll be able to do it on your machine with virtualisation or test your game on the cloud. Our tools make this easy to deploy and run with one click, so you won’t face any hurdles during development. If you’re a developer, you should subscribe to our blog to hear about upcoming IDE integration.

How long until we get something close to the final battle in Ender’s Game? I hope it includes blowing up entire planets that had ecosystems and societies.

In theory the technology would allow exactly that. You could start on the surface of the planet, walking around, talking to people, etc. You then hop into your spaceship with the planet killer canon bolted underneath, achieve escape velocity, spin around and target the planet you just took off from. A twitch of your trigger finger and ‘millions of voices suddenly cried out in terror, and were suddenly silenced.’ It should be possible to build it with Aether Engine.

I read a lot of sci-fi, space opera books that revolve around space warfare. I would love to be able to forget that I’m playing a game and instead feel like one of the nameless pilots in these books. We would all love that, or to be the commander that through some weird and well-thought out strategy would lead your small fleet to victory, even if it’s versus the remaining armada of a hive mind civilization…

It’s definitely something we’re considering and really, really keen to have in the demo. Squadrons and/or fleets will completely change the dynamics of the demo, so we’re keen to understand what the PvP experience is like first and then build on top of that.

If you've not joined our Discord, head on over now.  The team are online looking forward to adding to this list of questions. 

You May Also Like

These Stories on Gaming

Subscribe by Email

No Comments Yet

Let us know what you think