Jan to Apr 16
Make a multiplayer mobile game that supports concurrency and live playing.
A brief introduction
As part of our software construction course, our team of four, made up of people from different cultures, came up with Nimbus Run, an Android game that utilizes network and concurrency skills we picked up during the course.
When we first came together to brainstorm for ideas, we wanted to create something simple, yet fun to play. One of the games that we aspire to surpass, is the japanese arcade game named “Bishi Bashi”. It is made up of a series of games where multiple players compete with each on a series of mini games on a real-time basis. However, we realised that implementing the game mechanic for so many games was time-consuming. The mini game ideas that we came up with were pretty impressive and relatable to among our peers. The concept of "Snail vs Torty", our initial concept, is a game where two players fight against each other in a series of mini games to win the top score.
Eventually, we settled on one out of the many “out of the box” games that we came up with.This final product is none other than Nimbus Run. It’s a Fun Run-inspired racing game with our Asian mythological and legendary twist to it. Everything in this game is epic – epic backgrounds, epic gameplay, epic sounds and of course epic characters that are based on cloud. Hence the game name, Nimbus Run.
Characters & theme
Our in-game characters are created based on the theme of Asian mythologies. These characters were inspired by the diversity in our group. For example, Krishna and Buddha are from the culture of our Nepalese member. I took on the task of designing 2D characters that are coloured in a wide spectrum of colours to show the level of diversity and vibrancy of our group. All characters are eventually put on clouds to align with the space cloud theme of the game.
The game world is based on a celestial setting, the otherworldly kind of setting that I imagine these characters would be in. It's a mish-mash of different Asian culture settings, with the idea of celestial beings originating from Chinese, flower from Japan. The same swirls used in the character designs get replicated in the clouds illustrated here.
Of course, the characters don't just fly through the skies. Gravity still apply, and platforms are illustrated for this purpose. A total of 4 types of platform is created to vary the obstacles characters face. We have some character skills that make getting past certain kinds of platforms hard.
Built from scratch and powered by libGDX, this game took 3 months from brainstorming to the completion. This game has to be multiplayer and network-connected. These requirements gave rise to challenges such as concurrency and network connectivity issues. We limited the number of players to four partly to increase engagement to a suitable level, and partly due to the limits of KryoNet. In a game session, all players have to be connected to the same Wi-Fi network. One player will double as a "server", while up to three other players can play as "clients". During the game itself, a UDP packet is sent to the "server" if a player moves, and the server in turn broadcasts the updates to other "clients". Detailed thread-safety management and game mechanics can be found in this PDF file.Try Nimbus Run on Android