Archives for posts with tag: gamedesign

Welcome one and all, to a very special Kana Quest devblog. This is the last time I will be writing to you before the game comes out on Steam. Kana Quest has a release day: March 12. And we are in full marketing mode to try get this game out there, and make it as big a success as physically possible.

But first things first. Why don’t you all enjoy the release trailer I’ve been working really really hard on.

 

And there it is. I hope you liked it. Making this made me more than a little batty. If y’all are interested down the line we can do a “making of” devblog, but we will leave that to another time.

So now we are going to get into the real meat of things. And that is this devblog I would like you do something for me.

3p65gz

So what am I asking of you? If you are able, please do the following.

  1. Wishlist the game on Steam. You can do that here: https://store.steampowered.com/app/725850/Kana_Quest/ . The reason this is so important is that it helps Steam’s algorithm figure if my game is worth anything. If we do not get a good enough threshold for wishlists Steam will bury Kana Quest.
  2. Follow the official @KanaQuest twitter account, and like and retweet the big announcement posts. This increases our reach a huge amount and puts the game in front of more folks.
  3. Tell your friends about Kana Quest. If you have a friend who you think will like Kana Quest. Please tell them about it. If possible try to get them to do steps 1 and 2 as well.
  4. Once the game is out. Please leave a review on Steam. This is another one of those things that can cause a game to get buried by Steam’s algorithm. If you do not have enough reviews the game will get perceived as a “junk game” by Steam’s algorithm. And I am not saying you have to leave a positive review either.

So with that out of the way. What else do I have to tell you?

Well Kana Quest is going to be at PAX East at the end of the month. I know most of you who read this are based in Australia, but if you’re up there, please come say hi. And if you are up there, we will be selling Kana plushies again. But they are improved on the first iteration we did in 2017. They are bigger, and they have nicer fabric. They are still handmade though, so stock is extremely limited. If we still have stock when I get back I’ll put out an announcement and whoever messages me first will get it. 86358616_509955723230863_6127210008150016000_n

We will have a restock of the pins we sold at PAX Aus. So if you would like to get your chance to get your hands on one of them.

IMG_1833

And with that, I just want to say a big thank you to all of you for being a part of this crazy little journey of mine to make this game. I really appreciate you all for turning up and reading the devblog each month. And I hope that when the game comes out, I did a good job and that you love it.

And with that, I’ll see you on the other side of this release. Take care until next time.

Theo

Morning all, hope you had a restful break over the holidays. But unfortunately it is the new year and that means getting back to it. And for me that means writing more devblogs.

So welcome to the Kana Quest devblog for January 2020.

trailerWIP2

If you’re new here, Kana Quest the game that I’m making. It’s a cross between dominoes and a match-3 puzzle game… but it teaches you how to read the Japanese alphabet. I designed over 300 levels for this game and because of that I feel as though I have some idea of what I’m doing when it comes to designing puzzles. So for this month’s devblog I am going to go over my Top 4 favourite bits of puzzle design advice.

4. Learn How to Manage Complexity

So within any game you are going to have complexity. Traditional game design says that you want to keep the game’s difficulty within the “flow channel”. Basically, don’t let the game be too easy or too hard, difficulty trends upwards as the player gets better, but you do have fluctuations of difficulty over time. I mostly use the word complexity over difficulty here because I find it is complexity that produces difficulty. However, there are different types of complexity to consider. The three main types of complexity are:

  • Complexity of given information
  • Complexity of “solution” or “win state”
  • Complexity of execution

Lets quickly define these in a bit more detail.

Complexity of given information, is the amount of information the player has to process. For an example. If you are playing Magic or Hearthstone, if your opponent has a 1/1 creature, no cards in hand, no trap effects and they have 1 life left. And then you have a spell in your hand that deals 1 damage to anything, you have very little complexity of given information. In this example, you have two possible actions. One will win you the game, the other postpones the end of the game. Its very easy process all the information. And as a result, that is not a very difficult game state. But if we gave both players a full board of creatures each that have different effects and both players have full hands and full life… now there is so much for information that the player has to parse. This makes the game harder.

Complexity of “solution” is based off how hard it is for the player to figure out what their “win state” looks like. Many games have very clear and consistent win states. For example, a platforming game your win state is to get to the end of the level. It’s very clearly defined for the player. Puzzle games are somewhat unique because often the player does not know what the “win state” is when they are going in. Part of the fun is figuring out what the win state is. For example, if you sat down and started a crossword and you knew all the answers, it would not be fun. However sometimes, especially in puzzle games you need to be able to figure out what some elements of the end state look like in order to progress. If your “solution” is so complicated that it is near impossible to figure out what the end state looks like, then that often means a puzzle is way too hard.

Finally Complexity of execution. This is how difficult it is to execute the actions the player needs to do in order to win. For example, in a Souls-like game, you can often see what you need to do quite well, but executing that plan is often where the difficulty comes in. In puzzle games, how complex the specific order of actions must take to win, determines the complexity of execution.

Here are some diagrams on the breakdowns on the different types of complexities between genres

This slideshow requires JavaScript.

So, you might have noticed that for Kana Quest, the complexity of information is maxed out. This is because each game piece is a Japanese letter, and the player has to remember what each letter is in order to match the sounds between letters. Because of this, the average player has to mentally track what letter is what. What this means is that I cannot use complexity of information to up the game’s difficulty. If I were to try increase it, players simply would not be able to process what is going on in a given level. Because of this most of the time, when I am trying to make a more challenging level in Kana Quest, I usually increase the complexity of execution. Of course these complexity levels will fluctuate within a given game (turn 1 hearthstone has basically no complexity on any vector, but that ramps up significantly over a match).

The reason I’m bringing complexity up is that to make a good puzzle game, you need to know what vectors your game has a lot of naturally. And of course every puzzle game is different so you need to have a good understanding of the different types of complexity in order to properly manage it in your game. Puzzle games especially have the reputation of making the player feel stupid, if your players feel stupid, you probably haven’t properly managed complexity. And hopefully understanding these vectors will give you a better idea of where to start changing things.

 

3. Avoid Red Herrings

This tip is related to Number 4, but do not include red herrings. What I mean by red herring is that you include an element within a puzzle that confuses the player of the solution. Red herrings massively increase the amount of solution complexity. The reason is that they stop the player from being able to understand what the end state is.  If you include a element, it needs to be clear to the player what function that element is supposed to do. Lets look at some examples from Kana Quest.

redherring1

First Iteration of World 5 Level 5 in Kana Quest

So lets break down whats going on here. In Kana Quest you match sounds between letters, when all the Kana are connected, that’s when the level is complete. In this level there are Slime Kana (The green ones). They cannot match, but they can change the vowel sound of any movable Kana (So not the Stone Kana). So here the player has to use slime kana to make two chains of three Kana that connect to stone Kana. One of the core “questions” of this level is that you have to figure out how to the Slime Kana next to the Stone Kana. Do you use them on the top row, or the bottom row? Pretty simple right? But, in playtesting we found that players correctly used the two い (i) correctly, but used the え (e) wrong and it was causing frustration. The problem was that because the く(ku) was immediately above え (e). For some reason, player’s kept interpreting it as, oh going up is correct because they are next to each other (but somehow ignored the な (na) that was also next to the え (e)) Our solution?

