Sunday, 14 October 2018

I DONE IT

Hey, how's it goin'?

So I put out the first build last night, then I took Saturday night off to recover from an erratic week. I definitely overdid it, as far as my head and eyes were concerned, but even so it felt pretty great.

I couldn't quite shake the worry that the demo wouldn't be well received, because I know in some ways it's a departure from my previous work, so I still checked in for emails, mostly to make sure nobody was having horrendous crashes or anything but the reaction has been wonderful, only a few bugs (spelling errors or information that could benefit from being clarified) reported and I feel so, so blessed by the general tone of the response, I can't even you guys.
It's really difficult to regret overworking yourself when at the end of it everybody is being this sweet.

It seems a bit of a formality to post progress right after you're able to play the latest, but I'll do it anyway because it's pretty comfy looking through my backup folder, deciphering my cryptic notes I made at 5:17am on a tuesday and reconstituting the thought behind it from concentrate like a supermarket orange juice.

This week, I mainly playtested and implemented fixes, tested saving everywhere and reloading to make sure rooms all initialized properly, that all relevant values were restored, rewordings of tutorials and some dialogue flow changes. I also:

- Added a new character, who can be recruited to help fight with the right motivation
- Added death handling- until now the player would just hobble around at 0 health, and while it looked hilarious, battles have more weight to them if death is a possibility, or rather no weight if there's no chance.
- Upped player health to default of 10 and added an event halfway to heal, in case the player doesn't experiment with food items looted from enemies


There were a couple of bugs or things pointed out, some of which I've fixed already (spelling, double-spaces), some will be fixed this week, including;
>Weapons have no visible stats, player has to make blind choices between weapons.
I didn't initially think this was super important at this particular stage since any weapon will be an advantage over your fists, but it's a totally valid point and something I'll need to add regardless, if for no other reason than the stats being broadcast in my face all the time so I can tweak them better, so I'll work on that this week.
>Handing over items as part of a transaction or mini quest doesn't actually remove the item from your inventory!
Boy do I feel dumb. There are a couple of key items in the demo and some checks to make sure the player has them, but I didn't think to remove them from the inventory when it'd make sense to in the story. This'll be fixed.
>No way to reference the information from tutorials on command.
I'll make some kinda cheat sheet, I think. While I do go over what each button does, it's kinda in a dump at the start of the game, and that's no fun, so I'll come up with something the player can easily access any time.

I've paraphrased the above from reports I've had so far, thanks so much to those PMing them to me, it really helps cover those blind spots you develop when you work with something every day.

That's it from me, again, I'm so glad people are enjoying the new work, I'm looking forward to putting the free version out this week to let others try it, and to get onto the first proper mission/scenario, which I've had waiting for a month to be realised.

Thanks again,
Oko

Sunday, 7 October 2018

"I swear it's actually coming out soon" edition


I super wanted to get this out Saturday. I spent 20 hours a day all this week working on it and again I've failed to learn that it's not that I'm not throwing enough man-hours at it, it's that I'm only one man.






This week I:
- Added some more to an existing scene, adding some buildup and wind-down
- Extended the same scene to add better climaxes and updated art a little
- Implemented Auto Hentai mode, toggleable, bound to spacebar
- De-cluttered the flow, removing one sequence that was just for fun and not lewd
- Added some weapons the player can find and equip
- Added small NPC quest

- Music fixes, much better battle music than that shown last week
- Created logo and start menu
- Reduced UI padding to show more screen when using optional text window boxes
- Added optional in-flow tutorials for the 3 main areas of the game
- Blocked saving in H-Scenes and Battle
- Added scripts for refreshing individual npcs to update their loadout
- Small AI tweaks
- Attempted to add all global variables to be saved as properties of $gameSystem
- broke many things in a 6 hour period, then re-evaluated and realised I only need to add a few global variables to be saved as properties so long as I remove the ability to load from the pause menu
- more on this below
- Redid some character art to be more distinctive
- Added big titty orc hair metal band to the main area

So. The demo is basically ready, meaning I could put it out today and most people could probably play through it without issue, but I want to hold back and spend a couple of days just testing it.
The holdup on Saturday night that prevented me from releasing was the above-mentioned problem with global variables;

The problem is that I'm declaring variables with global scope but that these are only used by my scripts and unless told don't interact with the rest of the game. They aren't saved in save files, which means if you were to save your game mid-battle one of two things would happen during load:

> If you loaded within the same session, as in from the pause menu without shutting down the client, the values would not change, remaining floating from the time you loaded, which would break things
>If you loaded from another session (closed the game and booted again) the variables would be their default values, breaking things.


My solution to this yesterday was to go through thousands of lines of script and add each global variable instead to be properties of $gameSystem, an engine object that is included in the save system, so I could piggyback on it and theoretically we could save and load from anywhere and it'd all just work.
But doing this broke some systems, and after a period of 6 hours and feeling like I'd absolutely fucked everything, I rolled back and started again only adding the variables I'd need to save, rather than adding absolutely everything. I think the main problem was plugin commands messing up due to the period in, eg. "$gameSysten.testVar", maybe the value would be separated into two strings, borking the command on entry, I can't say that for sure, but what I do know is the main problem I was having was with plugin commands, and for a couple of key parts I just can't do it any other way.

