Welcome!


Welcome!

This site showcases the thesis capstone projects for the Full Sail Mobile Gaming Master of Science program. Students completing the program post their end of program project self evaluation here examining what went right and what went wrong during production.

The site provides examples of all completed projects, without regard to the quality of work. Final faculty evaluation of your project is separate from your postmortem. It is a place to share student work and start dialogue with faculty about completed and upcoming projects.

If you are adding a postmortem for a completed project to this blog, please do your best to provide a meaningful meta-level evaluation of your project. This helps students currently in the program have a better understanding of the critical points related to independent production, game development and design and project management. The template for the blog content and instructions can be found in the first post from July 2014.

Thank You,
MGMS Faculty

Sunday, November 9, 2014

Capstone Game Post Mortem: Amazons

Capstone Game Post Mortem: Amazons

Capstone Game Post Mortem: Amazons

Game Summary 

Amazons is a mobile adaptation of “Game of the Amazons” invented in 1988 by Walter Zamkauskas (Wikipedia, 2014). The game is played on a 10x10 chessboard and similar to chess player game pieces are represented by white and black game pieces. Typically the Amazon game pieces are represented by chess queen pieces however any token or object can be utilized to represent the game pieces. In addition to the game pieces, tokens are needed to play the game; tokens are utilized to designate blocked board tiles. A single turn consists of two phases, a move phase and a fire phase. During the move phase an Amazon can move across the game board with the same rules that govern the chess queen. During the fire phase, the player selects a tile to fire an arrow into (thus blocking it) governed by the same movement rules. The objective is to acquire as much territory as possible by blocking off board tiles. The player with the most territory wins the game. A board tile is considered to belong to a player if only his/her Amazon(s) can reach the tile.


Author 

Gerald L Quick Jr.

Title

Amazons

Genre

Abstract strategy board game

Platform(s)

Android/iOS


Revenue model

Amazons will follow a mobile advertising revenue model. When thinking of how to implement this model I wanted to ensure that he user experience was not interrupted in anyway, this included having banners present during game play. I personally find banners to be distracting and take away from the game play experience as a whole. The mobile advertising service I selected was unityAds. The reason this was chosen was due to the simplicity of integration as well as features provided such as interstitial video ads (Unity Technologies, "Grow Your Revenues", 2014). If a mobile advertisement is available it will be displayed at the end of the game. From a monetary stand point this is not very aggressive and does not provide the highest potential to generate large amounts of revenue, however that was never the goal going into this project.


Development tools/Language

The primary development tool utilized for the development of Amazons was Unity (Unity Technologies, “Unity- Game Engine”, 2014). The Unity integrated development environment (IDE) simplified development with all tools available in a single development environment.

The primary programming language was C#, with the exception of some third party API’s and SDK’s. The coding was completed in MonoDevelop provided with Unity.

Other supporting tools were utilized in the creation of Amazons. These tools include Adobe Photoshop CC for textures and images (Adobe, "Adobe Photoshop CC", 2014). 3d Studio Max was utilized for creating game assets such as the game board (Autodesk, 2014). Quixel Suite for Photoshop was utilized to assist with the visualization and texturing of game objects created in 3d Studio Max (Quixel , "Quixel Suite", 2014).


Game audience

The targeted game audience for Amazons is the moderate to hardcore gamer that enjoys tactics, strategy, and position board games.


Team

The development team for this project consists of a single developer, Gerald Quick, founder of Quickstudios LLC.

 

Copyright/Reference

Amazons ©2014 Gerald L Quick Jr.

 

Backstory:

According to Wikipedia, the original game was first published in Spanish in 1992, appearing in an Argentine puzzle magazine (2014). Michael Keller wrote the first approved English translation of the game rules in 1994 which appeared in World Game Review (Wikipedia, 2014). Michael Keller also wrote the first computerized version of the game in 1994 as well. The first rendition was written in VAX Fortran, he later wrote a Visual Basic version of the game in 1995 (Wikipedia, 2014).


Sound Bite

“Dominate your enemy! Take and defend territory to emerge victorious!”   


Executive Summary

Amazons is “…a member of the territorial game family, a distant relative of Go and chess.” (Wikipedia, 2014). The mobile version attempts to recreate the board game version of the game “The Game of the Amazons” which is a trademark of Ediciones de Mente (Wikipedia, 2014). According to Wikipedia usually an Amazons tournament is held at the annual Computer Olympiad (2014).