redherring2.png

We just moved the く(ku) over one spot.  It keeps the “question” of the level in tact, but it removed the “red herring”. The red herring in this situation is using the え (e)on the く(ku).

It is incredibly easy to make a red herring by accident, and the only real way to catch them is to playtest and see where players get hung up. And of course, maybe you have a puzzle game that is about getting lost or being obtuse then maybe you can be a bit more forgiving of red herrings. But if you leave them in make sure your players don’t feel like they wasted their time for following a red herring.

2. Try to distil a puzzle into a single element.

I mentioned this briefly when I was talking about red herrings. But you should be able to distil a level down to a singe element or “question”. Lets look at some levels to see what I mean.

GoodLevel1

World 1 Level 3

This is one of first levels that stumps players. This level asks the player “can you correctly order these three Kana, while positioning them in a way that connects to the Stone Kana”.

 

redherring3.png

World 3 Level 15

This level asks the player “can you figure out the correct order you need to move the three normal Kana on the top into the four One Way Kana on the bottom”.

 

redherring4.png

World 8 Level 6

The core question of this level is “which one of these three Kana do you slime with う?”

So, the reason I think this is helpful is that it allows you as the designer to hone in to what is important to the level. If you find a level has LOTS of red herrings, properly understanding what you are trying to ask your players in a given level will allow you to get rid of unneeded information, and ask the question you are asking in a more easily understood manner.

Now of course, you don’t need to have only “one” core question in a level. You will often offer the player two core questions, especially as levels get more complex. But when you are introducing new mechanics, or introducing new ways to use old mechanics it is really important to hone in on one very clearly asked question and cut all unneeded information. In other words; only include the information complexity you need, and cut all that you don’t.

One last thing before we move on. When you use this technique to introduce a new element or question I find following a three act structure is helpful.

  1. Introduce the question in its most basic form
  2. Ask the same question in a more complex form
  3. Ask the same question but with a curve-ball this time.

Number 2 is pretty heavily inspired by two episodes of the game maker’s toolkit. Please give them a watch as they explain what I’m talking about VERY well.

1. Give Your Players Small Wins

We are going to finish with something I wish I thought about more at early stages of Kana Quest. And unfortunately for me its a little too late for me to go back and solve this now. But why is this important?

  • It allows you to make more complex levels as the small wins can guide the player to the solution in way that doesn’t feel like giving them the answer.
  • When you make longer levels, it helps your motivate your players.
  • It stops your players getting bored.

Now I did add a mechanic that attempted so solve this problem: Ghost Kana. Lets go over why they work and why they don’t, so you can learn from my failures.

redherring5.png

World 6 Level 10

So Ghost Kana are immovable, and They always have a number on their head. When the player creates a chain of Kana the length of the number on their head they come back from the dead and the player can move them as per normal. Sometimes they come back as blank tiles (if they have green flames) sometimes they come back as actual Kana (blue flames). So the attempt with this mechanic was to allow the players to have some small victories along the way. Like “hey you get a chain of three kana!! Good job, have a cookie” type thing. The problem is that while Ghost Kana do a good job of guiding the player down the correct path they don’t feel like much of an achievement. They don’t make the player go “yes, one down one to go”. Instead they make the player go well crap now I have more Kana to worry about.

A good “small victory” mechanic I think signals to the player that the level has just gotten a little bit easier, and they did good (even if it is an incredibly small victory). And you want to know what game is the undisputed KING of this idea? I already gave you a hint but writing the dev’s name…

Its Candy Crush.

Simply making a move in that game feels like a small win. It makes you want to keep going. But a lot of the more advanced mechanics are just more “small win” mechanics. The locked squares that become unlocked when you match something next to them are great small win mechanics because when you unlock them, it feels like an achievement AND it makes the level just a tinier bit more easy. I know it’s not the answer you wanted to hear, but you can learn SO much from Candy Crush and any aspiring puzzle designer would be a fool to ignore the lessons you can learn from it. Like think about it, the most common criticism levelled at puzzle games as a genre is they make the player feel stupid. Candy Crush is a puzzle game and no one has ever accused it of making you feel dumb, and it a widespread mainstream hit in a genre that often is seen as niche. And I feel like a lot of its success comes from this principle of giving the player lots of small incremental victories on the path to beating a level. I wish I payed more attention to this because while I think Kana Quest is a great puzzle game… if I had learned this lesson it could have been an amazing puzzle game.

 

Wrapping Up

So that’s the devblog for this month. I hope you liked it and that maybe you learned a thing or two along the way. If you did like this, please consider giving me a like or subscribing to the Kana Quest mailing list at http://www.kanaquestgame.com to get all the Kana Quest devblogs when they come out.

If you think Kana Quest is neat, you can wishlist it now at: https://store.steampowered.com/app/725850/Kana_Quest/

Or you can follow the social medias at

Until next time, take care and have a good one.

 

 

 

 

 

 

Welcome back to the Kana Quest devblog! If you’re new here, welcome! I’m Theo, lead dev of Kana Quest. This is where I give you some insight into the process of making Kana Quest and things that I’ve learned along the way.

We took last month off due to us exhibiting at PAX Australia, but we are back! And this month we are going to be looking at PAX as the topic for this month. We are going to break it down into two chunks: How PAX went for Kana Quest, and secondly what is the process and logistics of attending PAX like?

IMG_1835.JPG

 

How Did PAX Aus Go?

Well it started off a two weeks before PAX. Reuben (programmer) and I were trying to get the game running on iPad because we have access to two iPads. But alas no matter how hard we tried, we could not get the damn thing to build. See the problem for us was that we don’t have a mac. And you need one to build to iOS. And unfortunately for us, the mac we borrowed for the explicit purpose of building the iOS build was too old to update to the newest version of XCode. Basically this meant that we had to change plans on what hardware we would be bringing. So instead of two iPads, one Android tablet and a PC, we ended up going with three PCs and an android tablet.

Now we were setting up on the Thursday (night before pax), then Reuben and I get a message on the group discord from Julian one of our composers. He had been boldering and fractured his ankle. He was going to be coming down to help us exhibit, but alas that was no longer happening. So we had to frantically search for people to cover his shifts. Luckily I have good friends who rose to the occasion and I was able to cover the shifts pretty easily.

IMG_1903

Once the actual convention started things went pretty well, people seemed to really like the game. We had lots of compliments on the art, and the actual gameplay. We had one nine year old girl play the game and she declared it “the best game ever” so I’ll count that as a win. I also had quite a few Japanese speakers enjoy the game too. I always love it when Japanese speakers enjoy the game because it means that the game part of Kana Quest stands on its own without needing any of the educational elements.

