Atan is the biggest project I've worked on at BUAS. It's a game about scaling a giant creature. The giant creature is holding up the sky to keep it from falling on the world, but the giant is nearing the end of it's life. It's the players destiny to climb the giant and take over the eternal task of holding up the sky
(fun note, the music used in this video is made by me!)
Throughout a year I've worked on countless things in Atan. The bullet points in this section are further explained below.
My main focus for audio in atan was the ambience. The ambience in this game consists of a few elements. These elements include distant birds, crickets, wind gusts, leave rustles, waterfalls and general windy noise based on player velocity.
I also did some of the SFX for this game, like the player footsteps, the random piano notes while exploring the world in-between music, or the mystical sound fx that gets used in for example the intro cutscene.
Thanks to the contributions of the entire team together with the audio work, this game really came together as a complete product.
The audio in Atan mainly consists of 3 types of objects.
The music area is an object that controls a metasound. The music area has 2 overlap boxes. One will start playing the music, the other defines in what area that music is audible. If of course also comes with loop and volume settings alongside some other handy settings.
The ambience area is an object with a lot of options to make it suit your needs. The basic gist of this object is that it's an area in which a random sound from a list will spawn. The area can be configured to follow the player, spawn sounds only on the box boundary, play sounds in 2D, dispatch/receive audio events, and settings for min/max volume and pitch.
This allows for a multitude of sounds, from distant bird chirps to the leave rustling that plays when a wind gust is present.
The final audio system is a noise based system. These are sound completely generated through noise using meta sounds in unreal. examples of these sounds is the ambient wind in the game or the waterfalls.
During this project I also got the possibility to dive into steamworks. I set up some enums for achievements along with an object to handle granting achievements in the game, together with a function library I can easily define and unlock the game achievement in unreal.
Atan's exploration involves puzzles that need solving. In this project It's been my responsibility to set up a system that lets the developers and designers easily add new target types and activatables, while also making it easy for level design to use these objects. This is why i've made the target manager system.
This system provides interfaces and parent classes to use to easily create targets and activatables, it also provides an object to easily group these objects together and to set what's expected from the group AND it comes with a custom interface within the engine to manage all these groups. Over the course of 8 weeks this system has gone through multiple iterations, going from a sloppy unfriendly system to a robust system that's easy to use and lets multiple level designers work in the same level using the system without causing merge conflicts.
Target managers show as a literal target. The widget will let you select a manager from the target list, which finds all managers in the level. You can rename the group, move your camera towards it or draw the connections to see where you left your level elements! This screen also exposes just the detail panel values that are needed to set up the target group and leaves any unnecessary details out.
This video showcases one of the earlier iterations of the target manager system. it's very messy for a few reasons.
After this iteration I worked on an interation where there was a single target group manager, which was used to manage all target groups in the level. It also held all the info for the targets in a single place. This worked MUCH better, but was still bad for a few reasons.
ultimately this lead to the change to make a target manager per group of targets, which was a lot more pleasant to use. but it was still somewhat messy because.
These last issues led to the creation of the widget tool which the team uses today! So far there has been no new complaints, but if they arise I'll make sure to keep iterating!
One of my main contributions to Atan was the music. This music is also available as soundtrack on steam.
Super Circus Fruit Show is a chaotic fun platformer about a little Papaya mime trying to escape from the Circus.
All the circus performers have been turned into fruits by the evil ringmaster and are forced through gauntlets to entertain the crowd.
Tilt the level and make the performers struggle. Experience wacky physics, tumbling through obstacle courses with variable hazards in order to get the highest score!
The work I did for this game can be found everywhere. The main things I worked on for this game was the menu system, the bumpers in the game, the dynamic music system, and the level intro. please note that the music itself is NOT made by me.
The work I was most proud of in this game was the menu system. It's a menu system that lets you move through the scene, instead of a simple 2D menu. It takes a little more time than a regular menu, which is probably not great for UX, but the visual and feel of it make up for that.
It works using the unreal trolly system. there's a trolly going from the main menu to each subsection. the starting position for all rails are the same. based on the button selected in the main menu it will switch the camera to the correct track and start the trolly, which has the camera in it.
My next biggest task in this project was the dynamic music for the game! In this game the intensity of the music changes based on how fast your character is moving. This is done by having 3 tracks playing at the same time, then based on the velocity of the player it will blend volumes between the current track, and the track that the game want to be at.
This video also shows some of the bouncy bumpers which i've made, and the level countdown with the cage coming down!
lucvandijk.dev
We gebruiken cookies om websiteverkeer te analyseren en de ervaring op je website te optimaliseren. Als je het gebruik van cookies accepteert, worden je gegevens gecombineerd met de gegevens van alle andere gebruikers.