Dragon Words 2 is a 2D puzzle/word game available on Facebook, Android, iOS and Kindle.
This is the most recent game I have completed. It is a Flash game programmed in Haxe, based on our previously released game, Dragon Words, which is no longer available. The game play is very similar, however the UI and level selection modes have changed vastly. In this project, I was responsible for programming the level selection mode, updating all the UI elements, updating some elements of the game play, and testing and fixing bugs.
I am quite proud of the level selection (or map) mode, as it was quite tricky to implement, but the end result is very aesthetically pleasing, and considerably easier to extend, as opposed to the map mode in the original Dragon Words game. It is a semi-randomly generated constellation, with planets, nebula clouds and stars. Each star in the constellation is a level that can be clicked to take the player to the game mode.
In order to produce something that looked organic, but still had a slight pattern to it, I stored a large array of a sequence of random numbers (generated once, so the map looks the same each time the game is played), and applied these to a cosine function. This creates the wavy but irregular line that the levels follow. The clouds and planets are assigned positions relative to the levels (but again, with the sequence of numbers used to offset the positions) so that they are somewhat evenly spaced, but not too ‘neat’. I added some colour offsets to the clouds, and created a slight gradient effect when switching from one colour group to another.
Players are able to scroll through all of the levels, and I have added a parallax effect which helps to give it a more three-dimensional feel. In order to keep the scrolling smooth, I pre-store all of the positions of the map elements, and load/destroy the images as these elements come on and off-screen.
All the in-game pop ups (or dialogs) were updated to make them more user-friendly and aesthetically pleasing. Updating them required both tweaking the code and replacing the image assets used. In some cases it also involved programming new animations. Since this game is available on various devices, I had to ensure that these pop ups displayed correctly in both landscape and portrait, and on many screen sizes. It took many attempts to get the sizing and centring correct for both tiny slim mobile phones and large almost-square tablets!
We added the feature of Lives to this version of Dragon Words – if you lose or quit a level you lose a life, and these replenish over time. I worked with the Production Manager on implementing this, which required using PHP scripts to store missing lives in the database, creating new dialogs, and lots of testing.
Many of the levels had to be updated to introduce new mechanics, I was responsible for testing and fixing bugs with these. I also played through 200 levels to help with the difficulty balancing!