Sunday, 26 November 2017



So it's been another productive weekend, here are some of the things I've added or fixed:

- Fixed hungry process needlessly monitoring weather every tick.
- Fixed hungry scene setting process which was listening every tick for changes in room (see below)
- Set up a proper script dominance hierarchy (roughly speaking) on the back of the changes above.
- Added new open-ended rauchy scene (another pretty big narrative block down)
- Implemented various smart caching...caches. Currently tied to maps, but will change over time to be map-agnostic.
- Fixed some conversation ordering to make some interesting lines prominent, not hidden away in choices nobody will make
- Removed some choices that offered very little and complicated the flow immensely

This was the big victory of today. While fixing a rare picture-layer based crash (due to a bug in the engine that's never going to be fixed) I took the time to create a proper hierarchy system to ensure things execute exactly in the order they're supposed to, instead of just roughly in the order they're supposed to.

Until now I'd been doing everything in-editor, but for this I actually made a plugin so it happens at the engine level and not as a result of listening and delayed by a frame, which caused some timing issues with scripts that wanted to run immediately.

Now every time I change map, there are switches set that run things and it goes kinda like this:


Change map
> Switch 1 turned on

Switch 1 activates scene-setting, music, images, everything needed for the room, turns on Switch 2 then kills itself.

Switch 2 activates initialization for the map, setting immediate conditions depending on the story point we're at, for example placing characters where they ought to be at this moment, turns on switch 3, then kills itself.

Switch 3 allows all the storyboarding to run only after the scene is set and all actors and conditions are in place.


All of this plays out in about 1 second, so it's great to have confidence now that these processes aren't all running together and overwriting each other:
Example from before: Scene setting deleted all images, potentially in the same tick that Init was trying to draw an image that Storyboard would then rely on. See the problem?

So until now I'd been running all of these simultaneously like an absolute tit, and it was a miracle everything worked as well as it did. I'm so glad I ran into a major bug with this, so that I couldn't handwave it any longer. Now everything works better than ever, it's just solid.

That's all for now, just checking in.
Here's something I was working on a couple of days ago.
I want to cut down on gifs in general because spoilers, but it's been a while so here's something.
I've partially censored it because this is a proper blog for good, upstanding people, I'm sure you understand.

Thursday, 23 November 2017

One year on

Hey, happy birthday Lateshifter.
My project files tell me I created this game on the 21st of November 2016, which we've just passed, so congrats, game. Get a job, already.

How Lateshifter looked one year ago.

REALLY SHIT. Thought it might be fun to look back at just how shitty things looked back then.
Are you ready for MIXELS? Blocky outlines? ZERO animation? I sure am.

So this here's a cap from the oldest version I have in my backup repository; December 6th, 2016, and about shows you where we were at.

Yeah, well, we were all nooblets, once.
That said, a lot of these tiles actually made it into the demo virtually unchanged in April.

Note the clock in the upper left. I was trying to go for a scheduled NPC system like Elder Scrolls or something, where they'd just go about their lives and when the moons aligned you could catch them alone and do lewd stuff. It was originally going to just be an overnight perverted salaryman simulator.

In this version there was nothing animated besides some horrific walk cycles, and all erotic content was in the form of clumsy descriptions and text-only scenarios playing out.
The only standout ones were:

>Taking co-worker lunch from refrigerator, jizzing in it and putting it back
>Watching her then eat it
>Using a screwdriver to remove the fastened roll holder between bathroom stalls to make a gloryhole
>Taking a confiscated onahole from a locker in the IT room, putting it into the hole so you could... sort of bang the hole and jizz on anybody in the next stall.

The original name at this time was lateshift, but then I found out there was a sort of FMV game released the same year with that title and I'd already started a blog by time I realized, so the name changed a little and I stuck with it.
It's basically fine, it's sort of like your own name, you don't use it nearly as much as anybody else does.

How Lateshifter looks now:

Things have improved a bit in the last year, I'm slowly learning how to art, a little at a time.

New this week:

Made some more NPCs interactive
Added a 2-in-1 deluxe scene.
Changed some early, untouched sprites to better match the final character appearance.
Changed menu system to show options as solid or greyed out, rather than uncertain toggles.
Made changes to music so tracks loop better.
Tied music to scene-setting in a way that makes it resumable when turning music back on.
Made some quality of life menu changes, blocked it during certain events to avoid mad bugz.
Fixed a horrific chronological bug where a parallax map that didn't exist yet was marked for deletion.
Fixed all H-Scene sound to be louder as part of an audio normalization pass.

That's all from me for now, I've been a bit quiet lately because I don't want to pad this gap between builds any more than I have to. Working hard every day, count on it.

Thanks for reading,

Monday, 13 November 2017

Edging closer to release

Hurr, get it because porn game.

Hey, how's it going, just checkin' in on you.
I've been quiet the last couple of weeks, but that doesn't mean I haven't been working, just I haven't had anything fun or clever to say.
I still don't, but it's been two weeks so here we fucken go.


I've been writing the bulk of the narrative these last two weeks, replacing my placeholder branching story skeleton that's served so well these last couple of months, and it's been really quite fun! Considering narrative stuff was my least favorite part in the past, this is quite a win for me.

It's not that I don't like writing, it's just that it's not as instantly gratifying as animation, sound, music or scripting is, but once you have it all done and you can navigate through conversations with different characters and pick out little habits or ways of looking at things the individuals have, it's pretty cool.

I've given some of the side characters much more personality than they had. Previously just filling an archetype or job role, I hope I've made them much more fun to interact with.

I've now completed two of the big four narrative blocks in the level, the remaining two being (hopefully) much less complicated.

Bug fixing, general script-strengthening:

Because I started writing this level a few months ago and I've improved a lot in that time, it became necessary to fix, streamline and replace a few story mechanics. For example, I have a character who walks around in the background. She changes between computers, gets up from her desk, walks around looking at an assortment of machines and taking readings from some of them with a clipboard, then goes back to her desk and continues working. This was previously accomplished with 3 or 4 flags to create a crude-as-fuck state machine, and was prone to a bunch of problems. (If you happened to leave the room while she was making her rounds or taking notes, she'd get into a logic problem on your return and wouldn't spawn.

Now all that behavior is controlled with a single variable to denote states. It seems so obvious to me now, but this working out so well made me then change all incidental NPC movement and scheduling over to this system (including one innocuous-seeming section that actually has 6 different outcomes afecting lots of movement scripting, a real fucking headache).
This allowed me to put in lasting, rock-solid scheduling for all my NPCs. It just works™️ and I'm super happy about it.

TODO For the next week:
Pretty much more of the same from these last couple of weeks. More writing, more fixing, more consolidation.

I want to add in another minor side-character when I have time, and I've gotten together at least half of the assets for that.  I think from now on I want the player to be able to get into a sex scene within the first few minutes of any level if they are looking for that. It's cool when people want to get invested in the characters and context, but I also know I'm not Charles Dickens, and that nobody came here to read a novel. So when I get time, or need to step back from narrative work, I'll be animating a scene or two this week.