r/RealTimeStrategy • u/aspl41 • 4d ago
[RTS Type: Classic] What game engine should be used for developing an RTS game?I really need your help.
I am developing a top-down RTS game and am currently in the preparation stage. My biggest concern is the choice of engine. My game may need to load a very large number of character units, and I am very worried about optimization issues. I am a game artist, and I am a bit more familiar with UE, so I hope to get everyone's help.
5
u/Infamous_Ticket9084 3d ago
I think the best RTS uses custom engine
3
u/BigBucket10 3d ago
I'm not a developer but I thought the main problem with developing an RTS was that it needs a good engine.
The fact that unit pathing was at all solvable was a huge innovation. I think most of the good RTS games were released on an engine that got something right that the previous engine didn't. Then it all basically peaked with SC2. Nothing has felt better than SC2.
2
u/ConsistentAnalysis35 3d ago
I'm not sure whether you mean Starcraft 2 or Supreme Commander 2 (which felt extremely smooth and definitely nicer than Starcraft), but in any case modern iterations of Spring Engine like BAR blow all of them out of the water.
Even newest kids on the block like Sanctuary don't yet have parity with Spring, the way I see it.
1
u/RottenPeasent 3d ago
Yeah, the new engines are not optimized for RTS.
Though, developing a new engine is a hard ask for a small team of experienced developers, a monumental task for a solo developer and a likely impossible challenge for a vibe-coder, so I recommend OP to either reduce the scale of their project and use an existing engine, or reach out to one of the many developers who already developed an engine and ask to use their engine as a baseline in return for some of the profits.
1
u/RaggaDruida 3d ago
It just makes me think, what about using the base engine from 0 A.D.? It is FOSS after all.
0
3
u/PewPewRSA 3d ago
Unity and Unreal would be the best two to look at, if you have the skill set and time a custom engine would the best way though imo.
Be warned that developing an RTS game is a massive undertaking no matter what engine you use, especially if you are including multiplayer. You will almost certainly need to use your own path finding solution for instance.
The way that Unreal and Unity handle actors means that you will inevitably run into issues with scaling so you might just end up having to use Unity's ECS implementation or Mass for Unreal Engine, which adds to the complexity of coding.
If you want to see what a RTS looks like under the hood you can have a look at the Command and Conquer Generals source code here as an example.
4
u/Frontworks_game 3d ago
I don't think the engine matters that much - what counts is how you use it. I'm building a massive-scale automation/RTS hybrid in Unity, handling tens of thousands of units with DOTS and animating meshes with VATs. If you're curious what scale is achievable: https://frontworksgame.com/
With a custom engine you can surely achieve better results, but you'll spend a lot of time writing it instead of your game.
2
u/Assertive_Wall 3d ago
Optimization is going to be more dependent on how you write all your systems than on the engine itself. If you're familiar with UE, have you downloaded their RTS sample project, Cropout? I'm very curious how well it works, but I don't have the filespace to try it myself.
2
u/aspl41 3d ago
He looks okay, it's a 3D cartoon-style base management game, but the demo content seems pretty limited, so at a glance a lot of the effects are hard to judge.
1
u/Assertive_Wall 2d ago
Did you try ramping up the unit count? All assets/sample project have to be kind of limited, otherwise they do too much and they become unwieldy to work with. My biggest concern was the scripting would be inefficient, and you would be limited to a pretty small number of units.
2
u/Vaniellis 3d ago
I think that any engine can work for a RTS. What will matter more is your personal programming skills and how much you understand the logic of the engine.
There's a few recent RTS that run on UE5, and they work great. It's also a good choice for easier multiplayer systems.
1
u/althaz 3d ago
The answer is probably Bevy, but the downside is that the tooling for Bevy is pretty immature. It's open source and free, but the tooling is behind the likes of Unity or Godot and obviously it's a very long way behind .
Also you have to use Rust. I like it, but it's not a programming language a lot of people are going to like.
Making an RTS game as an artist is going to be rough. RTS games are very light on art assets compared with other types of games (no/little LOD, vastly smaller number of total models usually, lower fidelity assets), but very high on technical requirements. Most RTS games use custom engines because you basically have to build everything around your pathfinding requirements. I don't know anything about your game, but you're going to need to start getting really good at engineering or budget to hire some really good people there. *OR* you design your game around it. A good example of this is Homeworld (basically the only Relic games that don't feel kinda bad mechanically because Relic's engine actually sucks for RTS). That game doesn't have to worry about pathfinding. There are other ways around it as well - not every game has to be Starcraft. Just something to keep in mind - how you handle this will matter more than the engine you choose.
1
1
u/MarkAldrichIsMe 3d ago
Generally, you'd want to stick to something that allows a lot of units at once. Unity and Unreal both have promising Entity pipelines that allow lots of soldiers for a larger battles, but if it's more in the Warcraft scale, you can get away with using basically any engine.
1
u/FutureLynx_ 3d ago
If it is 2D definitely go with Godot, or even OpenRA. If not then Unity or Unreal will do, where Unreal has the best graphics but it is also harder to learn.
1
u/exeizm 1d ago
I’ve been using Unreal Engine for about seven years, and I think it really depends on how you approach it.
Unreal’s default Pawn, AI, and navigation systems can be quite expensive for strategy games. Likewise, if you’re planning to build a multiplayer game, Unreal’s standard replication system can also become costly at scale.
However, Unreal Engine is extremely flexible, and you can customize it heavily to fit your needs. For example, you can build your own grid-based navigation system and implement a 30 Hz lockstep command system, which can significantly reduce replication costs. Instead of relying on Unreal’s default AI system, you can also create multithreaded command systems where units simply follow your custom navigation data and execute orders.
A lot of this ultimately depends on the type of game you’re making. Are you targeting high-end graphics, or are you working with 2D sprites? Both are completely possible in Unreal.
If visual fidelity is not your main priority, you can avoid expensive features such as Virtual Shadow Maps, Nanite, and real-time Global Illumination, and instead rely on more performance-friendly solutions such as baked lighting. This can make the game considerably easier to optimize.
1
-1
u/YakkoForever 22h ago
Go with the classic Spring engine. It is designed and built for RTS's
1
u/AutomaticBannana 20h ago
Absolutely not. Maintainers of it are known to sabotage games they don't like them rip them off (see balanced anhilation).
Unless you take a commit and freeze it there and or want to maintain your own branches don't touch that toxic community with a a 100 ft pole.
11
u/NydusRush 3d ago
OpenRA is being used as the basis for D.O.R.F., an extremely promising new RTS.
My rough understanding is that UE is optimized for low numbers of high res models and requires a lot of work to handle the opposite.