The plus side is that I now understand the whole thing far better, and as well as having added some key values to be saved, I now know how to do this for the future.
So while it wasn't a rousing success in the immediate and I beat myself up all last night for the 'wasted time', it was a net positive.

The plan:
I'm going to continue working this week, bugfixing where I find any and allowing myself until Tuesday to add small details, but nothing that takes more than an hour each. Then I hammer the build and send it out late this week.
I just want this first demo to be great, because it might be the only non-patreon build out for a little while, so I want it to be a great ambassador for what you can expect from supporting the title.

Anyway, that's enough rambling from me, gonna eat something and get away from screens for a while, my eyes hurt like a bastard.

Take good care of yourself,
Oko

Sunday, 30 September 2018

OkO what's this?

Lonnie a C U T E

New music posted to Patreon:















Hey,

Sunday progress report, being a tale of conversation scripting, animating and edging closer to release.
So this week, I have:

>Implemented a hentai scene
>Completed two more sets of portraits for lewd conversations
>Wrote new music
>Gave the UI more room to breathe in cutscenes
>Created a system to clean up events by making them inaccessible when no longer needed. Old method removed them, freeing up their eventId, which could be taken by a troop spawn with unpredictable results.
>Did another pass on conversation sequences to make them more to-the-point and more lewd


This coming week I will:

>Finish the last narrative block
>Add the last animated sexy sequence
>Record, process and map sound effects to the completed scenes
>Fix the music I wrote this week with half-hearing, because it's probably not balanced right
>Rig the start menu and end screens for the demo
>Hopefully, god willing, release


I wanted to get the SFX done by now but I've been sick this last week. You know that kinda flu where your ears block up and stuff?
Hot coffee, chicken noodle soup and eucalyptus baths are the best things on the planet. Every day is a fucken gift, I love it.

That's it from me,
Hopefully I have a game for you soon.

t. oko



Saturday, 22 September 2018

YES, THE PENIS RISES

Sorry for the exclusivity, a guy has to eat.

Hey, how're you doing', what's going on?
Checking in a day early because why not?
This week I've been 90% animating, 10% revising story elements.
I really want to show you how these look in motion, since a lot of my time has been spent animating fluids, but I don't want to rob you of the first playthrough experience by showing you all the juice in advance.

I'm pretty happy with how everything is going so far, though I'm still settling into the workflow so the first scene took longer than I'd hoped, including throwing everything out after a few hours and starting from scratch.
Back into the swing of things now, though, really enjoying myself.
Once these are done it'll be sound effects (found a pretty cool way to make new, better cum sfx, so I'm looking forward to recording that), remaining story work and a little more music before it's released.

Hope this finds you well.
Oko

Sunday, 16 September 2018

SO CLOSE THAT A LITTLE BIT IS COMING OUT


Oh, we're gettin' close.
I don't want to say it'll be ready in the next week, but it can't be much longer than that, I've been making great progress the last few days.

This week I completed the 'skeleton' version of the demo, I can run the full demo start to finish, badda bing badda boom.
Now I'm doing cycles of improvement or whatever the hell you call it, now I get to have fun creating the final assets after weeks of working with placeholders.


In space it's always the 1970s and 80s





It's really getting there and it's been a lot of fun leaving the art until near the end like this.

This week's progress:
- Finished writing and scripting all story scenes in the demo, 2/5 have final dialogue, the rest need another couple of passes and more permanent art added, which will be the main focus this week.
- Added compact and transparent themes for text display, the latter of which is now the default because it looks fucking sexy during conversations.
- Added more options, ability to turn on/off various UI and Audio elements to suit user tastes.
- Made object finding process cheaper and fire less often
- Changed the way I was handling image cache clearing between rooms

Man, that doesn't sound like a lot, at all.
It's been really busy though, mostly scripting and writing dialogue. Really happy with how it's coming along and looking forward to getting it to you.

I've also written some new music, which I'll do more of this week.
Hopefully soon I'll actually have some gifs to share so we can get hype.

Thanks for reading, I'm going back to work,

Oko

Sunday, 9 September 2018

Star Knave

Hey,

I've been knee-deep in demo building every day this last week, feels great!
It seems like every few hours I'm creating some time-saving function that'll make life easier in future.
I guess I went into this demo thinking the battle, adventure and hentai parts were ready, so that it was just gonna be scripting what happens between them, but it's actually been great for developing the tools I'll use for setting up cutscenes, moving actors around, showing dialogue and so on.