Another thing we did just before PAX was we finally got the Steam store for Kana Quest up. Valve has started putting games that are showing at big conventions at the front of the Steam store page, and we got a pretty good amount of wishlists over the course of the weekend. Speaking of which….. (shameless plug incoming)

https://store.steampowered.com/app/725850/Kana_Quest/

You can now wishlist Kana Quest on Steam. Please do if you like the look of it! (Ok shameless plug over)

And of course by the end of the weekend we were all completely dead on our feet and were very glad to go home and get some rest.

IMG_1844.jpg

All of us getting desert on Sunday. Completely and utterly dead on our feet

What are the logistics of attending PAX Aus?

So, now we are going to get into the nitty gritty of what exhibiting involves and what you should you expect should you go.

The first thing you should know is it isn’t cheap. If you live in Australia and you haven’t done a convention before, I would not recommend PAX. I would recommend doing ACCon in Adelaide to get an idea of what you are in for first, but also to get feedback from people. If you have the following things, then PAX Aus is probably worth your time.

  • Have $2000+ that you can spend on publicity.
  • Have done a convention before.
  • Have a team of at least 5-6 people who can help you exhibit.
  • Your game looks polished, presentable and is mostly stable.

If you tick these boxes, then what you want to do is apply for the PAX Aus Indie Rising section once applications are opened. You will be asked to supply a build, a short video demonstrating gameplay, a summary of your game, and some screenshots. You will then, be likely receive a call or email from someone at ReedPop the organisers of PAX Australia. They will ask you some questions about your game like “is there nudity or high levels of violence in your game?”. If its a no on both counts, they should offer you a spot. You will then receive an invoice and you are on your way to PAX! Of course this is all under the assumption you get in before all the booths are sold. I did not get to exhibit in 2018 because I was too slow on applying.

Costs (everything here is in AUD)

Now let’s get into cost of things. The cost of your indie pod booth is about 1700$. This comes with two chairs, two exhibitor passes, booth art, and that is it.  You need to bring your own screens, decorations, and furniture. I would also recommend getting at least one additional exhibitor pass ($125) just to allow the logistics of having people be on shift (we will get to the running of the booth later). Personally I don’t think you need to get additional furniture, unless you have a premium booth. So the cost of additional passes and the booth will come to a little under two grand. Not exactly pocket change.

But another thing you need to remember is that you will be spending money on food over the course of the weekend. And you will need to spend money on booth essentials (which I’ll talk about later). From experience this adds another $100-$300 depending on your needs.

So how can you, make these costs less painful?

Now if you are based in Victoria, Creative Victoria does offer a grant for $750 to help you show your game at PAX. If you live in Victoria, please apply for this. Having the cost of attending reduced by a third is such a big deal.

If you you don’t live in Victoria, the best thing you can do to reduce the cost of PAX is our next topic: Merch

IMG_1833.JPG

Merchandise

Merch is probably going to be how you actually pay for your booth. In fact if you have good enough merch, you can end up making money at PAX. I heard on the grapevine that multiple games sold out of their merch, which resulted in PAX paying for its self. This is your goal with merch. Here are some good ideas for different types of merch.

  • Clothing
  • Pins (high quality enamel)
  • Plush toys

Types of merch you don’t want to do.

  • Stickers
  • Stationary
  • nick-knacks

The reason you don’t want to do stickers is that if someone uses your sticker somewhere in the convention hall, if it is easily traced back to you, the convention hall will fine you for it.  It is not worth losing money over. And you don’t want to do anything too small like stationary or nick-knacks because they are easily lost, but also because of the numbers. You are only going to get so many people who love your game enough to buy merch (unless your merch is good enough on its own), you would rather those people buy something big and substantive that way you recoup your costs faster. Also, it means you can justify making the product of a higher quality. You want to be selling good quality things because you don’t want your potential fans thinking you sold them crap.

For this reason, really cool well made clothing works really well. Samurai Punk consistently has lots of people come and buy their shirts just because their designs are so cool. But you do need to make sure the design is good enough on its own. I did t-shirts in 2017, and they were a complete bust because the design wasn’t high enough quality.

Plush toys are really popular if you are able to get them made, but finding a place to get them made can be tricky. But because so few other games offer them, they stand out more. But if you don’t have any designs that would make a good plush don’t worry about it. We sold Kana Quest plushies in 2017, and they sold extremely well. My only regret is that we didn’t make enough. We sold out on the first day when we were selling them for $15. My sister made all the plushies by hand, so she very graciously made some more over night. Will raised the price to $25 for the rest of the weekend. The price hike slowed sales quite a bit. If we had made more to begin with we would have been able to justify selling them at the lower price throughout the weekend and we would have made way more money. I used a company called Neon Republic for my pins and they had a two month wait between ordering and delivery, so do take those times into consideration when considering pins.

Finally we have pins. I have never done official Pinny Arcade Pins, but from my understanding, if you do, you are gonna make bank. Now you don’t need to go through Penny Arcade to sell pins, but they wont be Pinny Arcade, so you will have to price much lower than the official pins. You also wont attract Pinny Arcade collectors, so you wont sell as many either. But I sold pins this year and we did really well for ourselves. It cost me $350 to have them made. I had two designs, of which I had 50 pins each. One design almost completely sold out, and the other sold about 30. I sold mine for $10 for the simple design, and $15 for the complex design (the cost of pins goes up, the more colours you add). At the end of the event I had made about $700 on the pins. Now one bit of advice I would give is try to use in game art over a logo for your pins. I had one pin of one of the Kana tiles, and one of the Kana Quest logo. Although the logo turned out much nicer, most people wanted the Kana tile because it didn’t specifically look like merch. It was just a cute generic looking pin that folks could put on without them looking like a brand shill.

The final thing to know about merch is that in Australia, you wont make money if you can’t take card. For international readers, a lot of Australia is cashless and a large number of convention goers will not have cash on them. Make sure you have a square space reader or something like that on you in addition to a well stocked lock box. And one small thing on this note, have a sign that says you take card. I forgot and I’m sure I lost sales because folks didn’t know I took card.

 

Booth Essentials

So what are some other things that you’re booth is going to need.

  • Strepsils
  • Gaffa Tape
  • Double sided tape
  • Scissors
  • Cardboard (whatever colour will work with your booth), you will use this to make signs for…
    • Availability on certain platforms, eg steam
    • What merch you have available
    • signs for selling the flavor of your booth
    • any special deals your are offering for your game
  • A pallet of bottled water.
  • Antiseptic Gel
  • Snacks
  • Aspirin
  • A sharpie
  • Any other decorations you think you will need.
  • A card reader
  • Cashbox
  • A keep cup (Epic games has comped the indie section with free barista coffee the last few years. Bring a keep cup so you can make the most use out of Epic’s generosity)
  • Back up controllers/Mouse
  • Business cards (about 400-600 of them from my experience, but if you have a more popular game than mine you might need more)
    • Website
    • Email
    • relevant platform store links (eg. steam store link)
    • Social media accounts

 