Inspiration

The inspiration for the game came about out of desperation in deciding what to do for the capstone project; the idea was suggested by Todd Smith, PhD. Once I started development on the project and conducting research on the game, I was inspired by the potential of having a mobile version of this game. 


Ideal

The ideal version of this game would be a completely socially integrated game. Allowing turn based and real-time multiplayer complete with player matching and tournaments. Game based tutorials showing how to play the game as well as suggested strategies depending on the situation. I imagine the suggested strategy mode to be similar to practicing picking up spares in bowling, where you would select a situation and play out the game from that point. Game history, keeping track of all movements made during matches in order to replay for later review. Lastly it would be ideal to have a truly difficult challenging artificial intelligence for single player that pushes the limits of current mobile technology.

  

The Critique: What went right…

Design & Aesthetics

Menu user interface (UI). The menu UI was a lucky but huge success. The reason it was lucky was because the art assets were bought from the Unity asset store and just so happen to match the vision planned out for the UI exactly. I knew from the start that I wanted a clean and consistent UI for the menu and game play. I researched a lot of UI’s trying to decide on a good color scheme. I ended up turning to World of Warcraft, I have always loved the color scheme of the UI and the art in general; See Figure 2. for an example of the World of Warcraft UI. I then searched the Unity asset store and found the Tribal UI asset and knew that was the one. I expected to find something close that I would have to modify but this was not the case, no modification needed. This was a great success in deed, mostly because I did not have an artist. Figure 1. Shows examples of the Amazons UI.

UI controls. The design of the UI controls for the menus and game were a success. The UI camera controls worked as planned and are simple and intuitive. All the menu controls are consistent throughout the game.

3d models. The 3d models purchased to represent the Amazons were exactly what I had envisioned for the game. This is largely in part by the different color texture variations provided with the models which happen to have a white and a black variation.

The 3d model for the game board was created and not purchased. Even with my limited artistic ability, I knew enough about modeling and texturing to create the simplistic game board I had envisioned. The main reason this asset was not purchased was because it became difficult to find a chess or checker board model that was European style (10x10). Figure 3. Shows the game board rendered in game.

Project Management

Overall the project was managed very well utilizing Underdog for project management and source code management. The simplicity of the platform allows me to communicate effortlessly with my project managers (the faculty) and keep all stake holders (the faculty) abreast of any issues and current progress of the project.

Project resources. All the resources I identified for the project were clearly defined and appropriate. I was able to acquire the art assets with no issues and helped support the look and feel of the game that I was targeting.


Development

With the exception of third party API’s and SDK’s the only mentionable success was the actual speed at which development was conducted. This is largely in part to the selection of Unity as the game engine. As a single developer I consider this a big success when looking at the actual amount of time that was spent on the project and how much was actually completed.

Third party API’s and SDK’s. The integration with Google Play Game Services (GPGS) and Game Center were a success. These services are utilized for the leaderboards in Amazons. Depending if the device is Android or iOS, GPGS or Game Center is utilized to keep game scores respectively.


Testing

A/B Testing was very successful and easy to integrate into the project using Leanplum web service (Leanplum, Inc, 2014). This is an awesome web based service where you can actually change variable values for your tests in real-time and they are updated on the devices without having to recompile the game.

 

The Critique: What went wrong…

Design & Aesthetics

Design documents. The original design document was not updated frequently throughout the project to reflect design and develop changes. There also was not enough detail provided in the design document to understand what needed to be completed. Even though I was the only developer and I knew what needed to be completed, if I gave the design document to another developer they would not know how to proceed. It would have been very beneficial to have a detailed and updated design document. A few months or years from now it would be good to look at the document and understand why I made certain choices or implemented things in certain ways.

Platform choice. Upon deciding to support both Android and iOS devices was not really a bad choice however I should have further refined the platform to tablets. Due to the small screen size of phones, any device smaller than 7 inches and the game suffers. As of this writing there were no controls in place to facilitate the zooming and panning of the camera on smaller devices. This makes game play very difficult for selecting Amazons and move locations.


Project Management