Progress!
- Added binary switch for all actors deciding whether they can be added to combat or not, previous system added all units tied to player enemy factions, but in some scenarios it'd be handy to have some enemy units not join battle right away.
- Cheaper object search, old method checked each actor with two sets of criteria, now each actor is checked once with both criteria as either/or.
- 1,2,3 and 4 keys cleared message boxes but not choice, they now action the highlighted choice, too.
- Container objects now generate their own contents as soon as they are ready, like NPCs do. Previous system waited for callbacks from all created events before processing them all in a row, but this was causing problems and it made no sense to have two standards for how to populate objects
- Created easy functions for getting and dropping weapons, previous system relied on the object appearing in a container, this allows the story script to affect player inventory and equipped items, for example losing your gun in a cutscene or an NPC giving you a sword.
- Created dialogue handling system, narrator text shows instantly, character speech is shown printed letter-by-letter, in their color and voice (as determined by stats on their object)
- Adventure icons, representing: Look, Pickup, Talk To, Pass and Go
- Whole cutscene-handling system with:
        - Bust preloading
        - Busts 'talk' (mouth opens,closes) as long as their speech is being printed onscreen
        - EZPZ bust changing system


Demo story:
- Added some demo subplot to make the nice environments more worth exploring
- Scripted two large cutscenes, barebones, no busts yet
- Scripted about 60% of the demo story.
- Added NPCs to the bar, feels much more alive.

A really busy week, I'm having a great time.
Oh, btw, my new game is called Star Knave :3

Sunday, 2 September 2018

Demo building



It's nearly time to show everybody a glimpse of just what the hell I've been up to these past months.
As you can see from the picture above, things still look pretty barebones right now, so I can't say for sure when all this will be ready.
I don't want to shoot myself in the foot with an overly optimistic date, but I'm working hard to make it as early as possible without releasing v0.0.1 bullshit.

This week I mainly occupied myself with writing a short demo scenario where you'll get hands on with all the main mechanics, so you can see if you like it and I can figure out what I can do to improve them for the main game.

Progress:
- Finished up remaining work on hentai engine, including better speed change turnaround and C-meter grinding sweet spot
- Created tilesets for the upcoming demo (really feels great to work on some new art after months of the same rooms)
- Created some rooms for the demo
- Tuned how doors, fixtures and NPCs differ behind the scenes
- Tackled a huge lag spike on battle start, still not perfect but seems to be a once-per-session framerate dip, with subsequent battles not slowing things down. Will get to later.
- Wrote out the full story for the demo scenario, estimating about 15 to 20 minutes long, just enough to give an impression of how the game will look, run and feel.
- Any window that can be opened with number keys can be closed with them too, feels more intuitive and comfortable. Trying to maximise comfort of 1-handed play this time.

Improvements:
I wrote some small functions to solve persistent Lateshifter issues:
Default RPGMaker system for movement is really only good for pokemon style cutscenes, where all action and player input stops, a character walks onscreen, says something, then walks back out of the scene or remains stationary.
The main problem I had in Lateshifter which accounted for 95% of all bugs is that I wanted NPCs to move around independently while the player is also able to move.
This meant the player could get trapped by npcs or the player could be move-routed into a wall because all movement is relative and requires the moons aligning to not go wrong.

So I've hopefully solved all those problems with my new system. Now I use the builtin pathfinding that seemingly only gets used natively to make the player path toward location of mouse/touch input and for "move toward / away from" movement route rules.

Old system:
>Punch in relative-to-current-position movement directions that should get the npc to the desired location
>Move up, move up, move up, move left, move left etc.

>Oops, you're lodged in the fucking wall / a move got dropped because you walked in front, ruining the rest of the movement, the NPC didn't end up where they ought to and now the whole flow is broken, hope you saved! (SIKE, saving fucks up the move routes too! :DDD)

New system:
>Punch in "walk($gamePlayer,4,4,true);"
>If the player is not at position 4,4, path there, walking around any obstacles (including ones changing while en route) and resume the story flow once he gets there.

I'll expand this later to be smarter, checking if 4,4 is occupied and if so an argument for whether it's acceptable to pick a square nearby to path to instead, or to make this npc able to just walk through the blockage, but it SHOULD be a tight enough ship to not need these yet.


That's about it from me, I wrote a few minutes of new music for the demo this week and did some romancable girl design, physical and personal.
For the rest of today I'll be scripting the broad strokes of the demo with placeholder sprites, then when that's all done I can fill out the placeholders with final text, art and music.



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

Sunday, 26 August 2018

I FINISHED ON HER PREMATURELY AND THAT'S A GOOD THING, HERE'S WHY

wtf I love videogame journalism now.

Good to see you, anon. It's Sunday Progress Report time.
This week I finished up the first round of Battle AND Adventure modules and planned out a few days to replicating the Hentai scene engine from the old title in pure, sexy Javascript.
I've actually got it 90% finished in half the time I'd allocated, I guess the brainwork was already done and I was just figuring out a smart way to set it up this time.

