Sep 21, 2019
213
165
I don't know 100% for sure, but if something's built on top of arrays, it's not going to be faster than an array. You can't get faster than the thing you're using. If it has extra index information, that's going to slow it down because it has to process, keep track, etc. that index information. Arrays in ASM, if my memory serves, is literally implemented and moved via memory (ram) jumps. In computing, the only things faster than ram jumps and reads are register reads.
I should also mention that predetermined size is a bad idea in this particular case. While good for reads and jumps, you don't want a case where you'll need to constantly resize the limited array as that will, usually, quickly overshadow and performance gains. And since we don't know the max size of all possible events (now and in the future), nor do we want to pre-set an absurdly large size for all eternity, it's better to stick with an expand-able array for now.

With that said, something compiled to a binary doesn't guarantee it's speed. It only, sometimes, guarantees that the interpreter doesn't have to re-translate/compile it down asm code again (sometimes because Java binaries still need to run through a java machine). Optimized also don't guarantee a speed up. It's just written in a way to trim down read and/or run time and/or use different techniques to try to run the fastest version of an algorithm for the situation.

I'm writing the above just in case you have the common misconception that optimized code can run better than barebones code or a different data structure that is closer to solution of the problem. I once knew someone that though that the array optimization in javascript would make array searches as fast as or faster than a hash look up. I ran some tests to find that, while it is fast, direct hash look ups are faster. And that guy wasn't dumb nor a bad programmer, but these misconceptions do pop up in this tech industry.
Completely agree with this. Thought the dev would know a max number in advance (number of girls and event per girls are limited after all... right?), but maybe that's not even a good solution?

All those multi-thread features (locking, guaranteeing consistency, preventing deadlocks, etc.) are more work in addition to adding the data to the queue. So, inherently, if the queue module is built on top of arrays and is providing all those as features, it will be slower than straight arrays. Conversely, if array speed is that much of a concern for the language, they should already have built in optimization for array functions. If they don't, well, that's on them (the makers and maintainers of python).
Completely agree on this. If it's not implemented as a low-level structure it may be clearly slower.

Agreed. But I would like to warn you about putting libraries on pedestals. In the end, it all computing languages translate the code down to ASM. Just because a library is often used or is native, it doesn't guarantee it'll run better or faster. Again, conversely, if me implementing my own array is slower than a native library's array, the language has a problem. Something as basic as an array should already have it's own optimization. If it doesn't, that's not a language you want to stick with for very long.
Hard agree. Sadly, some people stick with antiquities because they don't want to break legacy code :(
I am just slighly worried because even an integer in python has its own internal data structure: it's not like an int in C. Then is the code written with Renpy even compiled? If it's just interpreted... ouch.

It'll depend on me too. As LeatherMax can attest to, I've been trying to get my own stuff done for a while now. Thought it would a few weeks at most. Life had other plans. There's a lot I would like to make/build/fix. Desmume on the linux side needs a memory scanner. I know this forum has a PHP dev position that's been open since forever. I still have other pet projects/ideas after the current 2 I'm working on.
I see. Good luck to you, this has been informative thank you, real life is more important than a porn game (or is it????).
 
  • Like
Reactions: sleepingkirby

sleepingkirby

Active Member
Aug 8, 2017
923
1,427
Completely agree with this. Thought the dev would know a max number in advance (number of girls and event per girls are limited after all... right?)
You'd be surprised. Game development is not like programming. You don't always get to know the domain of your input. And even if you do, that might change as the game changes.


Hard agree. Sadly, some people stick with antiquities because they don't want to break legacy code :(
I am just slighly worried because even an integer in python has its own internal data structure: it's not like an int in C. Then is the code written with Renpy even compiled? If it's just interpreted... ouch.
Yes...maybe. Some game will only ship with .rpyc code. Rpyc, as you can probably guess, is "compiled" bytecode. Depending on how you look at it, . But, technically, it's "compiled". Rogue-like ships with both. If I recall correctly, renpy, if the .rpy file exists, will defer to the .rpy file first before the .rpyc file.

