Game Development Frameworks Review
Brian R. Smith
Full Sail University, Winter Park, Florida
Game Development Frameworks (GDF) Review
This paper shall address the following subjects: Time management; What did I learn/achieve; How does course material relate to Capstone Project; What Capstone advisor steps and outcomes.
Time management for me was a tale of two fortnights.
The first two weeks was heads-down programming on what was to become my Master’s Capstone project at Full Sail Uni – WWI Flying Circus (WWIFC). I spent an average of ten or more hours a day (one day I spent 15.5 hours pure-programming) (my record for non-stop programming is 60 hours, something I hope never to beat – smile) as I both completed the assignment for Project 1, but also created a WWIFC working demonstration of both a single device pass-and-play and networking game.
The second fortnight had two major activities for me. One was creating Unit Test (UT) cases. I choose to create them in Unity Test Runner (UTR) for my WWIFC Capstone project to leverage any long-term gains in knowledge. This took much longer than I anticipated due to my inexperience with Object Orientated (OO) testing, learning UTR, and my poorly written (for test) WWIFC code. I had planned for two days. It took me a week. This put me behind the power curve for the second task.
The second major activity of the second fortnight was Project 2. I decided to do this project in Android Studio. I did add two input technologies (accelerometer and GPS) into a game I had previously written, but did not have the time to fully game-ize them, falling short of my own expectations.
What did I learn/achieve?
- Created a working demonstration of WWI Flying Circus (WWIFC) including a demonstration video.
- Unity is a new game development framework for me. Well, I had run through a handful of Unity tutorials that make everything seem simple. Just about everything in Unity was a learning experience – including programming in C#.
- Unity Test Runner – creating and executing Unit Tests (UT) via the Edit Testing (static testing of non-monobehaviour classes). I did not have the time to implement Play Testing (simulating human control of the game for more of an end-to-end play tests) which is now on my “todo” list. Demonstration video.
- Photon Unity Network version 2 (PUN2) – Created a lobby, created a room, joined a room, used Remote Procedure Calls (RPCs) to send maneuver messages between two separate mobile devices. Note: I was in a class for Distributed Computing Environment (DCE) and RPCs (later, I wrote a book on the subject) in 2001. I remember this day clearly. It was September 11th (911). Demonstration video.
- Unity vibration – this forced me to learn how to call upon Android classes outside of the normal Unity runtime environment. This will be useful knowledge for the future. Demonstration video.
- Android Studio accelerometer – I created a simple Android game in 2014 that made use of the accelerometer. It was good to re-learn the mechanics of this device input type. Demonstration video.
- Android Studio GPS location services – I had difficulties getting this to work from reading the online documentation. And, once I got it working for my device, had difficulties adding the feature to ask the user’s permission to use Android Location Services. This forced me to refactor the code – helping me better understand the necessary and proper sequence of method calls. All-in-all, much more difficult than I thought it would be, but a great opportunity to learn something new. A couple of new game ideas came out of this exercise. Demonstration video.
- Goals, Rules, Actions, Transitions, Items, and Setup (GRATIS) framework – I used this to augment my long list of requirements for my WWIFC Capstone project.
- Git repository – I had never used a git repository system before, so it, and SourceTree and Underdog, were all new learning experiences for me.
- One of the things I personally achieved was seeing asynchronous plot and simultaneous play working in WWIFC. The fact that when the pass-and-play device is handed to you, you get to execute four tasks (two play, two plot) spread over three turns is wonderfully counter-intuitive.
How does course material relate to Capstone project?
I am a, “kill as many birds as you can with one stone,” professional. For any assigned task, I want to apply it to my other tasks. If the lesson is about writing UT – I will do that for WWIFC. If the lesson is about integrating networking into a game, I will do that for WWIFC.
On the downside, the requirement to select a second framework for two additional mobile hardware inputs was not as directly related to my Capstone project as I would have liked. The learned skills might be useful in the future.
Capstone advisor steps and outcomes
- Created a working demonstration of WWI Flying Circus (WWIFC) as per Professor Penney’s requirement.
- Finished a high-quality pass at a WWIFC Capstone project proposal document.
- Integrated the GRATIS framework into my existing User Centered Designed (UCD) WWIFC requirements.
- Received constructive criticism on the GRATIS framework and WWIFC requirements from Professor Penney. I pushed back into this document all his suggestions.
- Received a signed Capstone Game Approval Sheet from Professor Penney.