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
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.
- Created game box art.
- 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)
- 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.
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.
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:
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.
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).
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).
- Final Entry: Sprints 12, 13, and 14
- Game Box Art
- Analytics Parsing
- Game Trailer
- Beta Presentation Slides
- Beta Mahara Page
- Printing for Beta Presentation
- Sprint 11: Beta Beta
- Fix for Audio Settings in Main Level
- Adding a Game End Screen
- Analytics Integration.
- Sprint 10: Beta
- User-testing document
- Trailer for Entrepreneurship
- Week 10: Alpha Presentation
- Texture colour modifications
- Alpha presentation
- Sprint 9: Alpha Omega
- Sprint 8: Alpha Gamma
- Developing / sourcing character meshes
- Remaining animations
- Leader board name customisation
- Loading graphic for level load (abandoned)
- Sprint 7: Alpha Beta
- Spectator bug fixes
- HUD split times
- Leader board display
- Credits Menu
- Spectator customisation
- Animation development
- Sprint 6: Alpha Alpha
- Spectator bug fixes
- Animation development
- Sprint 5: POC (again?)
- HUD timer
- Placing spectators
- Presentation slides
- Sprint 4: POC
- More Spectator implementation
- Sprint 3: Crowd Sourcing
- Start of Spectator implementation
- Sprint 2: More Menus
- Event Dispatching
- Options Menu
- Research for Spectator Implementation
- Sprint 1: Menu Investigation and Implementation
- Early menu investigation
- Menu mock-ups
- Initial menu implementation