Bump In, and Bump Out.

So you will be allowed onto the show floor on Thursday. If you don’t have a high viability vest, you will need to buy one from the PAX people directly. Once you have one, you can enter. Your booth should have a key on the bench, this is what locks and unlocks the cabinet space under your booth. Do no lose it. I recommend getting in nice and early to set up. This means you have the most amount of time to change your mind about presentation, but it also means there probably wont be a long wait for the tag and test. Tag and test can often lead to looong wait times if you go in at the end of the day. I do not recommend.

On the topic of the tag and test. Every piece of electronic equipment that plugs into the power source has to be tagged and tested. If a cable is slightly damaged, it will not pass. They will not allow you to use it. Do not be caught out thinking you can use your laptop, only to find you can’t because a little bit of wiring is poking out. If you have a mouse, or a controller that plugs into a usb slot in your computer, you do not need that to be tagged and tested.

Once the tag and test is done, you can plug everything in. Test that your game build works on all the hardware. Ideally you will have done this a week beforehand but I have seen folks not test things and find they have to fix things when the show opens to the public.

That’s most of the information for bump in and bump out. Do it early, and don’t forget your high vis vest.

72698000_432062614108478_4403278983861370880_n

Manning The Booth

So at the start of this section I said that you need about 5-6 people to help you. This is because you need to give people breaks. Pax is a loud environment in which you will be doing a lot of talking, standing and trying to create an inviting environment for your booth. For this year we had 4 people at the convention centre at all times, two people would man the booth at once, the other two would be on break. The exception being if it gets really really busy, or someone at the booth needs something (eg food). We also worked in 1 and a half hour shifts, changing one person every 45 minutes. I also gave everyone but myself a day in which they did not have to man the booth at all. This is good because it meant that folks got a chance to see the show, but also relax without having to worry about any of that booth stuff.

While you are manning the booth, feel free to ask people if they would like a go. But do read their body language. If they are closed off, don’t bother them. If they look interested go for it. For example I would often say “would you like to learn some Japanese?”. This is a nice easy yes or no question. If they say yes, invite them to play. If they say no, wish them a good day. Don’t push them to play your game. Lots of folks just walk through the indie section, find the games with art they like the look of and save them. They wont stop and play, even for a game they think they’ll love. Do not pressure those folks to play, as you will sour the game to those people by you not respecting their boundaries.

I also find its good to have a handful of business cards on you. People often pass through and will just ask you for a card. I do find a card is better than a pamphlet, as cards slip easily into pockets whereas a pamphlet is has to be put into a show-bag or get scrunched up.

IMG_1839

What to Expect Day to Day

Friday is your quietest day. Because of this the press are most likely to play your game on this day. The press also get let in an hour before the general public. This is why you really should have your booth set up on Thursday. If you are still setting up on Friday, press will pass you by. If a member of the press plays your game they will often come back for a proper interview later. Another thing to remember about Friday is, if there is anything you really want to do on the show floor, today is the day to do it. Do not wait till the weekend. You will have no hope.

Saturday: pray to whatever deity your worship, and hope you receive mercy. I’m being dramatic, but this is going to the busiest day. There are going to be SO many people. Stay hydrated. Take your breaks. And pace yourself.

Sunday is busier than Friday, but its not as out of control as Saturday. Often press will come back to you to record interviews on this day. Things will also close a bit sooner so you can bump out. The last thing is, on Sunday evening there is Megadev. It is the game developer mega party at the end of Melbourne International Games Week. If you want to go, ask around the other game devs in the indie section to see if they are going. If they are, ask them for the code. They will only give it to you if you are a game dev. Once you have it you can purchase at ticket on the Megadev trybooking page. It does cost a bit of money though, and I think you only get 1 drink token from memory. I personally don’t enjoy it as by this point in time, I am done with loud, crowded spaces from PAX. But if you want to get sloshed with a bunch of game devs, this is where you want to do it.

Monday: TAKE THE DAY OFF. Take the week off. I’m not kidding, taking the week off is a good idea. You will be absolutely wrecked afterwards. Now is the time for self care. You will also probably get sick here, so have fun with that.

Wrapping Up

That’s basically all the information I’ve learned over the course of doing this thing two times now. I hope this was informative. If you have exhibited at PAX Aus, feel free to drop your handy hints in the comments.

And if you like the look of Kana Quest, or you felt this blog was useful to you please consider …

Wishlisting the game on Steam: https://store.steampowered.com/app/725850/Kana_Quest/

Following the Official Kana Quest Twitter: https://twitter.com/KanaQuest

Or liking Kana Quest on Facebook: https://www.facebook.com/KanaQuest/

Good morning all, welcome to another edition of the Kana Quest devblog. Now last time I said we would have a blog written by the composers to talk about their process. As they are still working hard on making all the music right now we are going to postpone that one for an upcoming month. But is still happening.

And one more bit of news… Kana Quest will be coming to PAX Aus this year!!! So if you’ve been wanting to give the game a go, come on down, say hi, play the game, and find a handful of bugs as I freak out that there are still bugs in this thing. It shall be a swell time.

Now, onto this month’s topic…

Top 5 Dumbest Things That Theo Coded/Implemented Into Kana Quest.

So I was talking to my programmer Reuben this week and we got chatting about some of the frankly stupid things I’ve programmed since I started Kana Quest. And to be honest, most of these things are funny. So for the sake of entertainment, I am going to curate the finest pieces of coding idiocy my brain has produced. And hopefully this will explain to my relatives what I mean when I say that Game Designer is not a Programmer.

5. Stupid As Hell Names

So this one is relatively harmless on the “Theo, oh god what were you thinking” scale. It just meant that every now and again I would get a bewildered Reuben going “Theooooo, what does _______ do”. So lets look at some of the stupidest names for variables or function names that exist in Kana Quest shall we?

DumbCodingPart1

Because nothing says “Always give your variables descriptive names” like asdf.

I mean who hasn’t had been in a situation where they are too lazy to come up with a proper name for something. And this function is a pretty minor one so who cares riiight?

DumbCodingPart2

I mean at least this time the silly name explains what the script does… it moves shit… and it checks if shit has been moved. Simple. I can’t see any problems with the documentation here what so ever. Except for… you know… what is the actual shit is this script is moving.

DumbCodingPart3

This script is a completely different script from the last one

In a similar vein… “heyLookAtThisShitImHolding4U” is just flawlessly named. It perfectly sums up what the script does. It sits there holding level button data and doesn’t do anything else whatsoever. 10/10 flawless coding.

DumbCodingPart4

Unlike the previous scripts, if you got rid of this one you would get horrible visual glitches. Lot of pressure to place on monkeys, but they do the job.

Fun fact, if you have infinite monkeys sitting at infinite computers running Unity, they will eventually end up with an exact copy of Kana Quest. Really puts my coding ability into perspective.

