Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Level 2 is in a playable state.

Brief display of some more hectic spawning. Seems like it's all-or-nothing with the way these work. Fixed segments (the pillar buildings with the pink 'dropslashers' need more spacing in order to not "pop in." Also have an annoying glitch with the one railspinner (grayshirt) not shooting off. Don't know what I'm doing with the sprite on that one; sweater and khakis just doesn't seem fitting. Need to go full emo instead. Kickflippers (green shirt blue hair) are as harassing as I expect, will probably reuse them for a later level.

Snippet of boss fight against 'Davus.' Didn't realize that GifCam wasn't recording when I did most of the fight. AI is a combination of both enemies, basically. He starts out idle, then when the player gets to close, he attacks. When he attacks, he moves to the left, then when the player gets within his 'near detection,' he starts moving back to the right and launches knife-looking projectiles for a very short duration, then sets a recalibration point to the right of camera. When he gets to that recalibration point, he gets the player's expected y position at the far-read trigger, and moves up/down accordingly (I have code for spawning a rail object when he does this so it looks like he's sliding up/down it, but I'm not worried about adding it back in). If the player moves too far ahead, he shoots to the right more rapidly.

This can be a pain, especially with the kickflippers harassing you when you jump over his attack, which, due to the rapid nature of it also keeps him under you, but it's nothing that can't be managed. Railspinners are set to not spawn when Davus is out. 

I'm just going to vary some of the spawn points a little more and start working on the next milestone, since I'm getting tired of looking at green, and I really want to get to "the Furnace."

TODO:

-Screen transitions (enter level, exit level, intermediary, exit to menu)

-Rework in-game menu

-Rework main menu and level select

-Rework timing for button inputs to make three-button combos more forgiving with default setup.

Endgoal:

Be able to transition a player through the first half of the main game without awkward 'jutting,' as well as utilize what they unlock within.

Very important update.


Foremost, in terms of control, combo input rework.

In the options, I set the attack delay to a full .5. You can see the delay with the first input after the unpause. This is normal. The updates come from a special bit with the input logging. For a while, potential moves are logged with a recursive comboTree class that logs an input key, children for next combos, a moveID, and lifetime for the move input

Here's a crude diagram of what's set during level 1 (not counting the shield key tree).


Any check against inputs starts at the base of the tree, then, for each key entered in the input queue, moves down a slot if it's available. If there isn't anything, then return the selected ID, and execute the move associated with it. Before, I was (stupidly) just leaving it up to the expiration timer, which meant that if you did something like continually press attack over and over, you wouldn't actually attack until the entire queue was ready. "Why wait on something if the queue is ready?" This behavior was altered to split the lookup into a more simple function that gets called in the input and timer expiration. Now, whenever you press a key, one of three things happens: (1) if the move in the input tree has potential children the player could execute, wait a delay before executing, (2) it's the last key of a branch, and immediately executes that next move, and (3) if the pressed key does not have any associated moves 'down the branches,' execute the current one. All three are in display in the gif in order after unpause (I pressed up on the third one to get it to attack immediately).

Second important update, level transitions:


The coroutine is a bust for now. It was working fine a moment ago, but then I got smart and added in some checks to the fade to black, and suddenly it wants to shutter now. I'll need to get that sorted out. The important thing here is that all levels are mapped (I'm not going through the full display right now) with their place in the build order and 'next' selection, and basically just need to be 'filled in' with enemies, bosses, and platforms in order to be functional.

After buying, the player is able to buy into the level select now. Fading to black in order to access the end-of-level screen nets a credit, beating a boss gets another. I think I'll leave the test-credit in there since buying stage 1 after beating it makes more sense than beating two levels to get the privilege of starting at the first.

Haven't really messed with any options yet since there's nothing to customize. Hating the way these placeholder menus look.

To-do:

-Level 3

--Enemies (3)

--Platforms (3)

--Boss

-Rework platform spawning to be more randomized (hating how many sections repeat)

Endgoal:

Playable level 3 with substantial platform variety.