CREATE YOUR AI CUM SLUT ON CANDY.AI TRY FOR FREE
x
Sep 21, 2019
199
154
Oni also said in a comment that he's considering taking time to optimize the game. I'm considering asking to lend a hand... Like , let alone running renpy on top of it. But doing straight loops for event checking will make that a lot slower.
Python is easy to code, easy to read and easy to debug. So I suggest changing the architecture of the code before switching the language: if the dev makes the decision to switch the language, he will have a much better start. Python also has relatively efficient libraries for data structures such as FIFO/LIFO queues, dicts, etc... Changing language is an overkill for now.

I agree though, the constant checkings everywhere are bad no matter what the language is, so maybe start with that. The less conditional branches, the better. Usually.
 
  • Thinking Face
Reactions: Dr. Coom and armond

FacelessVixen

Well-Known Member
Aug 25, 2017
1,075
4,259
Make an official tier list and im game.
That would involve me interacting with Squirrel Girl again, so that's going to be a strong "no."

Though I have proven that I mainly interacted with Psylocke as a means to carry out armond's vision of her as a Lovecraftian monster girl, I don't have that excuse for Squirrel Girl. You and Leather had a point. My ambitions were high, but I spiritually feel like I'm at an all-time low. My wicked ways last month were fun in their moments, but they're not sitting well with my spirit right now. Though the execution was better than I expected, I feel like I'm losing myself.

So: No monster girls, no breaking for 4th wall, no 'we have Zone-tan at home', and no rodent Pokemon for the time being. I need some time to rediscover what really matters to me, not just doing whatever for likes and clout.

I need to get back to Rogue's ass and Jean's firebush.
 

salscou

Engaged Member
Apr 14, 2020
2,156
8,326
That would involve me interacting with Squirrel Girl again, so that's going to be a strong "no."

Though I have proven that I mainly interacted with Psylocke as a means to carry out armond's vision of her as a Lovecraftian monster girl, I don't have that excuse for Squirrel Girl. You and Leather had a point. My ambitions were high, but I spiritually feel like I'm at an all-time low. My wicked ways last month were fun in their moments, but they're not sitting well with my spirit right now. Though the execution was better than I expected, I feel like I'm losing myself.

So: No monster girls, no breaking for 4th wall, no 'we have Zone-tan at home', and no rodent Pokemon for the time being. I need some time to rediscover what really matters to me, not just doing whatever for likes and clout.

I need to get back to Rogue's ass and Jean's firebush.
Rogue's ass will always welcome you back, bitch...Jean's firebush not so much, but you gotta make her give it.
 

leathermax

Well-Known Member
Feb 10, 2019
1,456
4,645
That would involve me interacting with Squirrel Girl again, so that's going to be a strong "no."

Though I have proven that I mainly interacted with Psylocke as a means to carry out armond's vision of her as a Lovecraftian monster girl, I don't have that excuse for Squirrel Girl. You and Leather had a point. My ambitions were high, but I spiritually feel like I'm at an all-time low. My wicked ways last month were fun in their moments, but they're not sitting well with my spirit right now. Though the execution was better than I expected, I feel like I'm losing myself.

So: No monster girls, no breaking for 4th wall, no 'we have Zone-tan at home', and no rodent Pokemon for the time being. I need some time to rediscover what really matters to me, not just doing whatever for likes and clout.

I need to get back to Rogue's ass and Jean's firebush.
Wise words, bitch. 'Tis better to jump back from the abyss than to never have fallen at all.
Rogue's ass will always welcome you back, bitch...Jean's firebush not so much, but you gotta make her give it.
Ah, yes. The duality of RLE. The waifu who gives herself to you, and the waifu who expects you to pluck her from her own bitchiness (and wants to).
You don't have permission to view the spoiler content. Log in or register now.
 

armond

Well-Known Member
Apr 26, 2020
1,591
5,436
Wise words, bitch. 'Tis better to jump back from the abyss than to never have fallen at all.

Ah, yes. The duality of RLE. The waifu who gives herself to you, and the waifu who expects you to pluck her from her own bitchiness (and wants to).
You don't have permission to view the spoiler content. Log in or register now.
Ahh, the Jill hair, I see you're also a man of culture and refinement
 

Affogado

Newbie
Game Developer
Jun 12, 2021
93
160
Oni also said in a comment that he's considering taking time to optimize the game. I'm considering asking to lend a hand... Like , let alone running renpy on top of it. But doing straight loops for event checking will make that a lot slower.
Introduce Oni to state machines, see what happens
 

sleepingkirby

Active Member
Aug 8, 2017
829
1,312
Introduce Oni to state machines, see what happens
Technically, that's what he's using now. The problem with an infinite number of states is that humans can't account for the infinite combinations. And, in programming, you still need to check the states to know which state(s) goes to which event. And honestly, that's what Zelda: BOTW and TOTK is using and that's the reason why Nintendo desperately tries but can't get bugs out of the game. Like, that's the reason why you can't shield surf off of enemies' heads any more.

I was thinking more of a event registration system that queues events on variable change. Which is naturally what renpy does anyways whenever you run setvariable().
 

sleepingkirby