DumbCodingPart5

And now we reach the pinnacle of both comedy and stupid names… Star Wars puns. 

The name here isn’t the funniest thing. Its the conversation with myself that happened afterwards in the comments. I forgot multiple times that I had written this stuff and each time I’d add another comment. I can’t really add any more on because I remember that I wrote all of this now, but its a fun little bit of stupidity. And it makes a good closing point on the category of dumb names.

4. The Hierarchy of the Parallax Objects.

So for those of you who have never used Unity or Unreal Engine. Every level (the technical name is a scene in Unity) has a hierarchy of all the objects within it. A normal person’s hierarchy might look something like this.DumbCodingPart6

See that window to the left? That’s this level’s hierarchy. Each object on that list is an object in the level. And if there is an arrow next to the object it means there are objects attached to it (the technical term is the object has children). This is what you are supposed to do. This way you don’t have to scroll down a massive list every time you want to change something. So you would think, that because I did it correctly here, in one of the levels, I would have done it consistently correctly across the whole game…

Ha no.

See in the level select screen, the background parallaxes. What that means is that the 2D images in the foreground move faster than the background images. This creates the illusion of depth. And it allows me to make pretty gifs like this.

World8-9Transition

So what does this have to do with the hierarchy? Well because of the silly way that I coded the parallax system. It can’t handle having objects having children like shown above. So now the level select scene’s hierarchy looks like this.DumbCodingPart7.gif

The eagle eyed amongst you can notice that there are some objects that do have children in this hierarchy. That’s because some objects are ok for me to give children, while there are others that is isn’t ok. The line is if I don’t want to be able to move the child objects with the parallaxer. Doesn’t excuse the stupidity of doing it this way but at least I get to turn it into that sweet #content.

3. The Way Movement of Kana Coded.

Hey Kids! Do you like repeating the same bit of very long complex code 4 times with with very small and minor variations that are very easy to miss? Then you would have LOVED the way I had originally coded Kana Movement. Unfortunately (fortunately) I can’t show you what this one looks like as Reuben mercifully has fixed it to function in a much better way.

See the problem was when I first coded the movement I didn’t know about all your highfalutin coding terms like *structs* and *enums*. So the way I tracked the direction the player was moving was with an integer value. And it would run four different versions of *THE SAME CODE* four different times just gated off with if statements to get the effect that I wanted. It worked, and according to Reuben my logic within that chunk of code wasn’t even that bad. But it did mean that it would take me 4 times as long to add in a new mechanic or edit the movement code as I had to repeat all the changes I made to one part of it an additional three times. One of the first things Reuben did when he got the job of programming was changing this.

DumbCodingPart8

What I should have done in the beginning

When Reuben finished cleaning this up, he was able to delete a whole 2000 lines of code. And adding in new mechanics became infinitely easier as a result. Good times.

*somewhere Reuben’s eye starts twitching*

2. All The undo Function Information.

On a running theme of not knowing how structs work when I made it the undo function. See there is only one thing more complicated that moving Kana in this game: Undoing Kana. See the problem is that when I first made the undo function I decided that rather than swapping the game objects back to their original positions I decided that I would just swap all the data held on the objects that got moved.

This was fine when there were no strange and unusual mechanics. But the moment I started adding new mechanics I had to start adding new variables to track if one of the objects was one of these new mechanics. This would have been ok… if I tied all those variables together under one struct, it would have been fine. Also for those who don’t know what a struct is. Basically you get to determine the boundaries of a new variable type. And because of this you can make an array or list of that new variable type. This is important is it would allow me when making the undo function to ensure that the many different undo variables don’t get out of position. But that’s not what I did. So instead we have a tangled mess of a metric fucktonne of different list variables that we just have to hope and prey don’t get out of position and work as they are supposed to. Reuben took one look at this script and just said “nope” and decided he wouldn’t refactor the system.

DumbCodingPart10

You can see Reuben’s opinion of this system in the comments up the top

DumbCodingPart9

And these are all the other variables being used to manage the undo function. 

And you might have noticed if you were paying attention, that there is a variable in there called “movementType”, with the comment “//0 is up, 1 is down, 2 is left, 3 is right”. That does mean exactly what you think it means. The issue that I told you about as the number 3 dumbest thing that I coded into Kana Quest… it is present in the undo function. And because the undo function is such a mess, it never got cleaned up.

DumbCodingPart11.gif

Everything is fine. Say it with me now, EVERYTHING IS FINE

 

1. The Animation System

And here we have, the biggest, baddest most horrible monstrosity my sick, twisted mind thought was a good idea at one point. The animation system. “Why is the animation system such a problem? Surely your game doesn’t use that many animations” I hear you ask. Well think again because if I have an opportunity to make something bloody hard for myself I am going to take that opportunity.

And it alllll comes back to the fact that I decided I wanted the Kana in Kana Quest to look like this.

 

See how cute the Kana are? What could possibly go wrong? Well it all comes down to the numbers of it all. See this game teaches you how to read Hiragana and Katakana right? Well there are 45 base Hiragana, and 45 base Katakana. So that means that I will need 90 animations to cover each Kana. And as long as I just load up the correct animator object that has the correct animation attached this will be fine. Riiiight?

Wrong, because I decided in all my infinite wisdom to attach EVERY SINGLE ANIMATION to the one animator object. But then I hear you ask, but it’s only 90 animations, surely that’s not too bad right?

WRONG

Before I said there are 45 base Hiragana and 45 base Katakana. There are ways to alter the sounds of Kana. For example き(ki)+や(ya)=きゃ(kya). There are an additional 21 animations for both Hiragana and Katakana for all the ways you can modify a Kana’s sound. So there are 132 animations.

But like a bad infomercial…

BUT

WAIT

THERE’S

MORE!!!

Because this is just for the normal Kana. There are Stone Kana, Ice Kana, and Ghost Kana that all have their own unique animations. There are an additional 132 animations for both Stone and Ice Kana. Which brings us up to 396 animations. There are 20 animations for all the Ghost Kana, so that brings us up to 416 animations, all attached to the one animator. There are a couple of other unique one off animations that I am excluding here for the sake of brevity, but suffice to say there are a lot of the fucking things. The end result is an animator window that looks like this.

DumbCodingPart12.gif

But, the best thing about all of this is that the version of Unity I am using is 3.1.6f. Which is long before they added a zoom function to the animator window. Which means I’m stuck panning manually like this if I need to edit, ANYTHING. And of course it also means that I can’t mass edit the transition logic. So Reuben and I have had to edit, EACH, AND, EVERY, ONE, by hand. Which leaves a lot of room for human error. Together we have probably spend a full working week of time, just editing and navigating around this thing.

Ah, fun times.

Wrapping Up

I hope this has been a fun look at my own stupidity and inexperience. We will be back next month for another Kana Quest devblog. Hopefully it will be with our composers but I’m sure I will be able to find something to talk about if they can’t do it next month either. Here are the relevant social medias for Kana Quest

