Saturday 26 June 2021

Game design learnings based on Roots Puzzle

In my previous post I was writing about how to start and plan your work while developing post jam version of a game. For last few weeks I was working on improving my game based on players feedback. Here I will share most interesting problems from my ludum dare entry, and how I handled them in the post jam version.

1. Game difficulty

Problem: Game is too hard

I got a lot of feedback that game is too hard, as not everyone is fan of hardcore gaming. Some people have big satisfaction because of that, others gave up much faster. I didn’t want to use standard “please choose your level of difficulty” because of:

  • players have no way to guess which level will be good for them upfront
  • lowering game difficulty while playing the game is not a nice feeling to everyone
  • each player have different perception which level is hard for them

Solution: Let player decide difficulty dynamically based on the reward

I used star apple system known from many mobile games. So instead of loosing the game, when you run out of resources, you can buy a resource using apple (up to 3). Your final score of the level depends how many apples you used. Players can decide themselves if they are satisfied with the score, and go back and replay the level when they master the game. AppleSystem.gif LevelCompletedApples.gif

2. Game response to players actions

In roots puzzle there is a simple economy mechanism:

  • water tile gives 10 Water
  • mineral tile gives 10 Minerals
  • leaf tile gives 2 Co2, but cost 1 Water 1 Mineral
  • root tile cost 1 Co2 + 1 Water + 1 Mineral

I could write all of it in a game tutorial but didn’t want to, because:

  • I wanted players learn this rules themselves by just playing around and observe changes in the resources panel
  • reading text is boring

Some players liked it and learn it in the first minute of a game, others were not able to completely work it out till the end. My conclusion was, that changes of resource might not be enough response for player’s action. Therefore in post jam version I display popups with exact numbers of resources gained (10, 2), like in a picture below: Tutorial.gif

3. Unfair game mechanisms

Problem: There is no fun in counting tiles, just to know if you have enough resources to reach the goal

That was clear for me from the beginning, although I thought players would not mind just try & die approach that instead of counting whole path you just follow the algorithm:

  1. try path A
  2. lose and restart
  3. try path B
  4. win

As levels are quite small and fast to rerun there was no big pain in restarting the level. Although I was wrong. Some players see learning by loosing as a unfair mechanism.

Solution: Let’s make counting easy and fun

In post jam version I added a distance measure tool that you can unlock. So players who prefer to make ideal plan from the beginning of the game, have tools that will make this process more fun:

TutorialDistanceTool.gif

4. Visibility of Game progress

In original version, you have no indicator of how many levels game has(aside of description below the game, that nobody reads or remember). Players have more motivation to finish the game, when they now how many levels are are waiting for them, and how much progress they already made. Together with changes for game difficulty it was a perfect moment to introduce a board when you can see, select and unlock all the levels:

SelectLevel.png

5. Players are different. Fun, difficulty and fairness is subjective

This point might be the main conclusion from all my learnings during this project. I could observe different people having completely different reactions while playing it. I could also see a small argue over my game between 3 different players, about which of game mechanism/improvement suggestions are good or bad. I needed to think and check how one change will increase fun for one person and destroy it for another. Therefore while looking for fun in a game as a single indie dev don’t count just on yourself. Try to get as much valuable feedback as you can.

Thanks for reading, if you want to try my post jam version you can play it here: https://wdebowicz.itch.io/roots-puzzle it’s still in development so would love to get your feedback.

Friday 4 June 2021

Developing post-jam version. How to start and plan your work.

I’m working on post-jam version of Roots puzzle, that you can find in previous post. I though about sharing things that made my life easier in this process, so maybe you will find them helpful too. Everything is written from perspective of a single indiedev, based on experience in software (non game) industry.

The steps loop

To organize my work I follow the steps:

  1. Gather feedback
  2. Reflect on it and plan actions
  3. Prioritise actions by thinking about value and complexity
  4. Implement few of them (depending how big they are) and release it
  5. Go back to point 1.

If your list of actions is very small you might do everything in one iteration of a loop. If you already think that it will take couple of weeks/months, then split it. The key benefit of such approach is that you can learn fast how each action work in practice, and depending on that evaluate what other actions need to be taken.

Gather feedback

The main thing to understand is that feedback (no matter if good or bad) is a gift, so accept it and use it to reflect on your game. There are games that I loved and still would see many ways to improve them. Exception from it is a toxic feedback, that one just ignore..

Sources of feedback:

  1. Comments section on your ldjam game page
    • There are great and you can find some tips there, but generally they focus on things people like so I would not use it as the only source of feedback
  2. Send your game’s link to your friend, but ask them to share a screen and play it while you are watching
    • I started doing it since last year and it’s a game changer. You will find out how different type of people have different problems, and how some obvious things to you, might be complete blockers for others.
  3. Ask streamers to play your game
    • We have more and more people willing to stream your game and I advice to use it as it’s a win win relation. Especially if you don’t have a big base of gamers friends. Some of the streamers are gamedevs themselves or just people who understand the industry so they can give you feedback that might be even better than the one coming from casual gamer. Thanks one more time @justcamh for streaming and feedback you gave me.

You might be surprised how many different (sometimes contradicting) suggestions you will get, so I advice to write them down the moment you hear it and evaluate them later.

Reflect on it and plan actions

Go through your feedback, decide which of the changes and in what form you want to implement. In my case I analyse feedback in format of:

  • what is the problem
  • what is a potential solution
  • what is a complexity to implement it

Sample of such analyse for my ldjam game:

roots-plan.png

Prioritise actions by thinking about value and complexity

Complexity

I never find time-based estimation accurate. Therefore I try to estimate complexity. I pick one action (let’s call it a reference action) and assign them random value (like 3). Then I pick another action and ask myself? Do this action looks harder to implement than the reference action? If yes I assign 4 if no, 2. Now I have 2 reference actions, so I pick another action to estimate and so on..

Value

Simply how much value do you think this action will bring to the game. For example, if game difficulty is so high, that majority of players can not pass 1 level, then I would treat it as blocker and assign highest value.

Prioritisation

Prioritise actions that have high value and low complexity. Keep the ones with lower value and high complexity at the end. Maybe after first iteration(the steps loop section) you will find new better actions to do.

Even I’m a single dev, I find useful to put the actions in some kind of a board, like trello board:

roots-trelo.png

That way I’m not lost, and I find it easier to focus just on one thing. Going back to paused project is also easier if you have a board with indicator where you stopped last time.

Conclusion

I hope you find it helpful.

I will end with link to great gamasutra’s article that is talking about Taking_your_game_from_jam_to_commercial_release

 

Ludum Dare 48 - Roots Puzzle

 

Theme: "Deeper and deeper"

Game: "Roots puzzle"

You are a tree now.  You consume water, minerals and Co2 so you can grow leaves and roots. You grow leaves and roots, so you can consume water, minerals and Co2.

https://ldjam.com/events/ludum-dare/48/roots-puzzle

Distribution:
https://wdebowicz.itch.io/roots

Final results (2721 Entries)
Overall: 219th (3.981 average from 28 ratings)
Fun: 199th (3.942 average from 28 ratings)
Innovation: 22nd (4.407 average from 29 ratings) 💚
Theme: 406th (4 average from 28 ratings)
Graphics: 970th (3.635 average from 28 ratings)
Audio: 782nd (3.352 average from 29 ratings)
Humor: 1064th (2.477 average from 24 ratings)
Mood: 1001st (3.442 average from 28 ratings)

That is definitely the highest rated Ludum Dare entry I had created since 2013. I'm especially happy with 22nd place in innovation across over 2 thousands entries end treat it as an extra motivation to continue with the post jam version.