Sunday, 18 November 2018


So this week I've been working on the new level, creating the new maps and some music and animations to go with them.
Also changed and fleshed out the flow a bit to include a new section and some titty scenes.
Nothing really exciting to share without spoilers, but I'm happy with how it's going, I just need a good block of time to really tear into scripting it out.

Ayy I bet doesn't even run Crysis lmao

>Movement routes for enemies are recalculated at the start of their turn even if their target coords haven't changed.
I was having problems where enemies weren't taking into account new obstacles (eg other enemies who've moved) preventing them from moving their plotted route toward their target (eg player). Previously they'd only reset their course if their target coords changed. If the player stood still and never attacked, they could get into a stalemate, which is now fixed.
>Changed battle ordering by initiative to include player proximity as a tiebreaker
So if multiple enemies have the same initiative score, their turn order is now determined by how close they are to the player as a tiebreaker. Before, groups with the same initiative would be ordered by their eventId by virtue of how the data is checked. The new method greatly reduces scenarios where enemies at the back are boxed in and effectively skip their turn until the battle opens up a bit.
>Changed the way potential targets are gathered and stored
Previously I'd get a list of all enemies within the player's attack range and order by proximity to the player. Similar to the above ordering, this would mean enemies with a lower event ID would be targeted first if you had multiple enemies to choose from. You may have experienced this is in the demo, where you wanna target a guy next to you but you have to cycle through a bunch of other targets to get to him, then repeat again to attack the same guy in the same turn. It's been annoying me for a while.
Now rather than the closest unit being shifted to the front of the available target queue, you target their indexed place in a queue that's ordered from left to right as the map goes.
TL;DR you now target the enemy you're looking at, moving left cycles left and moving right cycles right woah literally why didn't I implement this from the beginning
>Melee attacks while holding a gun now properly show melee damage vfx
Simply, the last update made hand to hand punches while holding a gun actually animate as punches, now punch vfx have caught up too, so no more sparks and puffs of smoke just cause you punched a guy while carrying a laser gun.
>Footsteps & move waiting
Changed the way enemy turns work, halting all further turns from executing until the enemy has stopped moving. This was implemented only for movements and the change might not be felt, but there's no downside to doing this as a blanket rule, and removes rare edge cases like enemy turns moving on before the sprite representing that enemy is on the same page.
>New units with sound and AIs
Added in some little cannon fodder gobbos and a big surprise enemy.

That's it for now, I'll check in again soon.

Sunday, 11 November 2018

>enemies can open doors

Hey, time for progress posting.

This has been a pretty fun week, though I've had less time than previous weeks due to job searching, I've made some fun additions to help in the coming levels.
The biggest win has been an addition I've wanted to add for months but was always too scared to; button [5], giving the ability to interact with objects (containers, internal doors) and npcs during battle, so now you can punch a guy, take his axe, chop down his gunner friend, take the gun and shoot at any other enemies, and it all just works.
I am a little worried about the UI getting crowded, so hopefully there's no need for more contextual buttons.

Work done this week:

- Mapping levels
- Enemy design and Combat balancing
- Some sprite art, more to do
- Residual battle data now cleaned instantly, making used slots reusable immediately, no need to leave the map to clear cache.
- Cleaner ways to generate dead NPCs, doors and containers
- Internal doors, which both player and enemy can operate during battle
- Battle object manipulation; player can loot a dead enemy's weapon, search containers and open doors during battle
- Ability to turn to face whichever direction you want during your turn. Not sure why I didn't add this sooner, it's vital.

Other than that, I updated some functions, created some new ones to help streamline things and make objects behave the same for players and enemies, stuff like that.

The coming week:
Moar art! I've got a big list of sprites to create for the level tileset and characters who'll appear in it, I might have more features to add now that I've whet my whistle on the battle item changes, other than that it's gonna be sprite art, girl design and scene design, with some scripting for the 5 maps made so far.


Monday, 5 November 2018

Starknave v1.0.3

Performance fixes and changes, not a content build, just a final tutorial/demo version that should run for everybody now.

- Performance fixes; runs better than ever, should be no more lag on lower end hardware.
- Netbook mode: Turn off all extraneous effects, gets my netbook from 45fps to 60, constant.
- Difficulty settings; Normal, Easy, Very Easy
- Battle tweaks;
         Heavy attacks give more worthwhile damage increase over Light,
         Health regen increased
         Unspent moves at the end of turn converted to health regen
- Level select screen with level unlock and save features.
- Game Over screen just for fun.
- New, better Hentai UI (with option to switch back if you prefer the old one)
- Weapon stats are clearer now; instead of Damage shown as "2[~1]" (2, give or take 1), now shows "1-3".
- Choice-safe Fast Forward dialogue; hold [Q] to skip text without risking making choices
- Fixes and changes to make system modular for more levels, last of the demo jury rigging removed.



Starting next build, sorry meanwhile!



So this week I got a couple of more reports of bad performance and issues, so I dedicated some time to that and decisively located and fixed the issue.
The game now flies on my Atom x7 netbook, a pretty solid 60FPS, playing through the whole thing multiple times in a single sitting without issue.
Fucken fixed, boys. I'm really glad.

On the one hand I didn't want to give too much time to this, because trying to fix performance on RPGMaker MV felt like waging a land war in Asia.
On the other hand, literally what is the point in making a game on a tricked-out Google Chrome meme engine if it won't even let me run hard porn on a smart fridge?

You ever think of a joke and you know it's not that good but you've started making it and well I guess I'm posting it

So the good news is that it was because of a couple of 3rd party plugins; one for highlighting text during choices, which I've now replaced with a simpler alternative, and one for ensuring assets are loaded before update functions are resumed. Googling the latter, it turns out people have never-ending trouble with it producing similar results wherever its used, but I won't link to it because I was using an out of date version of the plugin and the creator seems like a super sweet guy who's doing everything he can to push fixes to people, and guys like that make the internet go round.

I'm not sure I fully understand why those two were tanking performance, I'm just glad it wasn't my own js work that fucked everything. That feels nice.

So between this and some other issues being brought to my attention that I'd since fixed, I figured it best to get a 1.0.3 build out with the fixes.
It's a better experience overall and should solve any remaining problems.

For those who've played before, this isn't a content build, sadly, it's just about getting a better, newer build out there working for me while I make new stuff.

Story progress for the next level is going pretty well, not as fast as I'd like but I've been busy. It's getting there.
Not much more progress on the OST this week, it's on the back burner until later.

That's it from me, I spent the whole weekend getting the systems ironed out for release, so I'm gonna post 1.0.3, then have a nice bath and get some sleep.