Archives for posts with tag: puzzle design

First thing’s first, I know I missed the January devblog. I’m sorry it wont happen again. But… it’s here now, and it’s a new year, which means this is the first devblog for 2019! This is going to be a big year for Kana Quest as this is the year we are going to release! Knowing the end is in sight is a strange feeling as I’ve been working on Kana Quest for the last two years of my life. But I hope you all will be there with me as we run headlong down this final stretch!

So what does this “final stretch” look like in terms of development? Well for me personally that means making all the levels. I had spent most of 2018 finishing the art and making all the visual assets, but in terms of gameplay, very little was being made. But now that I’ve finished all the visual assets and Reuben my programmer has finished programming in each mechanic, I am able to churn out levels very quickly. How quickly is that? Well since last month’s devblog, world 5, 6, and 7 now have all their levels made. Of course these levels still need play testing before they are 100% good to go, but they are playable, and reasonably balanced.

So, seeing as levels are all I have been doing this past month, I’m gonna tell you how I have been making them. And some of the weird things I have to pay attention to when I’m making levels.

The first thing I do when I start making a level is I figure out, how hard I want this level to be, and what kana I want the player to see.

flowchannel

Sorry if this is a bit too game design 101 here buuut… This is the flow channel. Flow is that feeling where you are in the zone. But getting the player into the zone requires very careful balance from the game designer. So something I’m sure you will notice when you play Kana Quest is that every three to five levels will build in difficulty, only to drop back a bit and then continue ramping up in difficulty.  The reason you do this, is that it’s just more fun for the player.

In Kana Quest there are a few different ways you can control the difficulty of any given level. They are:

  • The amount of Kana in a level
  • Size of the level.
  • Potential board state permutations
  • Number of potential solutions
  • Complexity of solution.

So lets go through each of them. And first up is the amount of Kana. So in my experience, you have a hard cap of about 14 -16 different Kana in a level. Why is this? This is because past this number, there is too much information for the player to comprehend. And personally, even I can’t process levels with this many Kana. It’s also a difficulty that isn’t a lot of fun for the player. Solving the puzzles is fun, recognising kana… not so much.

The size of the level like the amount of kana, also has a hard cap. This time its not so much about overwhelming the player though. The largest you can make a level in Kana Quest is 7×4. This is simply because if you make the level any bigger, it will not fit on the screen. I know that sounds silly, but due to the way pixel art works, there is no easy way to just “zoom out” without also causing a lot of pixels to bunch and stretch. But honestly, most of the time this is plenty to work with. If you are smart about how you construct things this is not actually as bigger constraint as one might think it is.

What I mean by “potential board state permutations” is how many possible unique configurations can be made in any given level. So for example.

These two levels have the same kana, and the same starting positions but the first level is significantly easier than the second because the number of possible configurations of kana has been significantly reduced. Forgive me if my maths is wrong but the level on the left has only 120 unique board positions, whereas the level on the right has 362880 unique board positions. And while an advanced player can see through all the unnecessary information in the second level, it doesn’t actually make the puzzle any more fun for the advanced player because in both scenarios, the solution only requires two moves. So while you are giving advanced players a disappointing level, you are giving new players a level that is so information dense they will almost always solve the level by brute forcing the solution. What I’m trying to convey here is that when designing puzzles you need to control the amount of possible states so that you can guide the player to the solution. Now for more advanced levels its fine to offer levels that are more open ended, but you do need to be very sparing with how you do so.

Next up is the number of potential solutions. This category is a tricky one as personally I feel as though levels with multiple solutions make the level harder, not easier. Why you might ask? Well because it means that your players are less guided towards the optimal solution. It means they are more likely to get caught on unintentional red herrings. It also means that if the player wants to get a gold medal for a level, but they have only ever completed the level using an alternate solution that is more move intensive than the planned solution, they could spend way too long trying variations on the “wrong” solution. Really this is a side effect of having too many potential board state permutations, but every now and again its fun to have levels that offer multiple answers. Lots of levels in Kana Quest only have one solution, and lots of levels have multiple, the important thing is using this technique intentionally.

The final technique that I can use to control the difficulty for the player is probably the most important one. And that is complexity of solution. If the solution only requires two or three moves, its not a particularly complex solution. This usually means that the level isn’t super difficult. However, completion critical moves increase the complexity. A completion critical move is a move that if not made, the level cannot be completed.  Of coarse this can then be balanced with previous techniques. For example.example3

