Trying to figure out which program to make a game in

soulruyu

Member
Nov 11, 2018
105
83
I've gotten to the point where I could start making a game how ever I don't know which program to run it through.
The thingsI want to be able to do:
Combat system
dynamic leveling
inventory

I was thinking renpy or rpgm but i don't like how rpgm does its math and was thinking renpy but i'm sure how well renpy will handle such extensive systems. Or if you had another engine/program I could it on that would be welcome too.
 

GNVE

Active Member
Jul 20, 2018
724
1,185
Ren'Py can do what you want but it does require you to do some coding/hire someone to do some coding.
 
  • Like
Reactions: AnaisNon

recreation

pure evil!
Respected User
Game Developer
Jun 10, 2018
6,327
22,776
rpgm is probably the better choice, but you can probably find all of the things you mentioned in the renpy
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,967
16,215
if you know c# just use unity
It's really short for an answer, and totally deprived of any argument.

The fact that he know C# isn't a valid enough reason to use Unity. The choice of a game engine because of the language you know only apply if it's the only engine that use a language you know, what isn't the case here.
He also know Python, so can just use Ren'Py, as well as LUA, so can just use Game Maker, and C/C++, so can just use Unreal. And with 5 (and half) languages that he already know, learning a new one, like Javascript to use RPG Maker, wouldn't be such an obstacle.
 

AnaisNon

New Member
Nov 23, 2020
4
7
Ren'Py can do what you want but it does require you to do some coding/hire someone to do some coding.
Putting in a tentative +1, here, mainly because I've found that trying to go outside the box in RPG Maker is a pain in the butt.
 

Kinderalpha

Pleb
Donor
Dec 2, 2019
198
265
So you have two choices. Use the existing framework provided with engines such as RenPy, RPGM, and other engines. Or create your own to fit your needs by using Unity, GameMaker, Love2D, Unreal, etc. The only exception would be to work around existing frameworks like described above, but those work arounds can be very difficult at times because you are working against the engine you're using instead of with it.

Engines like Renpy and Rpgm exist to speed up the development process and allow creators to focus more on content than programming. As a result, you have to sort of abide by their rules. So if those rules dont fit your ideal game. Then you have to pave your own way in something like Unity, Love2D, SDL, etc.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,967
16,215
Engines like Renpy and Rpgm exist to speed up the development process and allow creators to focus more on content than programming. As a result, you have to sort of abide by their rules. So if those rules dont fit your ideal game. Then you have to pave your own way in something like Unity, Love2D, SDL, etc.
I'm curious to know what are the "rules" for Ren'py.

Obviously, to goes further than the basis, you need some knowledge, but the basis can already lead you really far ; further than most Ren'py game available here have ever been. And with the changes introduced by the 7.4.0, it's clearly not near to stop.
But even without those evolution, it's been years that Sakura Dungeon offer old school 3D with Ren'py, and more recently Planet Stronghold 2 offered a RPG Maker-like map, while rpgm2renpy offer a RPG Maker emulator since two years.
 

Kinderalpha

Pleb
Donor
Dec 2, 2019
198
265
I'm curious to know what are the "rules" for Ren'py.

Obviously, to goes further than the basis, you need some knowledge, but the basis can already lead you really far ; further than most Ren'py game available here have ever been. And with the changes introduced by the 7.4.0, it's clearly not near to stop.
But even without those evolution, it's been years that Sakura Dungeon offer old school 3D with Ren'py, and more recently Planet Stronghold 2 offered a RPG Maker-like map, while rpgm2renpy offer a RPG Maker emulator since two years.
By rules I imply limitations when remaining inside the API. You can definitely extend RenPy past what it comes out the box with. That's what I mean by "work around". Poorly chosen phrase maybe, but I don't know how else to phrase it. When I say rules, I dont mean for it to carry any sort of negative connotation. Every engine has rules. For example, you're not gonna do 3D physics simulation in RenPy. Can you? Yeah maybe through some work arounds or addition modules but by default that engine doesnt provide that functionality.

I have nothing bad to say about RenPy. It's really great and serves a very broad range of genres. I think a good way to exemplify what rules I'm talking about is in this statement; there is a reason why you can blindly point out any RenPy game. I dont think anyone would disagree.

Again, not a bad thing. And to save that eager reply about "oh but this game is different and shows how much you can do with RenPy and blah blah". For the third time. I'm not saying you can't do these special and creative things with RenPy. I just mean in order to do them you have to supersceed the rules or API it comes with.

