012.435 (In Progress)
Additions
- Added a Portal Block. This is similar to a Teleport Block, but does not require action to activate, it teleports you on contact. So, when you touch this, you get teleported to its counterpart. Both portals are inactive after you teleport. They will be grey when inactive. You must travel 2 blocks away for them to be active again, preventing you from being stuck hopping back and forth repeatedly.
- Added a Sign In With Google button, so players can log in and register easier. Also wrote some baseline code to see if the user is a member of the channel. I had to reach out to YouTube to get permission to use this part of their API though. I'd like to add perks if the player is a member of my YouTube channel. I don't know if I'll get this ability though, so far they are keeping this level of access to the API guarded. Maybe they'll let me through during the verification process (they say it takes a while to verify, so at the moment there's lots of warnings when you try to use this feature).
- Added multiple endpoints for Stripe for processing payments. We are now offering a $4.99 subscription model located in Account > Billing. I'm not 100% sure how much of the game I'm going to gate behind the subscription and how much I'm going to give away for free. I may revisit this later when I am happy enough with the appearance of the website that I'm okay making YouTube videos on it. There are still many bugs to fix and many areas of the site to improve yet. I may not gate anything behind the paywall. Regardless, any improvements to the game via subscription will 100% be transparent and cosmetic, like name colors, badges next to names, skins, customization options, etc. I do NOT want to do a coin system where you buy coins for in-game purchases and then buy stuff with said coins. That is predatory on your mental framing / concept of money and the more time goes on, the more I don't like the idea. If we end up selling skins, it'll be for real world money (dollars) so that doesn't become a thing.
- Attached all utilities, advanced skills (air float, ground pound, dodge roll), and weapons to a stamina system, thus referred to as "Fyre". Similar to how the Jet Pack worked (as fuel), when you run out of Fyre you are unable to use a utility, advanced skill, or weapon. Weapon usage defaults to punching when low on Fyre. This will force players to adapt on the fly to their remaining resource, and also offer developers way to improve that resource through item pickups, and limit weapon usage, which should make combat and movement feel a bit more dynamic and intentional. You recover Fyre at a certain pace when you're on the ground. You also recover Fyre at that pace when you're at full running speed (lightning limbs, you are Fyre'd Up). So, if you're Fyre'd Up and on the ground you recover Fyre at 2x the speed. There is a short cooldown to recovering Fyre after you use an ability. I want to reward the player for playing the game at a fast pace, as well as get away from common usage of mana (like using potions to recover it or using one skill that generates and another that depletes it). Let's use this system first and see how it feels.
- New Weapon: Daggers. Like the sword, but smaller projectile, quicker base attack speed, less range, less damage. When close to an enemy press Attack and Special to do a dashing slash, propelling you to the other side.
- New Outfit Addition: Scarf trails. Finally added these, procedurally. Not animated with sprites, but numbers. So they should flow with the wind, and rise and fall with your jumping, etc.
- Added damage numbers above enemies heads when they take damage. This can be toggled off in the performance menu.
- Improved performance across several metrics, as well as added a profiler popup. Press F8 to see FPS and other metrics.
Improvements
- Changed the font on notice boards to the website's font. More modern, less pixel-y.
- On levels where you can gain exp and level up, the first item you can choose from, on first level up, is a weapon, effectively creating character classes. This is how you're going to choose weapons, unless a level creator places them specifically.
- Weapons now finish their animation on tap, so you don't have to hold the attack button anymore. Your movement is now limited as long as the attack animation persists, which will hopefully create a different play experience / play style depending on which weapon you pick.
- Added ability to show other player's ghosties (those mirror effects when they air float or dodge roll).
- Updated the user list to cache players so the panel doesn't load every second when it doesn't change and only add svgs necessary to build the players, instead of adding all player svgs and removing ones that didn't make sense.
- Updated the animation that happens during teleport using teleport blocks or portal blocks. Now you will float into the block, everything fades out, then you fly to the other block, and then everything fades back in. This transition should make teleporting using these blocks feel better. Having it be instant is kind of meh.
- Update start, death, restart animations.
- On first level up you now can properly choose between all 5 weapons.
- Double jumps are now only executable by normal jumps, not flip jumps. The problem being, you get used to jumping and doing air floats, but then you get double jump boots and it hijacks that functionality to make you start flipping while doing a double jump, instead of the air spin that muscle memory was used to.
- Ivan now directly attacks body parts to pick them up, b-lining straight to them, instead of the fixed x and y speeds he was doing before. So, he'll more reliably pick them up.
-
New Weapon Attack Behaviors:
- Daggers: Now locks you in place as you attack. Added slight knock-back on hit. With this weapon you get a 3x damage bonus for attacking a completely unaware enemy, 2x if they are sus / searching / returning, 1.5x damage if dealt from behind the enemy. This should incentivize more stealthy play.
- Punching: Now locks you in place as you attack. Added slight knock-back on hit.
- Sword: Now locks you in place as you attack. Removed reflect (will add that as a weapon aspect later). Added enemy piercing. Added knock-back on hit.
- Bow: Now greatly limits your movement speed while attacking. When you hold the attack button you will keep your bow drawn, and another meter will show behind you, displaying weapon power. The longer you hold the faster, farther, and more powerful your arrow will be.
- Staff: Now locks you in place horizontally while attacking. You now pause in mid-air and slowly float upwards when shooting the staff. Also, a unique shatter shot is added to staff projectiles, firing off in 8 directions, though with lower damage than the original shatter shot, projectiles with gravity, creating an explosion effect.
- Boomerang: Now slightly limits your movement speed when attacking. Boomerang can't be thrown that often due to increased Fyre cost, but natively pierces enemies, allowing you to plan out shots. Added damage to compensate for low attack rate. If you catch a Boomerang you gain back half of the Fyre it took to throw it.
-
New Weapon Movement Mechanics:
- Daggers Dash Slash: Press Attack+Special (L) when near enemies to dash through them, straight to the other side. You can jump for a small amount of time upon exit.
- Sword Pogo: Hold down and attack above enemies and spikes to do a pogo, bouncing you up into the air.
- Bow: Shoot any wall to create a foothold. When you land on the stuck arrow you can jump for a small amount of time.
- Staff: When jumping against a wall, if you touch a corner, you will stutter and be able to jump again, allowing you to clamber. Hold into the wall on the bottom corners to be flung underneath.
- Boomerang: When you catch a boomerang in mid-air, you will gain a double jump for a small amount of time. The timing is very precise.
-
Enemy AI Enhancements
- Greatly improved enemy AI in an effort to make combat more engaging. Enemies will no longer just rush and collide with the player. They will go through many states, like hearing the player from behind, investigating said noise, aggro'ing when they see you, searching last known positions if they lose track of you, returning back to where they were before they started searching, pursuing the player when aggro'd, and entering a combat state when close enough to the player, in which they will start attack patterns that can be telegraphed. These intentions are now written out in thought bubbles above the enemies heads, but you can turn them off in the performance options menu.
- Enemies now have group pressure restrictions, meaning they can't all just attack at you at the same time. They will take turns depending on how strong each possible attack is.
- Enemies now will check line of sight for aggro, meaning they will lose aggro when you go behind walls / can't see you through walls.
- Improved flying behavior of the Stinger, still working on this one, it's pretty tricky.
- Removed basic contact damage from enemies. Contact damage now only exists when it makes sense, like when an enemy is charging you after a wind-up or spiked enemies that shouldn't jump on.
- Holy Water now refills your Fyre (stamina) as well as red health.
Bug Fixes
- Fixed a bug that would make you teleport if you were far enough away from a Grappling Hook/Gun as it hooked.
- Fixed an issue with the info screen (character level / experience bar / endless level score details) sitting behind the lighting canvas.
- Fixed an issue with notice boards having serif fonts for the first screen before switching to the notice board's designated font style.
- Fixed an issue with the game timer reducing at the same rate as the refresh rate instead of the actual physics steps.
- Fixed an issue with the player animations playing at the same rate as the refresh rate instead of the actual physics steps.
- Fixed a bug where other players weren't being shown while the game was paused.
- Fixed bugs with showing characters in the online tab, as well as in game. Added interpolation so other characters' positions animate more smoothly, and moved other players onto the same type of animation as the player character.
- Fixed a bug where the player would attack straight up or straight down while facing right. Now they correctly shoot forward or diagonally.
- Fixed a bug where other players would drop into the floor 20 pixels if they pressed down (were ducking).
- Fixed a bug where teleport blocks would disappear on exit.
- Fixed a bug where sometimes deaths would display as NaN, as well as other values in the top bar.
- Fixed bugs associated with the player's chat bubbles, cutting off super long words with ellipsis, removing gaps in background between lines, adding the border (this is the enemy's thought bubble function).