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, September 1, 2013

Capstone Project Postmortem: Comic Box Online

Comic Box Online
Project Summary
App Icon

Platform
  • Web (Chrome/Firefox/Safari)
  • Mobile Application (Android)
Development Languages/APIs/Libraries
  • JavaScript
  • ReactJS
  • React Router
  • Bootstrap
  • Bootbox
  • JQuery
  • C#
  • HTML
  • CSS3
  • MySQL
Development Tools
  • Notepad++
  • Jetbrains IntelliJ
  • MySQL Workbench
  • Jetbrains Data Grip
  • Microsoft Visual Studio
  • Unity
  • Adobe Photoshop
  • Postman
  • Yeoman.io
Revenue Model
  • Free to use
Target Audience
  • Comic Book Collectors
Team
  • Bill McIntyre
Copyright © 2018 - Entrick Entertainment, LLC

Backstory
Sound Bite
Collect and organize how you want.

Executive Summary
Comic Box Online allows users to create an online, easily browsable record of their comic
book collection. A common problem for collectors is knowing exactly which issues you
have or which you are missing while on-the-go and while other solutions for this exist, each
had their own flaws or missing features that require users to make use of multiple
applications or websites to do everything they want to do. Comic Box Online was built
to be a one stop solution for collection management and was designed to be flexible
enough to add new features to accommodate to evolving customer demands.

I recognize that the most challenging part of entering this space is how established the
competing products are. Collectors have been using other solutions for a long time and a
lot of those users have huge collections that would be incredibly tedious to migrate over to
a new platform. To help ease this transition I’ve incorporated the most convenient ways of
adding books into your collection through bulk addition of issue numbers or UPC code
scanning through the mobile app. There is also a new wave of collectors who are just
starting out due to the release of majorly successful comic book movies that are bringing
new customers into the hobby (Owsley, 2018).

Both the website and application will be free to users.

Inspiration
As a comic collector myself I’ve personally used most of the different services available
and found each to be lacking something. I personally wanted to experiment with web
development as that was a new area to me and thought that this would be a great
project to do that with as it offered opportunity to make use of all aspects of modern
web development architecture.

Demo Screencast
Site and Tech
What Went Right
Design
Database
The design of the database allowed all tables to remain normalized and new fields that
were required based on feedback in the middle of production (additional fields for books
like ISBN and page count) were pain free to add.


REST Web Services
Laying out the spec for the REST web services that both the site and app make use of
was something I was unfamiliar with and took a couple of iterations through the different
conventions of api specs but in the end the design was flexible enough to handle everything
necessary. When the time remaining to develop the app was in question it was decided
that the “Bulk Add” option for books should be added, which was a completely different
format than any of the other requests necessary and adding it in was quick and easy.

Collection View and Data Entry
During the user feedback portion of the process there were a lot of positive mentions of the
collection view interface as well as how managing the many-to-many relations during book
entry (writers, artists, cover artists, signatures) on the website were handled in the form. I
think overall both are as clean as I could hope for.


Development
React
Web development as a whole was completely new to me going into this project and I had
some concerns with how much I’d enjoy it. When I started looking into ReactJS though
I was immediately interested because of their virtual-dom feature that I thought was so
smart. The more experience I got with React the more I grew to love it and the enthusiasm
I had for it definitely made the project go much more smoothly.

C#
Having years and years of C# experience allowed me to focus on the design of the web
services a lot more than if I would have had to split my time both designing and learning a
new language in the process. This allowed for the spec of the web services to be flexible
and well thought out rather than something hacked together that would come back and
end up as a hindrance when a new unexpected endpoint needed to be created.

Time Estimation
Despite not having a solid grasp on the duration this project would take as a whole,
throughout the process I was able to make fairly accurate estimates (often over-estimating
a little) for how long features would take to implement and test. This helped the project stay
on track and allowed me to deliver more than was originally planned.

What Went Wrong
Aesthetics
Bootstrap
Lack of familiarity was a common theme during the development process but the one
part that was too out of scope was becoming truly adept with Bootstrap. Inexperience led
to some complicated interface issues with the website and the need to move on to
more pressing tasks kept a few of those around.

Assets
Time being as short as it was for the app development portion of the project left me
unable to acquire proper art assets for it. With better planning for this in the future I
would begin this process much earlier. That being said I’m still very happy with the end
result, I just think there would have been room for improvement here.

Development
Unity Asset Store
Some Unity assets were required for time’s sake during the app development and
incomplete or vague documentation caused two features (barcode scanning and
collection view) to take a lot longer than they should have.

