Sunday, 10 March 2019

Cannot read property 'length' of undefined :DDDDD


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

Sunday, 3 March 2019


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!

Sunday, 24 February 2019


Sup, you beautiful bastards, hope you're having a disingenuous Sunday, my name's Chocko Ox and let's just jump into it.

For the first week since this time last year, I broke the chain, feels bad man, press F in the chat.

New job schedule and homework is kicking my ass, leaving very little time during the week for game development but I'm learning a ton about programming so I'm still feeling pretty accomplished at the end of the day.
Naturally what I really want to be doing is the game, so I get in what time I can. It's not forever, just another few weeks I think, then I should be through my training and I get my evenings back.

Either that, or until I learn how to write a program to round up fractions of a penny off the innotek account, then the embezzlement arc can begin.

If one more person points a fucking gun at me today I'm gonna go nuclear

Today I spent 5 straight hours refactoring the player side of the battle system, handling the menu states and transitioning between them, totally replaced the movement mechanic and reliance on creating new objects for targeting and move path drawing.
It was probably the oldest code I still had in place and it was a FUCKING MESS, it was the most embarrassing thing and I've been putting off rewriting it for way too long.
Really makes me feel like I've come along in the last year.

Anyway, there were a handful of issues that reared occasionally and rare as they were, they were all pretty bad and included:
>tiles being left behind in rare circumstances
>tiles not showing up in rare circumstances
>events (tiles) can't be deleted outright, only hidden away and marked for deletion next room change
>long, long battles could potentially create thousands of tiles, which is why you might not be able to save after the big fight in the demo, it gets straight-up rejected by the save system saying "nibba I ain't saving all that to JSON, you can fuck off"
>sometimes, very rarely when running heavy debug output, the player move wouldn't complete fully, so you'd spend 5 points to go 4 spaces or 1-space moves wouldn't occur at all

There are likely a bunch of other little knock-on effects, but this was the biggest thorn in my side for the last few months, and I'd put a lot of small fixes and fail-safes in place to minimize its impact, and for what, exactly? It was just dumb.
NOW, post-refactor, there is ONE tile. That's it, there's just one for the whole damn system, and it fucking flies, man.
I set up a little check on map load if this is the first time this room has been accessed before, and on the first entry, a battle tile is made and stored, invisible, off-screen in that room.
That's it, then, it just works happily after that and initializes itself like other objects, tells the battle system its ID, so if battle breaks out in that room, he's your guy.

A billion problems, checks and workarounds resolved in 5 hours. Now back to animating; shooting a torrent of jizz into this young lady or working on a scene I've had written for a week.
I don't quite know yet, but it'll be a nice evening, whatever.

This gif is for good boys who click below to donate energy. You no click, you no look!

Thanks for reading, bros, I hope you're doing well.

Sunday, 10 February 2019


Hey, how's it going?

I've spent this week settling back into working life, learning all about the high-octane world of... payroll software.
There's a kind of fun that comes with everybody there knowing that it's boring, though. It's really not so bad. On the downside, I've been too wiped out from the radical schedule change to do more than some code housekeeping and art this week, so this will be a short one, sorry!

For the last couple days I worked more on the scene I started last week, came up with a couple of cool tricks to make the speed variants better, more varied, and I'm following up a couple of ideas I've had this week for modular additions to scenes.
I don't want to go into too much detail in case it doesn't work out, but essentially I'd like to add some further layers to the animation scripting, to have little immersive details like eyes blinking every so often, slight variations between loops and blowjobs getting more wet the longer they go.

See the full version here! 

Sorry if the above pic doesn't show; one of blogger's image servers is out this week or something.
Imagine running a blogging service and fucking up something as basic as this.
I've been filling in alternate links manually for the main images, but hopefully they'll get the server back soon.
I've almost finished work on her scene, now, and I'm pretty happy with how it's turned out.

As an aside, everybody everywhere is saying Patreon is going to die soon. They've had creators by the throat for the longest time with their weird censorship boner so it's hard to feel too bad for them. F I guess.