A few "rules" would be how the API integrates dialogue, actors, animations, and scene progression. Do you HAVE to use their default rules for these features? No. But by not using them, you are working around them, and that's entirely my point. It's a visual novel framework. Can you make an RPG in this framework? Yes. Does it make it an RPG framework? No.

Sorry for the wall of text, but I just feel this point is always misconstrued. I'm not arguing against RenPy, but in my opinion it's not the answer to every adult game.

Edit: lot of grammar errors up in here but I'm on mobile and cant be bothered.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,967
16,215
You can definitely extend RenPy past what it comes out the box with. That's what I mean by "work around". Poorly chosen phrase maybe, but I don't know how else to phrase it.
Phrase it exactly like you would do while talking about a game engine like Unity, because it's strictly the same thing.
Ren'py is just three native languages put on top of Python. Languages that you can extend, or if you prefer directly use Python. So, of course the language used, Python versus C#, is by default more limited, and the "API" (the quotation marks are to put some relativity behind the word) don't target the same public ; Unity present you an "API" that focus on the technique, while Ren'py present you an "API" that focus on the development. But that's the only differences. Ren'py is limited only by the limitation of Python, and obviously by the logic ; don't try to over do it, especially when using another engine would be easier.
By the way, Python being less limited than LUA, in the end it also imply that Ren'py offer more possibilities than a game engine like Love2D or Game Maker. Not necessarily more easily, since LUA is a language primarily intended to make game, but it's where the three languages that come with Ren'py have their role to play.


When I say rules, I dont mean for it to carry any sort of negative connotation. Every engine has rules. For example, you're not gonna do 3D physics simulation in RenPy. Can you? Yeah maybe through some work arounds or addition modules but by default that engine doesnt provide that functionality.
It's not a question of "work around", and not totally a question of "additional modules".
To do it with Ren'py, you would pass through the exact same process than you would if you were using Unity ; you'll write your code using a coding language, dot. It would make no sense, because of the "logic limit" I talked about above, but not necessarily for the reason you seem to think.
Python, and so Ren'py, have some really good 3D libraries, including 3D physics ones, and the marvelous NumPy, what would limit the code you would have to write and don't really make it more difficult (relatively speaking since it need some knowledge) than doing the same with Unity. It's just that the part you would have to effectively code wouldn't be the sames.
Of courses, libraries are technically "additional modules", but they are also part of the language. If you were using, let's say a MD5 library in your game made with Unity, or a HashSet library in your game made with Unreal, you wouldn't call that "using an additional module", and there's no reason to act differently because it's Python/Ren'py.
No, if it would make no sense, it's because Python is one of the slowest language, and therefore the fact that Ren'py can do it doesn't mean that you'll have a smooth result.


there is a reason why you can blindly point out any RenPy game. I dont think anyone would disagree.
So, just to be sure, if I had removed the quick menu at the bottom, you would still be able to say that this was made with Ren'py, is it what you are saying ?
You don't have permission to view the spoiler content. Log in or register now.
Or is it that we can blindly point out any Ren'py game, not because of Ren'py, but because of the way most people use it ?



Again, not a bad thing. And to save that eager reply about "oh but this game is different and shows how much you can do with RenPy and blah blah".
You really misunderstood my previous answer. I'm not advocating that Ren'py can do this or that, I'm just saying that Ren'py isn't at all what you think it is ; what can happen, I myself have many wrong thoughts, due to my lack of knowledge on many subjects.


I'm not saying you can't do these special and creative things with RenPy. I just mean in order to do them you have to supersceed the rules or API it comes with.
Once again, what rules, what API ?
Look at the demo I included above. I'm not ready to release it yet, still works to do and not enough time for that, and so many projects in progress ; so for now you'll have to trust me on this, sorry.
This demo use only one file, the logo. As for the "work around or additional modules", I just had to write a custom displayable for the rasters. In the part I captured, everything else (the moving, the fact to pass behind or in front of the logo, and all) is done with the Animation and Transform Language (ATL) that come natively with Ren'py.
Yet, if I read you correctly to do this I should have had to superseed the rules or API that come with Ren'py ; and if I haven't read you correctly, sorry, this also happen some times.

