top of page
Thumbnail.png
Adventure-Screenshot2.png
Adventure-Screenshot1.png

Adventure

Project Duration: 7 Weeks

Publish Date: June 21st, 2021

A Full Sail Assignment

An adventure game to develop levels from simple concepts, to block mesh, to a fully fledged and working level.

Contributors: 

Game Designer: Bryan Huke

Game Designer: Christopher Campbell

Game Designer: Jarrett Workman

Game Designer: Luis Chavez

Game Designer: Shelby Wilson

Intro

During the last three weeks, myself and the rest of Team Garnet have been working on taking the game Adventure from a block mesh, barely playable product, to a gold standard game practically ready to ship. Adventure is built around the action-adventure genre in which the player can explore the world and discover the world without a single line of spoken dialogue.

​

What Went Right:

Block Mesh to Landscape

One of the first things the team had to do was convert our block meshes to an environment that any player could believe and emerse themselves in. This process took quite a while and basically took place over the last three weeks, maybe ending sometime at around 2 and a half weeks in. This process involved creating new landscapes, importing meshes and materials, and even creating some of our own meshes using parts that were available. While this process was time consuming, it ultimately made each of the levels unique.

​

Door Blueprints

With my level, it included seven doors and three gates, so it was incredibly important to get programming a door down. The first attempt was somewhat a failure, if hilarious as the door spun around the hinge faster and faster like a helicopter blade. Once I was able to see again from the laughter it brought me, I adjusted the values and now the door swings open like you would expect. It was an important learning experience of making sure to use the right functions.

​

Zipline

The zipline was the easiest blueprint to implement at a fundamental level. However, the first build of it required the player to interact with the blueprint to zipline their way down. This also caused a bug where the “Press E to Interact” would stay stuck on the screen for the rest of the game. To resolve this, we had to not only detect when the player was near the zipline, but also check if they were in the ‘hanging’ state. This included casting information from the player character to this blueprint and checking their state before starting to move the zipline. This included having to check the player character state multiple times, but only allowing the zipline to try and move once. By the end of it, we were able to move the player from one location to another in a fun and unique way.

​

The Boat

The boat at the end of Bryan Huke’s level was another story all together. While it’s general idea was easy to implement, it got more complicated once we started to compact the code into something a little more manageable when it was required to repeat the task of moving and rotating it. This involved implementing arrays and signaling to code to increment this array as it moved through each section of the level. Eventually once this was done, a bug was found where the boat would jitter and jump from one checkpoint to another, this was corrected with a bit of delays between trying to launch different parts of the programming. Ultimately it took two of us to program and perfect the boat into what it is now.

​

Team Building and Project Management

When it came to motivating our team, we had two unique tools are our disposal. Before the StandsUps were even introduced to us as a requirement, our team was doing them at the start of each meeting on Tuesdays, Thursdays, and Saturdays. After the requirement was added, we also started doing these in text version via our discord server. We took this organization a step further and created a Trello board so we could track who had what to do, and what was already completed. This also let us track potential ideas and bugs all in one place where they would not get lost in either a document or the discord chat.

​

What Went Wrong:

Perforce

During the first week of production, the version control software that backed up and allowed us to share files was down. We were unable to start working on the project as a team for the first five days because the server was full to bursting. We were eager to get started and stay on target and deadline, so we started to investigate other ways of sharing files between each other to get a head start. Luckily, this wasn’t needed as the server eventually recovered and we were able to get started. Sadly, even though an extension was given to us, it ultimately put us into crunch as we had to play catch up to where we should’ve currently been at.

​

The Lighting

What I may be willing to call our ultimate nemesis, is the lighting in our levels. In the first ever build that was created, the different styles of our levels collided as two of them were thrown into pure darkness. To fix this we had to implement lights quickly and bright up the ambience to allow players to see. Luckily in later builds we were able to rein this in a little as more intentional lights were added to the level. However, as time went on, building lighting for the level got harder and harder as the builder started encountering errors and this honestly wasn’t even resolved until the final day of production just hours before it was due. It was a real nail biter, and I hope we can avoid issues like that in the future.

​

Working with Limitations

Limitations are expected to be in any video game designer environment, so I will be the first to admit from Team Garnet that it was a structured learning experience. However, there were at times where we’d run into issues with how a material was being rendered or how it was being lit, and the simplest fix would’ve been to change a couple of the sun settings that wouldn’t affect the nest of levels overall. This was out of our hands however and we had to find work arounds. One of my work around was to disable translucency on my crystals and make them more of a solid object because of how they interacted with the planes of water. I believe Chris Campbell had to do something similar as well even though he’d spent hours figuring out how to make them look quite good in the light rendering that we were using.

​

Plugins

Something that should’ve been obvious from the start, is that if one of us was using a plugin the rest of us would have too as well. We got this resolved early on and were able to fix an issue with Chris Campbell’s level not rendering properly for everyone else because of the water setup within it. Once that was resolved however, it took quite some time for us to figure out why his waves would be less like a sea in the middle of the storm while everyone else had to suffer with it. We eventually found a setting buried in Unreal that we had to include into perforce for everyone to get the correct settings for it. Toward the end of the project, we ended up having another issue where not everyone had the plugin “Quixel Bridge.” Chris ended up having his version of Unreal Engine die on him and it was up to others to export the final build, we had to find a work around for object built using this plugin on the final day before submitting our build.

​

Time zones and Absences

One of THE hardest things for our team to deal with were the different time zones and schedules everyone was on. It would have been one thing if it were just time zones we were dealing with, we all could’ve adjusted and made sure to be on the same page. Most of us however are holding jobs outside of working on the project and often had to find times where we could meet up and discuss what was going on with the project. Because we were also dealing with the beginning of summer, there were a few of us that had trips or appointments planned out that also conflicted with the project. Luckily these trips were not to much of a hinderance as we were able to keep those members in the loop as to what was going on and what they needed to do, but it created an additional hurdle for the team to get over.

​

Conclusion

In the end, we survived the month and were able to get our game up to a gold standard. We learned a lot along the way about structuring a team of our own volition and about organizing our workspaces. We learned about sharing assets and making them available. For better or for worse, this month has been chaos for me inside and outside of the project but I wouldn’t trade the experience I’ve gained for anything. Here’s to the next project, and may it be even more fruitful.

​

Click here to download it!

Thank you for Visiting!

  • Facebook
  • LinkedIn
  • YouTube
bottom of page