Before: Each scene was scripted in its own event page with hardcoded values based on manually-filled counters (number of frames x time between frames), I'd give it a counter of eg. 459 frames, then tell it to count down.
Meanwhile my audio component would listen out for set frame numbers appearing and play a sound I'd told it to, based on horrific If/Else trees with every file again written in manually.
Result: 4 or 5 concurrently running scripts processing inputs, scene changes, calculations, dialogue, sounds.
Scripting boner: Floppy and a bit scared.

Now: I write out the bare minimum values in script, these are added together and use maths to work out which pictures I want to show and which frames I wanna play which family of sound, with sounds automatically processed to sound differently based on speed etc.
Result: About 200 lines of Javascript, to which I feed a single line and maths takes care of the rest. Thanks, Maths.
Scripting boner: Absolute and unquenchable.


Changes since last Sunday:
- Items can be scheduled as NEEDING to appear in a particular room, in containers, on enemies or both/either
- Trying to check underfoot while standing on multiple dead NPCs will give you a menu to select which (see below).
- NPCs have their equipped item appearing in their inventory
- Player can switch out their equipped weapon with any other they find in containers or on dead enemies
- Player sprite and attack animation update to match equipped weapon
- UI updates to match equipped weapon
- Faster generation of initial stat values for enemies
- Added new weapons and categories - unreliable but potentially deadly cable whips and ballistic firearms
- Overhauled UI to be more responsive and better laid out
- Difficulty balancing on combat, player takes less damage than before and regens a small amount per turn
- Animation scripting changes
- Stopped button press event listening during pause, nullifying crashes
- Objects and weapons directly copy, then overwrite rather than inherit and overwrite, meaning they persist through save/load and keep all their functionality. (explained below)
- Hentai engine recreated ( 90%, will be actually finished today)
- Hentai anims restart/reset current loop when returning from pause to avoid sound and audio falling out of synch
- Hentai scene system is clean, crisp and maximally reuseable- press button. receive bacon



During this week I ran into a HORROR scenario I wasn't really expecting or necessarily equipped to deal with.
On saving and loading games, it turned out that most items were reverting to their default parent type. I'm still learning JS so I don't know for sure, but it seems like inheritance of parent objects works as a link, fine for normal purposes, but that link is severed by RMMV's save/load game processes, so loading an old save would turn all your items from [Micro Cassette] into [item], the default parent object's '.name' value.
I spend what felt like hours on this and found that weapons weren't affected because it turned out how I handled weapon objects was slightly different, and the answer was to replace all shallow references with deep copies.
I rejigged the way I handled items to a way that made more sense to my brain instead of the old way I made following advice from Stack Overflow not meant for my application, and this problem went away but FUCKING HELL was I scared for about a day there.

That brings me up until today, I'll be continuing to work on the hentai system for the next few days.
Polls going out on Patreon shortly to get a better idea of which elements were liked in the last game, which I should scale back, which I should expand upon.

Thanks for reading, I'll check in again soon, getting very close to being able to go back to sexyposting.

Your pal,
Oko

Sunday, 19 August 2018

Sunday Progress Report

Hey, here's what I've been doing this week, getting pretty close to closing both outstanding epics (Battle and Items).



Battle:

- NPCs now have a proper 'dead' state, after which they effectively turn into containers.
- All erased events are removed from the $gameMap listing after battle, to free up their eventId and prevent rare weird bugs caused by Ids not being reassigned, or being reassigned incorrectly.
- Remove 'move' cursor when player starts walking to stop rare bug where event collision wasn't removed quick enough and the move route was cancelled- will revisit.
- 1-handed Quality of life improvements to battle controls, double click an action to confirm it, press any other action's button to cancel (press 3 to aim, press 3 again to shoot, press 1 to choose where to walk to, press 1 again to confirm and start processing move)
- General walk action refinements, removed some early, now-redundant checks and additional scripts
- Fixed a really rare, difficult-to-reproduce bug was fixed after weeks of vexing me- I'd accidentally given global scope to a single-letter variable, so under certain conditions it was being accessed and changed elsewhere, wrecking a concurrent for loop
- On the back of that, learned how to list all defined global variables and fixed all similar out-of-scope instances

Items:

- All NPCs and Containers have a priority for being picked up by the context system, so standing on dead NPC bodies won't prevent interaction with adjacent doors, living NPCs or containers or other high priority items occupying the same space as a dead NPC
- Dead NPC priority is affected by their inventory being full or not, stacks of dead bodies occupying the same position can be looted in turn systematically, empty bodies going to the bottom of the deck
- NPC and Container position, direction and contents stored and restored on exit/leave to circumvent the way RPGMaker resets events on room reload
- Contextual quality of life to container interaction, interacting with a locker before it's opened will open the locker, previously the player would need to open it with another key before being able to interact with its contents.
- Added item USE cases, which allow things like health regen by USEing food
- Added item pool probability to make some objects much more likely to show up than others.
- Added range for item quantities, so you're likely to come across a dozen rounds of ammunition, but only one handgun, for example.
- Set up item Schedule which makes 100% sure to place key items which NEED to drop in a specified room into a container or enemy inventory in this room.
- Player inventory, containers and enemy inventories are sorted alphabetically with key items listed alphabetically up top like:

Key A
Key C
Normal A
Normal B
Normal C

This happens once for containers and enemies on creation and happens for player on inventory open.
- Player inventory upgraded with the behaviour improvements I gave to containers last week


Misc:

I wrote about 60% of the story for the first mission last week, which informed some of my priorities this week and I've made 5 mins of new music, which I'd like to keep fresh for the first trailer, but I'll happily share on youtube if there's enough interest.

I spent two full days getting instruments and mastering set up to sound how I'd like and really happy with the results. Learning Javascript has also improved the way my DAW is set up, chaining instruments and effects more logically and things like that.
Hopefully my production sounds to others like the step up I think I'm hearing. It's hard to judge too definitively.

That's about it from me, this next week will be improvements to item lists, implementing proper weapon switching (switch out your main weapon with one the enemy dropped) and I think then it'll be complex enough to move onto completing the mission story and begin scripting it out.
I'll maybe take another day out to work exclusively on music, too, because I've got the bug.

Hope the week's been good to you,
Oko

Sunday, 12 August 2018

New game clarification and little improvements


Hey, so I know I haven't shown anything sexy yet.
Not so much as a pixel nipple, nothing.
This game WILL be an adult / erotic title, but right now I'm just handling gameplay and interaction.
I appreciate it's nowhere near as fun to look at as anime tiddies, but the good stuff definitely IS coming soon.

New game clarification:

A few people are asking if Lateshifter is dead or if there's going to be a continuation of the story from the last episode and the answer is to both of these is "nah, sorry".
LS was always supposed to be slice of life episodes without continuity, so even if I stayed with the exact setting, the next episode was always meant to be another anon with his own problems and work assignments. I figured if every time it was a different protagonist, there was always a chance he could die or goto jail or whatever else. There'd be no set 'canon' except the ending YOU get, and that's what's important to me.

The good news, though, is that I plan for this new title to be a continuing narrative, so there will be returning characters as well as ones you meet in passing, and it'll still be made up of contained smaller adventure releases.
This might mean a different release (.exe) for each episode, but it's inevitable that I'm going to want to build cool new features into later episodes and I don't really want to hold back for fear of breaking earlier episodes by improving systems to be more flexible, agnostic or intelligent later.

I also don't really want to do incremental patches every week, making you download ¬200mb every week to get 5 more minutes down the line.
That can work well for other devs but I'm not sure that's best the best approach for what I'm trying to do.

This new game will otherwise be an expanded version of the original formula but with a couple of tweaks:

>Minigames will be replaced with small scale combat and exploration
Because fighting & loot > arbitrary high score

>The game will be less cutscene-intensive, with the player retaining direct control for much more of the time.
Because Lateshifter: Night Rain was very much an on-rails experience, and the plotted movement of characters introduced a lot of bugs and scripting tedium

>The setting is expanding too, so we'll be getting out of the city

Because I want to have adventures with sultry babes on hot exotic planets, investigate spooky abandoned space stations, get lost on the first day in a big city or try to pass the time at a sleepy remote space port, rather than always be on the way to work in purple Hong Kong.

But all the art, music, story, characters, everything that makes LS good will be there in this new game, and if you're on the fence at all, I'm looking forward to swaying you back toward me because I know you're going to like it. It's going to be much, much better.

Improvements:


Made a few improvements to my systems for item interaction, item discovery and battle movement.

Battle:
- Changed cursor movement when laying out the move path in battle to teleporting rather than sliding into position, makes things much faster and fixed a low repro bug where player move would be skipped due to cursor not changing collision type fast enough.
- Removed a few deprecated extra checks, they were nice to have but it's needless extra calculation

Item discovery:
- Removed the last remaining on-tick check for items in front of player. I previously had a system where after the player moves or turns, a function checks for items in front of the player once, but this function was still being run and returned continuously.
- Replaced the circumstances under which this check will run, instead of running continuously and listening for player direction or position changing, it now runs once when:
- outside of battle and
- player direction changes or
- player has finished moving,
with no extra listening required.
Really happy to have removed these constantly-running processes, I've been eliminating them for the last couple of weeks and the performance impact is measurable.

Item management:
- Changed logic with containers so that the currently highlighted item will remain highlighted as long as its stack exists, then default to whichever item now occupies the same slot, rather than defaulting to the topmost selection after every action.

Misc:
- Text now displays immediately for all text use cases except for during character dialogue.
- Added a couple more menu/window themes

That's it from me, enjoy your weekend pal,
hope you can take her easy on my behalf!
Oko


Friday, 10 August 2018

Let's catch up!

Alright, so.
Without further apologies, let's get going.

For a quick rundown of the last few months, here's what's been going on:

February:
-------------------------