I'm open to jumping ship, but not proactively signing up for alternatives just yet.
As long as Patreon or the usual joyless activists can get Mastercard / Paypal to shut down rival services, the landscape is too unstable. I don't want to go around begging people to move elsewhere just to help with my hobby only to have the next place die, too.
I'll sit tight for a little longer.

I'll let the usual big creators blaze that trail and in a couple of months we'll see which new crowdfunding site is the hot new thing for vidya devs.

I've still got a load of work to do, hopefully I'll have more for you soon.


Please donate any spare energy you have left over from the weekend. 1 click = 1 prayer!!!

Tuesday, 5 February 2019


This week:
>Working on new scenes!
Got through half of The Princess of Mars Edgar by Rice Burroughs on Saturday while making the lefthand scene. Not sure I'm happy with the flat bangs in motion, so still WIP.
As with the Orkie scene, I've walked back the blurry, 3D gradient look of the demo because a lot of people preferred the cleaner pixel look of Lateshifter, and I totally see what they mean. The extra processing it takes added overhead, so I was okay to drop it, though still reserve the right to fuck around with scenes for sidegames, I have a few more ideas.
>More battle music for the pool
Also made it more robust, fixing some edge-case issues where it'd act weird if battle finished too quickly and stuff.
>Changed scene near the beginning to be more open ended
Wanted to give the player more choice on how to proceed / how the scene unfolds, previously something would be in the midst of happening when the player showed up, so added in the possibility of intervening to stop it.
>Added stationary gunner AI + expanded a fight early on
>Changed door behavior for player and NPCs alike
checking for obstructions when trying to close
>Moved the story along pretty well
>A few tweaks not listed

Thanks for reading, please gib energy below.

Sunday, 27 January 2019


Anybody who can name where an old version of this battle track plays 
wins a blowjob coupon from the anime girl of their choice.

This week:

>Added modular battle Music system like Monkey Island's iMuse
See above! Battle music now fades in at the beginning of fights and out again at the end, pretty seamlessly resuming the previous track.
While it's the player's turn, extra instruments are played over the top to highlight the player agency. On the enemy/npc turn, these instruments are turned way down. The effect is pretty cool, and I've wanted to make a system like this for a long time.
>Added cowardly AI
>For enemies and player, log last thing they did this turn / last thing to happen to them
This should make AI actions chain more naturally and allow context-specific battle cutscenes.
Also hoping to eliminate enemies moving back away from the player, then immediately moving toward the player again, so they dance until their move limit is up. It looks silly and there's no need for it.
>Made enemies autonomous with patrol and lookout behaviors that trigger events when player is spotted
Not sure why I haven't done this before, it makes the entire thing much more like.. you know, an actual videogame. Now enemies look for the player, when they see the player a fight starts and afterward it's over, without any story scripting necessary.
>Added system to give objects and enemies several possible locations, set once per game
Just adds a little bit of unpredictability without any real risk.
>Added employment IRL
No more sob story updates, I know I've been a drag lately and I'm sorry about that. Thanks for all the support and well wishes x
>Added system to set and get particular flags for individual units:
This helps make scripting more contained, trying to eliminate the old lateshifter-style story timeline processes as far as possible to leave control in the player's hands more often, less of a cutscene-fest
>Added 'passive' equipment category for useful battle items like forcefields or armour
This allows for an equippable slot to boost defenses, for example.
>Removed 'key item' status for weapons and equipment, so player can now drop them at will. Sometimes no weapon is better than a damaged weapon.
>Wrote lots of new music, further developing the best so far
I'll post a few clips to Patreon soon and later to youtube

This coming week:

"Learn to code" is genuinely neat advice.

Wednesday, 16 January 2019


Right now I'm working on the main fighty part of the mission, so I thought it'd be cool to show you some footage of the new bad guys and how their AI looks/behaves.
Less progress than usual this week, I've had to dedicate a lot more time to applications and doing night courses on skills I can't get work without.

This week:
>Added Charger AI and troop;
enemy lines up with player and charges from a distance, sprinting.
The more ground covered on the sprint, the more damage dealt to target when hit.

>Added Sniper AI and troop:
First time creating a state-machine-based AI!
long range, high accuracy.
Needs to be positioned after moving in order to fire.
Needs to reload between shots, which takes a full turn

