What game engine is most suitable for a strategy game?

Daybyday

Newbie
Jun 14, 2017
32
73
Im considering creating a CGI-rendered fantasy game with some gameplay elements of strategy games (building buildings, training troops, fighting battles etc).

I only have experience with renpy so far and while I realize RPG-maker is probably better suited for the task, I consider the top down view kind of cartoonish. While I realize there are many great RPGmaker games, the map-view where you spend most of the in game time always takes me out of the game.

Is there a more suitable game engine for the purpouse? Is it worth it just doing it in Renpy?

Kingdom of Deception did a similar thing in Renpy but I suspect part of the reason it was abandoned was because of the large amounts of scripting slowed down development, so Im not sure if I should see it as a cautionary tale.
 

woody554

Well-Known Member
Jan 20, 2018
1,560
1,940
yes, 100% what based47 said. it's possible in renpy but increases complexity more than 10x, and the result will still be super stupid.

unity used to always be my answer before, but after the recent changes unreal might be worth looking into as well? but then again you're almost guaranteed to never cross the unity 200K threshold so it really is moot.


actually now that I think about it, godot might be perfect for this? haven't used it myself but because of the unity stuff I checked out a couple of beginner 2d game tuts for godot and yeah, definitely might be perfect fit. also I'm sure it's getting a huge boost in popularity right now.
 
  • Like
Reactions: Daybyday

Daybyday

Newbie
Jun 14, 2017
32
73
yes, 100% what based47 said. it's possible in renpy but increases complexity more than 10x, and the result will still be super stupid.

unity used to always be my answer before, but after the recent changes unreal might be worth looking into as well? but then again you're almost guaranteed to never cross the unity 200K threshold so it really is moot.


actually now that I think about it, godot might be perfect for this? haven't used it myself but because of the unity stuff I checked out a couple of beginner 2d game tuts for godot and yeah, definitely might be perfect fit. also I'm sure it's getting a huge boost in popularity right now.
I should clarify I'm very much a beginner programmer. The strategy aspects wouldn't even be close to something as sophisticated as Age of Empires, it would be more like a calculation of the various stats you have chosen. Also images getting updated with buildings constructed and maps showing areas you've conquered.

So the results would be clunky regardless, thats why I'm thinking other engines might be too complex for what I intend to do.
 

kytee

Member
Dec 17, 2018
323
722
I should clarify I'm very much a beginner programmer. The strategy aspects wouldn't even be close to something as sophisticated as Age of Empires, it would be more like a calculation of the various stats you have chosen. Also images getting updated with buildings constructed and maps showing areas you've conquered.

So the results would be clunky regardless, thats why I'm thinking other engines might be too complex for what I intend to do.
If it's as simple as a bunch of UI elements with variables and no real-time moving parts, then sure, it's doable in renpy.
 

woody554

Well-Known Member
Jan 20, 2018
1,560
1,940
If it's as simple as a bunch of UI elements with variables and no real-time moving parts, then sure, it's doable in renpy.
doable, but like ten times harder to do than coding it from scratch.

with renpy you'll need to learn 4 confusingly similar languages and navigate through a minefield of hidden and undocumented renpy traps. and it still won't do some of the most trivial things like telling you whether the animation has run or not, making compound animations a nightmare.
 
  • Like
Reactions: Daybyday

MarshmallowCasserole

Active Member
Jun 7, 2018
700
1,746
If not Unity, then Godot. gdscript is similar to python in terms of syntax, so a mite easier to learn, and the engine has everything for a simple strategy game.

renPy and RPGM are entirely unsuited for anything outside of their genre scope.
 
  • Like
Reactions: Daybyday

woody554

Well-Known Member
Jan 20, 2018
1,560
1,940
So the results would be clunky regardless, thats why I'm thinking other engines might be too complex for what I intend to do.
if you ONLY want to show text over static images, renpy is perfect and super easy for that. but the second you want anything more complex like just clicking a door to enter room, it gets messy. and you'll spend months trying to find out why something completely obvious refuses to work no matter what, until you find tom mentioning in some obscure thread 8 years ago that object wasn't really ever meant to be used like that.

on the other hand it sounds like you could learn the things you want in a few days in godot or unity.
 
  • Like
Reactions: Daybyday

neodymiumx

Newbie
Jun 5, 2020
73
43
Renpy and RPGM are pretty primitive in this department.

You might not be skilled enough to make what you want to see yet but if you just start development in something like Unity you will probably develop the skills that you DO need over time and then have those at your disposal for future use as well.
 
  • Like
Reactions: Daybyday

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,971
16,228
doable, but like ten times harder to do than coding it from scratch.

with renpy you'll need to learn 4 confusingly similar languages and navigate through a minefield of hidden and undocumented renpy traps.
Languages that do not exist with Unity, and that you'll have to come up with in a way or another.