Spent whatever idle time i had trying to come up with a prototype for a simplistic on-map tactics battle system using a tileset I made for a small scenario I wanted to hide inside Lateshifter (like the cryogenic vampire scene from the original demo).
I wanted to spend a little while maybe making an RNG-heavy dungeon delving game, just to cheer myself up at having essentially lost my 'real' game, as with only a few hours to spare a week it wouldn't have been worth it to continue on trying to push that boulder uphill.

I learned a little doing this, came up with a neat idea for contextual button-prompts for all actions- sort of like MMO combat, but also used outside of battle to talk to, look at, open doors, depending on what was nearby.
I think subconsciously I was still trying to design for the one-handed.
I kept running into brick walls, however, and I couldn't get the system to be sustainable long term. I could start up and run a single battle, but I couldn't find a way without scripting to clean up everything and ready for re-use. I abandoned the idea and went back to sulking about losing my real game.

March - April - May:

-------------------------

Nothing of value. I spent some time trying to readjust to normie life, playing online shooters and watching TV, with limited success. I'm just not happy when I've no goal to work toward.
I started messing around with my old project files near the end of the month and decided to learn some Javascript so that I could have the option of editing and maybe getting some esoteric extra functionality I needed from existing RMMV plugins.
(Lateshifter is almost entirely evented, with very, very minor script use, which is a big reason why things like scripted movement of npcs was so buggy and got people stuck. More on that in the eventual retrospective, I guess).

I wanted to make my game, or an offshoot version of it more into a one-player D&D sort of experience, with sliding scale dynamic DMing sort of like the director in Left 4 Dead.
I figure the first thing I'm going to need for an adventurous game is a way to handle combat, then a way to handle items and interactions, the rest theoretically being ground already tread with LS.

From here on I've been checking in at the 10th of every month, logging the current state of the game in screenshots and movies to check how I'm progressing.




June 10th:

-------------------------

June 10th - JS total - 307 lines

Made a little proof of concept for a scripted version of February's battle system, or rather the beginning parts. I think within the space of a week i'd learned just enough to gather all map events and create a schedule for turn orders, so I'd push a button and all the events would spring to life and all move toward the player one square. Progress!

Most of the work done in this month was copying and editing examples from the internet, learning how to do basic things and copy pasting out of fear of spelling mistakes ruining everything.




July 10th:

-------------------------

July 10th  - JS total - 1670 lines


This is where the bulk of the work really started. Every single day working between 6 and 12 hours on learning Javascript and applying it. Fully confident in what I was doing, writing functions like a man possessed, always with my eye on scalability. Above is a test I did with some opposing teams, seeing how well they knocked the shit out of each other. Pretty well, it turns out.

