Slip in your best shoes and tread upon the kingdom roads.
Help a bard, a knight and their fantasy friends to find their object through a funny polished puzzle game. But think before you move because it’s not going to be a stroll in the park! The Bardadum world can be full of surprises...
In the previous article I described which tools and engines I have used. Now I will talk more about code and technical problems.
One of the main problem was to design all game's architecture. With several types of tile I had to think about it really seriously. Hopefully I decided to create a GameElement class that is the base class of all tiles, characters and targets in the game. I also wrote a SimpleTile class to show unanimated tiles and a ComplexTile tile that factorize all animated tiles code.
Characters movement animations were a bit hard to code because they had to be smooth and users could cancel their actions. All player actions are made quickly and my code had to deal with concurrent actions. To make matters worse, we first decided to let the user move the character's ghost around the level and start character's move moving on tap release. When we started to have big levels - at the end of the 1st world - we felt that it was breaking the player's experience by forcing him to wait till the end of the animation. So I started from scratch with the focus of the user experience.
A common problem we saw during the beta test - thanks to all our friends and familly for their help - was to trace the correct path. This was especially visible on small smartphones where user's finger has to target small tiles. Testers used to move very quickly and often move their fingers on wrong tiles.
We deciced to add a predictive path algorithm to help the player. This algorithm was hard to create but this decision fixed users frustration and enhanced widely their experience.
Thanks for reading. Next article is on the rails ...