Active Member
Aug 8, 2017
829
1,312
Python is easy to code, easy to read and easy to debug.
We'll agree to disagree there. Python's inclination to rename common data structures and types can makes things hard to read and that's ignoring the python 2 vs python 3 split and/or lack of backwards compatibility. Also, if you're 5+ layers deep (or if the block is really long), the advantage of the whitespace block enclosures gets lost pretty easily.

Like, I've heard all of those before and that's what people say, but practically, it's not that different than most popular languages these days. Hell, the *nix version of the cheat injector for this game was jammed out in, like, 20 minutes as compared to the windows version that runs on a .py file that takes a while just to troubleshoot.

So I suggest changing the architecture of the code before switching the language:
No one is talking about changing languages. My statement is simply that python is a pretty slow language. It's best to not put slower/more burdenson algorithm on an already slow language/framework. The slower the language, the more the need to have better and/or faster algorithms.

Renpy is easy to use and easy to pick up. It would be nice if it was faster or didn't run an interpretive layer to run python code when it itself is running python, but that's the reality as it currently stands. It's popular for a reason. It's like a fischer-price bigwheel. It's easy to get into, to start using. But you can't strap an engine to it and send it down the highway at 50 mph without some serious and considerable re-enforcing and re-designing.
 
Sep 21, 2019
199
154
We'll agree to disagree there. Python's inclination to rename common data structures and types can makes things hard to read and that's ignoring the python 2 vs python 3 split and/or lack of backwards compatibility. Also, if you're 5+ layers deep (or if the block is really long), the advantage of the whitespace block enclosures gets lost pretty easily.

Like, I've heard all of those before and that's what people say, but practically, it's not that different than most popular languages these days. Hell, the *nix version of the cheat injector for this game was jammed out in, like, 20 minutes as compared to the windows version that runs on a .py file that takes a while just to troubleshoot.
Actually, I agree with your points! :D
I don't think this project requires super complicated data structures or code though, as far as I saw I felt like many of the long series of nested if/else are unnecessary, but yeah we can agree to disagree. My intuition may be clearly wrong about what this project requires: I may end up agreeing with you if I look deeper.

No one is talking about changing languages. My statement is simply that python is a pretty slow language. It's best to not put slower/more burdenson algorithm on an already slow language/framework. The slower the language, the more the need to have better and/or faster algorithms.

Renpy is easy to use and easy to pick up. It would be nice if it was faster or didn't run an interpretive layer to run python code when it itself is running python, but that's the reality as it currently stands. It's popular for a reason. It's like a fischer-price bigwheel. It's easy to get into, to start using. But you can't strap an engine to it and send it down the highway at 50 mph without some serious and considerable re-enforcing and re-designing.
Oops I misunderstood you then! My bad! Then I think we agree here. No point to expect super fast code, but I feel like faster code is definitely possible: maybe enough that players won't notice.
 
  • Like
Reactions: sleepingkirby

sleepingkirby

Active Member
Aug 8, 2017
829
1,312
I don't think this project requires super complicated data structures or code though, as far as I saw I felt like many of the long series of nested if/else are unnecessary, but yeah we can agree to disagree. My intuition may be clearly wrong about what this project requires: I may end up agreeing with you if I look deeper.
Well, complexity is relative, right? Basically, my idea is to have a queue (or many) of events to run. That queue is checked at certain key points. That queue is only added to if, after variable changes, that certain conditions are met. So, like, let's say when you wake up in your bedroom, checks are needed. Rather than checking for all the events, you're just running through the queue and running the first event in that queue. The event itself can also have conditions like time checks or character checks.

Basically, if you think about it, it's distributing all the event checks from one or two points in the game to all through out the game. Theoretically, you can also create a tree for each character and each variable change too to minimize the checks for adding to the queue. So Laura only adds her events. And if love was the last thing to be increased, you'd only need to check to queue Laura love events.

I mean, if I REALLY wanted to complicate things, I made a binary tree data structure that can do ranged checks a while back. And that can be compiled from a flat list then cached on game compile. But I think that'd be overkill.
 
  • Wow
Reactions: RandomFapinator
Sep 21, 2019
199
154
Well, complexity is relative, right? Basically, my idea is to have a queue (or many) of events to run. That queue is checked at certain key points. That queue is only added to if, after variable changes, that certain conditions are met. So, like, let's say when you wake up in your bedroom, checks are needed. Rather than checking for all the events, you're just running through the queue and running the first event in that queue. The event itself can also have conditions like time checks or character checks.

Basically, if you think about it, it's distributing all the event checks from one or two points in the game to all through out the game. Theoretically, you can also create a tree for each character and each variable change too to minimize the checks for adding to the queue. So Laura only adds her events. And if love was the last thing to be increased, you'd only need to check to queue Laura love events.

I mean, if I REALLY wanted to complicate things, I made a binary tree data structure that can do ranged checks a while back. And that can be compiled from a flat list then cached on game compile. But I think that'd be overkill.
Ok maybe I am a bit stupid but does a FIFO queue per timeslot do what you wish? Or a priority queue instead to account for more than a week? You can fix the max number of events per FIFO queue for internal optimization too.


I've never done Renpy, but can you use python libraries in Renpy? If you can't then my suggestion is useless anyway. I agree that hand-coding your own binary tree clearly seems overkill. You must truly be a dedicated fan :)
 
4.40 star(s) 154 Votes