Battle:
- Full battle schedule with alternating AI and Player turns.
- added initiative to determine turn order
- Added a HUD with icons like in February's test game
- Ranged and melee units
- Bullet ownership for ranged units
- Object augmentation to add stats to events
- Framework to have stats determine other things like which sounds are played for that unit (weapon sounds depending on weapon, vocal sounds depending on npc race / sex
- Attack and Defense rolls for combat, modeled on simple dungeon crawler boardgames of the 90s
- Dynamic delay between turns, based on what transpired this turn
- Intelligent turn skipping for boxed-in units
- System to handle sprite animation and misc anim for various battle actions (attack, defend, hurt, death)
- Failsafes for various systems with warnings and error logging
- Ability to mark certain obstacles as half-height (can be shot over, not walked through)
- AI implementation, different units have differing behaviour types
- Player/npc relations to determine who is neutral or an enemy in battle
- Invisible projectile raycasting implementation to determine if players or enemies can actually hit enemies in range
Ranged targets now are enemies in range to whom there is a clear line of sight.


Other:
- Intelligent checking for objects in front of player
- Allow contextual actions depending on what sort of object is in front of player

August 10th:

-------------------------

July29th  - JS total - 2002 lines

August 9th - JS total 2828 lines
Really hard at it now, above shows one of the optional graphical filters I've added.
I've currently settings for old TVs, Lateshifter mode, """HD""" mode and basic noFilter.


Battle:
- Camera automation
- Check that npcs are actually onscreen before proceeding with turn
- Dynamic target choosing for enemies, prioritize units attacking self, then enemy already targetted if in range, then closest enemy
- Missed projectiles carry on until hitting another impassable object
- Added rudimentary system to add enemies on the fly and integrate them to an ongoing battle if applicable
- Death animations and brief comic gore
- Added 3 more AI types
- Made existing AI types much more intelligent
- Made AI maleable, with injured enemies becoming more cautious
- Set special rules and extended range for pathfinding to be more intelligent
- Added failsafes for any AI troubles with error reporting (no reports yet)
- Weapon-agnostic battle changes
- Weapon pickups
- Intelligent UI for displaying current weapon
- Turn-long 'unsteady' modifiers for successful attacks on unready enemies

Other:
- Added series of graphic filters
- Added series of possible menu skins
- Added custom menu
- Custom menu options
- Repositioning all menu objects
- Changed object/npc detection to be more intelligent, prefer alive units when standing on dead
- Functions to automate number  x of enemy y spawning within range z of coordinates
- Intelligent auto-addition of newly created enemies to ongoing battle, allowing for scripted or cutscene late arrivals or adds.
- Container generation with dynamic and persistent contents
- Inventory system where objects can be removed from containers one at a time or all at a time, inspected and dropped
- Replaced all input common events with scripted event listeners, massively improving responsiveness
- Added battle juice, gore sounds


Which pretty much brings us up until today.
Thankfully I keep notes along with my backups to let me know what I did roughly since last one.
I probably should set up some sort of git repository, but I'm happy right now.

Now:

-------------------------


This week, I've added door pairing, allowing me to randomize which rooms will show up at the start of a new game, to give some replayability. Whether I'll make a lot of use of this or not, I'm not sure. Story beats will need to be more static, obviously.

Right now I'm working on the container system. I have dynamically created containers which get filled with items from a level list at their genesis. I'll be extending the item lists, weighting items to be more or less likely to show up and adding weapon pickups to the item system instead of being a separate thing.
I'd like players to be able to use items inside as well as outside combat, giving a cost to switching weapons or the ability to use suitable found items as improvised melee weapons (dragon di- I mean Iron Bars and cables haha) or ranged weapons (rocks, data tapes, small handfuls of change, whatever). It's a lot of fun seeing it come together.

That's it, catch you later on
Oko


Thursday, 9 August 2018

All systems online

Still alive, relatively safe, having another go at making vidyagaems.
I've been working on something every day for the last few months, but most of that has been learning how to Javascript, so I don't have anything graphic and sexy I'm ready to share just yet.

It's coming, though, and I'm confident this new work is better than anything I've done to date.
I've uploaded the LS OST to youtube meanwhile, because a few people asked for it.




Much love, sorry for the absence.
Let me know how you've been,

Oko

Tuesday, 6 February 2018

It was the best dream

If there's a less douchey way to say 'hiatus', let me know.

So the company I worked at IRL went under and I needed to move country at pretty short notice to take another job. I'm having to call a hiatus on Lateshifter, and I don't know for how long, man.

I spent the last year ignoring my IRL job and ignoring the signs the shit was about to hit the fan just so I could ditch out early every day to work on my game (fucken employee of the year over here) and so I wasn't really prepared. Fans of the show will know I've moved to 3 different countries in 2 years, so I'm just constantly wiped financially.

Because I'm such a broke bitch I need to really put the time in at this new gig, because I barely deserve it right now. Career is going to have to come first.
I really hoped before anything bad like this happened I could get LS to the point where I could make my living doing this and get outta the grind, but it is what it is.

I ain't mad, just blue. I changed Patreon back to per-release mid-January, because I don't want to take anybody's money if I can't work on this.

I never took a single cent from anybody during my stint as an internet filth baron, which makes it a lot easier to live with this intermission of indeterminate length.

Big thank you to everybody who stuck around. I hope I can come back to doing this, and I hope I'll see you then.

If you ever start to miss me before I get back, just put pink cellophane over an tiny monitor and run pornhub, it's the same fucking thing.

Love yourself.

Your friend for life,
Oko

Thursday, 18 January 2018

Everybody wanna be famous, nobody wanna put the work in

Hey, yo, check it out.

Wanna get into the secret room and see all the juicy bits without having to play the videogame itself?
I got you fam, don't even worry about it.

From the main menu:
Alternate LEFT/RIGHT on the arrow keys a bunch of times until the screen flashes.

You're rolling with the wizards now.

Cool, later
Oko

Lateshifter 1.0.4: New menu + fixes

Hey,

Here's the new menu I've been working on and hopefully final bug fixes for this scenario, including a couple I accidentally re-introduced last update:

- Added new, more stable and script-friendly menu
- Re-fixed bugs
- Added dialogue boxes to boot-time caching
- Fixed dialogue / spelling errors
- Fixed Cybil examine bug
- Fixed Mola endings to show animations
- Fixed Mola endings to correspond to deals made earlier
- Fixed Hanoi freeplay exiting to office

Download now free at lateshifter.com or the links below:

Windows

Mac

Linux


Last fix-only update for this episode, new content coming next.

Thanks,
Oko

Tuesday, 16 January 2018

New menu + re-fixing stuff

Hey, So between 1.0.2 and 1.0.3 I managed to accidentally roll back one instance of the Linux fix which a few kind people have sent me reports about. This'll be properly fixed again in 1.0.4.

I've also spent tonight fixing a big problem area: The menu system.
It was all based in choices and dialogue boxes which meant they couldn't be closed except by user input, which posed a problem when a scripted event was trying to close the menu to keep going.

A more lasting solution would be figuring out how to pause absolutely everything onscreen while still letting the user use some functions in game, but I can't find a good way to do this at present.

So the new menu I'm pretty happy with. It feels good to be building systems again. It will be rolled out alongside fixes with 1.0.4 either tomorrow or Wednesday.






I'll replace the game's main menu so that they use the same system. Should be nicer overall this way.

See you later,
Oko

Friday, 12 January 2018

Lateshifter Episode One: Night Rain - Public Release!

Episode One: Night Rain


"A routine assignment at a Data City processing firm gets way too complicated, way too fast. 

Save the girl or seal her fate? A story of late, rainy nights, breathless desperation and hard sex."






Features:

x Romanceable characters
1+ hours of gameplay (first playthrough)
39,000 x Words of dialogue and story

35 x Minutes of new music
508 x New sound effects

10 x H-Scenes* (3 x Deluxe, total of 15 scenes)



Download:



Linux

Links updated to 1.0.4: 18th Jan 2018

Thanks very much to everybody supporting on Patreon, those who send me bugs and good vibes.
I'm really blessed to have you here.
More to come, working hard every day, so stick around!

Your pal,
Oko

Tuesday, 9 January 2018

More bugfixing; 1.0.3

Jesus christ I literally haven't slept more than 5 hours at a time this year so far.
Please work, 1.0.3.
Pls.

I will literally die.

Hey, how's it going, here's the roundup for 1.0.3:

I've introduced Save / Load options, but limited saving to times where the player has free roam, not mid-conversation or while there's scripted walking around.
It should be blocked off as an option during those times, but please be careful for now all the same, in case it stays enabled when it shouldn't be.
If in doubt, the elevator is a pretty foolproof save spot when it's stationary.

Fixes:
- Fixed players getting stuck in Maintenance if they ran in too fast.
- Fixed Elevator and Terminal repair crashes by replacing last remnants of an old, buggy caching system.
- Added bug submission form to the Esc menu.
- Fixed bug where capitulating to Mola too early made her unreliable in delivering promises.
- Fixed bug where train would crash through the pink salon, killing everybody probably.
- Added Saving and Loading -

Again, saving is enabled at safe points in the script, disabled during cutscenes and highly-scripted movements.
This is mostly down to the way I'm absolutely assfucking RPGMaker MV to behave like a real engine. I'm sorry RMMV, I don't mean that. It's been a long week.

Hopefully this release will see us into the weekend. I'm gonna take two days off, then get onto the new material.

Later dudes,
Oko

Monday, 8 January 2018

Lateshifter 1.0.2 Patch

Hey, so I released yesterday and its been crazy positive, as well as helpful- some nasty bugs slipped by me and I'm happy to say I think I got everything that was reported to me.

Fixes:

- Fixed getting stuck in bottom left corner with Estella.
- Getting stuck on computer or talking to Cybil too early
- Getting stuck after Mola deactivation scene
- Estella disappearing after the roof scene
- Player getting stuck in Maintenance under a certain ending
- Player getting moved around and stuck due to Cybil dialogue not terminating correctly
- Jedd and Stace would smoke forever until they died of lung cancer, under certain circumstances
- Player appearing too far from the couch after animation
- Player brought back incorrectly from Puzzles in all cases
- Puzzles had a second-long delay before accepting the right combo, now it's instant
- Puzzles would not load the next level if you failed the level while still 'holding' a block
- Player could go back to main menu AND progress into scenario at the same time and things would get weird
- Stopped the player leaving the room after Terminal is fixed because the freedom at this point was too confusing. Next objective was really unclear.
- Clarified objectives in areas that reports had shown it was unclear
- Added slight delay between the end of text and choice selection (Also affects Escape menu, but that'll be replaced in time)
- Added some spelling and formatting corrections
- Fixed Linux-specific filename problems, no need to make duplicate files to account for lower case

These will be included in the public build out on Friday, in case you aren't on top of the leaks at this moment in time.

Cheers,
Oko

Saturday, 6 January 2018

Lateshifter 1.0.0 Releases tonight.


Hey, what's going on?
Sorry I haven't been actively posting over the Christmas period. I've just been working on this every single day, including Christmas day and New Years and I wanted to cut myself off from online activities until it was ready.

Well, it's ready.

There are way too many changes to list because I wasn't keeping track during my Christmas Crunch, but I loaded up a build from early December and holy shit, I'm happy with myself.

I've rebranded it to 1.0.0 for simplicity and to set it apart from the demo versioning system which was as poorly thought out as the structure of the demo, itself.


This is episode 1's first release, so it'll be 1.0.0.

Featuring:
4 Romanceable characters
1+ hours of gameplay (first playthrough)
39,000 x Words of dialogue and story
35 x Minutes of new music
508 x New sound effects
10 x H-Scenes* (3 are Deluxe, with multiple angles / acts)
I'll be posting with links at:
PST: 15:00
EST: 18:00
GMT: 23:00  
CET: 00:00 (Sun)
AEDT: 10:00 (Sun)




So this is 1.0.0, there may still be bugs, but I would certainly hope every game-breaker has been removed or will be found before it goes online.
I'll be hammering this the entire day, trying to break it, and then I'll upload the builds for Patrons.


ps.

Steam hours were at 138.3 but sadly this number is normalizing because I've also been back at IRL work since the start of January.


Thanks,
Oko