Solenia

Solenia LogoSolenia is a “space resource trading game” for the Android platform. It was the first game I created using the Corona SDK and Lua language. While I’ve had extensive experience developing mobile applications before, I welcomed the challenges of developing a menu and data heavy game on a mobile device.

Overview – Project Details

Development Time: 1 Month
Platform: Android
Roles: Designer, Programmer, Artist
Tools: Corona SDK, Lua, Photoshop

Gallery – Screenshots

Video – Gameplay (Introduction & Tutorial)

 

Overview – Synopsis

When I first set out to create Solenia, it was with two primary educational goals in mind. The first was to learn  Corona and Lua. I’ve written a number of native Android applications in the past, but implementing a game in native Android and creating a consistent experience between various form factors is usually a time consuming process. Additionally, porting a project to other platforms, like iOS, is a headache at best. Corona is a cross platform 2D engine that really sounded perfect for what I wanted to do, and a concept like Solenia seemed the perfect way to learn this SDK.

My second goal was to better learn and understand UI design. Android is run on thousands of different resolutions, screen sizes, aspect ratios, and pixel densities. I wanted to challenge myself by making a menu-heavy game, that would force me to overcome these obstacles when presenting a large variety of data to the player. Again, a concept like Solena was perfect for this task.

Development of Solenia was a resounding success towards those two goals. In just a few weeks I was able to learn Lua and the Corona SDK. With extensive playtesting, I was not only able to create an intuitive interface, but an engaging experience many people have spent hours playing. The project was well scoped, and I was able to deliver a quality, polished title with a significant amount of content on time. This is one of my favorite projects I’ve ever worked on, and I still play it on my phone to this day.

 

Details – Design Process

The trading game genre is pretty small, but I’ve always loved those games. It just seems like a perfect fit for mobile devices – you can do a little trading in a few moments and get back to whatever else you were doing. But if you want, you can grind for hours. I’ve spent more than one night building up a fortune.

When I begin working on a project, I like to perform a competitive project analysis. What titles are out there already that have similar features? What did they do right? What could they have done better? Are these features feasible, given a limitation on time and manpower? Games like Space Trader: Merchant Marine and X3: Terran Conflict have buying and selling a variety of goods as a fundamental chunk of their game. Menus vary in complexity, and the level of detail given to the player tends to get pretty complex. Even with trading as the primary focus, there are always other things to do. Ideally, even though those other things aren’t the primary focus, they should be engaging on their own.

Game Loop Diagram
The preliminary game loop

I started off with a pretty clear idea of what I wanted to do. The player will travel between star systems, hauling cargo from port to port, buying low and selling high. This process should be broken with another game phase that has a different activity – interacting with other ships. Since the actual act of buying and selling inventory isn’t a very intense moment, the interaction with other ships should be. I drafted up a preliminary design document to list all the concepts I would like to include in the game (though many of these ideas were later scoped out). You can view this design document here.

My paper prototype had all the elements the digital version would have.
My paper prototype had all the elements the digital version would have.

The next step was to prototype things out. Physical prototypes work wonderfully well for a menu-driven game. Index cards can store solar system information like cargo prices. Colored beads can represent how many of each type of cargo the player has. Numbers for everything can be easily tweaked with a pencil. For a few hours of work, I was able to get a good grasp on what sorts of systems would work well, and which systems would require more tweaking and refinement.

At this point, I felt mechanically I had a solid game. The challenge was to convey these concepts to the player in an effective manner. I go into detail about the development and design of my UX in the below video.

Video – UX Design

 

Details – Post-Mortem

Solenia ended up being a fantastic little game. It has an engaging interest curve that is maintained as new abilities and missions are given to the player as they progress. I definitely learned how to use Corona. I learned a great deal about UX design. By any measure, this was a very successful project.

Still, there was room for a number of improvements. On the gameplay side, though there were over 30 quests, players did not hit them frequently enough. Many were only possible when you were good or bad, or if you had already completed other quests. There simply needed to be more quests overall to help drive the player and give them greater direction in what to do, besides make more money. From a technical perspective, there were some graphical delays caused by loading assets on demand. Additionally, player action feedback could be significantly improved. Buttons don’t provide enough visual feedback when pressed – an animation would add a good level of polish. Menus should similarly have had a load in/out animation.

 

Download – Full Game

The full game is available as an apk, which can be installed on an Android device. Click here to download.