This is a level from world 1. And is in my opinion one of the best levels in that world. This has a very low complexity of solution, but in contrast to the all the levels before it, it has a slightly higher difficulty. But that difficulty comes from a larger number of potential configurations, multiple solutions, and a larger level size. The result is a level that isn’t too difficult, but does force the player to stop and think about the solution. But as the game ramps up in difficulty, ramping up the complexity of the solution is usually the safest way of doing so. Why is that? Well, it means you can control the amount of information you throw at the player to a far greater extent. Remember, you don’t want to overload the player with information, if they do they just start brute forcing the puzzles and have a bad time.  So an example of a good level made by giving the player a complex solution is this level.examplesolution

The reason this level is good is because it requires a good amount of moves to complete, and there are only two completion critical moves required (using the Slime Kana on the correct Kana), and those moves can be executed by the player at any point. Whereas, here is a level that has gone way too far on the complexity of solution.example3

This level is way too hard and is to date the most difficult level I have made. And the reason is, that every singe move in this level is a completion critical move that requires being done in the exact right order. If you make one wrong move, you cannot complete this level. The fact that this level has a relatively constrained number of possible configurations is its only saving grace. And I wouldn’t be surprised if I remove, or rework this level before the launch of the game.

I think the real take away from this blog if you are making, or thinking of making your own game is; What are the different vectors for making a game difficult? Are there enough? Are there too many? What are the implications of using one of those vectors? What are the implications of using multiple of those vectors at once? How far can one push any and all of those vectors before a game becomes impossible? And most importantly, at any point in a game, what vectors of difficulty does the situation call for?

Anyway, these are the things that I’ve been thinking about for the last month or so. I’ll see you next month. If you have any questions about game difficulty or you disagree and you want to start a discussion, feel free to leave me a comment and we can have a chat. Until next month, take care.

Advertisements

Hey all, This week we are going to do a review of the Ice Kana mechanic. We’ve done one of these reviews before for the One Direction Kana. Basically what we are going to do is discuss how the mechanic works, how difficult it was to implement, how it plays, and how much design space it has.

So how do Ice Kana work? Ice Kana can be moved in any direction freely but will keep moving the direction they were moved until they hit a non-moving Kana, a blank space, or the end of the level.IceTileDemo2.gif

Ice Kana cannot be moved with each other as if they could there would be situations where tiles would move forever. Also whenever an Ice Kana is moved, regardless of how far they move it is counted as only one move.

 

So how hard was it to implement Ice Kana into the game? The initial implementing wasn’t too bad. The debugging was the killer for this one. They way the game handles Ice Kana is by checking if either of the two moved Kana are Ice Kana, then if there is an Ice Kana it iterates the “move Kana” script until the Ice Kana makes an invalid move. This was pretty easy to do as it relied on preexisting logic that was solid. The hard part was managing the undo function.  The undo button will log each step of an Ice Kana’s movement as individual moves so I have to tell script at what points an Ice Kana is moved so It can group each of those moves together and undo them all at once. This part of implementation was a nightmare. The last point that was a hassle was the animations. See because I have the Kana faces animated, whenever I want a different set of images for a different mechanic I am forced to make new animations for them. But I hear you saying “Isn’t that a LOT of individual animations?”. Why yes it is. There are 46 base Hiragana, but I have to double that number for each Katakana. Okay so there are 92 animations? Nope, because I have that many animations for EACH mechanic that uses the animation system. So far that is normal kana, stone kana, ice kana, paralysis kana and slime kana. Now slime kana only actually has 16 animations because it is only applies to あ、い、う、え、お、や、ゆ、and よ (I’ll go into why when we review slime kana). But even if we take that into account we still have 384 individual animations. And let me tell you Unity is NOT DESIGNED to have that many animations going on at once. TryingToAddNewAnimations

See this clip is how you add a new animation into Unity. You have to scroll down the list of existing animations until you get to the bottom where you can select the “Create New Animation” button. It is one of the most infuriating experiences I have as a game developer.

 

Anyway, but I don’t have to worry about implementing it anymore! How does it play? Actually pretty good, it can make some really interesting levels. However Ice Kana are certainly the hardest mechanic in the game for the player. Which I’m fine with. The first three worlds are pretty easy and its good to have a mechanic that can really challenge the player. Personally I enjoy solving these puzzles but what I enjoy and players enjoy are often two different things. So I will still have to do a bunch of testing to make sure the world 4 levels aren’t too difficult. I know for sure that the last two levels of world 4 are by far the hardest in the game.

