Ren'Py for visual novels.Hi, i want to create a game (like Big Brother and Lust and Power) and i see two suitable engines – Unity and Ren'Py.
Which of them to choose?
Unity for everything else.
Ren'Py for visual novels.Hi, i want to create a game (like Big Brother and Lust and Power) and i see two suitable engines – Unity and Ren'Py.
Which of them to choose?
You seem to be saying, that because blender uses python, and ren'py uses python, they can do the same things and have the same uses as each other. That's a not really an accurate statement; Blender's API is in python, blender itself is not. Ren'py however, is made completely in python.You can do with Ren'py absolutely everything you can do with Unity. And when I say "everything", it include real time 3D rendering, sinceYou must be registered to see the linksproved, with its small game engine, that Python is suitable for this usage. Obviously, Unity will always be faster and so Ren'py isn't the right choice for too complex real time 3D, but there's somewhere here a demo of a VR game using 3D real time rendering in Python, and it's really not bad for an indie project.
You seem to imply that Python is 100% Python, which is completely false. A lot of Python modules are just an API between Python and the related C library. PyGame, which is the core of Ren'py, is only partially in Python and Ren'py itself rely on (I'll assume C for most of them) libraries for a lot of things, like its OpenGL support by example.That's a not really an accurate statement; Blender's API is in python, blender itself is not. Ren'py however, is made completely in python.
I have yet to see anyone create anything outside the bounds of a visual novel style game using ren'py. I would be extremely interested to look at that code if someone pulled it off.
I apologize, I should have been more specific. I wasn't saying python didn't have the capabilities to be like blender/unity, I was saying ren'py didn't have the captabilities to be like blender/unity. If we have to create all the custom modules and framework to turn ren'py into something comparable to unity or blender, I'm not sure I could still call that game engine ren'py.You seem to imply that Python is 100% Python, which is completely false. A lot of Python modules are just an API between Python and the related C library. PyGame, which is the core of Ren'py, is only partially in Python and Ren'py itself rely on (I'll assume C for most of them) libraries for a lot of things, like its OpenGL support by example.
Now that's what I'm really interested in seeing. Again there was a failure of communication on my part, I should have mentioned 3D specifically in my last post. (Though it's still super interesting to see code in Ren'py for what could be an RPGM style-game).I don't have the knowledge to do it, since I haven't touched a compiled language during the last 15 years and suck at practical 3D programming, but I know enough about Ren'py to assure you that it can be ported as an add-on to Ren'py. Which lead to the core of the problem :
The main difference, apart the interpreted Vs Compiled thing, between Ren'py and Unity is the number of guys behind the project. The author of Ren'py works alone, so the engine come with what he slowly add and what cross his mind.
Like for Unity, the sole limit of the game engine is the capabilities of the game creator.
+1MUCH more important, IMHO, is that Ren'py gives you the appearance of a procedural language. In other words when you have a character 'say' something in Ren'py, the game logic behaves is as if everything stops until the player acknowledges, then the next line after the "say" executes, etc. etc. (The actual "under the hood" is far more complex, but we won't get into that.)
Unity doesn't give you that at all - basically you have to understand event-driven programming, callbacks and a bunch of similar stuff that Ren'py pretty well hides from you, at least if you're going to code your game in C#. Thus, from a purely conceptual model, Ren'py is a LOT easier for someone who's comparatively new to programming to pick up.
I understand what you say, but look at it this way :If we have to create all the custom modules and framework to turn ren'py into something comparable to unity or blender, I'm not sure I could still call that game engine ren'py.
The problem is that there's so many people saying that, "it can't be done in Ren'py", that nobody try. No one will come and say, alright, it can't be done, but I'll still pass two months thinking about how it can be done in Ren'py, then one month doing the sprites, and once again one month writing the code with the ren'py language, just to be sure that it can't be done...[...] (Though it's still super interesting to see code in Ren'py for what could be an RPGM style-game).
The problem is partly what I said before. Whatever if the libraries themselves give atomic result, you'll still have to do round trips between the interpreter, the API, then the function inside the library. It's not a problem if it add few nano seconds to the process... until the moment you find yourself with thousands of these round trips each second.As for the interpreted vs compiled thing, a number of years ago I was developing for Unreal Engine, and it used a interpreted scripting language of some form, similar to c++. (I couldn't tell you if they still use it or not, I haven't used Unreal Engine in quite a while) But as I recall there were a number of issues that we kept running into, especially on large-scale scenes and multi-player games. It makes me wonder if blender suffers from those same types of issues, since it relies heavily on python. (Of course that wouldn't really be a problem for a VN either way)
Oh, I know the answer to this question: Because you're a coderFor the game I developed in Unity, I tried as hard as I could to make the dialog/scene creation code-section resemble that of Ren'py, since it's so intuitive to use. Of course that begs the question "why not just use ren'py", but that's besides the point![]()
LOL. Old adage: "When you're holding a hammer, everything looks like a nail." Nothing conceptually wrong with trying to adapt the tool with which you're comfortable to the task at hand - it's human nature.It's the problem with us, we are stubborn. Once we adopt something, it's hard to make us change. We prefer to adapt/extend what we love than using something which can do it, but that we love less. For you, it's making Unity works like Ren'py for the dialog, for me it's trying to motive people to make Ren'py as great as it should be, and trying to do it myself.
Why speculating on what already exist ? Winged cloud did such a thing, and it was their better game :Hell, a few weeks ago I was speculating about how to make a Wolf3D clone in Ren'Py. I can kinda see the big sweeps of how to do it.