When, with Ren'Py, you write something like:
Python:
screen whatever( col, row, map ):
    vpgrid:
        cols col
        rows row
        for cell in map:
            imagebutton:
                idle cell.background
                action cell.action
you get a col x row cells map, with all cells having their own background and something different that will happen when you click on them. And those six lines will be enough, works for all your maps, and will automatically handle the scrolling if the map is bigger than the screen.

With Unity, you'll have to come with a code:
  • that will take its input from a fully variable list of object
  • Find by itself the size of a cell background
  • Position each cell
    • At the right place
    • Accordingly to a purely optional scroll value
    • On a map that is purely variable, both in number of rows, columns, and size, and can overflow from the screen
    • But only if the said cell isn't outside of the visible part of the map
  • Add a click event (to a purely variable code) on top of each cells, what mean that you need to know the exact position and size of each one.
  • Add scrollbars, and handle them, but only when needed
  • Come up with a way to describe the maps
It's of course perfectly possible to do this. But it need more capabilities and initial knowledge, than what is needed to learn Ren'Py languages.

Everyone with a bit of logic can come up with the Ren'Py code, a small minority of none coder amateurs can come up with the needed equivalent for Unity. There's probably templates, but you'll have to deal with what they permit, what will be a bit more limited that what Ren'Py offer you.

It's like saying that one should prefer to drive a car than to ride a bicycle, because you firstly have to learn how to keep your balance on a bicycle. This is forgetting that you'll need to learn how to drive a car before you can effectively do it. And it happen that learning how to keep your balance on a bicycle is easier than learning how to drive a car.
And the same apply here. Learning Ren'Py's languages is easier that following the four years course needed to know how to code. Because learning C# (the language used by Unity) isn't enough, you also need to know the algorithm and learn the logic, something that isn't really needed with Ren'Py thanks to those four abstraction languages.

Not that Ren'Py is what he should use, and even less that it's better than Unity. It's just that your argument is incorrect because you base it on the fact that the alternative (Unity) can be used by clapping your fingers, what is far to be the case, especially for such advanced use.
 

woody554

Well-Known Member
Jan 20, 2018
1,560
1,940
Not that Ren'Py is what he should use, and even less that it's better than Unity. It's just that your argument is incorrect because you base it on the fact that the alternative (Unity) can be used by clapping your fingers, what is far to be the case, especially for such advanced use.
oh, I didn't mean it's gonna be trivial in unity, just that when you write in a single real language you have free hands to create without restriction. you learn that language once and you're kinda set for life. even a noob can find ad hoc ways to realize his ideas in his bad and ugly code, and it'll work. where as in renpy that only applies to python, and you can't use python alone in renpy. you'll start with renpy script, then screen language, then atl, then probably at least use python inits.

and even with your screen the renpy-noob will be already going through renpy script, then learning screen language, probably atl, and mixing the syntax of all of them together and things will get messy (for a beginnner) fast.

but of course everything is doable, everything is possible to be learned, and I don't think people should worry TOO much about something not being completely beginner friendly. it's not magic, there's always a solution, they will figure it out eventually.
 

Daybyday

Newbie
Jun 14, 2017
32
73
It's like saying that one should prefer to drive a car than to ride a bicycle, because you firstly have to learn how to keep your balance on a bicycle. This is forgetting that you'll need to learn how to drive a car before you can effectively do it. And it happen that learning how to keep your balance on a bicycle is easier than learning how to drive a car.
And the same apply here. Learning Ren'Py's languages is easier that following the four years course needed to know how to code. Because learning C# (the language used by Unity) isn't enough, you also need to know the algorithm and learn the logic, something that isn't really needed with Ren'Py thanks to those four abstraction languages.

Not that Ren'Py is what he should use, and even less that it's better than Unity. It's just that your argument is incorrect because you base it on the fact that the alternative (Unity) can be used by clapping your fingers, what is far to be the case, especially for such advanced use.
I appreciate this breakdown and think I understand what you mean. While this is certainly not easy in renpy I wonder if Unity or godot might be a bit too complex for the scope of my project.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,971
16,228
While this is certainly not easy in renpy I wonder if Unity or godot might be a bit too complex for the scope of my project.
My advice would be to in fact starts with something else than your project.

Whatever the game engine you'll choose, you'll have to learn how to use it, as well as the whole game development process, how to correctly balance the difficulty, how to deal with players complaints, how to deal with the bugs they'll discover, how to build a story at the right pace, how to write the story parts, and so on.

So, the more you by starting with a smaller and less ambitious project, you'll learn all this more peacefully. Then, when you'll finally starts your big project, you'll be more at ease with all this, and would be able to focus on the complex part that will be the code.
 
  • Like
Reactions: woody554