And until next time, have a great month!

Hi all, another month and another Devblog is here.

Sorry it is a day late, but I was volunteering during the Australian Federal Election yesterday and did not have time to write a post. And on that topic, all I will say is I am deeply disappointed with the results for a myriad of reasons. You might be happy with the results and that’s fine, but know and respect that this was a big loss for the Australian game development scene. If the election had have swung the other way, Labor would have reintroduced the Interactive Games Fund. This would have provided the industry with an additional 25 million per year. Now, of course, we will survive. But I really hoped this could have been an opportunity to do more than just survive.

Now onto the main thrust of this month’s devblog. This has been a bit of a weird month for the development of Kana Quest because all the major things have more or less been done. So we are in the fix up phase of things. Lots of small little boring things. For example…

W6L15.png

Before

newLevel2

After

This was a pretty small change, and I don’t blame you if you missed it. In the darker worlds the text displaying the number of medals becomes unreadable. So I added a backing to the medal counter to stop this.

I also finally got round to making some sprites for the final mechanic in Kana Quest. KanaveyorBelts.gif

These are Kana-veyor belts, they move all Kana in a row or column along one spot. Up till now we have just been using place holder assets. Still haven’t fully implemented them yet. That’s Monday’s job.

Also found a whole bunch of very strange and niche bugs.SlimeAnimationBug

For example here if you go to slime a Kana, then pull back to the first frame of the animation, and then let go of the mouse. It will cause the slime Kana to break and be unusable.

IceNNandBinDontRegisterMove.gif

Or how about, if you have an Ice “n” Kana and you move it into a removal tile from an adjacent position you don’t use a move.

Ice+YaYuYoBug.gif

Reuben (Kana Quest’s lead programmer) has had fun the last few weeks squashing this bug. So the problem was that when you used a ya, yu, yo Slime Kana on an Ice Kana and then undid any subsequent moves, the Ice Kana would become whatever was the last Kana it moved with. The cause of this problem was being caused by the fact that we had not set up the Ice + Ya/Yu/Yo animations yet. See, all the Kana faces are handled by Unity’s animator system. And the animator will change the animation according to each tile object’s hiraganaNumber variable. This a variable that is stored on the back end so the player never sees it, but it is vital to the function of the game. But when you add the Slime Kana to an Ice Kana, this changes the hiraganaNumber . However because there was no animation that corresponding to the new hiraganaNumber the animator just says “I’ll just keep playing whatever animation I was playing last”. However because of another weird quirk of how Kana Quest has been built, when you undo a move, you aren’t actually moving the Kana to their original positions. You are swapping all the data being stored between the two Kana involved in the move. So for a brief moment, the Ice Kana would have the hiraganaNumber of whatever you moved it with. This is normally impossible to see, but because of this bug this causes the Kana to display the wrong image.

But I hear you ask, why did it take Reuben a few weeks to fix this up? Well the first thing is that Reuben only works on Kana Quest two days a week, and secondly is that whole animator system I glossed over earlier. See, because all the Kana are just different instances of the same object, each of them have over 300 different animations that could be playing at any given time. And each of those animations need to have the logic behind them properly added. This results in a job that is both time consuming and impossibly dull. Oh and because we are using an old version of Unity for this, we can’t zoom out of the animation tree. So poor Reuben was stuck looking at this monstrosity for hours.

fuckedAnimationTree.png

Also note that this image is from about a year ago. There are now more animation states. So lets all tip our cap to the incredible job Reuben did with enduring this system this month. Also I feel its important to clarify that the janky-ness of these systems are my fault not Reuben’s. As I made them well before he was involved in the project.

Ok, one last weird bug before I sign off for the week.TileSlideMidMoveBug.gif

So if you moved a Kana on or off of a Kana-veyor belt while it is moving itself, it caused the whole system to have a bit of a melt down. This gif here its pretty tame as it just causes the わ to appear where the blank Kana was at the start of the level when the undo button is pressed. But in other times when I was trying to replicate this bug I had multiple Kana going “nope” and just translating off the screen and then glitching in and out of view if you tried to move anything around them.

There have been a bunch of other small little changes that have been going, but most of them aren’t easy to show visually or are just exceedingly boring to write about. So I’m sorry if this month was a bit light on the ground. Next month however I will be in Japan for Bitsummit. Unfortunately I wont be exhibiting there, but I will be around. But the long and short of it, is that next month I think we will do a tour of the places that inspired a lot of the art in Kana Quest.

Until then, take care.

Hi all,

It’s the second Saturday of the month which means its time for a now Kana Quest Devblog! Last time I said we were going to unpack several choice levels from the game, and what makes them good levels. And that’s exactly what we are gonna do. So

Now if you’re new here, Kana Quest is a cross between dominoes and a match-3 game that teaches you to read Japanese. You match sounds between letters, and when all letters are connected the level is complete.

GoodLevel1.png

This is the fourth level in Kana Quest and is the first level that consistently stumps players. Up to this point levels have been made to get the player used to moving Kana around, and understanding that stone Kana can’t move. This is the first level that actually tests the player’s understanding of how Kana match. So, how is this achieved? It is achieved by asking the player two simple questions; “In what order do the three movable letters need to be in so they all match?” and “Now that I have the order of the three movable Kana, how do I position them so that the one stone Kana also matches?”. These might seem like very simple questions, but there are a few factors that make them a lot harder than you might suspect. The first thing is that, this is the first time the player has had to order 3 Kana. Second is that all of the Kana have been deliberately placed so that the player has no matches, this means they are effectively starting from scratch. Thirdly the number of potential configurations is way higher than all levels up to this point. Finally, because the stone Kana is placed in the centre of the board, it means there are a total of 4 different correct solutions. But it doesn’t guide the player to any of those solutions in of its self. This forces the player to pay attention to the sounds of each Kana, and use that information to solve the level. Not use the shape of the level to tell them the solution. This is not to say that using the shape of the level to guide the player is a bad thing. It usually is a great thing to do, especially for more complex levels. But the purpose of this level is to test the player’s understanding of how Kana match.

 

GoodLevel2

The next level I want to look at is the final level of world 3. So where the previous level was testing the players understanding of how kana match, this level is testing the players understanding of one directional kana. One directional kana, are a lot of fun to play with because of how the restrict the number of potential arrangements of the kana. This is useful because it can be used to signal to the player the shape of the solution.

This level is set up so that there are only 5 possible positions for each row that could be the correct position. This helps the player start with a very strong sense of how to solve the level. But there are two curve balls in this level. The first is the one normal Kana (の) at the top of the level. Because this kana could potentially go anywhere in the level, the player has figure out how to best utilise it. The second is the one directional す on the right of the level. This says to the player that one of the three rows to the left of it need to be all the way over to the right, but you need to figure out which it is. When these two elements are mixed with each other they create an ideal puzzle. A puzzle where the player has a strong idea of their goal, but they still have to work for it. One last small detail from this level that I like is the blank one directional kana. These serve to prevent the player from trying red herring solutions. Red herring solutions are fine to have, but each red herring still needs to lead the player towards the solution. If a red herring just leads the player down the wrong path and leaves them at a dead end, you need to get rid of it, as it will only aggravate your player.

 

