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

5 comments:

  1. The letters, what do they mean, mason?!

    ReplyDelete
  2. WHAT DO THEY MEAAAN

    ReplyDelete
  3. this blog is turning into Bletchley Park

    ReplyDelete
  4. iaintnothinbuttiredilovebigassesimnotsorry

    Caesar cipher with shift THIRTEEN. Not sure about that ROT just before (that gives EBG), but I'll take what I can get.

    You're a very naughty man, aren't you?

    ReplyDelete
  5. I love your technical posts as much as I love seeing your characters naked. In the same way I love your characters as much as I love...err...seeing them naked.

    ReplyDelete