I see. Good luck to you, this has been informative thank you, real life is more important than a porn game (or is it????).
Thank you. It's been nice discussing this stuff.
 
  • Heart
Reactions: RandomFapinator

botka4aet

Newbie
Jan 13, 2022
72
60
The Link doesn't work
You know site
Now you just need correct link
Find by yourself
You'd be surprised. Game development is not like programming. You don't always get to know the domain of your input. And even if you do, that might change as the game changes.
But it is
If you don't know exact number - you don't limit it
You invite all your friends but don't know - who will come
You don't bring only 4 chairs - you bring as many as can
 
  • Angry
Reactions: geamoiri

sleepingkirby

Active Member
Aug 8, 2017
923
1,427
But it is
If you don't know exact number - you don't limit it
You invite all your friends but don't know - who will come
You don't bring only 4 chairs - you bring as many as can
That was my point.

I should also mention that predetermined size is a bad idea in this particular case. While good for reads and jumps, you don't want a case where you'll need to constantly resize the limited array as that will, usually, quickly overshadow and performance gains. And since we don't know the max size of all possible events (now and in the future), nor do we want to pre-set an absurdly large size for all eternity, it's better to stick with an expand-able array for now.
 

mbRjpZLD

Member
Apr 28, 2017
161
298
python and renpy is fast enough on any modern system.
If a Renpy game is slow it is due to shitty programming.
 

sleepingkirby

Active Member
Aug 8, 2017
923
1,427
python and renpy is fast enough on any modern system.
If a Renpy game is slow it is due to shitty programming.
*sigh* I wish. Don't you think it's weird that an engine that just moves images flat 2D images around, something humanity has been doing since the late 1990's (namely, Japanese hentai dating sim games. Think Jast USA, Season of Sakura/Nocturnal Illusion.), during the windows 97~windows 2000 days *needs* a *modern* system to run fast enough?

Python is a slow language. It's anywhere from 20~50x slower than C++. From 10~15x slower than node.js. Even around 3x slower than PHP7.

I've seen many renpy games that try to be just a little ambitious start choking even on modern systems. Like The Null Hypothesis. Just a spinning background, a GUI and 1 character on screen can kick up the GPU fan. I can write a javascript and css webpage that can render/animate the same image with less cpu/gpu power. Don't you think that's odd?
 
Last edited:

Semondemon

Engaged Member
Mar 9, 2018
3,264
9,732
saves not working in 1.53c. Any workarounds?
If joiplay uninstall (lol). if main game you cant use android saves back and forth only pc to android i noticed (so move your pc saves onto the android device it will work in moat cases). If neither are yer issue then just start over dude.
 

RiloLaki

Member
May 16, 2022
333
1,404
I don't really care for Python either. If I were making a VN with any kind of extra flair I'd probably go with Unity or Godot + Ink.
Or develop your own "engine" (using C++ or something) so if you decide to commercialize you don't have to worry about licensing, or the makers of the backend ""not appreciating"" your content, or the inherent issues that can crop-up by using open source/freeware...

Gah, been forever since I even looked at programming. And my brain is too old and too riddled with depression to want to bother with it ever again. So here's more subject related artwork!

Before anyone says "no stripe"...just imagine that the stripe is a little lower...
1725477921561.png

Itty Bitty Kitty Ti-uhhh...
1725478035524.png

So...this is Wang Chung, right? Because everybody's Wang Chunging tonight...
1725478082471.png
 

sleepingkirby

Active Member
Aug 8, 2017
923
1,427
Or develop your own "engine" (using C++ or something) so if you decide to commercialize you don't have to worry about licensing, or the makers of the backend ""not appreciating"" your content, or the inherent issues that can crop-up by using open source/freeware...
I've been interested in godot because you can use C++ with it. It's also under the MIT (expat) license so commercialization isn't a problem. If I recall, it's what Dittymyman was using to remake this game before life also slapped him in the face (As in, life recently slapped me in the face for my dev plans).
 
  • Like
Reactions: RiloLaki
4.40 star(s) 159 Votes