GoodLevel3.png

So for the last level that I want to talk about today is from the ninth world. If the first is an example of a good introductory level, and the second was a good intermediate level. This is a good hard level. So what makes this a good hard level? Well, honestly the same thing that’s made the previous two good; You know what your goal is, but you don’t know how to get there. This level achieves this with the り in the centre of the level. Because it is central, and it cannot move because it is a stone kana, the first thing the player will do is look for the other kana that match with it. In this level there is the transform kana (the rainbow coloured one), the ice ろ, and the paralysis ひ. The paralysis ひ has to end up to the right of the り because it can only be moved once before turning to stone. This leaves three spots left for the ice ろ. This puts the player on a strong starting direction for the level. But the thing that makes this level so challenging is that because of how ice, paralysis and one direction kana work, if the player makes moves carelessly they will trap themselves and be unable to complete the level. Once again, the needed end state is easy to determine, but how to get there is the challenge. The only real difference between these three levels is that they make the “how to get there” part more complicated.

Anyway, that’s the Devblog for this month. Hope you enjoyed. I’ll be back next month on the second Saturday of the month. I haven’t figured out what the topic is gonna be, but ill figure something out. Until then, take care!

Hi all, its another month and that means its time for another Kana Quest DevBlog!!

Like last month I have just been working on levels. But the big difference between this month and last month is that I am now SO CLOSE to finishing all the levels in the game! There are 13 worlds in a Kana Quest, I have finished making levels for 11/13, and the 12th world is more than two thirds complete. So we are in the home stretch here folks.

At this point I have had a chance to work with all the mechanics in the game and I thought it would be fun to talk about each in depth about the positive and negative elements of each.

mystery

And oh how the mighty have fallen. This is a Mystery Kana, and they were the first mechanic I made for Kana Quest, and I was so proud of it at the time. And I still think its a valuable thing to have in the game, but the more I used it the more utterly irritated I got when I play-tested any level with them in it. So why did I make them? Why are they important? And why are they so irritating? So I made Mystery Kana because I was having a very specific problem, players weren’t flipping over the Kana to learn the pronunciation to complete the levels in the first world. This is problematic because it would render the entire function of Kana Quest meaningless. So I needed a way to effectively force the player to look at them. Mystery Kana do that very well. They just also irritate the player at the same time. The way these things work is they cannot move, but can match. The player needs to keep track of what each Mystery Kana, does and does not match with. Then using that information, figuring out what the Kana’s true identity is. The biggest problem with Mystery Kana is they just simply break the flow of the game and force you make non optimal moves to figure them out, and then you can complete the level. The end result is they start to become a nuisance after a while, and its for this reason they get phased out after world 4.

OneD

The One Directional Kana have been a solid work horse throughout development. There are so many things about this mechanic that are excellent from a designer’s perspective. 1st is they are easy to understand from a player’s perspective. The arrow shows you what they do; they only move in one direction. 2nd is they have a huge amount of design space. Design Space is a design term for talking about how many different interesting configurations a mechanic can be used in. And these Kana allow for so many interesting levels to be made. I am still finding new and interesting ways to use these things even in the 12th world. They are also very flexible in how they can be used. If you want to build an entire level around them, you can and it will probably be a really fun level. But you can also just throw one of these into a level to help guide the player towards the solution. I suspect once I have finished making levels, and I’m in the polishing stage I will end up adding a lot of One Directional Kana for this exact reason. What’s more is they also have interesting interactions with basically every other mechanic. The only complaint I have against them is they can be very punishing of mistakes. The reason for this is if you move one spot too far and then make a bunch of other moves, you end up spamming the undo button more than is ideal.

IceDemo

The fourth world’s mechanic is the Ice Kana. These Kana will keep sliding in the direction you move them until they make an invalid move. These Kana are a good mechanic, but no where near as easy to work with as the One Directional Kana. They have a large amount of design space, they have interesting interactions with most other mechanics, and they can make some very fun levels. But the problem is that you can’t just through one of these into a level. Even if the Ice Kana is supposed to be a minor element to a level, you have to build the entire level around the Ice Kana to accommodate it.  This is not a bad thing as it allows you to create a nice change of pace for the player at points, its just something that needs to be treated with care. Another small problem is they tend to demand levels be a fair bit larger than a similar level without them would be. Other than that, I think Ice Kana are great.

SlimeKana

The Slime Kana are another mechanic in a similar vein of the Mystery Kana as they both play around the sound matching aspect of the game. And so what they do is they will change the vowel sound of any kana you use them with. However unlike the Mystery Kana, these do not get highly irritating after a while. The main reason for this is that they often feel like they are helping you, rather than getting in your way. And because of this is they can just be plugged into a bunch of levels to add a little bit extra. But the biggest weakness of them is that they struggle being the core element of a level. Where the Ice Kana can’t help but be a diva, the Slime Kana struggle with it. Another problem with the Slime Kana is that because the Kana that appear on them can only be Slime Kana it does mean that the Kana on them just get seen less than every other Kana. But the gameplay of them is still solid enough that I made two variants of them.

 

GhostKana

This is a Ghost Kana. Ghost Kana, cannot move and cannot match. But they will come back from the dead once the player has made a group of Kana equal or greater than the number on their head. This is a tricky mechanic. And honestly they represent the biggest disparity between what its like to work with them, compared to what its like to play with them. Because playing with them is honestly pretty good. They make interesting scenarios, and force you to think about the level in a different way. But from a designer’s perspective these things are so hard to work with. You have to engineer levels so carefully around these to make them fun for the player. They have very limited amounts of design space too, so I honestly struggled to finish the world where these were introduced. And what’s worse there are some mechanics that this straight up does not work with.

YaSlimeKana

So this is the first of two Slime Kana variants. This is a Blue Slime Kana. Blue Slime Kana are different because they only ever attach to Kana that end with an “i” sound… and they add an additional vowel to match with rather than completely changing the vowel. This is because of an actual function in Japanese. See Blue Slimes can only have the following letters や/ゆ/よ. And these letters can attach to other letters to make slurred sounds. For example き(ki)+や(ya) = きゃ(kya). So きゃ will match with “i” ending kana, “a” ending kana and “k” starting kana. This makes the mechanic quite satisfying for the player to use because it opens more doors for them than regular Slime Kana do. And its for this reason that they can be a bit frustrating to design around as a game designer. Another problem with them is they have to attach to a kana that ends with an “i”. This over the course of the game makes “i” ending kana being over represented in comparison to other kana. Whats more is that often you have to design levels in which fully utilise the multiple vowel sounds. But this often leads to further exacerbating the over represented “i” problem. But other than these issues, these kana have all the strengths of regular slime kana. And they allow me to illustrate an important part of reading Japanese.

