Monday, September 16, 2019

Rain is here <3

It seems to be checkup season for me as I have/had appointments with my doctor, dentist, and optometrist these two weeks.  So far the doctor and optometrist both told me that I'm looking pretty healthy, but we'll see about the dentist...haha (pretty sure I'll have to get some work done).

I think my goal for the upcoming Ludum Dare (10/4-6) is actually going to be to use Godot Engine!  I've had almost no experience actually using Godot (I downloaded it in the past a long time ago), but I'm feeling quite optimistic about it based on everything I've read, especially after they released their major 3.0 update.  Godot is open-source (no licensing whatsoever!) and looks to offer a 2D-optimized workflow (no silly hacks to get your pixel art working properly), somewhat of a hybrid between the lightweight nature of Flashpunk/Flixel plus the editor/scene view of something like Unity.  I'm actually feeling very hopeful that this will be my future engine of choice, though of course the only real way to tell will be to give it a test run.  Of course Rhythm Quest will still have to be finished up in Unity, but I don't think that's a huge deal to be honest.

This does mean that I'll have to ditch all of my Unity code that I've accumulated over the years, but hopefully a lot of it is things that I don't NEED anymore in Godot as I won't have to do my own boxcasting and 2d platformer physics implementations anymore -- that kind of functionality looks to be baked in so all you need to do is write the actual kinematic physics logic.  Audio functionality seems to be promising as well, there's even a page dedicated to syncing audio with gameplay, so you can tell these are issues that they're actually thinking about.  Of course need to look into playing around with the engine before LD actually hits, as well as maybe building out some common functions that I might need like screen transitions and the like (this could also be a good time to implement some fancier transitions rather than using screen fades for everything).

I've certainly got a lot of things to take care of in the remaining half of the month, but I'm getting through them one by one (already took care of the FNW setlist for example).  I guess here are the main things left that HAVE to get done in this timeframe:

- One or two more birthday letters to write
- Write a few Inktober letters ahead of time so I don't have to do them during LD
- Need to do pixel art for September Monthlies
- Pixel art commissions -- I've drawn 57 sprites, need to do ~43 more
- Warm up project for LD using Godot

There are some other things that would be pretty nice to get squared away as well:

- Clean up room decorations...
- Need to finish a remix for a Patreon request (I've already started)
- Finish work on my 4-wide trainer so I can publish it (mostly a bunch of documentation and formatting)
- Pixel art for some various album covers....

So yeah, a bunch of stuff.  We'll see how much of it I actually get through, but as always, as long as I'm making steady forward progress, I can't really complain.

Saturday, September 14, 2019

Did the laundry, wrote a letter, prepared two meals, made some dance edits, put together a setlist, swept the floor, filed some letters....I'm on the right track for today.  There's still much to do, though.  Music, pixel art, coding, writing, cleaning...there's no way around it but to simply do each one of them in turn.  Life has no shortcuts or breaks, only tradeoffs and priorities.

Monday, September 9, 2019

It feels really silly, putting an address on the envelope
when I know it will never reach my past

But it's all a part of the ritual.  And this, too, is important.

"Celeste: Farewell" is out today.  I'll have to wait until an appropriate time to play through it with the attention that it deserves.


I'm not in any rush.  I know the mountain will be there, waiting for me.

Tuesday, September 3, 2019

Crunchyroll Expo, Mega Man 11, 2D Platformer ability design

Life has just been chugging along, it seems.  Nothing spectacular has been happening, but that's not a bad thing really at all.


=====

Crunchyroll Expo 2019 happened and I stopped by on Saturday to hang out, walk around, and go to some things that seemed interesting.  I got to go see the premiere of the first two episodes of Season 3 of Chihayafuru which actually ended up being a highlight of the entire thing, I had no idea I was going to enjoy it that much!  That moment near the end when _____ finished playing their match and thought to themselves _________ and the other member on their team suddenly realized _________, omg, that really really got to me for some reason.  So yeah, that was great!  Makes me want to rewatch the first two seasons at some point, especially to refresh my memory about all of the other more minor characters that I completely forgot about, haha...oh!  And I just remembered that there's a live action movie series as well...maybe I'll give that a watch too =X

=====

I bought and played through all of Mega Man 11!  I pulled the trigger after watching some reviews and such and since it was on sale on Steam.

I ended up enjoying it quite nicely!  It's a nice blend of old and new as far as Mega Man goes.  The thing with Mega Man is that the old tried and true formula is really just great at its core -- running and jumping and shooting.....more running and jumping and shooting....it's just good 2D platforming at its finest and I've always been a huge fan of it.  That said there ARE already a ton of classic Mega Man games out there, so as much as I'd love more games in the vein of Mega Man 9 and 10 (which were faithful to the NES series) (various fangames also exist, some of which I've played through), I will say that the fresh coat of paint that Mega Man 11 offers does make a lot of sense.


The graphics were pretty decent and I didn't mind the 2.5D much at all!  Unlike a certain other popular game pretty much everything was very readable -- just look at the screenshot above and how obvious it is that the yellow center pieces of each gear are in the foreground, while the rest of the gear is in the background.  One thing I thought looked a little odd were the "fuzziness" of the black outlines on the cel shading, but maybe I should chalk that up to me playing on a monitor with only 1280x1024 resolution?  Perhaps it looks better with a higher pixel density, but maybe rendering thin outlines is just not a strong point of the cel shaded look.

The bosses were pretty well designed -- they had a lot of personality, both in their animations and voice acting (I played only with the Japanese VA).

Maybe I was a bit biased after watching a video analyzing the level design, but I really did appreciate the designs of most of the stages and how they made for interesting progressions despite only using a few unique elements per stage.  It felt like they really made the most of many (perhaps not all, but many) of the different "gimmicks" they introduced in each stage, and that sort of clean, logical, and pleasant progression reminded me a little bit of Celeste.



The main "new mechanic" of MM11 is the "double gear system", which allows you to get a temporary limited boost to your power or slow down time for a bit.  It was an interesting concept, and actually played out pretty neatly in practice a few times -- those moments when you activate the both (double) gears at once for a last-ditch attempt to beat a miniboss and then finish the fight at low health.

However, one of my complaints about all of these "extra" 2D platforming abilities -- whether it be special weapons in mega man, additional items in shovel knight, or even magic spells in hollow knight -- is that they tend to provide a sort of frantic decision paralysis in the moment while you're in the middle of an intense fight or platforming section.

The issue is that platforming and jumping around and shooting and all of these things already occupies so much of your brainspace in terms of attention required, that it's really hard to also add in the double gear system and trying to use the different special weapons and all of those things.

Now that I'm writing about this, it really gets me thinking about 2D platformer ability design.  I know that other people might really enjoy switching between different weapons during the middle of a Mega Man level, but I've always found it to be cumbersome, and a weak point of the series for me personally -- I always Buster my way through most of the stages unless there's something particularly well suited for a particular weapon (e.g. a tricky room, a platform that I need to air-dash too, etc).

There are multiple reasons for this:
- Weapons have limited ammo available (whereas the mega buster has unlimited ammo), so you naturally want to conserve them for situations where you actually NEED them.
- In addition, the bosses at the end of each stage typically have a significant weakness to a single weapon, and you don't know what it is ahead of time.  Since the boss battle can be one of the most difficult parts of the entire stage, this incentivizes you to save all of your ammo for the boss.  Again, you don't know which weapon type you'll need, and frequently you'll need all of the ammo of that type to beat the boss.
- Switching weapons requires either opening up the menu -- which is awkward in terms of game flow -- or quick-toggling via the right analog stick or the shoulder buttons.  The right analog stick selection is actually great, but there aren't enough opportunities to really =practice= mapping each direction to a weapon in order for it to become second nature.  Because of this, switching weapons requires you to stop and think about which weapon you want to use, figure out which direction to press in order to switch, THEN go about using the weapon.

So even though I thought Mega Man 11's eight special weapons were GREAT in their variety and design (you could tell they each would be useful in very different cases), I didn't find myself using them much outside of boss and miniboss battles.

I know this is part of Mega Man's fundamental core design, so I don't really blame Capcom for not iterating on it, but I do wonder if perhaps a different mechanic for boss weapons would work a little better.

If you look at abilities in Metroidvania games, you'll see that they fall into two different groups:

Some abilities fit very naturally into gameplay and you find yourself using them again and again very naturally.
The most common way for abilities to fall into this category is for them to just be upgrades to your existing powers.  Get a main weapon upgrade?  You're automatically using it all the time.
Note that some abilities are not "direct" upgrades but natural and very obvious extensions of existing powers.  A doublejump ability, for example, is very straightforward to grok.  The speed booster upgrade in Super Metroid is the same way -- there's nothing complicated about how to activate it, you just keep running.
Another common way for abilities to fall into this category is for them to be required to be used very very commonly.  The morph ball in Metroid falls into this category -- you use it soooooo often that it becomes second nature for you to use it again and again and again.

Other abilities don't really become part of your regular rotation.  They're either too situational, difficult to use, have a cost associated with them, etc.
The X-Ray scope in super metroid sort of falls into this.  Not only does the X-Ray scope stop all of your momentum, but you often don't really =know= when and where you need to use it.  So oftentimes your only choice is to go through the entire world pausing every so often to x-ray scope......but nobody does that because that would take foreeevvverr.
Most of the attack spells in Hollow Knight tend to fall into this category.  Not only do they require mana to use (mana which could be used for healing instead!), but there aren't a lot of enemies where using a certain magic attack is required or even significantly recommended over just using your sword.

The good thing about the offensive spells in Hollow Knight, though, is that they're very easy to execute, like the special moves in the Smash Bros series: Button press gives you a fireball.  Up + button press gives you an upwards attack.  Down + button press gives you a dive.  Very intuitive.  So even though I never really ended up using most of these most of the time, they're still easy to remember.

Perhaps that's really the key -- the control scheme associated with the abilities.  The WORST way to add a new ability is to simply add a new button or key for every single ability you gain.  There are some games where at the end of the game literally every button on the controller performs a different action: Jump, Attack, Sprint, Dash, Glide, Special Move 1, Teleport, ....

So maybe =intuitive button combos= and =contextual actions= are the way to go.  That still doesn't fix the problem of having limited ammo though.



What about something like this?

Every time you beat a robot master, you unlock a new ability.  These abilities have various intuitive input commands, for example:

Jump + Attack (while in the air): Performs a mid-air forward dash with a sword slice.
Special button + no direction: Creates an energy shield around you that absorbs enemy projectiles.  The next time you press the special button, the shield fires in the direction that you are holding (or facing)
Special button + either side: Shoots a boomerang in the direction that you're facing.  It has some tracking ability, which means you can direct it upwards or downwards by jumping before or after the shot.
Special button + down: Sends an energy bolt downwards.  When it reaches the ground, it splits into two energy balls that travel along the ground until hitting an enemy.
Special button (while mega buster is fully charged): 

Button combinations and contextual actions are used to help your muscle memory instead of forcing the player to memorize the arbitrary position of each of 8 different weapons.

These abilities all draw from a =shared ammo pool=, encouraging you to choose the ability that best fits the situation.

The shared ammo pool replenishes every time you die.  Normally Mega Man weapons encourage you to AVOID using them carelessly, because if you use up ammo on a boss and then die, you're left in a worse situation than you started with -- having to face the same boss battle, but with less ammo available.

In addition, the shared ammo pool also replenishes through normal gameplay, via something like:
- Gradual replenishment over time
- Replenishes with each enemy destroyed
- Replenishes via random pickups from enemies and scattered around the level.  There's also a large pickup before each boss.

The point is to encourage the regular use of these weapons as the situation demands, rather than incentivize saving ammo for the very end.  You need the player to become comfortable with using each of these abilities and the only way to really do this is to incentivize them to use them repeatedly.



So I dunno, maybe that's not a perfect solution.  But I do feel like there is a lot of room for experimentation and iteration here.

One thing that Mega Man 11 DID do right was giving rush coil/rush jet it's own button.  Woo!!!

=====

Have been continuing to drill puyo transitions -- I've gotten sort of comfortable with the sandwich transition and am now trying to wrap my head around GTR.  Building the GTR core is ok, but I find myself having trouble finding the right forms to work on both the first and second floor simultaneously with GTR since it's only 3 tall and I don't yet have a handle on managing color conflicts.