Game Design vs The World


β‹†β­’π“†Ÿβ‹†ο½‘Λšπ“†œβœ©β‹†β‹†β­’π“†Ÿβ‹†ο½‘Λšπ“†œβœ©β‹†β‹†β­’π“†Ÿβ‹†ο½‘Λšπ“†œβœ©β‹†β‹†β­’π“†Ÿβ‹†ο½‘Λšπ“†œβœ©β‹†β‹†β­’π“†Ÿβ‹†ο½‘Λšπ“†œβœ©β‹†β‹†β­’π“†Ÿβ‹†ο½‘

Heya, I’m Fyre. I’m the tech lead and design lead for ToyTackle Fishing, prev. Fishing With Murder. Recently we attended PGF with the most recent build of our game. In this post I’ll be going through issues that players from the public encountered most often, what I expect the root causes of those issues to be, and what I’ll be changing in order to try and amend them. I will start with the least pressing issues, and go through issues in approximately ascending order of complexity and importance.

But first I want to say that before going to PGF I had a fair share of doubts about whether the core gameplay mechanics of our game would even click at all, whether the method of interaction we’d designed would make sense or be any fun to anyone other than the people who had made it. I’d like to thank the people at PGF that played our demo for assuaging these doubts. It was rewarding to see that the foundations we’d spent time laying out and re-imagining made for a game that all sorts could pick up and enjoy in some capacity. There’s work to do still but now we can move forward with confidence.

1)

Issue: 

Camera controls. For the build we had it such that horizontal camera movement was not inverted, and vertical movement was inverted. Some people had issue with this.

Source: 

This is the setup I found most sensible when testing by myself. 

Fix:

Add settings to change camera controls to inverted or standard from the pause menu. Everyone seems to have slightly different preferences for camera controls, with these preferences changing between types of gameplay. The best option is to just let people choose, it’s what basically every game with a third-person camera I’ve played does.

2)

Issue:

Uninterrupted fishing. In our game, to catch a fish you must first snag it on your magnetic hook, and then you must drag it to the surface of the water without bumping it off on the environment. Currently when you do this your only option is to return to your inventory.

Source:

Mainly just an oversight, I assumed that players would always want to go back to the prior menu after a catch.

Fix:

Add a β€œBack to Fishing” button from the menu you enter when you catch a fish. This will require some animation to indicate that the fish you caught have gone into your inventory, but that’s not too hard. The button itself is easy to implement.

3)

Issue:

Hook scraping along the ground. If you just let your hook sink it lands on the sand and feels weird when you try to move it.

Source:

There was originally a behaviour to deal with this, making it so that the hook would try and hover some distance above any environmental object underneath it, but this was removed as I refactored and altered the hook’s code.

Fix:

This feature is easy enough to re-implement and so it will be.

4)

Issue:

Hook rotation is kind of arbitrary. The hook when left alone will always rotate to be in the same direction, otherwise it will very forcefully rotate in the direction the player is moving it.

Source:

This behaviour is a concession to time, since during development the rotation of the hook didn’t play a huge part in gameplay and dealing with rotation has always been a considerable effort for me. Especially in a non-standard control scheme like this game.

Fix:

This problem just requires some time spent sorting it out in code. As I imagine it the hook should rotate along its vertical axis to be facing away from the camera, almost as though the hook is looking in the same direction of the player. Its other axes would rotate so that it was pointing in the direction of its velocity, with an angle relative to the magnitude of that velocity.

This particular method of control might not feel right, but I will try and design my rotation code such that it can be reconfigured into other control schemes without much strife.

5)

Issue:

Weird fish behaviour in the environment. The fish have been encountered doing a few weird things, such as sticking to walls and gliding around, swimming above the surface of the ocean, and swimming directly into things they should know to avoid.

Source:

This is really a few small problems with different causes. 