Paralysis These are the Paralysis Kana. They can be moved once… but after that they turn to stone and cannot be moved. These are probably my second most useful mechanic, just after One Directional Kana. They allow for interesting level design, and they have a good amount of design space to them. Not quite as much as One Directional Kana, but still a large amount. They are also very easy to understand what they do. And they can be the focus of a level, or be used as a back up element. The biggest problem that they have though is they have a hard cap on how difficult they can make a level. This isn’t a bad thing as it does mean it’s basically impossible to make a level that is too difficult with these but it does make them a bit more restrictive as one might like in later levels.

Transform

Transform Kana are pretty straight forward. Then can become any Kana, but they can only be one Kana at a time. This mechanic probably has the least frills of any of my mechanics, and you what that’s ok. It works just fine. They ask a simple question of the player, and that question is “where am I needed, and what do I need to be?”. So the trick to designing around these Kana is making sure there is a spot that can only be connected with a Transform Kana. Which is fine as long as one is careful with the other Kana that are used within the level. If you aren’t careful the player will just plop the transform kana anywhere and not have to think at all. They also suffer the same problem that Slime Kana face in that they struggle to be the focus of a level, but they do slot into lots of levels pretty easily.

MaruKana

Here is the final Slime Kana variant. And this is yet another instance of me basing a mechanic off an actual function in Japanese. There are small added strokes called “tenten” and “maru” for Hirgana and Katakana. These will change the consonant of the letter they are attached to. In the game this often is something that is a disadvantage, not an advantage like the other two Slime Kana. Because of this you cannot finish a level if there are any Purple Slime Kana left in play. This forces the player to find the part of the level that can accommodate losing its consonant sound. Basically everything that applies to the first two applies to this one.

  DickheadKana

This is an “n”. Because they don’t share a consonant or a vowel with any other Kana they cannot match like a normal Kana. So I decided to make them the Unfriendly Kana that all other Kana hate. So for as long as an “n” is in the level, you cannot complete it. So how do you get rid of an “n”? You dump them into a rubbish bin. Which looks like this.

Bin

Once an “n” is moved into a rubbish bin both are removed from play, and the spots they occupied become empty spaces on the board. This mechanic requires a fair bit of set up to get working, but once you set up a level to accommodate them its a solid mechanic that has a solid amount of design space. One unique problem with this mechanic is using effectively uses up twice the amount of space that a regular Kana would. Because of this levels with this mechanic tend to look very cluttered and can be a bit difficult to process. Outside these problems they are a solid mechanic that just needs a bit of preparation to make work.

 

Finally we have Kana Sliders. The art for these is still under way, but what these do is they move every Kana in a row or column down one spot as long as there is an empty spot on the board in that direction. This is a very easy mechanic to design around and offers a lot of design space that had not been available for me for most of the game. Because Kana Sliders care about empty space, it allows them to interact with Slime Kana and Unfriendly Kana that no other mechanic has been able to do so far. The biggest problem with them however is they tend to make levels with ridiculous amount of moves required to complete them. There are levels that require more than 70 moves to complete with this mechanic. This can be problematic especially if the player makes a mistake early on as they will be punished especially hard for that error. Other than that issue, I love working with Kana Sliders.

And with that this weeks Kana Quest Devblog comes to a close. Next time I think I’ll pick out a handful of choice levels, analyse them, talk about how I made them, and talk about why I think they are special.

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.

Hi all! Welcome to the DevBlog for Kana Quest, where I document what I’ve been working for the week, and what I’ve learned along the way.

This week I did something I’ve never really had to do for Kana Quest before, and that is draw people in pixel art using very limited amounts of pixels. So this week we will go through the things I made and what the process for doing so was.

But firstly let me give you some context on what I’m making this for. So each world in Kana Quest has its own unique layered background art that repeats so that I can make use of parallaxing. I’m currently working on world 8 which is a homage to John Brack’s 5pm Collins St.

This slideshow requires JavaScript.

You can see in the original there are two rows of people. I’ve finished the first one, and am up to the second. And this is where this weeks topic comes in. See the people in the second row are going to be much smaller than the ones on the foreground and thus I have way less pixels to work with.

 Each of these people range from 21-39 pixels wide and 61 – 88 pixels tall. In other words they are all way smaller than any of the people at the front. Quick heads up, I’m not going to go over how I arrived at my pallet for these people. I’m going to focus on the drawing aspect for this week.

So where did I start with these? Well I started each with an idea of what the person should look like at the end. I know this sounds silly but just having an idea of what you want them to look like will help. I also made a conscious effort to make sure they would all look different from each other. But once I had an idea of what I wanted I would start with the head.

w8PersonHead

I wouldn’t go for anything super detailed, just a roughly head shaped blob. Then I would figure out what shape the head should be using what I was planning and using reference photos. Always use reference photos, if you are anything like me and have the imagination of a gold fish they will be your best friend. For this blog we are going make a caricature that you will probably recognise from sailor moon: the nerdy schoolboy with massive glasses.

neeeeeerd

Gurio Umino from Sailor Moon

For this character, I figured he would have a pretty large and round head. Which also helped create room for his big glasses. I also gave him a bowl cut to make his head even more ball like. Something that I noticed very quickly making these characters is when you have this few pixels shape is really important. You have to express as much as you can from the rough shape of things. This is why I chose glasses boy here as the example for this blog.

w8PersonHead

Once I had the rough shapes blocked out (the face, hair and glasses) it was just a matter of shading everything to give him depth. Now I am not using hard outlines for these people. You are free to do that for your own pixel art if you like, I’m opting not to because it is not in style for Kana Quest. Another thing to pay attention to while shading is to use your shading to imply shape and texture. For example on the glasses I use shading to show how thick and bulky they are. I also use skin shading to show the curvature of his face.

But of course this is just the face. As I said before, for each of these characters I started with the head and worked my way down. The reason I did this is because by starting with the face I can get a good sense of what sort of personality I want to depict. In the case of this one, I wanted him to be pretty stiff and awkward looking. I also wanted him in the classic Japanese School uniform winter blazer. So what I did is I created a basic shape of his body; in this case a rigid rectangle. Then I placed where the hands and feet would go. It’s always easier to place where you want the hands and feet to be and work back towards the body than the other way round. In this instance the hands and feet were just straight next to his body, so it would have been pretty simple either way. Then I drew in the outline of his blazer and finished with shading. Once again keeping in mind that we need to use shading to help the viewer infer what the shape of everything is.

w8PersonBody

And there we have it! A finished person. Now if you excuse me I have another five of these things to make before I can finish making this world.

Anyway I hope you’ve enjoyed this week’s devblog. I unfortunately wont be uploading a devblog next week as I will be exhibiting Kana Quest at this year’s Animaga in Melbourne. If you are coming, please come find me at in the indie game section, say hello and give the game a shot! But until next time, take care and have a great week!