Newbie questions

Hi,
From reading the docs or checking the forum for answer, I couldn’t find what I’m looking for.
I’m interesting in developing a massive RTS game, something that is a mixture of an RTS with infinite world (in the shape of galaxies) and amount of players while having 1st-person capabilities (i.e controlling a tank on the battle field etc.)

Please help me with the following questions:

  1. Can I use the Engine for a space-to-surface games (similar to: Infinity Game Engine Demo - YouTube)?
  2. Does infinite world size are supported (dynamically loading/streaming parts as player move around etc.)?
  3. Can a player have multiple view ports/scene (First Person, Top view like in RTS, galaxy view etc.) seamlessly without long loading time?
  4. Can I use the networking component (or should I use something like raknet, photon or write my own) to support massive RTS game (multiple backed servers that handle different territories of the word etc.)?

Thanks!

I can help with a few of these, some from experience:

  1. Yes, but this is something you will have to add support for yourself and you will have to develop a system for it very early on. The realistically best way to handle this, is to always have your camera positioned at the world origin, and move the rest of the world around it instead of the traditional way around. Any discussion around using double-precision for the engine will show you why. It’s the approach taken in Kerbal Space Program and once you have a good system setup, it’s not too hard to work around it. No examples out there that I know of. This is easier than adding double-precision support to the engine (which would take years), and less costly. In an RTS, that matters.

  2. Yes and no. We have World Origin Rebasing and level streaming, so you can theoretically have a world as large as you want - but this won’t work if you take the approach above and it’s even harder to get it working in Multiplayer. Again, you’ll probably have to develop a system for this yourself. If you have ‘infinite’ worlds, you’ll probably use procedural generation instead of saved discrete levels anyway.

  3. Yes and no. You can setup Render Targets, but they are costly and don’t support all rendering features (like Motion Blur, Anti-Aliasing. Though apparently that’s an easy fix…). Multiple worlds and viewports aren’t supported (yet, no idea when they will be).

  4. Frankly, nope. Character Movement is too heavyweight for RTS-scale games. Replication can handle RTS games if you’re crafty about how you achieve it, but you will find yourself finding all kinds of creative ways to save bandwidth. The biggest barrier to making an online RTS game in Unreal is the fact that UE4 is NOT deterministic (and never will be), so you have no choice but to replicate the full state of the game all the time. It’s doable, but you will have a hard time.

If you’re just starting out in Unreal, I would strongly suggest picking a smaller project first.

handling many units is difficult with UE4, especially if they are skeletal mesh based. in case of a sci-fi they can be static meshes, which is much faster, but you need to implement a custom pathfinding and movement system with custom replication. it’s quite adventurous, I know because I’m working on it. it works for me for a few hundred units but still WIP, there is still a chance of failing with my multiplayer support. if you want to use units with character movement component, don’t expect much more than 100-200 units (I know a developer who has experiences with it, we shared our results).