Collection: Shane Gavin - ICA Portfolio Semester 2

Technical Journal

Shane Gavin ICA1 Journal Semester 2 RSS

Weekly technical journal for my personal contribution to All the Way Down, by Margin of Error in Semester 2

Final Entry: Sprints 12, 13, and 14

As we haven't been keeping journals for the past few weeks, I'm adding one last entry to cover the materials I worked on in the last 3 sprints. This will be quick-fire.

Sprint 12:

  • Created game box art.

Sprint 13:

  • Parsed raw analytics data to give to others in the team (for visualizations, documents)
  • Created game trailer (using approx. 10 minutes of in-game footage provided by Brian)

Sprint 14:

  • Created the Beta presentation slides.
  • Created the Beta Mahara page (note, in-game screen shots by Brian, In-game Analytics and User-Testing sections written by Ronan, references gathered by relevant team members).
  • Organised printed materials for Beta presentation.

Sprint 11: Beta Beta

Task 1: Fix for Volume Settings Bug

Goal: Category volume settings not loading in level. Fix!

Process: The game settings are initially loaded in the main menu (which is the game's entry point). For the in-built settings (quality and resolution), these changes are triggered game-wide which means they persist between levels. The volume settings however are set per level instance. This was overlooked when setting the system up and resulted in volume settings not being applied in the main level.

The fix here was to instantiate a main menu widget in the main level (and immediately destroy it). This is obviously a bit of a hacked fix, but it works perfectly without the need to modify the existing set-up. The only downside is that the analytics integration (see below) records an extra main menu entry. We decided we could live with that. If expanding the game to multiple levels the load settings behaviour would have to be detached from the menu. 


  • Volume settings are now applied in the level.

Task 2: Display Screen / Menu on Game End

Goal: Display a modified version of the in-game menu several seconds after the game has ended. 

Process: To complete this task I modified the in-game menu widget to make the "resume" button optional. Once this was done, all that remained was to instantiate an in-game menu on the back of a delay node when the game end condition was fired. I played with timings here for a while, and settled on 8 seconds. This allows enough time for the bike to move around the end enclosure and come to a stop, but is still fast enough that you're not left wondering if something is going to happen or not. This also allows enough time for the game end message to animate in and out before the menu is displayed


  • In-game menu with "restart" and "quit" options is now shown 8 seconds after the player enters the end enclosure. 

Task 3: Analytics Integration

Goal: To add a facility for recording analytic data to the game, and to select an appropriate provider.

Process: I started this process by reading through Epic's documentation on analytic integration, and then investigating the providers they bundle with the engine. 

Integrating analytics is relatively straight-forward. The analytics API is C++-based, but Epic bundle a BluePrint communication layer in the form of a plugin. This can be activated from the Edit>Plugins screen in the top menu.  

Next, the default game ini file has to be edited to specify analytics provider. UE4 bundles support for 3 providers. Two of these are online services; one paid, the other free (but very limited). The last is a local file-based provider which dumps sessions as JSON files. 

Based on initial investigation, the two bundled online providers were not going to be suitable for the type of information we needed to record. It is possible to extend the system to use a third-party provider (Google Analytics as example), but this would have required a significant time investment that the team agreed was not feasible at this late stage. Turn-key solutions do exist, but are not free. In the end, I settled on using the file provider. This makes the integration more of a proof-of-concept than distributable solution, but does allow us to begin gathering example data for analysis. 

Once everything was set-up, I added a sample session and data collection points to the menu map.

Finally, I talked Michael through the process for recording data (as he was assigned a task in the coming week to add analytics points to the main level).


  • File-based analytics recording now possible in game. Example date being recorded. 

Sprint 10: Beta

After the push for Alpha, the team took some time off to concentrate on other modules. One of these was Entrepreneurship where  we had to prepare a Business Plan for the company and game. While not directly part of the project, this did help us to formalise some of our thoughts on target audience and goals. This week was the first proper week of work for Beta. As suggested by Gerry, we decided to run an out-of-release sprint this week, to finalise our User-Testing process. The beta release will begin proper next week.

Ronan has taken lead on the user-testing process for Beta, and myself and Michael have been working with him on the process. Although we didn't have official sprints over the past 2 weeks, we've been tipping away at this over that time, trying to compile a formal process for user testing. This week, I worked on collating and formalizing our process and writing a user-testing document. We will be sending the document to John for feedback next week, but have already gotten some brief feedback from him and Gerry (in class on Wednesday) which we will use to make some amendments to the document. 

As part of the Entrepreneurship project last week, I also created the following short trailer for the game. This was created using footage from one of Ronan's screen casts:

Week 10: Alpha Presentation

There was no sprint this week, but when we met to upload the release on Monday, we decided to make a last minute change. 

In the lead-up to Alpha, textures and post-processing were pushed in the direction of creating an "overcast" look for the Stage Ireland level. Unfortunately, the end result was a very washed-out, desaturated, "noir" looking level. We took to calling the game Tim Burton's All the Way Down. 

Before submitting the Alpha release, I worked with Brian to restore some colour to the level's post-processing settings. I then modified the level's tree textures, replacing their grey bark and earthy leaves with exaggerated, vibrant browns and greens. 

A before and after comparison can be seen below: 


We also replaced the bike model with an updated version from Mark, which had been developed, but not yet integrated. 

After these two changes were made, myself and Michael compiled materials for upload, and I submitted the project. On Tuesday and early Wednesday, the team met to prepare for the Alpha presentation. 

The presentation itself went relatively well. The lack of time to prepare before hand is starting to become an issue. While we had tested everything before hand, plugging out and plugging back in caused some issues. Brian's laptop had to be restarted to get sound output working, the presentation slides had artefacts when put through the HDMI converter (despite having worked perfectly earlier), and when it came to demonstrating the heart rate monitoring, the signal kept dropping. Basically, just about everything that could have gone wrong, went wrong. Even so, the presentation still seemed to go okay! Feedback was fairly positive.


Sprint 9: Alpha Omega

Task 1: Mahara Update for Alpha

Goal: Update of team Mahara page for the Alpha release. 


I decided to leave the existing POC page in place, and create a new page for Alpha (the plan being to create a new page for Beta too). To organise everything, I created an additional overview page.  Here, I decided to go with a 3*3 grid which would link to the 3 release pages, and the 6 team member journals. After these decisions were made, the remainder of the work involved gathering materials from the other team members and fleshing out some of the presentation material (see below).


  • Team Mahara overview / TOC page (link)
  • Team Mahara Alpha page (link)

Task 2: Alpha Presentation Slides

Goal: Create slides for Alpha presentation


While we realise we will likely need to do something different for Beta (which we understand to be as much a sales pitch as a presentation), we decided to stick with the same presentation format for Alpha as we used for POC. As with last time, the major components were divided up between team members, and each member compiled lists of work done since POC, and a list of planned features for Beta (this list is provisional until our release meeting in the coming week). Once these lists were delivered, I was able to reuse the Power Point from last time and amend as needed. 


Presentation slides (can be seen at the bottom of the team Alpha page).



Journal Overview