Archives for posts with tag: Educational Game

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!

Advertisements

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 and welcome back to the Kana Quest devblog!

This last month was a busy month for Kana Quest development because for the first time, we’ve had to deliver to an “official” deadline. There have been unofficial deadlines before, like PAX and AVCon last year, but those deadlines were a bit fuzzier. They were more “make sure your game is in a presentable state by this time” sort of a deal. This deadline was much more concrete.

So what was this deadline? Well as a part of receiving funding from Film Victoria I have to complete milestone reports to prove to them that their money is being well spent and that I am on track to completion. For this milestone I said I would have the game’s art complete, and the game’s mechanics complete. And… we got there. All that remains at this point in time is bug fixing, level design, tutorials and balancing. That’s actually still quite a lot of things but lets not focus on that. Let’s focus on fun stuff. Like the full list of all the different kinds of Kana in the game!

STONE KANA: These poor kana have been turned to stone, and thus cannot move.

CtStoneHa

 

MYSTERY KANA: Look at these shifty looking Kana. They’re hiding something… Oh wait they’re hiding their true face! Pay attention to what they do and do not match with to discover their true identity.

mystery

 

ONE DIRECTION KANA: These Kana can only be moved in one direction. They have a big arrow on their head showing which way that is.

OneD

 

ICE KANA: These Kana have been encased in super slippery ice. They will keep moving until they can’t. Getting them to go where you want can be challenging.

IceDemo

 

GHOST KANA: These kana have lingering regrets. Mostly not wanting to pass onto the other side. But that’s no problem, you can bring them back to life if there’s enough friendship to go around. Make a chain of Kana the length of the number on a Ghost Kana’s head and they’ll come back!

GhostKana.gif

 

SLIME KANA: These gooey Kana don’t like to make friends. But they do like helping other Kana! Attach one of these Kana to any other to change their vowel sound!

SlimeKana

PARALYSIS KANA: These Kana are sick! You can move them once before they turn to stone!

Paralysis

 

BLUE SLIME KANA: These Slime Kana are a bit picky in which Kana they help. They will only help Kana with an “i” sound. But once they are attached the affected Kana will have two different vowels to match with other Kana. This mimics how the “y” sounding letters in Japanese attach to “i” ending kana to create blended sounds.

Eg. (yo) よ + (ki) き = (kyo)きょ (as in Tokyo)

YaSlimeKana

 

SHAPE-SHIFTER KANA: These Kana can become anything! Whatever you need them to be, they can be it!

Transform

 

EVIL SLIME KANA: These Slime Kana nice like the others. They are angry and will stop you from completing a level unless they are attached to another Kana. But they make it harder for you to match with other Kana. This mimics the tenten and maru symbols in Japanese. You attach these symbols to letters to change the consonant. E.g. a (ta) た becomes a だ when you attach those two dots called tenten to it.

MaruKana

 

JERK KANA: This kana is called “n”. “n” for “n”obody likes them, because they are a jerk. They’re mean, they call the other kana names. They are so unpleasant that other kana cannot be happy if there is one near them. Fortunately there is a way to get rid of them. Move a jerk kana into this little portal thing and they will GO AWAY. Where do they go? Don’t worry about it.

 

And that is all the Kana! Its been a long road getting all of these in the game, and I can’t wait for you to figure out all the puzzles they are going to make.

Anyway, I’ll see you in the new year! Have a happy and safe holiday season, and from me and the Kana “明けましておめでとう” (Happy new year in Japanese)trailerWIP2

 

Hi all, I’m Theo, the lead designer of Kana Quest. I’d like to introduce/reintroduce you to the Kana Quest DevBlog.

Why do I say “introduce/reintroduce”? Well the answer is this is the first Devblog I’ve done for Kana Quest in a while. And Secondly this will be the first Devblog that I will be sending it to everyone who has signed up to the Kana Quest mailing list. Which is something I am going to be doing from now on. And because I am going to be sending these blogs out on the mailing list, I am going to be making a few changes. Mostly being that I am not going to be posting these weekly like I used to. I don’t want to spam the inbox’s of people, and doing one a week was too much for me. So from now on, there will be a new Kana Quest devblog on the second Saturday of each month.

