SakeTami
nottravisgames
nottravisgames

patreon


It's the "Slow and the furious" update...

Hi,

You'll have noticed I both paused July and have been somewhat quiet the past few weeks. Unsurprisingly, the two issues are linked. 

(This is the ranty bit so feel free to just skip the Chapter Five stuff)

Rant, rant, rant...

It turns out that the correct treatment for a serious muscle injury is either minor surgery or at the least physiotherapy. Not, it seems, "Take it easy and it'll get better by itself in a few months." It does in a way, right up until the moment it comes under any strain, and then...it doesn't. In short, I'm back where I was in May health wise, hurting like hell. I'm bloody furious as this was completely avoidable had the medical advice been halfway competent. My temper is also not helped of late by a party not signing off on a document which means the insurance claim isn't settled yet either. 

And that little explanatory rant* is why I've been quiet. I'm genuinely furious and in a foul mood which puts me at risk of it bleeding over into any comms or chat.** It would be massively inappropriate, unpleasant, undeserved and shockingly unfair if someone, well within their rights, made inquiries holding me to account and I then just went "off on one" on the poor sod just because of the above. So, in short, I just don't trust my own temper right now to behave properly. I'm really that frustrated and angry.

Anyhoo, enough of that. I will now get better (and permanently)*** but whilst I'm slow I'm continuing to pause patreon funding. At least until I know either I can go full steam again or delivery is close. None of this is your fault and I don't see why you should be disadvantaged by it.

Chapter Five

Speaking of delivery, despite all the above I've still working on it (just slower) and the chapter is finished I think and has even had a few extra tweaks (you should see what I've done with the boxing module...) but hasn't yet gone out for wider testing. I'd hoped to have started this some weeks ago but it turns out the chapter is quite buggy and I wanted to clear the glitches before sending it out. I didn't want to ask testers to test parts of the game if I then have to re-write chunks of the code leaving it effectively untested.

By buggy I don't mean the "grey screen of death" that you may have come across on Renpy games, this is more subtle and puzzling. The game is being inconsistently buggy. If I run the individual scenes or modules they seem to work pretty fine, the problem comes from when running the game as a whole with paths not opening, characters behaving oddly (well, more oddly than usual) and the GUI refresh misbehaving. Play it again and some of these issues don't arise. Play it again and they do.

The usual quick code checks aren't clearing the mattter up and the fact that the individual parts of the game play fine just not when as a whole leads me to suspect that the coding for each section is sound. One of the reasons this post is quite late as I was fairly sure I would have spotted and resolved what was wrong by now and would have had better news for you.

So what is wrong? Good question. I've broadly narrowed it down to one of the following.


I've broken Renpy. 

There is a lot of code, much of it complex. Five, coding wise, is bigger than One to Four. My fear is I've overloaded the capabilities of Renpy. However, although this is the one that is giving me wrinkles I just don't think it's plausible. Renpy is pretty solid and, as it runs, it tends to just follow line by line the instructions it has so whether there is 1,000 lines of code or 1,000,000 shouldn't make any difference. So, although this is the stuff of nightmares, it's staggeringly improbable.

Perfect code isn't perfect. 

By this I mean that the code is perfectly good code but is doing something different to that I intended. So, for example, if I wanted to increase a stat by one, the code for it would be $ randomstat +=1. If, however, I'd typed $ randomstat =+1 that would reset the stat to one...So perfect code for sure, the game doesn't crash. It just doesn't work. Sprinkle a few of those around on some of the complex routines and this could well be the cause.

Call stacking.

Any of you who have peeked at my code will know I use some fairly complex mechanisms under the hood. Firing a weapon, for example, sends the code running off to a subroutine where it checks the range, size of opponent, weapon type, the MCs weapon proficiency and a host of other items before it comes back with the result.  If the code was already in a sub routine and then another sub routine gets called, it possible the that the various sub routines may well be getting in each others way. Renpy is pretty solid, but I do ask it to do a lot of things it wasn't really designed for and even more so this chapter.

Python

Renpy is a more user friendly version of Python code (think Windows sitting on MS Dos) and on occasion I'm having to use Python code instead of plain Renpy commands. There is a fair sprinkling of Python code in Five and it's plausible that constantly asking the game to leap between the two might be asking too much of the engine (or even more likely, I've miscoded some of the Python routines)

The GUI refresh

The refreshed GUI looks great and, when it works, is a massive improvement as a player aid. I include within this category, for simplicity, the changes that also allow you to carry out more activities on an evening. This has required a lot of re-coding and is pretty much layered throughout the game. It's also pretty complex code in places and it's possible I've just dropped the ball on some parts of it.

Missing bits

With the problem largely being when the game as a whole is played I'm starting to think I've missed something in the ending of routines. This would explain why the individual parts seem to work fine but not when as a complete chapter. The likelihood of this increases when I consider that it was this part of the code I was wrapping up just before I abruptly had to stop working on it for a few weeks when I had the accident. So, it's possible I have bits I intended to code and have subsequently forgotten about.

A bit of this, a bit of that.

But the most plausible explanation is that it's all of the above in parts. Well, except for breaking Renpy that is. With some 50,000 lines of code this is a bit of a whopper and all of the above seem likely in some way, shape or form. 

So what next?

I'm desperate to get the modules playtested, if not for the code, then at least for the gameplay. I've the usual testers plus a host of extra volunteers all ready and waiting to go. Ideally, I'd resolve the larger coding issues before putting them out (to prevent having to recode tested areas and introducing potential bugs to already tested modules which has happened to me before) but I don't think I have this luxury the more I think about it (I also want to get the modules out just so peeps can see that the game is actually done).

I think the first step is to strip out any code in the modules that interfaces with the main game and start to get those tested for the gameplay elements. After all, there's no point in having the coded sorted if the modules aren't any fun (I think they are but then I would, wouldn't I?). Meanwhile, whilst that is going on, I'll rebuild the chapter in stages to see if I can spot where it's glitching.

By that I mean I'll start with the old chapter Four and add scenes and modules bit by bit, leaving the GUI refresh until last, until the game breaks and I can spot what is wrong. It's possible that it's just a single line of code or an incomplete routine somewhere that's causing all the trouble but I've tried semi-randomly going "Oh, it might be that" for a few weeks now with no joy so it's time to be a bit more methodical about it.

I'll romp through the animation files and see if I can put together a not too spoilery trailer for you over the next week or so. Naturally, I'll also be pausing August payments whilst all this is going on.



Notty





* You should have seen the first drafts of this. Jesus, did I bang on...

** I have a seriously bad temper when roused. I once chased after a car on foot that had driven over a crossing I was walking on, running after him down the road for 100 yards. God alone knows what would have happened if the lights hadn't changed for him at the junction...

*** You wouldn't believe me if I told you what I was doing to lightly exercise my fingers.****

**** No! Not that!






Comments

Well, upgrading RenPy to 7.5.1 maybe, but only after the Ch5 is debugged. RenPy 8.0.x is a no-go, imo, as it uses Python 3.9 instead of 2.7.. There is major differences between those two Python versions. 😉

Totally understand how frustrating it is to be nearly back to square one with the physical aftermath of the car crash. Totally in phase also with your methodical approach in debugging Ch5. Get better soon, Notty!

Sorry to hear you're having such a rough go of it lately, Notty. Hope you get better soon and find what's causing trouble in the Ch 5 code. Have you tried upgrading Renpy to 7.5.1 or 8.0.1, as an experiment? I know some other devs have had better luck with performance and features with the newer versions.

Xerus


More Creators