The fish that stick to the walls do so because their starting position is close to a wall. The fish choose where to go based on picking a random point around this starting position. If this is close to a wall there is a high chance that they try and go to a position inside the wall. Once they bump into the wall they try and pick a new place to go, and there’s a good chance they will pick another place inside the wall. This in addition to the way fish are easily battered around by bumping into objects means they behave oddly when they start close to a wall.

This fish swim above the surface of the ocean because they have no idea that there is a surface of the ocean, they behave as though everywhere in the level is the ocean. This is just an oversight due to time constraint.

Fish swimming into things they should avoid arose because of my designing the fish to behave as game objects rather than like animals. I made it such that if the fish collide with something they choose a new place to go because that’s simple. Instead, they should likely be able to anticipate collisions and choose a new place to go before that happens.

Fix:

The easiest fix for sticking to walls is just to not place fish too close to walls when designing the level. Although the solution to fish bumping into things they should be able to avoid will also help with this.

To fix the fish swimming above the surface of the water I need only to tell them not to, they need to know where the surface of the water is and have behaviour that tells them not to go past it. Which is easy enough.

To avoid bumping into things needlessly I just need to make it so that the fish have an invisible field around them that they can sense with. Instead of choosing a new destination when they bump into something, they should choose one anytime something gets within this field.

6)

Issue:

It’s hard to tell how interested a fish is when you are trying to snag it.

Source:

When you get the attention of a fish it starts out far away from your hook. You can increase it’s interest by tugging on your hook, this should make it such that the fish comes a little bit closer to the hook. It does do this, but currently the distance is barely perceptible to an average player. This is just a matter of how the parameters are set up, the range of distances the fish can be based on its interest is too short, and it moves too slowly between these distances.

Fix:

Simply make it so that the fish starts farther away, then any incremental change to its distance will be more noticeable. I would also increase the speed and acceleration of the fish during this β€œinterested” phase so that it is obvious exactly when it starts and stops moving closer to the hook.

7)

Issue:

The fish are very easy to bump with the hook.

This is the big one that caused the most problems for players. Often when trying to get close to a fish to catch it, they would accidentally knock it with the hook. This would send it careening away without any hope of finding it any time soon.

Source:

There’s a couple of things.

First, the fish are influenced to move by their code very gently. So if they’re knocked ofcourse they have a hard time correcting themselves in a timely manner.

Second, it’s not entirely clear that you aren’t actually meant to touch the fish with the hook.

Fix:

This issue has inspired an entirely new mechanic. A confused state for fish.

Essentially when a fish is bumped hard enough by the hook it will get β€œconfused,” with little spirals swirling above its head. In this state the fish changes its priorities. When confused it will lose interest in the hook, then it will try and slow down to a stop. Only once it’s reoriented itself and isn’t hurtling out of control will it return to its original wandering behavior. Then the player can try and snag it again if they desire.

Conclusion

There are definitely a few more issues of varying importance that I could talk about, but they are boring, and their solutions are too. It can’t be overstated how valuable it was to see a wide range of players try our game. We knew about plenty of these issues to some degree, although we didn’t know which ones would be more or less disruptive to players. Whereas others were completely new to us, they just weren’t something we encountered while testing the game in a utilitarian way for the purpose of implementing mechanics.

While all these problems could be daunting, to me they’re reassuring. Because they lay a clear path for what needs to be done to make our game as good as it can be.

β‹†β­’π“†Ÿβ‹†ο½‘Λšπ“†œβœ©β‹†β‹†β­’π“†Ÿβ‹†ο½‘Λšπ“†œβœ©β‹†β‹†β­’π“†Ÿβ‹†ο½‘Λšπ“†œβœ©β‹†β‹†β­’π“†Ÿβ‹†ο½‘Λšπ“†œβœ©β‹†β‹†β­’π“†Ÿβ‹†ο½‘Λšπ“†œβœ©β‹†β‹†β­’π“†Ÿβ‹†ο½‘

Leave a comment

Log in with itch.io to leave a comment.