Picking a real-time strategy engine

Started by
7 comments, last by Infinisearch 6 years, 9 months ago

So I have a 12 year old son who wants to dip his toes in game development, while I am good enough at programming but know very little about game dev specifically, or graphics. And from the advice I already got. trying a project of his own is (surprisingly) a favored option. His favourite genre is real-time strategy, and I do have a ready lore set that would make for two factions with wildly different units (balancing that is a topic for another say).

But while my favourite language is Python, I'm not exactly optimistic about him implementing a full RTS UI from scratch with Pygame. What with a search for an RTS in Pygame yielding a huge lot of unfinished stuff... So I think he needs to start with a genre specific RTS engine.

Python bindings are not essential. I can work out any language and help him work that out. While something like ANSI C would be a major pain, most modern high-level languages, from Java to LUA, would be acceptable. Free to use is a hard requirement, open source is preferred but not essential. Running the games on Android and making them available as Flash would be a bonus but very much not essential.

From googling alone, SpringRTS is the number one contender for now, but I would really appreciate advice from people who actually know what they are talking about. (Unlike y own position at this point).

Advertisement

I personally think that an RTS game would be quite a huge undertaken for you to take on, as a person who knows how to program, let alone for someone so young. Im not saying not to go for it, but maybe just start off on something smaller, and a little easier to keep interest levels up. I think rather then using a RTS engine like spring, you should look into using something like Unreal/Unity. They will show results quickly, and keep things more interesting, plus there are hundreds of tutorials etc for them, and will get usable experience for any other projects you may choose to do, 2d platformers/3d/whatever. Just even google unity/unreal RTS and you will see tutorials already available to help things along

I don't have any experience with Spring, but it looks, at first glance, like something more programming-oriented than things like Godot, Unity or Unreal, which might be more friendly to the way your son will want to think about and work on creating this game. Even though they aren't RTS-focused, they can be used to implement RTSs fine, and they can be used in a more visual-first fashion that is often easier for young people to grasp. That way you can help him with the programming concepts with less of the uninteresting monkey-work of typing all that code and having to get syntax precise, and he can get immediate interesting feedback on how cool things look.

I'd recommend you take a look at the Godot engine, Unreal and Unity, perhaps installing them and messing around with them privately at first, and then working through one of the sample games or tutorials with your son on each of them, and see which one he naturally gravitates towards. That also provides you a fun opportunity to involve and teach him about one of the other great skills of a game developer: making critical decisions about which software will work for your specific needs and requirements.

I second the recommendation for an engine like Unreal/Unity. They're pretty well rounded, and, as others have noted, have tons of tutorials out there. It'd definitely be worth downloading them and messing around with them yourself, then branch out from there. Also, do you have anything in mind for what the end result should look like? I know you said RTS, but RTS is pretty broad. Do you have anything specific in mind?
 

I would also recommend to keep the project on the simpler side. You can still stick with an RTS, but something like one level/map perhaps, maybe with limited amounts of commands, etc. since a full fledged RTS can be very overwhelming to develop. 

No one expects the Spanish Inquisition!

Well, I did not expect him to develop the UI for commands etc at all. I wanted that to be provided by the engine, which is why I was looking at SpringRTS. A quick google says that there actually is an RTS asset pack for Unity but it costs $19 (not a prohibitive price). 

A "simpler option" might be tower defence, as it is a subset of RTS functionality. (An RTS would have towers anyway, and a tower defence also has moving units, except their routes are fixed).

He is not very keen on visual development stuff, he actually wants to be writing lines of code, but I do like the general approach proposed here. We'll start by spending time tinkering with a lot of agents and libraries. He needs to learn to thrive in the modern situation, where you nearly always look for someone else's existing implementation first. This is true way beyond the game segment of software.

I'm not as familiar with Godot, but both Unity and Unreal have paths towards building games more with code (C# for Unity, C++ for Unreal). One of the nice things about them is that it's pretty easy to pick a comfortable spot on the continuum of "code" versus "visual building blocks."

Thanks - this will be very useful as we tinker with them.

I'm gonna go out on a limb and say try SpringRTS.  You supposedly can customize pretty much anything and it will be alot easier to get results quickly since everything already has an implementation.  I think quick results and ease of getting up and running are important.

However I'd also say go to the unity store and see if there is code for an RTS (I just quickly checked and it appears to have something - https://www.assetstore.unity3d.com/en/#!/content/79732 ), that also might be a good option.

-potential energy is easily made kinetic-

This topic is closed to new replies.

Advertisement