Alanis and the Great Eastern Wind
Alanis and the Great Eastern Wind is a 3D adventure game about a girl trying to find out why a sandstorm has been devastating her village. It was developed as a second year end of year major production project at the AIE. I have written a Post-Mortem here.
Engine: Unreal Engine 4
Platform: PC
Completed: 14 November 2016
Contributors: 3 Programmers, 2 Designers, 5 Artists
My Contribution:
- C++/Blueprint Interaction: I used C++ with all aspects of my work on this game as listed below, while using blueprints mainly for UMG elements of the game for the menus and HUDs.
- Gameplay Mechanics: I contributed to the stamina system and rotations to face the sandstorm. I also implemented the pressure plate system in a way that was easy for the designers to plug into any object they wanted in the level.
- UMG/UI: I’ve created the menu, pause menu and collectibles screen through UMG utilising blueprints and C++ for interaction.
- Collectibles and Saving: I created the collectible system with the ability to pick up objects and then remembering which ones have been discovered for the UI. I also implemented a save game feature to save the player’s progress and discovered collectibles. I’ve also implemented a Chapter Select feature that use autosave points to place the character in the world.
- Sound: I placed the sound throughout the world and the code using sound cues based on free music and sound effects chosen by the designers.
- QA: Once a week I would play the build start to finish and report back to appropriate team members on bugs and issues I discovered, a lot of which they were unaware of. A lot of these issues arose when first sculpting the map, as I would frequently undertake unexpected behaviour and find ways to escape the playable area. I also reported on broken mechanics and parts of the gameplay that I found less fun or unachievable, which the designers used to consistantly update the map.
- Working in a Team: Throughout this project I had a lot of experience using source control via Source Tree (with BitBucket), and team communication tools including Slack and Hack N Plan.
Additional Achievements:
- Awarded the Head of School Award for Most Impressive Advanced Diploma Game Project in recognition of the most impressive game development project completed by Year 2 students in the Advanced Diploma of Professional Game Development 2016.
- The AIE Canberra campus used this project repeatedly as part of its promotional material throughout 2017.
Development Trailer:
Further Links:
Beat Wave
Beat Wave is a simple four player arena game where the aim is to knock other players out of the ring with waves to score points for two minutes. We created this game for the 48 hour Global Game Jam 2017 with the theme being “Waves”.
Engine: Unreal Engine 4
Platform: PC
Completed: Global Game Jam 20-22 January 2017
Contributors: 2 Programmers, 9 Artists
My Contribution:
- C++: Most of what I made with the exception of the UI and a couple of last minute adjustments were made in C++ rather than Blueprints.
- Technical and UI Programming: I made most of the maths heavy and algorithm based programming centred mainly around the camera as well as designing and implementing the basic UI used in the game.
- Mechanic Design: With a lack of designers and the artist’s only direction of creating a pretty environment, it fell to myself and the other programmer to design and implement fun and achievable game mechanics to suit the environment. We discussed the initial idea as a team and then the two of us iterated and improved the mechanics to pull together a fun little game in the 48 hours.
- Main Camera: Implementing the main camera and fiddling to make it look right took the longest of my time. This included angling the camera and focusing on the centrepoint between all 4 characters and lerping between these positions when players moved, in order to always remain focused on the action. I also used right angled trigonometry to offset the camera to the correct location to look at the correct spot of the world.
- Respawn: I set up a basic respawn on actor leaving a sphere trigger that includes a delay and randomises the location of the respawn amongst previously specified locations.
- Scoring and Time Limit: I implemented the scoring system using my respawn function. When a player is hit with a wave, it records a pointer to the owner of the wave and if that character’s Respawn() function is called, the points are added to the player’s in-built Score variable in the Player State who’s last wave hit them. I then use a sorting algorithm of my making on the Leaderboard to sort the players into the correct order of display.
- UI: I designed the basic UI (some of it did not end up with the artist’s touch) and implemented all of the functionality. This included ordering and displaying the points onscreen during gameplay and on the Leaderboard and also utilising UE4’s button functionality combined with my own refocusing code to keep Player 1’s controller focus on the UI.
- Source Control and Task Management: We used our private BitBucket server with a front end of SourceTree and Confluence for programmer task tracking. The artists used Google Drive to share assets and files with the team.
Further Links: