Sunday, 30 December 2018

End of year report

Hey, how's it going? I hope you had a nice Christmas time!
I've been pretty hard at work the last two weeks, figured I'd leave off posting last Sunday to give myself and others a bit of a break.

What's new / changed:
- Replaced the jerry-rigged "invisible bullet" raycasting technique with something proper.
Now using a "Bresenham Algorithm" solution I'm still not smart enough to fully get, but it works, it's instant and checks every square between two points in a straight line for impassable objects, besides those I've designated as "half-height" so you can still shoot over tables, boxes etc, even if you can't walk over them.
This is set up now for player and enemies, and I also extended it to:
- Enemy discovery of player
I've added patrolling for enemies, and using the same line of sight rules (and half that radius regardless of direction they're facing for "hearing").
I'd like to eventually expand this to have every enemy in some areas patrol and also activate those within earshot if the player is discovered, for some stealth or just plain unscripted encounters.
- Added new tilesets
- Added new weapons and sounds
- Added new race of fighting robots
- Condensed player sprites into broader sprite families
- Lots of mapping and filling out the station areas, replacing previous soulless temporary standins
- Fixed projectiles start location so they come from the gun barrel regardless of direction faced
- Added player sprite aiming when choosing a target
- Fixed attack animation system; previously altered step animation speed and made it cycle an alternate walk cycle once before returning to the regular one, which made things look weird 50% of the time and just seemed like it'd be a liability. Now got a system where individual frames are specified at individually-set intervals I can tweak, so gunshots and things look much better.
- Further developed story, nearly at a final draft for this level, the first 30% is playable, start to finish.

There are a bunch of other small things I fixed, art tweaks and boring stat edits that weren't quite worth noting down, I wasn't really on top of my note-taking since last blog, as a lot of the work was just story writing, conversation scripting and mapping, with pauses to create new assets for rooms.

This next week is all gonna be story scripting and titties, may be able to start on busts, too.
No news on the job front, had a couple of interviews  a week ago, but haven't heard back because Christmas. Nothing like a bit of existential dread during the holidays haha¬

That's it from me, I hope you have a great New Year's Eve, and I'll becoming back at ya with something new... or old.

Alright, cool. See ya.

Monday, 17 December 2018

Progress update

Man, this whole month is just flying in, isn't it?

This week:
>Added panning and volume tweaks depending on sound source proximity to player.
This was fun, and pretty slimline, wasn't as hard as I thought it might be and doesn't seem to impact performance at all. If it does on my weaker device, I'll make a toggle switch for it.
I made footsteps and combat sounds pan and change volume depending on their position to the player.
Enemies far away to the right will bias toward the right speaker, and their footsteps will be quiet, getting gradually louder as they approach the player. Doesn't change a whole lot, but it was a really fun way to spend an hour and it makes the rooms feel like a real space occupied by real things.

I'd like to do occasional breakdowns of js work, because I like talking about this stuff (since i'm self-taught it feels like magic and I won't get jaded until I'm competent) and it helps show that I actually do a lot of work, which isn't immediately obvious when I've no titties to show.
Also, just as an aside, if anybody reading this is working on their own RMMV game, I dunno, maybe it'll convince you to start with js to get more out of the engine.
I'm a bit of a dummy and I just started learning a few months ago by myself so if I can learn it, you absolutely can, anon.

Takes the object and makes sure it's an object with a defined x coord, asks if the map is 15 squares wide or less (small enough to fit on one screen without scrolling), if so it'll pan the sound relative to the object position on screen.
Otherwise, it'll pan based on position relative to the player.
The first method is preferable, because I also pan player footsteps, so he instinctively feels like a real thing in that room (you can follow his walking around with your ears) but would potentially sound weird in really wide rooms where he's in the center of the screen, but technically on the far left of the map itself, so the sound would be panned left.
Both calculate so that it'll output a figure between -50 and +50, which is the RMMV panning offset range. (The second can go higher, but anything outside these values is accepted as valid, too, only affecting volume at the extremes.)

I've explained it already in the notes I left myself, but this specifies an initial (Max) volume and the object making the sound.
As long as that object is one with a defined x coord, output the max volume value minus a percentage based on the objects proximity to the player.
Essentially, every square an NPC is away from the player drops the volume of sounds it emits by 10%.

Initial check at the beginning of each says if the object in question is the player, just return the max volume, because there's no benefit to calculating how far away from the player the player is, unless he's doing some college-level soul searching.

Okay, so I've spent almost as long writing up on this as I did writing it in the first place, what else have I done?

>Added way for inventory items to be passed between NPCs or from NPC to player through dialogue or cutscene.
If you convince somebody via dialogue to give you a key and they later die, you shouldn't find another copy of the key on their body.

>Added Terminal system
Built a small framework for computers to be built in the same way as other objects, with logs, any doors etc governed by the computer, ability to load complete disk sets or eject disks to inventory. Idea there is to optionally collect disks to make up a complete program, which can then be loaded at any computer. Playing games within a game wtf I hate the matrix now?
Also added terminal sound effects from the old game because they're comfy and sometimes ideas you had a year ago are pretty okay.

>Added simple 'chat' ticker for future idea.
Came up with a really quick, simple way to handle the illusion of a ticker feed, which should come in handy for a planned hidden game I've had in mind for a while.
I want to capture the magic of getting whispered by that plain, quiet guildie girl from across the country who you gathered herbs with and talked about growing pains all night instead of studying for those unimportant finals.
>Fixed object discovery in battle.

Discovery was tied to a host of other player-turn-initialization actions that were impractical to re-run if the player was changing direction rapidly. Now separated it, so discovery works independently.
>New tiles and room.
Expanded the tileset for the current level to replace some placeholders and added a new room as part of a minor puzzle.

The coming week:
>Continuing story scripting
At the end of a neat branching dialogue right now with a few gameplay outcomes changing as a result, so just testing it wraps up like it's meant to before moving on.
>More art
I've got some podcasts and audiobooks to catch up on, so I'd like to spend a while on tilesets and sex anims.
Landed two in-person appointments this week, one of the two I would really like to work at; not an obviously exciting place or field, but it'd pay me well enough to live, give me a little development budget and ample, daily opportunities to get gud at js on the job.
I dunno, wish me luck I guess!
I'm on my last month's savings and I don't know what I'm gonna do ahaha

Alright, I oughta wrap this up,
Have a good one, anon.

Sunday, 9 December 2018

Music and weapons and stuff

Here's the gif from before, since a week has passed:

This week I got the weapon quality modifiers in so there's a small chance gear dropped or found will range from -2 to +2 in quality, affecting various stats.
You might find a rapid fire gun that has a chance to return move points on enemy death with that weapon, or a heavy axe that's less accurate, but does more damage when it does hit. Stuff like that. Since weapons drop all the time and all of them are pretty valid, I thought it'd be fun to have rare drops that'd be worth holding onto, but without getting into standard bullshit rpg stat autism; that is, while you can check the stats, it should be immediately obvious if a new weapon is worth switching to, so you shouldn't have to compare, it's not exactly a high-brow game.

I corrected a targeting error, where under edge cases the wrong targeting data was being accessed. Ranged data was being used for all [3] attacks, even without a ranged weapon, which ended up being a problem after I updated target behavior last week.
Did some further combat targeting fixes, still more to do because it's not 100% perfect; sometimes when given the choice between two targets in the same direction, the further away target is chosen instead of the logical closest one. Likely to do with targets being culled from the potential target array without the index being updated. Not a massive deal, but I'll get to the bottom of it next time it really annoys me.

Wrote some new functions for scripted adding of enemies to an ongoing fight, created a more tight enemy spawning system that relied on callbacks rather than delays, then realized I need the delay for enemy units to define their own stats and if I'm going to keep using RMMV for on-map battles I can't get around this method, so rolled back.

Finally, scripted a fight scene with a few different entry scenarios, wrote some new music, which I've put on Patreon tonight.

The coming week:
- More scripting, have to really get moving on the story before I can feel like I'm making progress. Looking at the same room for the last week makes it feel like a standstill, even though it's not.
- More interviews and trying not to ugly cry because I let a company make me feel like a big deal only drop me late in the process :DDDD


Saturday, 1 December 2018

Is it Christmas yet?

Ho ho ho, are you almost there, anon?

December 1st and I'm in the spirits already with my sleigh-bell jams and hot cordial.
I don't want anything this year, I'm really fortunate to already have everything I could want.
I mean, except maybe a job, but I have a really good feeling about one of the positions I tried out for this week, so fingers crossed!

I'm sorry I didn't post last weekend, I just didn't have anything good to show you, but I promised I'd have something nice to show patrons this week to make up for it.

Here's a little still-frame preview, the very juicy, moving version is here on Patreon:
>that feel when no chubby four-titty, milky-squirting Orkie gf

Still working on finishing the liquid animations on this one this weekend and have another waiting patiently for the same treatment afterward. I don't wanna show off too much, though, because I want the new material to be fresh when you get to it.
I think the answer there is to have more scenes, so even if I spoil one or two, there's still lots to see, but also I don't wanna pack levels with too many at the cost of them taking 3 months to reach you.

This week:
- Added stripped-down version of the Hentai engine for use on-map, to have animated scenes play out with audio synched to frames while the player is free to wander. The first example of this will be early in the new level, and it's pretty neat.
- Created the aforementioned scene, which branches depending if the player investigates.
- Created two full H-scenes, reverting somewhat to the older, less-blurry way I did scenes for the last game. I think from feedback people preferred this to the more dreamy, shiny soft focus "3D" looking scenes in the Starknave demo. I can see their point, too, adding in the blurry overlays detracts from the limited color look.
I'll have the occasional soft-focus scene here and there, but I think the bulk should go back to looking more like the above scene.

The coming week:
- I have more scenes to do, really on a roll with animation, in the swing and spirit of it, so I'm gonna keep on with that while it feels great. My wrist needs a rest, though. Even with one of those vertical meme mice, I'm still getting strained from clicking intensely for hours every day.
>"Doc, my wrist is killing me"
>"What have you been doing?"
>"Meticulously drawing ejaculate spray, frame-by-frame"
 - Scripting! Keeping the flow going on this new level, got a couple of fights and lewd setups to get done to integrate the scenes already done.

- Adding item quality, so very rarely modified +1 weapons with stat bossts will drop, ditto enemies may have lousy weapons.
I think now with the ability to take any enemy's weapon after knocking them down, the best way to make this feel rewarding and not get stale is to have a little chance of getting something imba that's fun to lay the smack down with, something worth holding onto.

That's it for now, how are you doing, what would you like for Christmas?