So for those who are new here, what can you expect in these devblogs? You can expect updates on how the game is coming along. Bits of news, interesting things that I’ve learned from making this thing, new features, and my general process.

So I’d like to start with the news. Lets get the bad news done with first, unfortunately Kana Quest will not be exhibiting at PAX Aus this year. Which to be honest is really bumming me out. What happened was that I was waiting for an inflow of cash before I booked a booth this year. And by the time the money came in, all the spots had been taken. If any of you were looking forward to playing the game there, I’m so sorry to have let you down.

But with the bad must come the good! And the good is that Kana Quest is no longer a solo project! I have my team member to come onto the project and I couldn’t be happier. As of this week the wonderful Reuben Covington is now the lead programmer for Kana Quest.

IMG_0277

Here’s Reuben helping me set up for AVCon (Anime Vid Con in Adelaide) earlier this year.

Reuben is an incredibly talented designer and programmer whospecialises in Collectable Card Game designs (and is also currently working on Infinity Heroes which you can check out here –> https://www.kickstarter.com/projects/elphie/infinity-heroes-competitive-card-game-for-mobile-p ). The reason why I think was my choice was because he has an incredible knack for bottom up design work. This is the sort of design that starts with a mechanic and iterates onto it to create great gameplay for the player. Whereas I am a Top Down designer. I start with a desired end goal and create mechanics to achieve the desired end goal (e.g. Wanting a puzzle game that teaches Hiragana/Katakana without any rote learning or pop quizzes). Both of these approaches I believe are super important, but they both have their drawbacks and strengths. Because of this, I am certain Kana Quest will be a better game with Reuben’s input. And hopefully, with his help, Kana Quest will hopefully be finished far sooner than later.

Speaking of Kana Quest being finished, when is that going to be? Well I know at PAX Aus last year I said that it would be in 2018. Sorry that’s not going to happen. But I wasn’t far off. The plan is to essentially finish the game in the first quarter of 2019. And now with Reuben’s help, I’m more than confident we can bring the game to you then!

What makes me so sure I hear you ask? Well for one thing, in terms of art assets, the game is a little over 80% complete! And for me, the most time consuming art assets to produce are by far the world art that go behind the puzzles. As of this week I have finished 11 out of 13. At my current estimates I am planning to have finished all the art by the end of October, or by early November at the latest. Speaking of art, here’s the world art for worlds 8-11.

World8pogoCat.gif

This one, was inspired by John Brack’s Collins St, 5pm. And you know… rush hour in Japanese train stations.

World8-9Transition.gif

Oh and this one is of the main street in Akihabara (The nerd capital in Japan). Along with some not so subtle Vaporwave jokes.

world10.gif

This one I mostly wanted to capture the feel of how lights reflect at night in big Japanese cities.

world11.gif

And this one is the obligatory reference to Hokusai. Fun fact, all games set in Japan by law legally have to include some reference to the Great Wave. *previously stated “fun fact” is in fact a fabrication*

I’m really proud of all the art that I’ve made for Kana Quest so far and I feel like I’ve come a LONG way as a pixel artist since I started. And I can’t wait to show you all the last two worlds. I am going all out for them.

But speaking of my pixel art coming along a long way since I started. For some of you who might have seen Kana Quest at PAX last year you might not have seen that I have changed the logo. Why is this? To those of you who’ve seen the game at an event this year, this will be the same logo that you’re used to. And if that’s the case, no I’m not going to upload the old logo because I don’t like it, and I like this new one much more.

KanaQuestLogoGifBorder

See, isn’t it pretty? I know I should be humble, but this logo was a lot of work and revision and I’m still kinda amazed I made something this cool.

This basically all I wanted to share with you all today. If you have a question about anything to do with the development of Kana Quest, please feel free to ask about it. I’d love to answer your questions. If you’d like to see more regular updates, you can follow the development on these social media channels:

Until next time, take care and have a wonderful day.

 

This was another week of working on funding applications so I don’t have a lot to share when it comes to Kana Quest. So instead I just wanted to talk about a design tool that I use to analyse new games when I play them. Just a heads up, this is just a lens to use when looking at video games. Just because a game looks bad with this lens, it doesn’t mean the game doesn’t have redeeming qualities and vice versa. This is just a way of looking at games that will allow you to see different strengths and weaknesses within games.

So what is this technique? I call it Game-Player Relationship Analysis. Basically, imagine the game you are looking at is a person. And what does the relationship that you have with this person (game) like? For example, the relationship you have a Pinball machine is similar to the one you have with a street performer. They entertain you for a few minutes and you give them a little bit of your spare change. Whereas a claw machine in your local shopping mall is closer to a shady figure playing a cup and ball game. They promise you a fair game of skill, but the reality is you are never going to win. The relationship you have exists entirely to con you out of your money.

In both the examples above I use this Game-Player Relationship Analysis to contextualize the differences of two outwardly very similar games. And more specifically how the two games try to obtain the player’s money. But how money is exchanged is only one type of relationship a game can have with its players.

  • Money Exchange Relationship
  • Time Exchange Relationship
  • Mid Interaction Relationship
  • User Defined Relationship

The Money Exchange Relationship as discussed before, is about personifying how a game goes about obtaining the player’s money. They can be like street performers who ask for a few minutes and a few cents. They can be like conman with the cup and ball game. They can be like a drug dealer who gives you your first hit for free, but then expects you to keep paying up to get your fix. They can be like your favorite worker at your local bookstore; you pay them 20-60 bucks and they give a book for you to read, consume, discard and repeat the process.

The Time Exchange Relationship is basically how the game treats the player’s time. Is the game respectful of the players time? Does a game demand a large time investment on the part of the player to make the relationship work? If yes, how does the game make it up to their players? Does the game send you constant notifications to remind you that it’s still there and that it needs your love and affections non stop throughout the day and throughout the night? Does the game punish you for playing on your own time? Does the game ask you to revolve your entire life around it? As a quick aside, recently a lot of the big publishers as well as free mobile games have been making a push for “live services” for all their games. And the thing that worries me about these games is that the Time Exchange Relationship that these games have are quite toxic. If you had a partner that demanded you spend a third of your day with them, destroyed your things if you didn’t spend time with them, and kept messaging you throughout the day regardless if you wanted alone time or if you wanted to see your friends, you would call that an abusive relationship. But these “live service” games do a lot of these things as standard, without considering the ramifications this can have on the player.

The Mid Interaction Relationship is how the player and the game interact during gameplay. For example Kana Quest was intended to have a Mid Interaction Relationship that mirrors that of a good teacher. A teacher that points out your mistakes but doesn’t punish you for them, and that masks boring rote learning with something more interesting. Of course whether or not I achieved this, is not for me to decide. But some games are like story tellers (Visual Novels) and others are like tour guides (open world games). Some are like strict personal fitness trainers constantly pushing you to get better (Dark Souls). Now technically the Mid Interaction Relationship is separate from the Money Exchange Relationship and the Time Exchange Relationship  but often there is an intersection between these categories. Especially with F2P (free to play) games where the gameplay is interrupted by adds or by running out of energy. And of course if a game is large enough to have a lot of desperate elements, the relationship you have with one of those elements can be different to the relationship you have with another of those elements.

The User Defined Relationship is where things get weird. See much like people, not everyone has the same relationship with the same person. For example the relationship I have with my mother will be very different from the relationship you (the reader) have with me (the author). See the other categories care about personifying the way that games interact with their players. This cares about the inverse. It is about personifying how the players interact with the game. This category is weird not only because everyone’s relationship is slightly different, but because the relationship changes with time. I used to play Pokemon to be taken on a wild adventure with the world’s coolest tour guide, but now I play Pokemon to catch up with an old friend.

So how can we use this for making better games? Well the long and short of it is to try and craft the most effective Game-Player Relationship possible for the game we are making. Have an idea of what sort of person you want your game to act like. Make conscious design and business decisions to achieve this. And of course play test with a lot of people to see if your game is interacting with them in the way you want. Don’t be surprised if play testers make Mid Interaction and User Defined Relationships that you didn’t anticipate. Just make sure that these relationships are positive.

If you find using this technique, your game sounds like an asshole that nobody would want to be around, then its quite likely that your game has a problem. And much like people, it’s okay if your game isn’t perfect. Sometimes business forces you to have a Money Exchange Relationship that’s a bit shitty, but you need to be able to make it up to your players elsewhere. Case in point, one of my personal favorite games is Magic the Gathering. It’s Money Exchange Relationship is awful, but the Time Exchange Relationship, Mid Interaction Relationship, and User Defined Relationships are all so good that for me its worth it.

However if you find yourself in a relationship with a game that constantly tricks you out of your time, and money, only to then not give you an experience worth having for your investment, then its time to dump that game. It doesn’t deserve you, and you deserve better.

 Anyway that’s the Kana Quest Dev Blog for this week. Hopefully by next week I will have finished my funding application and I can show off some new work to you all.  But before I go, have some completely unrelated Steven Universe fan art, because who doesn’t love a pretty picture. Anyway until next time, have a great week.pinkDiamondHighRes

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.

And here we are, the end of 2017. In March this year I decided that I should be devoting all my time and effort into finishing Kana Quest. So much has changed over the course of these months and I decided as a way to wrap up this year we would look at how Kana Quest has evolved.

Just a heads up I will likely not get every detail in the chronology perfect. This is just a chance for me to look back and see how much I’ve achieved this year.

March-April 2017:

So here is where we began the year. Kana Quest was something I had worked on every now and again since 2015. And to be honest not much was happening with it. But after taking a long hard think about where I wanted to be professionally in the next 3-4 years I realized Kana Quest was the best way for me to get there.

Below is the closest I have to footage of what the game looked like at the point I started work.

But the big push that got me to work on Kana Quest was AVCon. I had seen a post in the Melbourne IGDA page for devs who were interested in showing off in Adelaide. And I decided, I should do it. So the first thing I started work on was the Sakura background of the first world. I didn’t need to have the whole game done, I just needed the first world or two done so that folk could get an idea of what the game is like.

March was also a big milestone for me as it was the first time I took Kana Quest to the Melbourne IGDA meetup. Where I learned that my puzzles were hard to see, the matching effect was hard to see, and my tutorial was terrible (I’m *never* gonna hear that last piece of feedback *ever* again 😛 ).

About mid April I decided that Kana Quest had very little in the way of character, so I decided to try experimenting with anthropomorphized Kana tiles in an attempt to fix this.

The last thing I started working on before the end of April was a backdrop for each puzzle so that the player could see the important information more easily.

 

May – June:

After making the design for backdrop in late April, May involved me actually implementing it. This meant sectioning each part up so that Unity could create a different sized background based on each level, this honestly proved to be much easier than I thought it was going to be.

Then came the implementation of the Cute Kana. Following a positive response to the experiment I did in May, decided to make all the Kana have cute little faces to give them character.

Of coarse the hard part was managing all these new animations attached to the same prefab. Which led to this nonsense. Actually the current animation tree is even more messed up. Here I only have the normal Kana animations hooked up, not the stone kana, none of the Katakana variants, and none of the other mechanics. Sooooo yeah navigating my animator panel is hell now :/

Late May and early June was where I started putting more effort into my tutorial, rather than just explaining to every person who played it what one earth was going on.

Another massive change in this time period was changing how tiles moved so that they would move with the mouse when they were dragged. This improved the feel and user experience of the game massively.

And I also added a medal system so that players could kind of choose their own difficulty setting. This meant players weren’t punished so harshly for not being able to finish the level in the minimum number of moves.

July – August:

This is the point in time where I knew that I had been accepted into AVCon, and the countdown to that was coming. So I buckled down on making everything look as pretty as I possibly could, by reworking old bits of UI to make them work with Kana Quest’s new look.

But the most important part of July was AVCon, and it was amazing.

It was the first time I got to see non friends and non game dev people playing my game and it was such a cool experience. And I got to meet Carmine the developer of Icebox: Speed Gunner and quite a few people from Team Cherry; the makers of Hollow Knight.

Shortly after I got back after AVCon I finished implementing Katakana into the game.

Its always been the plan to include Katakana in the final game free of extra charge. Most of Kana Quest’s direct competition all include it as additional DLC or as a sequel and I wanted to offer my players greater value for their money.

But once I had my Katakana in, my count down to PAX truly began. There were three things I needed to get into the game before PAX. A better tutorial, world 2 being implemented, getting it working on Android and sound. As I had been working on world 2 in the lead up to AVCon I decided to get that done first.

And by the end of August I had basically all but finished making world 2. Leaving me two months to work out the sound and tutorial.

September – October

So these were the last months before I would take Kana Quest to the biggest stage it had ever seen. I was stressed beyond belief. Originally I planned on making the music for Kana Quest myself, but a quickly realized that it would take me way too long for me to do. So I decided to employ the amazing Nicole Marie T (https://twitter.com/musicvsartstuff) for the music. Not only did she manage to compose me three different pieces of music within a very tight time window, but she also produced a product of much higher quality than what I could have produced if I did it.

Since I had Nicole on music and I’d managed to get World 2 done pretty quickly I was able to work on porting the game to Android. And let me tell you, there is a reason every indie dev and their dog seems to use Unity. That reason is porting your game is obnoxiously easy. I had it ported within the first week of September.

With three out of four things basically taken care of so early I was thinking, maybe PAX will be fine. After all I just have to fix up the tutorial and I’ll be perfect.

Rule one of game design: never ever think “oh this will be easy”. Because if you do, it wont be.

First thing I changed to make learning the game easier was the completion gauge. The idea being that if the player could see the how close they were to completing the level visually it would help them learn the goal faster.

Even once the gauge was added I didn’t finish reworking the tutorial until the end of September.

Then I made one laaaast minute change that I probably shouldn’t have.

See I have a game reset function in Kana Quest if I want to reset the memory. Thing is I forgot to factor that in with the hint screen so the hint screen would never go away once the memory was reset. This was a problem at PAX as we had to restart the application every time this happened. Fortunately this was the worst bug I encountered during PAX.

November – December:

Honestly not much got done over these last two months. About the only major thing I achieved was finishing the art for world three. The main reason I didn’t get a lot done was I was just burnt out from doing PAX.

Anyway. I look forward to writing for you all in the new year until then take care.

 

Hi, sorry for missing last week’s devblog. Was just working on stuff that wasn’t very interesting to show off, so I decided to leave it be. But this week we have some fun stuff to look at!

First up is World 3 is in the game!World3Animated.gifWell, at least the art assets are in the game. Getting the art in can be a bit arduous. First thing I have to do is position all the sprites so that they line up with the previous world’s sprites, then I have to create a new parallax manager for this world. All this does is it manages the different layers and makes sure they move the right amount. Then I have enter in all the sprites into the correct layer and set the movement modifier for each layer. Its just one of those things that isn’t complicated but just takes more time than you think.

Speaking of things that aren’t complicated but are time consuming: Pallet Swapping. So something I do for each world is I create new color variations on my UI. This is so my UI matches the color of whatever world the player is in.

This is not a complex task, but boy is it ever mundane. Open file, select color, replace color with new color, repeat for remaining colors, save, repeat for the next 80 something UI elements. Doing all the UI recolors took me about 75% of a full day to finish. The evening that I finished doing them I was talking to a friend and realized that if it took me most of a day to do the recolors if I had to repeat that process 15-20 more times that would take up most of a month to do. Not great. So I had an idea, I’m going to spend a day or two making a unity plugin that automates the process for me. You just give Unity all the files you want it to modify, each of the colors in the original sprite, each of the new replacement colors, where everything should be saved, and what naming convention it should apply. And when all is said and done I should even be able to sell it on the Unity Asset Store for a buck or two.

Finally I got the bare-bones of the next mechanic into the game. OneDirectionTilesVer1GIF

These are One Direction Kana. They can only move in one direction… also they love Harry Styles. They are “functionally” complete in that you can’t make any invalid moves with them but the game currently lets drag the Kana in the direction of an invalid move, it just then pops it back to where it began because it was an invalid move. I’m also not completely sold on the visuals of the mechanic yet, but hey its a placeholder so it will change soon enough. Anyway I decided to make this mechanic the next mechanic because its a pretty simple mechanic for the player, and it doesn’t have a requirement of learning more Kana to make the mechanic work (unlike the Mystery Kana). This is important as the start of Kana Quest has a really high learning curve, and I need to give the player a breather and some time to revise the Kana they’ve seen.

So before I head off, next week (23rd/24th) will be the LAST Dev Blog for 2017 (as the following Saturday will be my birthday and the day after that is new year’s). So what we’re going to do is, take a look at what’s changed with Kana Quest since I’ve been working on it full time. Just to see how far we’ve come.

Anyway, until then, Have a great weekend and Happy Holidays!