Brian R. Smith

Writing stories about færies and demons 

Game Development Frameworks Review

 

Brian R. Smith

Full Sail University, Winter Park, Florida

2021 January

 

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

 

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

 

I…

  1. Created a working demonstration of WWI Flying Circus (WWIFC) as per Professor Penney’s requirement.
  2. Finished a high-quality pass at a WWIFC Capstone project proposal document.
  3. Integrated the GRATIS framework into my existing User Centered Designed (UCD) WWIFC requirements.
  4. Received constructive criticism on the GRATIS framework and WWIFC requirements from Professor Penney. I pushed back into this document all his suggestions.
  5. Received a signed Capstone Game Approval Sheet from Professor Penney.

Brian R. Smith

Mastery Journal

 

Full Sail University mobile gaming master's