Tuesday, 26 March 2019

I GET UP IN THE EVENING AN' I AIN'T GOT NOTHIN' TO SAY

>it's a manic episode
OOOOOOOoooooh it's been two fucking weeks and I'm pumped bros.
I've been working on the last of the systems I need to make this a proper game, so that's been nice.
Theoretically I can finally get back on maining my twin waifus of story and art.

this meme is STILL relevant god damn it


Changes I've made in the last 2 weeks in the vague order I remember:
>Created new Cutaway system
To let me save the current scene, move to a new location to play out a cutscene or minigame or whatever, then move back and pick up where I left off
>New font
Yeah, yeah, big whoop, right? I made one online aping the text from early 90s games that I always thought were nice. The AmigaOS one I'd been using, although nice, was too mixelly to wanna stick to.
Discovered afterward somebody else used the same tool to make the same font and is about 90% the same, but my Rs and Qs are much nicer, in a clear and moral victory for the working class.
>Refactored a LOT of the codebase
There was such a fucking mess running each time a room loaded, it's now neat and comfy.
Also shortened some expressions and removed redundancies here and there, tidying up nooblet code from a year ago with quicker alternatives.
>Changed player firing rules
Now more lenient, allowing you to fire diagonally and not just hit the wall next to you because muh collision
>Gave enemies friendly fire
Funny as fuck watching an ork in a machine gun nest accidentally mow down his boys trying to hit me. It was actually pretty neat implementing this, I'd apparently started to do it 8 months ago and never finished it, so half the work was already done. I inverted the enemy's accuracy for times they're rolling against friendly targets, so crack marksmen will have a hard time fucking up and hitting their own, as for orks accidentally hitting their own? Probably 20% of the time they hit every time.
>Player gets damaged by AOE
Hadn't implemented this yet, now I have. Pretty fun blowing myself up and seeing how many I can take with me.
>Better battle music
Overhauled my production to be less bassy, the levels were all over the place, man. Also have a new technique for making perfectly looping audio, so redid 8 battle tracks, sounds GREAT.

>Enemy spawners
Makes battles a bit more hectic if occasionally they'll keep coming until you perform some task that puts a stop to that.





and the biggest change

>Replaced the entire stat-giving system for everything in the whole fucking game
This took about 9 hours in one sitting, but I replaced the whole damn thing to now use stat blocks actually in the codebase itself.
Until now I'd been abusing event pages and self switches for each unit to make every unit initialize itself and award itself certain stats, then go to the next page where its available actions would be. Then when they died they'd goto a third page to get their dead stats, then to a 4th where they were a dead body.
This was necessary because when you switch rooms, rpgmaker gets rid of all stats on an event and only reinitializes the built-in ones when you return, so every enemy, person, point of interest, door, pickup, explosive barrel etc had to give itself stats; dead or alive, every time you entered their room.

Old system: messy, out of date, small penis, comments meant for an even older system


It worked well enough with a few shortcomings; it allowed for granular setting of individual stats. I could make one goblin have WAAAY more health or arm strength than the rest or whatever, they could all be unique as I wanted, but it made things take way too long, both in terms of development time lost to tweaking values and they would have to initialize themselves asynchronously, which would set things after I would like to be able to control them via script.


Example: I'd want to set it so an event would be on a particular animation frame when the player came into the room, but the stats would kick in after my command and they'd revert to the default sprite defined by their page.
I mean I could hardcode it or anticipate the time and set the command later, but the point is that some things I wanted to be ready wouldn't be ready all the time whenever I wanted them to be, guaranteed, so I needed to change it, there's no more room for bugs just waiting to happen on slower computers, as much as toaster-posters may deserve it.

New system: simple, quick, could bang your girlfriend's mouth while you're in the shower and realistically what are you going to even be able to do about that without getting arrested she's not worth the prison time man you've known this since last summer, i fucking told you but you gave me that whole line like "dude I don't OWN her" well I'm here to tell you right now, yes you fucking do, sort it out
So now I have just two pages for each enemy etc; one for when they're alive, one for when dead.
For standard never-gonna-get-into-combat NPCs, it's just a single page.

They get stats the millisecond you enter the room thanks to a system I set up that gives units stats based on keywords I place in their meta info, along with arguments.
So whereas before I would have stage-setting pages for each object and setting a flag for if I want it to be open by default, now i just have a tag that says "object:door, open", and I take care of the rest behind the scenes.
This is how it was always meant to be, I just didn't have the knowledge to do it before. I'm really glad I got this done.

