dev blog

Why we struggle with Fairy King 2 Details Published: 05 March 2017 Hits: 884 We presented our alpha-version of Fairy King 2 for AirConsole at Basel Fantasy in May 2016. Now the time has passed on and we are already in February 2017. So what happened? We discussed the feedback for Fairy King 2 and one of the main problems was the stuttering movement of Fairy King. Well, there is a technical reason behind: We want to publish it for AirConsole. This is some kind of service where your game is hosted on a website. You can open this page on your computer screen or with the browser of your TV screen. The page will show you a session ID and everybody in the room can join the game on a smartphone (via website or app). The smartphone will work as 'controller' and the website will work as 'screen'. All actions from the users will then go over the internet to the AirConsole server network and the result is sent to the screen in your room. Even though all devices are connected via the same local network, all messages have to take the way through the internet. This results in a high latency. The engineers at AirConsole did a lot of work to reduce this latency. Some details they explaned on their website (direct link: We presented our alpha-version of Fairy King 2 for AirConsole at Basel Fantasy in May 2016. Now the time has passed on and we are already in February 2017. So what happened? We discussed the feedback for Fairy King 2 and one of the main problems was the stuttering movement of Fairy King. Well, there is a technical reason behind: We want to publish it for AirConsole. This is some kind of service where your game is hosted on a website. You can open this page on your computer screen or with the browser of your TV screen. The page will show you a session ID and everybody in the room can join the game on a smartphone (via website or app). The smartphone will work as 'controller' and the website will work as 'screen'. All actions from the users will then go over the internet to the AirConsole server network and the result is sent to the screen in your room. Even though all devices are connected via the same local network, all messages have to take the way through the internet. This results in a high latency. The engineers at AirConsole did a lot of work to reduce this latency. Some details they explaned on their website (direct link: https://docs.google.com/presentation/d/1t40cmrv7NT45rRwsJUXqZC2uOmZBS0Cbs9jG1J_Jdzc/edit#slide=id.gd83ddb292_1_17 ). Ok, but then we have the next limitation: You cannot send more than 10 messages per second per device ( https://developers.airconsole.com/#!/help ). This can be assured by a rate-limiter developed by AirConsole. We wanted to use the same kind of control as we did it for Fairy King 2: The movement with the finger on the smartphone screen directly moves the player over the screen. For this we just calculate the relative coordinates of the smartphone screen and send it to the server where it is adjusted for the TV screen. This menas that our updates of the position on the screen will be updated only 10 times per second. This gives you a feeling as if you would play a game with 10 fps. That's not what players like... Now there are different approaches to solve this problem: If you record the path of the movement of the finger on the smartphone screen, you can create nice and smooth movements on the TV screen. No more stuttering, but a large delay. That's not the right way for an arcade game... Another solution would be to interpolate between the position updates. This also leads to smooth movements, but you still have the delay. You can only interpolate a path between already sent positions. What we really need is a prediction or extrapolation, where the next position update will be. This allows continuous movements of the Fairy King without stuttering. But extrapolation is always just a guess which can go extremely wrong. This makes you feel as if Fairy King would not follow your movements on the smartphone screen, and this is very frustrating. We like the idea of AirConsole and the multiplayer possibilites it would give for Fairy King 2. And this is the reason why we could not publish Fairy King 2, yet.

Fantasy Basel aka... Details Published: 09 May 2016 Hits: 1321 ...how to get a game ready for exhibition in only three weeks After our successful release of Sam the Sumbot in february we came to the realization that Sam wasn`t well suited to showcase at big exhibitions. At Grafik16, the people digged the graphics a lot but it was very exhausting for them to do maths and concentrate with so many people around.



So, what to do? Fantasy Basel was only couple of weeks ahead.

We were already working on a sequel to Fairy King, but we had lots of technical issues due to targeting AirConsole instead of mobile platforms. We hadn`t even really started implementing new features because of this. But like in the movies, just in time we received the awesome news that Tobias succeeded in managing the latency of the controller (aka the smartphone), so we finally had a GO.

Heureka!

We had a lot of code from Fairy King 1, which we only needed to adjust for multiplayer, the new platform and add new content. To get all of this done, one of the most important things is a good management of the tasks to do. With the help of Producteev, we had a very good grasp. It`s a platform to create workspaces, assign tasks and mark them as started/paused/finished. To discuss code, we used slack.

A short overview of what we had to do: - Implement multiplayer (includes: shared lifepool, different shots, death on logout, and so on)

- Implement end of game screen with individual scores

- Implement countdown at the beginning

- Implement item drop system and balance loot drop

- Implement endboss

- Implement minions and their logic

- Create more levelcontent

- Final balancing

- and so on... As you can see, there was much to do and very little time. All four coders invested their whole spare time into these tasks. We also met twice to develop together, which was very fruitful and good for our motivation. Also, 4 brains think smarter than just one.

We actually built the final version of our game on the morning of the exhibition without being able to really test it for new bugs. DO NOT DO THAT ^^. Fortunately almost everything went fine, we still had to adjust certain things for the second day (easier level design, fixes on multiplayer issues,...) but all in all it was very much playable and apparently lots of fun according to the testers.

I also spent lots of time getting the decorations for our booth ready. Our goal was to stick out of the mass, since there`s so much going on and so much to see at the biggest Games- and Comic Con in Switzerland! Michi got us a huge poster, I myself cut out lots and lots of Fairy King figures to put around the screen. Also, I prepared a booklet in which people could write us feedback and I created a newsletter list to subscribe. Our biggest feature I`d say was our awesome cosplay, which Alexander and his brother created for Fairy King 1. No better way to get attention than to walk around in a huge pink box:



Everyone digged the mighty Fairy Cosplay lots. They took pictures next to him and some even came to our booth to see what`s it all about. All in all we had much fun and were rather successful in showcasing our new demo version of Fairy King 2: Rise of the minions. We will definitely keep going on this road (after a well-earned break).



Greets Béatrice

