Previously, on Leo's Senior Capstone Dev Blog...
We're into the new semester, and with that we've got a whole new group of team members! Now that our total team size is 12, we're going to be getting a lot more work done in a lot shorter time, meaning we can get Frog Bath to all its grandeur that we've been envisioning since day one. Anyways, I'm very happy with all of the talented we managed to onboard, and I'm looking forward to seeing what everyone does in this upcoming semester.
Since that post was made, team onboarding has basically completed. Everyone on the team is all up to speed on our goals for the semester, on how the project is organized and how it works, and how the team workflow and vibe feels. Now that everyone is a part of the team, we've all hit the ground running on doing our tasks! In this blog post, I'm going to be going over all of the new systems-related things that the systems designers have started to do, specifically related to my own job as the Lead Systems Designer.
The Initial Design Meeting
The very first important meeting we had was an all-designer meeting, which means that the systems designers and the level designers were all present. The reason for this was because Frog Bath's mechanics and level have a very intimate relationship; when one is changed, the other must adjust accordingly. This is because of how movement-focused the game is. At the start of the meeting, I brought up three core issues present in Frog Bath with everyone:
The tongue-shot mechanic was far too powerful, yet it was the most entertaining and engaging part of the game. The tongue-shot allowed players to traverse every piece of geometry within reach and was the only form of offense in the game, which is good in the sense that players loved using it, but was bad since it really limited the design space of the game.
During gameplay, players could easily stay where the Frog King was standing since he was stationary and just wait for other players to get the bath item, bring it to the Frog King, and then steal it at the last second to score a point. This removes any possible sense of initiative players could have in getting the bath item when it spawns and leads to unrewarding gameplay.
When a player does have the bath item, they have the disadvantage of not being able to use their tongue-shot. Giving the player with the bath item a disadvantage was intentional seeing as how it was a way to balance them being closer to winning than everyone else and gives a challenge to the player, but like previously mentioned, this removes the player's most important asset: the tongue-shot. Not only does it limit their movement heavily, it also removes any possible defensive option they could have.
A lot of these issues are a byproduct of how we focused almost entirely on movement mechanics last semester and barely touched up on PvP mechanics. The focus of this initial meeting was to come up with concepts that fix these issues and then try to narrow them down to ones that we like the most. Some ideas - like surfing on a soap bar when picked up instead of having it on your tongue - were cool in theory, but would change the game far too much if they were implemented to the point where the entire game would have to change to accommodate for them. Other ideas - like each player getting progressively dirty over time and would need to clean themselves up at hot springs otherwise their tongues would shorten - had too many holes in their design to be able to be safely implement them. We needed to come up with ideas that would make sense to new players, have enough depth to be enjoyed by recurring players, and fit into not only the world of Frog Bath but also the scope of our semester.
After a meeting full of design discussion, back-and-forths, and rapid mental iterations on concepts, we decided on the following fixes to move forwards with:
The ability to retract the bath item into your mouth while holding it and spit it out at other players.
An AI system for the Frog King revolving around him moving between different courtyards in the level.
These two major changes then formed the next couple of weeks for Frog Bath, at least in terms of systems design. Additionally, we had briefly talked about how we want to add more movement options to the player and keep the feel of movement in check. After all, this is a game with a focus on movement, so those mechanics are going to constantly be iterated on as time goes on.
Frog King Courtyard AI System
First, I want to talk about the AI system we laid out for the Frog King. Before we onboarded new people onto our team, it was unanimous that we wanted to implement some sort of AI for the Frog King to move around the level. At the design meeting, everyone was in agreement with adding this as a new core feature of Frog Bath. The way that the Frog King moves around the level and interacts with players can be divided into three separate parts: his idle movement, his "irk meter", and his anger towards the players. And really quick: all of the work shown in the gifs about the Frog King's AI has been done by one of our new programmers, Jacob Biederman. Just thought I'd give credit where credit is due!
No matter what, the Frog King will be inside of a "courtyard", which is just a small, flat circular area. The Frog King will hop around inside the courtyard periodically, like shown below.
Over time, an invisible timer inside of the Frog King's code will begin to build up, and when it reaches its max, the Frog King will then jump to a different courtyard in the level. This was added in to help prevent the camping of the Frog King - it's hard to really stay near him if he has the ability to move to another part of the map almost instantly.
The "irk meter" is another way to have the Frog King move, but this time through the player's own volition. Whenever the Frog King gets shot with a player's tongue, another invisible meter called the "irk meter" will go up by a certain amount. Once this meter is filled up, the Frog King will then move to another courtyard like with the standard timer. This allows players to move the Frog King to other courtyards in hopes of stalling another player with the bath item from scoring.
And finally, the last nail in the coffin for camping the Frog King is his anger issues, or his "Tongue Shot meter". See, the Frog King is still a frog like everyone else, and in the world of Frog Bath every Frog has access to a tongue shot. The Frog King can actually shoot out his own tongue, which is shaped like a fist, at players, but only if they provoke him. There will be an invisible radius around the Frog King that goes up gradually when a player is inside of it, and the Frog King stops hopping while a player is in his radius to ensure that it has an impact. As it goes up, the Frog King will get more visibly angry: his skin will turn red, his eyebrows slant, and he begins shaking. When the meter is full, he lets out his anger by using his tongue shot on any player inside his radius, knocking them back extremely far and stunning them for an extended amount of time. Of course, when there aren't any players inside the Frog King's radius, his movement goes back to normal and his Tongue Shot meter decreases. This is the strongest opponent to the Frog King camping issue we were having last semester, and as of typing this blog post it's reaching the point of complete implementation! As of right now, the Frog King sends out a shockwave to stun players and also only vibrates when he gets angry, but I think it gets the point across for the time being.
As a quick little bonus about the Frog King: JJ Robertson, our new Character Animator, has been hard at work on making a new Frog King with new animations, and I thought I'd show off the brand new fellow that will be jumping around our level very soon!
On the left is the Frog King's animation for jumping between courtyards, following by his small hop that he does inside the courtyards. On the very right is a preview of what he might look like when he gets mad at a player moments before shooting his tongue at them. I love how this Frog King looks, and I'm so excited to see him start moving around the level!
Tongue Retraction and Bath Item Spitting
We focused almost entirely on movement mechanics last semester, meaning that most of our issues came from the lack of refined PvP mechanics. Because of this, a sizable chunk of the design meetings we had revolved around coming up with interesting ways to fight opponents and mainly, a way to give players some form of defense when they have the bath item. What we landed on was giving players the ability to both retract the bath item into their mouth and then spit it out in two different ways: an attached shot or an unattached shot.
After a player picks up the bath item, they can choose to "swallow" the bath item into their mouth. This gets rid of the dangling hitbox the bath item usually has, which is a significant advantage already. Because of this, we also thought the player should have a "sickness meter" (yes, there's a lot of meters) that goes up when the bath item is in the player's mouth and goes down when it's not. When this meter fills up, the player will stun themselves and spit out the bath item no longer in their possession. This is to encourage decision making when players have the bath item and they see another player. Do I have low enough sickness to get rid of my bath item's hit box? Can I get away with avoiding others while my sickness depletes?
But that's not the only thing the player will be able to do with the bath item. Once the bath item has been swallowed, the player can then choose to spit it out either attached or unattached to their tongue. When they shoot it out unattached to their tongue, it will go flying at an arc without a hitbox and frees up the player's tongue to be used like normally. Additionally, if the bath item hits the Frog King before it hits a surface, it will score them a point! This gives the player the option to be a bit riskier with the bath item to be able to either score a point from far away OR to be able to turn the tides of battle and fight other players.
Yet I still haven't talked about the best form of defense the player has: the attached tongue shot. By shooting their bath item out of their mouth while still attached to their tongue, it will turn the bath item into a hitbox that can be used to hit other players. Upon successfully hitting a player, the tongue will automatically retract back into the player's mouth, letting them continue as normal or shoot another shot - this technique is known as a "tonguerang". If the player misses, the tongue and bath item will then flop out onto the ground in front of them, being vulnerable to getting stolen by others.
All of these additions to the player with the bath item allows for them to have more options to score points, which helps a lot seeing as how they don't have access to the best movement option in the game!
Other Movement Tweaks
And finally, I want to talk about some of the smaller tweaks we are going to make to the movement to make it more interesting and more approachable. Last semester we noticed that a lot of players weren't getting the hang of releasing their tongue to maintain their momentum when moving towards a wall. To fix this, we decided on adding in a small force applied to the player when they either reach the destination on whatever surface they are flying to or when they release their tongue in general. This makes the game's movement not only more approachable, but more fun since it allows for a lot more verticality Stephen Vowles, one of the other systems designers on the team, has started to implement this, as shown below!
We also had an entire meeting dedicated to replacing the triple jump from last semester with a faster, more interactive way to give the player higher jumps. The issue was that you would have to wait the length of a tiny, useless jump and a small, average jump to get the tall jump height that everyone wants. This wasn't a test of skill and was just a lame mandatory cooldown, so we decided to get rid of it. We concepted all sorts of different ideas which we are currently in the process of iterating on, but the main idea we decided on is having a timing-based charge jump that operates almost opposite of the Perfect Frog Hop. By having players press, hold, and release the jump button to a certain timing, they can immediate get the tall jump that everyone loves without having to just wait by using two less desirable hops first.
And for another little bonus courtesy of JJ doing an amazing job with animations, here's a preview of the new animations for Baby (the name of the playable frog) we plan on implementing!
Baby is now using squash and stretch! These animations are adding a lot more life to the game, and once we implement them the movement will begin to feel even better!
Now all we gotta do is implement and test all of these mechanics! As you can see from the gifs above, some of this is underway and is going pretty smoothly, but other things just need more time to get into the game. Before anything else gets into the game's core gameplay, this all has to be tested and proven; we can't polish a game that doesn't play well!
That being said, I have also been working a lot more on the UI for the game, and I'll definitely be posting about that in my next blog post. And who knows, I might even post about any significant changes done to the systems! But up until then, I'm not sure what is going to get done, but you should definitely expect another post in 2 weeks!