Barcode Lookup Database
Communication with the owners of the only public database for comics that includes
barcode information is progressing incredibly slowly. In the meantime I obtained a clone
of their database to use until I can either get access permissions or work with them to
create their own REST api for accessing the database so anyone can use it. Since the app
is currently hitting a clone of their data from a certain time, no new books are added without
manually obtaining a new copy.

Testing
Inappropriate Testers
The testers for this project unfortunately were not comic collectors. They were able to point
out visual and workflow issues, but I think that I may have been able to get some more
valuable feedback on the collection management features themselves from fellow collectors.

Summary
This project exposed me to just about every aspect of modern web development and got
me to dig deeper with Unity than I’ve gone in the past. Trying my hand as the full-stack
developer has made me appreciate much more why companies choose to have dedicated
and focused developers for each level. It’s not terribly difficult to become proficient at each
area of development but to have the mastery that production quality projects demand
requires much more knowledge, experience and dedication to that field.

I went into this project knowing that there would be much more to do, and there definitely
is. Thankfully I’ve really enjoyed working on this and am looking forward to continuing
rather than being turned off to web development.

References
Owsley, B. (2018, May 07). Comic books see rise in popularity after success of characters
at box office. Retrieved from https://tinyurl.com/y8npv7e7

Developer Tools for Professionals and Teams. (n.d.). Retrieved from
https://www.jetbrains.com/

React. (n.d.). Retrieved from https://reactjs.org/

Unity. (n.d.). Retrieved from https://unity3d.com/

Otto, M., & Thornton, J. (n.d.). Bootstrap. Retrieved from https://getbootstrap.com

The web's scaffolding tool for modern webapps. (n.d.). Retrieved from http://yeoman.io/

Visual Studio IDE, Code Editor, VSTS, & App Center. (n.d.). Retrieved from
https://www.visualstudio.com/

React-Router. (2018, June 08). ReactTraining/react-router. Retrieved from
https://github.com/ReactTraining/react-router

Notepad++. (n.d.). Retrieved from https://notepad-plus-plus.org/

MySQL. (n.d.). Retrieved from https://www.mysql.com/

JS Foundation. (n.d.). JQuery. Retrieved from https://jquery.com/

Adobe Photoshop. (n.d.). Retrieved from
https://www.adobe.com/products/photoshopfamily.html

Bootbox.js. (n.d.). Retrieved from http://bootboxjs.com/

Postman. (n.d.). Retrieved from https://www.getpostman.com/








Capstone Game Post Mortem: Terra Wars

Capstone Game Post Mortem: Terra Wars


Game Summary: 

Author 

Timothy Cheek 

Title

Terra Wars

Genre

Strategy

Platform(s)

Android


Revenue model

The game will have to versions. There is a lite version that has ads and the other version has no ads. Also the lite version will only contain 20 of the levels. The ads will be played in between the level select screen and the level and after the level before the level select screen. There will also be an in game store for players to buy items. These items will range from experience boost to new units or levels.  Buying a new character will allow players to try new strategies. Allowing the player to buy new levels will allow them to grind and gain new loot on new levels. Buying an experience boost will shorten the time needed to grind so the player can beat levels that they are stuck on.


Levels will have a framework set up so all that has to be done is set the variables for it and add the art. This would take half a day to do and half a day to test. The art for the level would take around 2 days for the artist to do. Selling new level bundles at $5.00 for 3 new levels, you would have to sell the level to 205 different users. By reusing the art assets this number would drop to break even. Characters would take around the same amount of time to create since the framework is set up and all that would need to be done is the artwork.

Development tools/Language

Unity/C#

3rd party APIs
·       Grid Framework by HiPhish

·       Android Native Plugin v4.2.0

Game audience

My target audience are people whom like strategy games and/or prehistoric game settings. Also I am targeting people who like the themes of Terra Nova, Jurassic Park 2, and Half Past DangerI am also targeting all English speaking countries. There are 21 million Americans and 11 million Europeans who play games on the tablet and out of that 11% play strategy games. I am targeting around 1 million gamers.

Team


Developer/Designer: Timothy Cheek

Copyright/Reference

Terra Wars ©2014 Timothy M Cheek

 

Backstory:

Sound Bite


Travel through time with a squad of soldiers and strategically fight other humans and prehistoric creatures in turn based action.

Executive Summary

Terra Wars is a strategy game were you control a squad of soldiers and you must defeat the enemy. You were sent back in time to a prehistoric time where the native creatures can be used to help or harm your units.


