At Zenva, we are happy to announce the first alpha release of our retro RPG Huungree, available only for Android for the time being.
If you have an Android phone and love RPG games we need your help!
We want to gather as much feedback as possible to make the game better. There is a lot to polish but we want to focus on what’s needed the most.
How can you help?
1. Download the gameGET HUUNGREE FOR ANDROID (FREE)
2. Leave us a high star rating in the Play Store.
4. Share the game link with your friends!
Three maritime super powers dispute the new continent of Tamaca. The Nothul Empire and their heavy troops occupy the north. The Ghornia Queendom took over the coastal trade. The Republic of Ingeber and their privateers went inland and took over the Mystical Cities. You play the role of Jakkal, aspiring privateer from Ingeber. You’ve just arrived to Crab Bay to join your older brother Jekkel, a seasoned privateer who is in the Mystical City of Crisal, far inland in Tamaca.
Development process and tools
The game is built with HTML5 using the mainly the LimeJS framework. We are also using JQuery and Underscore.js, mostly for the GUI. Phonegap 3.1 was used to pack the app as a native Android app, and to carry out operation such as the back button to quit the game, and getting the Android version for screen scaling (see below).
There are pro’s and con’s with using HTML/CSS for the game GUI. Making the options and info screens with HTML+CSS has the advantage that it’s much faster and easier. Debugging a HTML page with the browser inspector (firebug in my case) allows you to quickly get the style and dimensions right, as opposed to using LimeJS buttons and panels and label objects.
By using CSS3 transforms, it was possible to scale the content so that it fitted all the screen without losing the aspect ratio or ending up with weird font sizes in different devices. This was tested in small phones, big phones and tablets and the look is consistent after the issues described further below were solved.
The drawback of using HTML+CSS templates in your game is that you end up with a mixture between the CANVAS element with the game itself, and these HTML screens, which doesn’t allow you to use hardware accelerated canvas libraries or third-party tools like CocoonJS.
Another problem with the approach taken is that the screen width is not measured the same in all mobile phones, so the CSS3 scaling of these screens could end up being wrong. In this particular case, Android version 3.0 measures the screen differently, but since we identified the issue we were able to adjust according to the version.
Regarding the LimeJS framework, it quite good but has some performance issues when you have too many objects (such as map tiles). It is also not really conceived for tile-based games, so maybe it wasn’t the best option here, but it takes care of so many things such as screen size, touch events, etc, that it is a good engine to use if you are cool with the limitations.
To solve the performance issue with the tile map (too many tiles made the game small) I opted for just exporting the tile map as an image, then using a tile approach just to define the blocked cells where the player can’t go through. This increased the performance of the game a lot, but it won’t be as easy to generate random maps, since the server would have to generate one and then save an image of it for the game to load.
Making an RPG
Even though I had made several short RPG demos, making a full RPG is much different. The level design is not simple as you have to consider that the player could take many different paths and routes to a certain place or battle. In this case all you can do is make assumptions and adjust as you play.
Setting the strength and the rewards of the enemies is a challenge, that is why it’s so important to play it many many times and to have other people play it and give you feedback. Making an RPG or a game were resources, money and other stats are key elements requires basically “economy planning”. You need to allocate resources in a way that makes the game not too easy but also not too hard.Important to say though that this is a very welcome and interesting challenge. The process of tweaking the game and creating more levels and content is quite fun and stimulating.
The storyline and characters were written down from beforehand and the plot will unravel as new levels are added to the game. I recommend you write it down and make sketches of the maps and events before you start coding, as it will illuminate your way a bit, but also be prepared to change it many times. If you want to code an RPG but don’t want to spend time on the story I recommend you add someone to your team who is into that, as RPG’s need to have a rich story even if the gameplay is super repetitive.
The challenges we have ahead with Huungree have to do with:
1) polishing it’s rough edges when it comes to UI and visual cues (it has many as you will see)
2) finding a gameplay this is unquestionably fun (for RPG lovers, not for everyone). So far the game is fun to play for a bit but doesn’t have much depth or replay value. Generating some of the content in a procedural way will definitely make the game re-playable. Also, adding more features to the battles, sounds, and making the GUI a bit more ergonomic will add heaps of value.
3) adding some sort of tutorial or scaffolding system so that the learning process is softened a bit.