Milestones and activities. Not all project activities took place on schedule. There were several delays in implementing certain functionality due to bugs in previous activities. Other issues included under estimating the time it would take to implement a feature. I found that a majority of the bugs that were introduced into the project were due to poor code structure and coding practices in general. When the project started it was built off of the prototype which turned into the final project. This is probably ok for some projects especially if the prototype is well design and solid. For me however, it would have been better to start a new project and use the prototype as a reference when needed.

Sustainability and scalability. The project is somewhat sustainable but not very scalable. Looking back this is due to poor development choices. I found a better way to implement the game logic that would be much easier to maintain and provide unlimited scalability. I plan to rewrite this game logic, this will not only improve the performance of the AI but allow me to implement other features easier, like multiplayer for example.

Time management and scheduling. When planning development time for a game project I would make sure that you have counted the little things as well. Sure you can sit there and give an estimate based on the game play but forgetting the little details like menus and settings. I have found these to be very time consuming import aspects of the game. I spent almost double the amount of time I estimated working on my simple menu and settings. Always overestimate time for unforeseen issues. I did plan for this however I should have doubled the amount of time for this. I have found that even though I had experience implementing some of the game features with no issues in the past, which ended up not being the case for this project. So bottom line, always add a bit of extra time for the unknown no matter how many times you have implemented something.


Development

Third party API’s and SDK’s. The third party SDK’s and API’s were easy enough to acquire however implementation was another issue. I did not see any compatibility issues during my research when choosing the SDK’s and API’s I chose. I was able to work some of the issues as other have came across the same issues and provided solutions. Some had to be abandoned because they did not perform as imagined. One example is Marmoset Skyshop. This was going to be used to provide high quality High Dynamic Range (HDR) rendered game scenes but the performance (or lack thereof) was not very good on the mobile platform.


Testing

General. I wish I would have known more about unit testing and A/B testing prior to writing a single line of code in my project. There are a lot of mixed feelings about test driven programming but I would recommend some form of it. If I would have went into design and development with this mindset I think it would have saved me time and provided a better quality code in the end.

Game testing. Do not under estimate the value of early user testing during development. I showed people the project early and throughout development but they did not get a chance to play the game until late in beta. I plan to allow user testing throughout the project and not wait till beta. For example, when I finish a menu screen I will have it tested to ensure that it makes sense and is easy to follow. One thing I like to do is just give the game to my daughter (she’s 11) and ask her to start the game or change the settings. If she can figure it out without any issues I at least know that my design is intuitive enough for an experienced gamer. The reason I bring this up is because in my project I did not have a tutorial to teach the game. This left the beta testers confused on what they were supposed to do.


 

Summary:

Overall the project went well however it does differ from the original design considerably due to missing features. Some of the features that did not make it in to the final project include multiplayer, social integration (Facebook, Google+ and Twitter), and Augmented Reality (AR).

 

References


Autodesk. (2014, January 1). 3D modeling, animation, and rendering software. Retrieved November 4, 2014, from http://www.autodesk.com/products/3ds-max/overview

Adobe Photoshop CC. (2014). Retrieved November 4, 2014, from http://www.adobe.com/products/photoshop.html

Blizzard Entertainment. (2013, October 12). World of Warcraft®. Retrieved November 9, 2014, from http://eu.battle.net/wow/en/blog/11941666/Introducing_the_New_Shop-10_12_2013

Leanplum, Inc. (2014, January 1). The only fully-integrated optimization solution for mobile apps. Retrieved November 9, 2014, from https://www.leanplum.com

Quixel. (2014, November 1). QuixelSuite. Retrieved November 4, 2014, from http://quixel.se/

Unity Technologies. (2014, January 1). Grow Your Revenues. Retrieved November 4, 2014, from https://unityads.unity3d.com/monetize

Unity Technologies. (2014, January 1). Unity- Game Engine. Retrieved November 4, 2014, from http://unity3d.com/

Wikipedia. (2014, January 11). Game of the Amazons. Retrieved November 4, 2014, from http://en.wikipedia.org/wiki/Game_of_the_Amazons

Figure Captions

Figure 1. Amazons UI examples.
















Figure 2. World of Warcraft example UI (Blizzard Entertainment, 2013).


















Figure 3. Amazons game board rendered in game.


1 comment:

Note: Only a member of this blog may post a comment.