And anyone can do it. You want to add a meteor shower to your game, to add a drama factor, you can with few lines of the native ATL. Add something around four/five lines of Python, and every meteor have its own angle. Use the native screen language, and you can let the player move the character to avoid the meteor. Use the screen action "API", and you can detect the collision between the player and a meteor.
In the end, with probably around 20 Python lines (to ensure that there will be no configuration without issue) and probably less than 50 Ren'py's languages lines, you added a mini game in your story. Replace the meteor by some sprites, extend a little the ATL part, and your meteor shower become a Space Invader.
And, well, I have a real hard time to see how this can be seen as a "work around" or as superseeding the rules or API. It's just writing a bunch of code lines using the four languages at your disposition. Or it mean that all Unity games are using "work around", since it's how you make a game with Unity, by writing lines of code.

Of course, no one do it, at least on the adult gaming scene. But for most of mankind history, no one used saltpeter to make gunpowder, what doesn't mean that it wasn't possible at any time.


A few "rules" would be how the API integrates dialogue, actors, animations, and scene progression.
Except the dialog integration, that is something particular, there's just no API to do everything you named. And if there's no API, there's also no rules.

"Actors" is a concept that don't exist in Ren'py. There's the Character object, but it's used for the dialog, it's not an "actor" in the way you mean it ; and you don't even need one to have a dialog line. If you want to add the notion of "actor" in your game, you'll have to use variables, or an object if you have more coding knowledge.
"Animations", like I said above, Ren'py have a whole language dedicated to this. You aren't limited to this or that pattern. And since the language can be extended, you're just limited by your imagination and knowledge.
"Scene progression", again a concept that don't exist in Ren'py. The scene progress according to the code you wrote by using Ren'py script language.


Sorry for the wall of text, but I just feel this point is always misconstrued.
Well, for someone who think that Ren'py is a framework (what isn't a criticism, as I said previously, I myself have a lot of wrong thoughts on a lot of subjects), yes, effectively "this point" is surely rarely addressed correctly.
But the fact is that Ren'py isn't at all a framework, and it's all I was saying, and said again, this time trying to be more explicit in my explanations.
If you prefer a comparison, Ren'py is as much a framework than Delphi is. It's a coding language (or more precisely the compilation of four coding languages) that come with a bunch of instructions/statements that will make it easy to deal with the visual part. But those instructions/statements aren't nearer to an API in Ren'py that they are in Delphi ; in fact it's more on the opposite side if what I remember of Delphi is correct.


I'm not arguing against RenPy, but in my opinion it's not the answer to every adult game.
No one said that it was ; and as you can see, I explicitly said the opposite more than once. But in this particular case, it is a valid answer.
 
  • Like
Reactions: Kinderalpha

Kinderalpha

Pleb
Donor
Dec 2, 2019
198
265
-big text-
I'm not gonna quote by quote you on all this because honestly you're right about a lot. I disagree with a few things but that's okay, I'll recognize our differences. I was butchering the use of API, thank you for calling that out. What I implied was the methods and functions provided by the RenPy engine. Guess you would just call those for what they are. In addition, thank you for the correction on RenPy. I swore the last time I looked awhile ago it was on their website as a "Visual Novel Framework". I am indeed incorrect there, it is described as an engine.

Ren'Py is a visual novel engine – used by thousands of creators from around the world – that helps you use words, images, and sounds to tell interactive stories that run on computers and mobile devices. These can be both visual novels and life simulation games. The easy to learn script language allows anyone to efficiently write large visual novels, while its Python scripting is enough for complex simulation games.
Above is the only point I try to make in these threads. Ren'Py, as characterized on their website, is a visual novel engine. Therefore, if you create something outside of a visual novel engine with it (This is strictly my opinion and that's okay to disagree). Your game supersedes the intention of the engine. At that point, by comparison, it is no different than using Unity (as you mentioned). There is nothing wrong with that though. I was just mildly pointing that out and was something I saw you latched onto so that's why I'm clarifying. For OP, I made this comparison to help create a clearer picture on engines and their use.

I swear we've had this exact discussion before ann O'nymous but I'm not gonna dig for it lol. In the end, it's all good. I don't wanna hijack the thread anymore. I appreciate your input and I think it was pretty useful for OP too.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,967
16,215
I swore the last time I looked awhile ago it was on their website as a "Visual Novel Framework". I am indeed incorrect there, it is described as an engine.
You aren't incorrect, and it's totally possible that, even few months ago, the official website was talking about a VN framework.
It's how it started, 16 years ago, as a simple framework for a VN. Then, like it evolved none stop since, it became the game engine it now is. But it wasn't a sudden change, therefore there weren't a time where PyTom thought, "so, not it's not anymore a simple Framework, I'll correct this". It's only when doing a major rewriting of the doc/site that you remember that the description isn't accurate anymore, and then change it.


