Pet Platforms by Sweet Thing. @ The Secret Hideout
For Maitreya, Belleza (All), Physique, Hourglass, and Kemono!
These include a large HUD for the ears (4 shapes - shown on the ad above the title!), ear color, shoe base, platforms, hearts.. Purchase by legwarmer color, or get the fatpack HUD for full customization! ♥
Coming to The Secret Hideout on May 1st.
This was an overhaul of one of Sweet Thing.’s very first items, created about 3 years ago! Time flies! I consider it my first “real” release, it was very special to me, so remaking them (with a twist!) has been on my list for a long, long time. I hope you enjoy these. <33
Bats no longer get stuck on corners. Small changes have been made to the way that their velocity is normalized to allow them to take advantage of their airborne physics properties a bit better.
RamSpiders no longer get stuck jumping toward waypoints. If it takes more than 2 or 3 hops to reach the destination, they give up and rebuild their path now instead of just getting stuck.
RamSpiders can differentiate between situations where a small hop will suffice and a large bounce is necessary to reach the next waypoint.
Fixed bug where enemies were blocking each others’ lines of sight to the player. Added support for sprites to not affect a line-of-sight raycast.
Put the fancy code to update and adjust physics properties for individual enemy types into their own pretty little functions and put those new functions in places that work a little bit better than they did previously.
Fixed a crash that could occur when a sprite was marked as dead but had an attached script that required preprocessing.
Fixed a bug with raycast math that affected the y axis and was causing enemies to be able to see through walls if they were below and to the right of the player.
Added death animations for the RamSpider. Hooked up a confetti explosion to the death animation to make it less morbid.
Raycasts now properly work when casting through space occupied by ramps. Enemies will now properly respond to the player on sloped surfaces.
Rocket launcher does damage now. Rocket explosions damage all enemies intersecting the explosion’s bounding box.
Added a collision handling option for sprites to trigger collision events without being moved around or affected by the velocity of other things. This works great when properly filtered.
Enemy waypoint patrols work now, and are easy to add to an enemy when building a map.
Minor changes to waypoint code to optimize some stuff.
Updated RamSpider’s enemy AI to make them meander slowly when nonhostile and chase quickly when hostile. Added support for waypoint patrols, cleaned up the code for climbing a little bit.
Overall, we got a lot done today! Cheers nerds, see you all tomorrow!
Have gotten lots done with game story. Need to figure out how to balance progress on spoilers-things with progress people can see.
8 Hour stream yesterday. Ordered a new webcam today so I can get a proper colorkey set up.
We have bats now. See them in all their glory.
Enemy types are loaded and behaviors are assigned when the NPC is instantiated.
Scripts attached to sprites are properly culled if the sprite is killed by another script.
Added knockback as a toggle option for enemies. This means they can knock you off of ropes, too.
Added damage collisions with enemies that didn’t rely on AreaIntersect and the QuestVariables tracker. Massive improvement.
Enemy 2D raycasting functions for line-of-sight have been implemented for sprite-to-sprite, sprite-to-position, and position-to-position.
Implemented a waypoint system that allows enemies to find their way home if you go out of their detection range - see above for details.
Added a bunch of crap to the editor to keep up with all of these changes.
AND HERE’S OUR FIRST FLIPPYFLAP.
I will probably update the art for this sprite in the future but I am happy with this placeholder for now.
I’m really happy with how the bat behavior is coming along so far. They’re able to follow the player and attack for knockback and damage, and if you manage to get away from the bats, they follow waypoints to get home. It’s adorable.
Added firing effects to weapons. The rocket launcher now makes a fancy little burst when you shoot a rocket. This particular effect required a little bit of extra engineering so that the animation would not reset and fire superfluously whenever the character changed directions. It also needed to be locked to the position of the player. Ultimately, I ended up setting up the ability config files for each weapon to include a firing effect sprite that will be anchored at the player’s position. I’m not sure if it’s 100% the best solution to the problem but it’s definitely better than the first two attempts that were made on stream which we will not talk about.
When you crouch, your fired projectiles are now slightly lower to match the 2-pixel dip in the character’s hold animations.
We ran a regex over our entire solution. Cat Story is approximately 23,138 lines of code. Honestly, I thought it would be larger than that.
Did some registry editing to remove unwanted ui components in visual studio. Goodbye, notifications flag; don’t come back.
Implemented health upgrades as a scripted function for interacting with specific objects. The player can now find health upgrades scattered throughout the maps, which is neat.
Changed the way that the HP bar displays how much health you have remaining. The previous version treated each little pawprint on the display the same way that Ocarina of Time treated your hearts, where each individual icon was worth multiple small hits and would change to reflect that. When we dropped the player down to three hits as a starting point, having a single lonely pawpad in the top left corner that would changed colors as you took damage just didn’t feel easy to look at. Instead, each pawprint is now worth one hit, and all of them will change colors from green to yellow to dark red as your hp gets closer to zero. Right now the math on it is simply round(curHP/maxHP*3) which means that as soon as you drop below a result of 2.5 (75%) your health bar turns yellow, which I’m not sure about. I might change the formula around a bit to only turn yellow below 50% hp. Not sure.
Hit a small roadblock with how I want to handle enemies dropping items because I have conflicting sources of inspiration that I think would both be good for the game’s direction but feel mutually exclusive in the way they present play objectives to the player. On one hand, I like the idea of Spyro’s oldschool item-collecting-unlocks-new-areas, with a focus on defeating enemies for gems (or equivalent items) in addition to simply finding them laying around. On the other hand, I wanted a story-driven progression that lines up more with the JRPGs I enjoyed as a kid, games like Legend of Dragoon and Chrono Cross, where getting to the next area is dependent on whether or not you’ve simply experienced the story and overcome the bigbad for the area.
I’m sure that by the time the stream rolls around on Monday I’ll have figured out something interesting that ends up doing a bit of both.
I think we got a new follower yesterday on Twitch, too. So, that’s rad because that means I’ve got 200 followers on Twitch!
I’ll see you nerds for more streaming on Monday. Enjoy your Fathers’ Day weekend.