Multiplayer / Networking API

Hi there!

Flax looks really promising, and there are a few features that are catching my eye, especially GPU skinning and automatic batch/instanced rendering which could be really useful for the game I’m making currently, as it requires the rendering of huge crowds of AI characters. I’m achieving this in UE4 through pre-baked vertex animation, but the lack of animation tree support makes it an arduous task getting animations to blend and transition nicely in C++!

One thing I also need is a high level networking API to allow for listen servers. I see this is in the “todo” list, but as far as I can tell from the Trello board it’s not currently assigned to any particular release and the last update on it was almost a year ago. Is this not a priority at the moment, or do you have an idea on when it’s likely to be available?

Thanks!

2 Likes

Yeah, networking is high-pro right now.
I guess we will start working on it early next year (1-2months).
Trello ticket: https://trello.com/c/7s2MXj9d/90-networking

Also, if you have any requests regarding networking for the games feel free to share!

Thanks for the response! I’ll be sure to chip in with any thoughts once I get to networking my game with UE4. I have some thoughts around vertex animation for crowd rendering and simulation, but I’ll have a play with your existing animation system and see how far I can push it first.

While using dedicated master servers to host the game sessions is obviously the best solution to fight cheating, its monthly cost is often prohibitive for many indie game studios.

So I think it would be a big plus, not to say a game changer compared to the leading game engines, if your multiplayer/replication API would make it easy to also implement listen-server based games, which IMO remain a viable option if the actual number of players is low (like in Hearthstone or Clash Royale for instance), especially when used in combination with SteamWorks which already does the NAT punchthrough and relaying for you.

The downside is that you need a host-migration system when the hosting player quits the game, but for two player games it’s not even a problem, as the game will have to end anyway.

Well, UE4 does offer full listen server capability (not sure about host migration though). The nice thing is that the way the API is implemented means that you can easily code for both: a simple check to see if the net mode is dedicated server or not is all you need to check whether you should run client code on the authority or not. Everything else is the same.

What no other engine does offer though is out of the box peer-to-peer networking with lockstep. The likely reason for this however is lack of demand, though such a capability would be useful for RTS type games.

As you have guessed, I was indeed referring to UE4’s complete lack of interest for multiplayer games relying only on player hosted game sessions with host migration.

So if Flax Engine natively supports listen-server based games with host migration, it will become very attractive to indie game studios who don’t mind implementing the lobby servers but don’t want to pay for expensive game master servers, as SteamWorks provides them with free relaying services.

1 Like