Above is the only point I try to make in these threads. Ren'Py, as characterized on their website, is a visual novel engine. Therefore, if you create something outside of a visual novel engine with it (This is strictly my opinion and that's okay to disagree). Your game supersedes the intention of the engine.
[Note: I'm not trying to argue on this, I just haven't found a better way to express my thoughts]
It's a visual novel engine because PyTom want it to be, not because it's limited to that. Of course, most of the "API" tend to focus on visual novel, but just like the "API" of Unreal tend to focus on realtime 3D ; what don't prevent you to use Unreal for something else.
This being said, it also mean that you are somehow right when saying that you supersedes the intention of the engine ; both if you make something else than visual novel with Ren'py, or something else than realtime 3D with Unreal. But is this really "superseding the intention", or isn't it just "wrongly using the engine" ?
I mean, using Unreal to make a old arcade Shoot'm'All would be a waste of potential, but the engine can perfectly do it. Using a more universal engine, like Unity or Game Maker would have been a better choice, and it would probably have been a little easier with Game Maker. But this don't imply that Unreal was a bad choice, just a wrong choice.

It's a little different for Ren'py, because it will never be as fast as a compiled language, or even most other script languages, but the principle stay the same. Doing something else than visual novel with Ren'py isn't going against the intent of the engine, it's, at most, choosing the wrong engine.
But there's a twist. Visual novel are the combination of image and text shown "sequentially" (by opposition an engine responding to events). By default, there's an "input waiting" time between each dialog line, and it's the only thing that limit (relatively speaking) Ren'py to Visual Novels. But, as I shown with the demo in my previous answer, it's perfectly possible to get rid of that, and to do it natively with what Ren'py offer you (to be read as "without the use of Python"). It would be a little more difficult to make it effectively rely on events, but not impossible.

Now, take an hypothetical scenario: "Hi, I want to make a space invader like, and I have no knowledge in coding."
What to answer ? Game Maker, that is an engine designed for this kind of games, or Ren'py, that focus more on visual novel ?
As implied above, Ren'py have everything that would be needed. It can natively handle sprites ; it's just that usually in VN they are bigger and there's few displayed at the same time. It can also respond natively to keyboard events and to timers. It have variables and data structures, and it offer Python for the pure coding part. This imply that whatever if you choose Game Maker or Ren'py, it would be as easy to write your space invader like.
Then, in the end isn't Ren'py the better choice ? Not because it's the best engine for this kind of game, but because it's the one that answer the more accurately to the question :
  • It's not more difficult to use it to make this game ;
  • It rely on languages that are easier to understand ;
  • The pure coding part rely on Python, a language for which you'll find more online support (including stackOverflow's answers) than for LUA ;
  • It already come with a fully functional game interface.
Would the question have been ended by, "I have some codding knowledge", that the decision would be more on the hands of the author ; did he prefer LUA or Python/Ren'py languages. If it had ended by, "I have some knowledge with LUA", then Game Maker would have been the obvious answer, while it would have been Unity, even if it would be a little overkill, if the knowledge was with C#, or even C/C++.

It doesn't mean that Ren'py is the best engine for a space invader, nor the most adapted for this game. Just that, since he can do it, he's the most adapted for someone who don't have the basis knowledge. If he can't do it with Ren'py, then he probably wouldn't have been able to do it with Game Maker.


I swear we've had this exact discussion before ann O'nymous but I'm not gonna dig for it lol.
It's possible, I'm the first Ren'py's advocate here ;)
Not by fanaticism, but because I know that it can do more, and found it a shame that it's just promoted and used as a Visual Novel engine. It's why I used Sakura Dungeon and, in a lesser extend, Planet Stronghole 2 as example. Imagine what pleasure we would have if more games were going further than the simple VN approach. It would never be at the same level than a game made with Unity, but it would be such a change, a refreshing change.


I don't wanna hijack the thread anymore.
Is it really hijacking if it permit to present one engine in more depth, as well as the different factor that one have to take in count while choosing what engine to use ?
 
  • Like
Reactions: Cul