Inspiration

My inspiration for making this game was wanting to have a game like XCOM or Disgaea on mobile devices. I wanted to push my self and create something that would push me. I felt this project would give me enough of a challenge.


Ideal

If everything went perfectly the art design would have used more modern units. The units would have levels that could be raised by defeating enemies. Also there would be armor and weapons that could be equipped to the units to increase the different stats. The level select screen would be a map that the player would select a level by touching the spot on the map.There would be a minimum of 20 levels in the game.

 

The Critique: What went right…


Design & Aesthetics

The mechanics in the game were designed so that when I started coding that it was easy to know how they are suppose to work and what there are suppose to look like. This made the development easy. Also I wanted to create the background images myself and they turned out just as planned. By allowing the UI to be over the top of the level it allows the game to be easily ported to phones. If the UI was not overlapped with the level and it was a section of the screen, it would be harder to see enough of the level on the screen.



Project Management

The projects scope was set up to allow enough to get the picture of the game. There was two types of units and this allowed for players to be able to create enough strategy. I was able to keep the deadlines and was not overwhelmed with to much to do. 


Development

I created the different pieces of the levels so that I could create new levels fast. I was able to test a level and make changes easily. Since I used Unity I didn't have to spend time on the back engine so more time was spent creating the features of the game. 


Testing

The play testing that I conducted, showed a few bugs that I did not know about. This was a good thing because the bugs would lock the game in certain states. Also I was able to conduct a few A/B test that gave me information about different names and prices for objects in the game. This allowed me to make it easier for players to know what items in the game were and they could understand it with out any help. 

Business Model/Plan

The business model that I have planned allows players to try the game and if they like it they can purchase it to have more. Also allowing them to purchase more levels would allow the player to get more out of the game. Levels are easy to create and so there is little cost in creating the levels. I have a unique theme for my game that will draw user to it.





 

The Critique: What went wrong…


Design & Aesthetics

I was unable to find the graphics that I wanted for units. I had to improvise with other graphics that fit the theme. I had to make sound effects that were basic and they didn't feel right in some places. The menus are plain. They don't have any dynamic art on them.






Project Management

I spent more time than I planned when doing the AI. I underestimated how hard it would be to do. I have done this in the past but never in Unity. Also I did not find the art assets before I started and this created complications later on in the development cycle. 


Development

One of the biggest problems with the development was that I didn't follow any coding standards. Prefixes on variable names vary. There was a bug that would appear on the mobile devices but not on the computer with unity. Also there was a lot of dependancies between classes. This led to testing different components very hard. 


Testing

The biggest part of testing was that I didn't think about it at the beginning. Since I didn't plan for it creating unit test was hard. I was unable to try new things with the AI and let people see different behaviors. This lack of planning led to me not trying new stats like how far enemies can move.


Business Model/Plan

The only issue I have with my business model is the marketing aspect. I have to find creative ways to do it. I can see the game doing well or doing bad based on marketing. 

 

Summary:

The final version of the project was very close to how I envisioned it at the beginning. The biggest difference was the art assets. I had to limit the number of unit types that I had in the project because of time and resources, but the game still feels good even with the few types of units. I plan to redo some of the framework of the project so that I can create test for it and also make it easier to fit pieces together. One example is the AI. I feel like I need to pull it out of the enemy class and make it a component so that I can have different AI for each unit. This will also make it easier to try different things with it. I still need to add unit levels and gaining experience and also different types of items. I also want to fix the menus so they look prettier. If I had the opportunity to redo or start over I would have put a test framework in at the beginning and also made the components less dependent of each other. 

The high point of this project was accomplishing all the task that I had laid out for myself. I didn't know if I could do it all but I wanted to try. I feel as though I accomplished that. The low point of this project for me is the amount of time I would spend some nights because I didn't plan or research accordingly. I do plan to release this game in the future but I need to do a little bit of work to it first. I want to add more units to the game and allow the player to choose what units they want to use in the levels  Also I want to take what I have learned and bring it to my current job to make applications better for consumers. 



References


Cheek, T. (2014). Terra Wars [Android game] (Unpublished thesis). Mobile Gaming Master                 of Science, Full Sail University

HiPhish. (n.d.). Grid Framework. Asset Store. Retrieved July 13, 2014, from https://www.assetstore.unity3d.com/en/#!/content/4004

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



Screencast Link: https://www.youtube.com/watch?v=21BGlZpOwKA