IceTileDemo3.gif

But I think if I can get the difficulty correct I think players will really like Ice Kana. It will just take a bit of tweaking and balancing to get there.

Finally, how much design space does the mechanic have? Well, LOADS this was one of the first times I finished making a world’s levels and thought “I could probably make another ten interesting levels here”. They interact with One Direction Kana wonderfully, and I am certain they will work really well with future mechanics yet to come. So I am really happy with how they’ve turned out. My one biggest concern is just how difficult players find them.

Wrapping up. I think Ice Kana are a great mechanic that I will probably end up using liberally in future levels, but I do need to be careful of the difficulty. Having some levels be a challenge is fine, but not if players find their brains melting. And while debugging them was a royal pain, I am very happy with where they have ended up.

What do you think of the Ice Tiles? Let me know in the comments! But until next time, have a great week!

The devblog is back! Sorry for such a long hiatus, but we are here and a lot has happened!

But today we are talking about World 3. Just before Christmas I finished making the background art and the one direction tiles so I would be ready to make some levels!

World3Level1

All the levels for World 3 are now complete! Something I might do every time I finish making the levels for a world I might “review” the mechanic deployed therein. I’m going to judge a mechanic on a few different criteria. Most of these are normal things to consider for all game design, but the last is relevant specifically to Kana Quest.

  1. Complexity of the mechanic. (How long does it take for the player to figure out how it works? How much mental strain does it cause the player?)
  2. Design Space of the mechanic. (This is another way of saying how deep is the mechanic? How many interesting scenario’s can it be used in? Does it interact in interesting ways with other mechanics?)
  3. Fun Factor of the mechanic. (Just simply, how fun is it)
  4. Ability to help teach Hiragana. (Does the mechanic play help the player to remember what a Kana is or learn new Kana?)

So how did one direction tiles do? Very very well, they have a very low complexity so much so that a tutorial is often not needed for play testers, and it has a large design space! The fun factor is a bit subjective, but personally I find it quite fun. The only strike against one direction tiles; they don’t really teach Hiragana very well. They don’t work against that goal, but they aren’t any more useful than a normal Kana tile.

The only other problem with one directional tiles is they require a large level to be interesting. World3Level20.jpg

Due to a bunch of mistakes that I made when setting the game’s camera up, I have a hard upper limit to how big a level can be. On the whole this isn’t too bad as it forces me to keep the complexity down but it does mean that for mechanics like the one direction tile, I can’t use it to its fullest extent.

But on the whole I give one direction tiles a B+. Its a good mechanic that can be used to make interesting levels.

Before I leave you today, I just want to share my personal favorite level from World 3.

World3Level16.jpg

This what the first of a series of levels that I made where the player has to figure out the correct place to start matching the Kana. In each row there is usually only one Kana that will match with the row above or below it. Thus making the physical size of the level and the positioning of the tiles crucial to being able to complete the level.

World3Level16Complete.jpg

Anyway, I hope you all have a great week, and I will be back posting regular devblogs again from here on out! I will try for once a week, but if I’ve just been squashing bugs that are not very interesting then it will probably get pushed back.

Hi Welcome to the Dev Blog for Kana Quest. If you’re new here and have never seen or heard of Kana Quest, read this blog post for the Who, What, When, Where, and Why of Kana Quest. –> https://kipentheodor.wordpress.com/2017/09/09/kana-quest-primer/

Otherwise read on to hear about what’s been done over the last week!

So I have one and a half months till PAX Aus hits. And I am officially freaking out. There is so much to do and so little time for me to do it. I still have to get Kana Quest onto Steam so I can take preorders at PAX. I still have to implement some sound into the game. I still have to organize my booth’s set up. There are still some bugs that need to be ironed out. I need to make an awesome trailer to show off my game. And finally the one thing that has me worried most of all, my tutorial is still awful.

The tutorial has always Kana Quest’s biggest weakness. I tried to sit down this week and think about all the common misconceptions people have when they sit down and play.

  • They think they are writing words.
  • They think Hiragana is Kanji and start freaking out they don’t know the meaning of each letter.
  • They don’t understand they are trying to match sounds.
  • They don’t understand the win state.

So how am I going to prevent the player from thinking these things?

I

Don’t

Know

That’s it. The reality is I’m just not sure. But I cannot afford to give up. So here are some ideas I have that hopefully will help fix the problem.