So there's my labor for now, I don't know if the strict all-dev-no-nipple posts are worthwhile for you, I hope you find them entertaining enough at least.
I have no excuse not to be cranking out sex scenes now, though.

Have a good one, smash like for your boy below,
oko

Sunday, 10 March 2019

Cannot read property 'length' of undefined :DDDDD

Yoooo,

All business tonight. This week I've:

>Fixed the bugbear targeting system I mentioned last week.
Very happy.
>Fixed camera to stay with the target, rather than follow cursor.
Just a legacy issue from the old targeting system
>Reverted to basic audio 
No fun modular battle music for now, sadly. Due to some synch bugs I can't get my head around in terms of reproduction, I'm commenting this out and wrote a replacement simpler version that doesn't require synch. It's not a massive deal, but I don't like to walk back cool stuff.
>Fixed single-combatant bug
There was a battle value wouldn't be updated properly if your first fight this session is against one guy
>Fixed bug from back in the demo where UI would be missing on game load
>Made battle snappier, with less idle time between turns
>Added an engine optimization plugin that seems pretty good.
>Returned animations to text boxes

>Replaced retarded one-year-old codelet method of finding the object to which a given eventId is bound
>Correctly block save during battle and hentai, not just relying on a manually-set flag
>Added Enemy Name and Health display, shown when targeting them in battle
>Made enemies a little smarter.

Now they won't slam doors on their own face.
>Added Area of Effect damage calc
>Added battle objects - regular game world obstacles which can be targeted like an enemy
>Combined these two things to create exploding barrels
>Got sidetracked for 20 minutes creating domino runs of barrels spaced apart so that I could set off a chain explosion reaction.
Fucking great times, bois.

Dicking around in the debug room, smashing gobbos like they deserve.

>Continued story progress, scripting a scene I wrote during the week
>Added sprite art for new characters and effects needed


Have a good one, friends, gimmie a quick click below if you like tits or something lmaoooo
oko

Sunday, 3 March 2019

OR WILL YOU PERISH LIKE A DOG

Hey, just a little one this week.

Temporarily turned off Patreon billing last week so that you lads weren't charged on March 1st.
With the first weeks at my new job I've had to do a lot of training and getting to grips with programming shit. I've been stumbling home at fuck o'clock in the evening, eyes swinging like an executive toy, and the last thing I wanted to do was consort with MORE computer screens.

I'm getting over that now, though, I can already feel my energy returning, no doubt thanks to you lads clicking that button at post's end.
It honestly makes my week, there's no better / less sappy way to say it.

This weekend I made 2 of the remaining 3 battle system changes I want to have done before the next version. Along with last weeks' removal of my stupid and greedy old cursor system, I've:

>Tidied up the cursor system further
Made some changes, now there's a prettier way to enforce the idea you're in movement mode with passive communication how many moves you have left (the cursor is more opaque the more moves you have)
>Changed the way I was holding the player in place
I've been interrupting the player's ability to input moves for cutscenes and battles, now I'm allowing the player to turn on the spot, giving you the ability to face any direction at the end of a movement in battle, y'know, like a proper, real TRPG would have been doing all along.
>Changed enemy targeting, now based on where they think you are, if they can't directly see you
This has been written on my whiteboard wish list for so long that it was legitimately difficult to rub off.
Yes, now enemies don't know where you are 100% of the time- they start out knowing but if they lose track of you, they will continue looking where you used to be, and when they work out you're not there, they'll look for you.
It's not urgent, but I'd ideally like to do some more changes to this in future when I have time.
It might be cool to have a little mechanic to nominate where enemies gravitate toward if they can't see you / your allies, like toward the sound of fighting or the location of the last blaster fire they heard.
The remaining change I want to make is to the targeting system which has been a bit janky lately since I changea bunch of systems it relies upon, I'm going to take some time to deconstruct and rebuild it to be more simple and sturdy.
A little too often you'll try to target somebody right in front of you and the cursor will hover over them for a split second, then move to another mob behind it and to the right it somehow thinks might be closer. So that's next on the list, because it was good enough when all the surrounding systems were also typical eurojank shitter-tier, but now that the other systems are actually pretty good, this deserves some attention.

The crowd turns violent as the final man refuses to wear a dress. [AGDQ 2021 (colorized)]

Can't remember if I mentioned last week, but I changed the default gfx filter to be the clean, saturated scanline one, pic related.
The fuzzy, soft, washed-out 1970s tv look is still fun, but it probably should be an option and not the first thing you see. I figure the vast majority of people won't rummage through options to check out different filters and borders etc, so I want to put my best foot forward.

That's it for now, check back next week, yeah?  I can't wait!