>Changed shooting criteria, enemies will now sometimes take pot shots, firing even if they can't get a direct shot at the player.
>Added weapon use cost, rather than a blanket 2 move.
>Removed jQuery dependency, replaced the last jQuery function I used with an iterative deep cloning, which should be fine for my needs. Tested, objects are 1:1 as before, persist through saves.
>Added visual and audio cue to start of player turn, reworked some sounds.

It's real scary that for years I had no need to do any of this stuff, no on-job training toward it, but suddenly it's absolutely mandatory and I'm up against 40 other guys with a wealth of experience.
Doing night classes and tutorials. That luddite feel when robots took my job while I slept.
Two of the companies are based in a bad neighbourhood notorious for drugs and crime, so I'm kinda hoping that means a little less competition. I'd take literally anything right now.

oko x

Tuesday, 8 January 2019

Mapping and Story


A day late this week, sorry.
My sleeping pattern is crazy, man. Can't seem to lie in a dark room for longer than 3 hours at a time, so for the last week I've just been having two naps instead of a full night.
It's actually not so bad, it helps me have two mini days, one for job applications and interviews, one for gamedev.

This week I've been mainly occupied with Mapping, new map art and story revisions.
It occurred to me that the narrative was pretty convoluted despite being fairly short and that situations more complicated than they need to be aren't automatically more interesting, so I've simplified a lot of the flow.
Nothing I've worked on already needs to be changed, it's all to do with how it comes to a head and wraps up, which has been drafted but not scripted in yet. I'm feeling a lot more confident charging ahead now. Sometimes I get caught up on pretty trivial details, and what should matter first and foremost is that you can play through it, fight some dudes, laugh a little and get lewd with space princesses.

So far I think I've been approaching writing wrong, it's easily my weakest area, and I've been tempted by offers from others for help there, but if I outsource it I'll never get better, and this whole thing is supposed to be a multi-faceted solitary hobby. That's what a man needs.
So I figure it might be better to have a tight, basic little story and then weave subplot and choices into it, rather than start with a bunch of multiple-choice situations I want to happen and try to string them together.
Because sometimes they don't string together well and I get stuck in a bit of a loop wondering which one should move to close the gap, which one should be changed, should I add in another story beat to bridge between them?
I thought I was really onto something with these little nodes, but it's a really unnatural way to work and a weird way to tell a story.
This is a pretty convoluted way to explain a simplification in approach.
tl;dr Story was complex in the wrong places, revised the middle and end sections, so now I can push ahead and get it done.

I've been working with a vague mental map of how all the areas will look, but it wasn't until the last few days that I sat down, made new art for the areas and actually got it mapped out, matched up all the doors and joined sections together. I'm really close to being done with mapping for this level, with 24 areas drawn out and connected up and maybe another 3 rooms still to go.

This week:
Story scripting, for sure. I haven't written a line of js in days, I just want to get moving now that I have these nice areas, want to populate them with fun monsters to see and kill.
Monster design, I need two more enemy types, I know how I want their AI to work, but it's gonna take a little experimentation to get it working. I'll probably tackle that right after posting and if that goes good I'm just gonna nose down and call it a night.

Job/life stuff:
20 applications sent out this week, though I'm pretty sure 2 of them are for the same position, one of them being a vague recruiter ad that obfuscate the exact nature of the company.
I'm noticing a weird trend where the ads are written like they're looking for a general team member, but in the first call they're all like:
>"haha, yeah, so listen, we've never had somebody do this job for us before, so we'd need you to set up the whole department and be a manager for team member wages, cool?".
I mean, I can do it, it definitely sounds like a great opportunity to define my own workflows early on with my own choice of tools would be pretty cool. I'm in no position to be turning anything down, it's just kinda misleading. I'm pretty sure I wouldn't be allowed to misrepresent myself to quite the same extent.
One place from over a month ago I'd already written off actually got back in touch to say I'm still in the running, but I need to put it out of my mind because there are no more stages so it's all up to them at this point. I need to just keep on applying and talking with other companies.
I just wanted to make game.