Idea 1. Completion Gauge: So most people when playing are not sure what their goal is. If I give a visual representation of how close the level is to being completed it will better communicate the goal. I think it will help players know how close they are to completing a level, but not necessarily understand why they are completing the level.  CompletionGauge2.gif

As you can see I have already started work on this idea, mainly because I think this is my best one. To get this working though I have had to change how I handle checking whether or not the level is complete. Now the game will find the largest group of Kana in the level. Before the game would only actually check the group size starting from one location. I had to change this as if that starting location was the last to be connected it would be very easy to have a situation where the gauge goes from zero to full which would only confuse player further.

Idea 2. Show the Player the Hiragana Table: So the idea here is to show the player the whole Hiragana table after they learn their first three Kana. Hopefully this will demonstrate to the player that Kana are phonetic letters and not Kanji (which are pictorial). The other great advantage of doing this is I prepare the player for all the characters that they will learn. That way they don’t freak out that they are going to have HUNDREDS of Kana to memorize. HiraganaTableGif.gif

Idea 3. Show the English Sounds Matching in Tutorial Levels: The idea behind this one is that the player doesn’t get to see where things are matching. While this is a core part of the gameplay later on, for the tutorial the most important thing is that the player understands the core mechanic. If showing the English for a little bit will achieve this I’ll try it!

Idea 4. Change the Structure of Tutorial Levels: So the idea here is that I increase the size of the early levels but not increase the difficulty. What I’m thinking is a really long level with the same Kana repeating but with stone Kana to limit movement. Coupled with the completion gauge hopefully this will communicate the idea that creating matches is the goal.

So those are my ideas on how to improve the tutorial. They aren’t perfect so if you have any ideas, PLEASE TELL MEEEE! I’ll see you all in a week’s time where hopefully I haven’t turned into a stressed out wreck.

This week was a big week for Kana Quest because as of writing, all the levels in the second world are complete. So for this week’s devblog we are going to look at how I go about making levels.

Before getting into it I just want to include a quick intro to some of the terms that I will use in this devblog.

Kana: The individual game pieces in Kana Quest. They are also letters of the Japanese alphabets (Hiragana and Katakana).

Match: When two adjacent Kana share a matching sound. Eg. KA N–> Matching “A”. Matches are important as they are how you complete levels in Kana Quest. When every Kana is connected by one chain of matches the level is complete.

Mystery Kana: The main mechanic of the second world in Kana Quest. They are represented with question marks both in game and in hand drawn notes. The player must pay attention to what the Mystery Kana matches with to find out the sound of that Kana.

Ok that’s that. Onward!

 

So what is step one? The first thing I will do before I make a level is to make a mental note of a couple of things. For example: What kana has the player seen before? What kana have been introduced very recently? How many moves did the last level need to complete? How many different possible configurations did the last level have?

That last one is really important. As it is the biggest determining factor of a level’s difficulty. For example look at the following mock levels.20170902_161642.jpg

Both levels have the exact same Kana, and require the same amount of moves to complete but A is significantly easier to complete than B. And it comes down entirely to the amount of possible configurations of the Kana. One of the first levels I ever made for Kana Quest was a 3×3 level with a Kana in every spot. It only took 2 moves to complete but no one could ever complete it.
20170902_163949.jpg

So once I’ve made a note of how difficult I want the level to be, using a pen and paper I start drawing down the idea of what the level should be like.

You can see this happening here. I start out with an idea for a level where you get two normal Kana to try and figure out lots of different Mystery Kana in the level. (Top part)

Once I realize the limitations of the level concept I rearrange things to ensure the level plays well (Middle part).

Finally I write down the solution to the level and the number of moves needed to get there. (Bottom part).

Once I’m happy with my first draft of a level its time to get it into the game!

To do this I have to give unity (the game engine I’m using) the following things. 1. The dimensions of the level (In this case 3×6). 2. Make a numerical list representing each of the Kana starting from the bottom left of the level.  (In this case the list is 12,47,20,47,47,310,47,307,47,322,47,105,-1,106,-1,108,323). 3. Tell unity how many Kana there are in the level. This allows unity to know when the level is actually complete. Once you do all of this you get…LevelDemo

One level, ready for play-testing! I will usually play the level once or twice to make sure that it is possible and I know the minimum number of moves needed to complete. Then I will give it to play-testers who let me know if the level is too hard or too easy. Then I will adjust accordingly.

If you have any questions about the level making process feel free to ask any questions in the comment section.

That’s me for this week. Have a great weekend all.