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