[Music] as I said just before I would like to welcome you to listen to yeah bjor Jacobson for his talk on being not one man band um audio department thank you [Music] hello um hi my name is Boran Jacobson uh just a quick heads up I forgot to take my ADHD medication this morning so if I speak really fast and this talk is 10 minutes short then you know why
um I am working on a game called PX day it's made in Finland and Iceland it's a 300 Square kilm map it's about crafting combat medieval lore PVP PVE sandbox giant thing here's some of the maps it's the company's called Mainframe 60 plus developers Finland and Iceland if Finland and Iceland wasn't remote enough then there's also some remote people like me I'm in Copenhagen and one sound guy that's me and I do everything from scratch um so whatever Simon said before about 200 people sound departments no no it's one guy um I do of course have some code help whenever I can't dig into code uh or if I don't have access to some kind of value then someone helps me out with that or
someone helps me out with very deep and advanced blueprint setups because we're doing it unreal but apart from that everything in wi everything set set up um the music design we do have a composer but the music design editing splitting it up making variations uh hours long of Music out of a 10-minute piece and so on that's me and variations vo you got it um me and numbers this picture is a little old by the way but yeah don't care I'm 43 I have three daughters I live in 2720 I make games for more than 10 years I have 8,000 Subs Plus on YouTube because apparently I run a channel that does tutorials on audio I don't know if you follow it but it's it's kind of taken off it's just I just wanted to do videos because it was fun and answer people's questions and apparently people
watch it so I'm a little humbled by it I've made more than 20 games made games with wise for more than 10 years I've made a lot of electronic music and they were all in 138 BPM um some kind of projects that I've worked on uh just to show you the variety of what I do uh and why I think Pax is awesome to work on um the latest Assassin's Creed for Ubisoft and dof a Mars is a also a one guyy project that's doing a gigantic shooter on Mars the ascent trapnel Hitman Eve Eve online Eve Valkyrie Assassin's Creed Valhalla yes um Assassin's Creed Valhalla I'm just uh I have a credit that says I did technical stuff technically I just talked to them and was helping them out during covid but nonetheless I'm on the credit list let's let's talk about why the onean band way because I am the oneman
band when I first joined Mainframe uh four four years ago I think the project was really big um it's going to be big I will be alone I'll be very lonely I like that CU I like to talk to myself and sit alone in my room and project is not procedural but it's not linear anyway so it'll be extremely random we know where things are but we don't know how the universe behaves so if some weather VFX guy decides that now it should rain I'll I'll have to deal with that and we don't know when it rains we don't know when it's sunny we don't know how many clouds when there will be cloudy and so on but we know the numbers and from the very start I asked my co-developers and programmers and whatnot that every time you have a v
variable that you think you want to share for me to have as a parameter just do it because I can probably use it for something and if I don't want to use it it's not never wasted it's just a value that's there and if I need it later I can use it so and you'll see later when I show you some of the project stuff I asked for using y's because I like to use y's but y's also fuels my creativity when it comes to working um I don't have to invent the wheel I may have to build all the sprockets but the wheel is already there and it runs um yse is not for everybody because if you use wise as a onetoone sampler then yse is as any other sampler a really stupid tool because then it's just an event and it plays something but if you feed it values and you go systemic and you really want to use it for something that helps you work and if you understand how it works then the content
that you throw into it will be a huge Advantage um and because I'm alone there's nobody to stop me whenever I want to do something um that's the fun part um so when we first fired it up the project is empty the game has no audio no logic so the first thing that I did was to instead of add audio I started building my wife's project with all the rtpc switches and states that I know I will need and that I want so location States time of day States what biome are we in um is it cloudy is it clear how light is it how much is it raining what type of dungeon are you in is it dangerous where you are etc etc etc for States and I did the same thing for rtpc
like I need distance I need the arrow speed I need to know exactly how many trees are close to you how many flies are there how foggy is it how light is it like if you look into the sun then it becomes very bright then there's a highpass filter that makes everything sound fluffy um just because I can um all these things because I know I will need them later so I started to prep my project with that we did the same thing with switches what type of tree do you have what type of altitude are we in like are we in the deepest pit or are we on the mountain what type of rain do we have um how hard is the tree like is it a hard tree is it a big tree is it a small tree is it us is it someone else um what kinds of pants are we wearing what kind of shirt are we wearing and what type of damage did we take etc etc etc and some of these are also
the same as the states but sometimes I need to know on an object and sometimes I just need to know globally so I use them sort of like intertwined States and switches I decided from the very start that I will be using as few AK components as possible um that's not because AK components are bad or that you shouldn't have them and it's not that if I need one I won't make a new one it's just because I have as few as possible then there are fewer places to send my information so for example with our ambients and so on um I only have one place to send how much is it raining how much is it light how much is the light how cloudy is it all that stuff I only have one place to send it and I know where to send it instead of having to find it I don't have to write any code or make a blueprint that grabs a certain object or
searches for an object finds the AK component adds it to that and so on no I only need to in this case because the ambient system runs on the player character so simply just find the player added there that's it um so everything that can run on one component does so um and I prefer because I don't know where we're going to be and like I said the game is very random so we'll have one event as often as possible that starts A system that runs in Wise instead of having hundreds of events that trigger something many times uh like the ambient system it's triggered once and then it just lifts off information from rgc's switches and States um and it does so because I don't want to trigger stuff on top each other and so on because that makes a mess and then I have to keep track of more events it's not that events are
bad but if I can deal with it in Wise and a very strict priority kill voices virtual Voice setup then I can have pretty big setups running at the same time in the background and it won't it won't take more power out of the machine than necessary so we have our player AK component and we send all these information to it uh enjoy my beautiful audio designer art for the rest of the show by the way um it sends the players Health info the physics how like where are you Etc and The Weather Channel grabs into the weather channel is actually called The Weather Channel the little node we have in our blueprint and it knows how much is it raining how wet is the ground um and so on so we have these persistent AK components that are like single
use Global component because something needs to run at the whole time the music component also needs to run at the whole time because the music can't be on the player as much as I would like to but the player for good reason isn't exactly spawned when you're in the menu so the music does have its own component the player has a component every NPC has an has a component and then of course we have components for special events we made a pool of AK components I think we have 20 that just lies over there in the editor somewhere in a pile whenever you ask for a sound to be played on a location instead of spawning one and then dying again afterwards it grabs one of the available ones places it there and plays the sound and removes the component again and that way we don't have to spawn components all the time in and out and that saves us 0.01 CPU and some Engineers happy um
we send all these informations to the various stuff that our player needs if he's if he makes a grunt what surface type for Locomotion what armor is he wearing Etc time of day biome rain amount and it all goes to the player component because then he knows because let's say with armor at one point when armor was a thing that got properly implemented into the game I had a system that was already ready and a switch that was already ready already sent to the correct player component so the developer who made all the armor I just told him set the switch on this link to an AK component tell it that now you're wearing chain mail and he did and it works because if you're walking around but naked then of course you're armor says nothing but if you wear armor it makes this clickity clackety very typical medieval sound
that's usually metal from my kitchen just being torn around um the same thing goes for our ambient system uh I'm trying to remember which screenshots I took um let's say if we are in the barren environment then it checks what time of day do we have and then it switches to that specific one it plays sort of like a bed of ambient sounds for for that environment let's say the barren environment and it plays the barren midday Birds and the midday insects and they sort of like live off rpcs at the same time because let's say these insect Wings they are changing depending on how high up are you if because if if you're suddenly in a Barren environment high up in a mountain then there won't be any insight or there will only be a specific type of
insect and so on and I don't know where the player is and I don't know if terraforming is a thing or if someone can build something really tall and then go there do we want to change it so I made it systemic and just use rtpc to track it I don't have um ambient boxes to tell me where I am because the player could go anywhere they want um rtpc wetness is how wet the ground is so if the ground is wet no insects either um this rattlesnake here that's the thing when you go from one biome to the other a lot of these sweetener sounds are sort of like turned down at the beginning so that they transition from one biome to the other it's very smooth they're very quiet when you walk across it but if you go deeper into Baron or deeper into a forest then these insects or whatever can be turned up but they can also be turned down uh this rattlesnake for example is more apparent
when you're deeper into the biome than not and then we have the birds and I know it looks messy when you have multiple Orcs like that but it's for the sake of the example it's not because I normally look at them all combined like that but here we have the birds if it's very windy or if it's rainy if the rgp for rain or wind goes up the bird volume goes down um if we go high up then there maybe there is a switch in this case as you see there is not but maybe there is a switch that determines that on top of the mountain you only hear an eagle and if you're down at the bottom maybe you hear hundreds of little Peep Peep things each are controlled individually so certain things of course aren't lowered by wind or rain or whatnot
um and they're very different all these have they don't have necessarily unique ones but I go to Every biome I go to Every location I can find and check what value do we have oh this bird is loud up here it needs to go down and then I can just live profile in Wise where that's a very useful tool by the way Simon live profiling where I can then simply just see what what is the altitude right now now oh it then lower the volume I also made a number of debug tools on my own for example just me saying the value of the altitude parameter so if I go somewhere it's just me saying one two 3 100 M 110 m 120 M that means that I know the value even without profiling it then I can just know let's say 120 then when I go back into the editor then it's 120 that's where the cut needs to be
um and debug tools are great when you make them like that so here we have a y session I just uploaded these to YouTube this morning so I actually don't know how good the video quality is but it will play audio quality this here is the normal Baron um the biome it's we'll hear the difference between daytime and nighttime and we'll tweak the wet and wind conditions a little bit the change is not always super apparent The Crickets disappear a little as we go into the biome they go away if it gets wet and so on but the whole point is that when you're playing the game and you're running around then all these tiny differences and because everything behaves differently makes the forest or the barren environment or whatever you're in come to life as you're walking through the forest then the Crickets change a little and there's a different bird and because you Jump Then something happens over there and so on um let's
see yeah and I cranked up the volume by the way just for the sake of the example it doesn't sound like this in the game [Music] we going over to nighttime for
[Music] okay like I said it's a little loud because I turned up the volume just so that you can hear the changes of course it's way more nice and Polished and The Rumble in the background of course isn't there because whatever that is distant cars or whatever in the recordings that I made they're not there when you play the game because the volume is so low God damn it don't do that here we go here we go with birds they're soloed a
little and it's based on wind and rain and so on like I said the difference on what you're hearing may be very subtle but imagine that all the layers are doing this in a different way so when you move around the environment these things makes the whole world come to life so imagine we're on top of a mountain and we walk down so depending on where you are this specific layer is very quiet or a little more apparent the Reverb changes a little and so on depending on where you
go why does it auto start come on [Music] um so here is an example of what it's like when you walk around in the environment that we have um if we turn up the rain parameter what does that actually sound we don't have visual rain in the game right now but that is coming and we used to have it but we' we've been working on it and the VFX is working on it and so on it's coming at some point but here's an example of what it sounds like if the rain system is also triggered there's also Thunder if you see a lightning in the background or something then the timing of where the that is is actually Linked In down down to 340 m/s delays where is when do you hear the the The Rumble in the background and so on
lightning [Music]
something that I'd like to be able to do in reality just turn down rain and it goes away um so rain Thunder Wind all these things they're all intertwined with these parameters because I have no idea when they happen they just happen and I know that my system is able to handle it when you're walking around here we have this is the Players audio component um I don't know if you can but we have various input systems for rain wind light the temperature the time of day and so on and they're all updated on the Fly um it checks every 0.5 seconds because I don't need it on frame and then Engineers are also happy when you say you don't check stuff on the frame um it sets what biome we're in sets the biome depth as well um and as you can see yeah 0 five seconds
up in the right corner uh if it's if the resolution is fine then it simply just checks all the weather manager stuff checks my stuff and so on but all this was started with one event that just started on in it just play the ambient system and then this works um when it comes to footsteps because we have an equally elaborate system for player when he's walking around as we have with the rain because I have no idea where the player is I have no idea what the player decides to wear for armor I have no idea how wet the ground is how high up they are are they walking up the mountain or down the mountain and so on but we do have those parameters parameters available I've been told that parameters gives away that I'm not an American um parameters good um so the foot step again enjoy these uh nice um flowcharts we have one main
event for for the footstep it just checks are we on ground or are we in the water if we're in the water then is the camera above or below the water and that determines we play a muffled or a clear swim stroke sound if we're on the ground it checks the surface material how wet is the ground and then plays whatever material we have depending on the wetness it also has a slope relative so if we're walking up the hill the footsteps are a little louder and more chunky and lower in Pitch if we're walking down the hill they're a little pitched up so that it really feels like you're when you're coming down the mountain and you're going up the mountain um the same thing goes if you're on a rocky surface then there is if you're going up the hill if you're just walking on flat ground there's nothing but if you're walking up the hill tiny rocks will fall off and that depends on player speed because if you're sneaking up the mountain of course there's nothing if you're running
these rocks will fall down all the time so here is an example of our character bare naked suddenly wearing armor and the wetness changes and we are changing to wearing armor that's just metal shoes but if we also put on chain mail armor for shirts and pants if the ground becomes wet [Music]
so if we have a rocky landscape and we're going up and down the hill the value being trecked here is the slope it's the relative slope depending on the direction that we're walking in because I had a VFX guy who was really awesome who thought that uh slope is relative to the where the player is going and not just what's the slope of the terrain you're actually on so here we go and if we're walking up the hill and if we're walking down the hill the character has a vis visible animation when walking up and down the hill it really is up the hill is like this and down the hill he's very stepping differently and this is an easy way to instead of having unique tags and
unique triggers and everything like that um we just have a animation tag that says he made a footstep and then everything is systemic depending on where you are what material you're on and so on so that I don't have to care about footstep uphill footstep downhill footstep this and that and so on um and this is where we calculate the slope uh the VFX guy did this for me so yeah math um but it lives off the vector of the player normalizes it simply just knows exactly if we're up and down here comes the music setup and we only have one event that says start music I think it's actually just called play music if I remember correctly um it plays the intro when you're entering the game plays the menu music when you go into the Character Creator
over on the right the music changes and that's one of the situations where I took one of the pieces and all the stems that the composer gave us and then made this ambient piece that can just live off in the Character Creator if you go to the lobby it's a little different and then it changes in and out so he's still the composer and I remixed the hell out of everything he sent me with his permission um and then once you go into the game you can only be in two states ambient or combat for ambient it just checks what biome are you in and usually we have more silence than we have music because we just have silent tracks and then random random timings between it's allowed to play music and then it doesn't always play music uh so because we don't want um information overload and just thousands of hours of Music constantly being played if you want that you can buy the record when it comes out and put it on instead um it tracks what
time of day is it so depending on if you're in a forest then there's a darker theme at night then a lighter theme at day um if we suddenly go to combat it also checks what biome are we in is it day or is it night what danger level is it and so on and then it plays that specific combat element and here is an example of starting the game going into the menu going into the Character Creator and then going into the actual game um let's [Music] see so we're going from the opening scene the menu we clicked the character creator
and now we're in the Character Creator the same thing happens for Lobby or whatever and even depending on different types of what you're editing on the character it's just a different drone that plays and we clicked enter and went into the game and now what would have been really nice was if the random system would play a piece of music right from the get-go but it doesn't because I've told it to be quiet most of the time but let's say we go into [Music] combat and this is just danger level one if we go to Danger level two it automatically changes all of these pieces have 10 variations so we keep track of all of these variations so that which one is
currently playing and the transition will fit that specific one [Music] [Music] so the changes in there
is I forgot what values I've set it to but what if it goes from you're fighting a lone wolf to 50 wolves or if the person you're fighting is less powerful than you then it's just a level one danger but if you're really in danger then it's level five and then it goes as you heard with choir and everything and um ours A Reverb because I love Reverb and compressors let's try the different combat levels if you're in a dungeon this is like the exact same thing you're just in a different environment [Music]
so we killed all the zombies or whatever there is in the dungeon and now we're in the dungeon that has compared to being outdoors in the wild has music all the time playing so this as you hear now it's playing all the time a composed piece by the composer that wasn't originally there because these violins are from a different tune that he sent us and so on so all these remixed versions are
just my take on what I needed because we couldn't keep asking for very specific things every second um here is combat in the not the same area as the one before but when you when we're in the open depending on if it's day or night [Music] so that's daytime and you're fighting I don't know two wolves and this is night time and you're fighting much angrier [Music]
wolf and straight to level five I think [Music] there we go so and that cello by the way is like a stack of compressors and two reverbs of both 20 seconds just to make it so Grand and massive that's not in the original composition I did so with permission fortunately for me our composer was cool with completely tearing up his stuff um so not everything in a game needs custom
content I know that Greg before was talking about that you shouldn't necessarily take stuff straight from a library I don't either but I use libraries for literally everything throw it into something and I twist and turn it lots of parameters and lots of Automation and lots of plugins that tweak it so that it fits what I need and if I'm in the mood for making more even though I made more than I need I continue my creative flow to create a library of my own because I might need it later in the process not everything needs custom content until it does because I can multiple NPCs was one of the issues that we have we had what if an NPC spawns he says uh whenever he attacks you and he says whenever you hit him and so on and what if five of them spawn is it then five at the same time or what do you do but meet Bob Kenny Alex and
Frank these are just four uh we have 10 of each but we made a system that's called the NPC randomizer just for the lack of a better name it just gives them a random value whenever they spawn so that we know that that you shouldn't really call People by by numbers you should call them by name so number four is Frank let's just say Frank hi Frank Frank spawns into the game and he says are the way Frank does but in comes Bob from the left and he says as only Bob does I think it's number three that's me so Alex is Bjorn yes here comes the grunts of these various personalities I'm only going to showcase the four but we do have all 10 of them um right now we don't have it split into genders we will and we will have some sort of you can sort of like pick what type of voice you want but right now it's very generic it's three guys and a
girl me two friends and a girl that we had in and it's based on their health so our voice Direction says you say uh whenever you get hit but if you're low on health you go and so on and we have this for High Health medium Health low health and you're close to dying and we have that for every sound so whenever you fight them is you don't necessarily notice it when you play the game but it's there and it makes sure that it's not repetitive it's just a thing and I don't expect anyone to come and Pad me on the shoulder afterwards and go oh I really noticed version five of the death grunt of Alex no I don't expect anyone to do that but because it's there then at least they won't come and tell me oh I think it's boring when Alex dies um because it's not because Alex is me and there's like
of we did this for every NPC every type of monster every type of cultist you can meet every type of ghost every type of whatever not the animals but my studio is very small and air circulation is really bad so when you record breathing we almost fainted but it was fun let's go this is an attack and we change it this is number [Music] two this is a different [Music] person that's me and here comes [Music] Sarah so let's go down and make sure that Sarah gets a little hurt
right when she think she's she's swinging her sword why does it say music it has some automated captions on um this is when also attacks yeah but we get to hurts whenever you get hurt oh no [Music] wait this is when you get hurt in full health that's me I'm bleeding so now I'm close to dying and you you really shouldn't continue to stab people if they're
already almost dead but you do this is Sarah this is one guy when they're close to dying compared to when he's at full health it just gives it a little variety when you're fighting them because he's being like really big and nasty when you're fighting them it takes the characters it just simply gives it a random value between 1 and 10 and adds the name random to it so random one random two random three whatever and sets it to the NPC randomizer so whenever a character spawns it is now a number I'm sorry for um giving them numbers for names but that's how it works when you're in a video game they I couldn't just name them Frank Kenny Jonathan whatever and here we have it listens for the Player's Health um divides it by its Max health so that we have a value between zero and 100 and that becomes
our rtpc so if it's a really powerful character then it's it's the same system because if he has more than 100 in maximum health then it's only when he's below 25% that he starts to sound like he's dying the same goes if you're a character with only 20 Health to begin with then it's when you're below what five or something um 25% of 25 I don't know um and it goes something like this you're fighting one guy this is an acolyte this is uh the video is a little strange because he's also throwing magic and he's doing all sorts of weird Gizmo things so it can be a little hard to hear his grunts but they're there [Music]
for the sake of the video of course again everything is cranked up so it's really loud and unmixed but you get the point I hope but what if we meet three enemies at the same time this is probably Bob Frank and Alex you're fighting they don't like [Music] you and when you get bored of fighting them of course as a developer you have cheating methods so you can just kill them all in one go if you want to unavailable to normal people but die there you go and then you can pick up their stuff and run around so that's the difference between one NPC and three and it just gives them variety and if there's even more of them then we have a strict prioritization system so that the one that's the furthest away you don't hear them the one that's closest if it's not a special
enemy then they have priority over the ones that are further away and so on and on and on and if something plays its priority and it's further away if it's something that I really wanted to hear then that specific sound gets a crank up in priority and so on so the voice is is just sent to Virtual or either killed um and stop it there you go this is what happens when you fight a ghost it's just one ghost just so that you can see what the ghosts sound [Music] like and the ghost died he's called a he's called a confused soul I guess he is because why would someone just show up and fight him and finally we have the
Wisp that you can't really kill in the game but because I'm a Dev I can [Music] [Music] and it dies sometimes would be nice when you're playing the game to have that just kill all NPCs but but that is P's day and all my systemic approaches to it and that's [Applause] it do you have any questions then fire away there's a lot of default answers more we were there for fun but if you have questions I'll answer hello hello hey uh thanks for the talk it's
here yeah uh thanks for the talks very impressive stuff uh especially working alone yeah but like I said there was no one to stop me yeah uh I think like my my question is a part uh about the ambience system from what I understood is uh one emitter which then is that like the ambience is it always uh 2D and was that a a static choice or was that like a technical immitation or was it like this is a way that I can get this giant game done uh my way without having to have like a thousand events for each thing and have a lot of like object based things and have everything spatialized well uh there is there's always a 2d layer that plays uh always uh but then the birds they spawn with listener or emitter listener automat Around The Listener with randomized 3D positions so sometimes if one spawns
it's too far away you don't actually hear it but then they move and so on especially with the Flies if you're an area with a lot of flies you literally hear a fly bus around your face um because wise lets me actually oh we have wise with us um for here midday birds and listener automation it just has all these paths and then it just plays all these random patterns and these are the birds that are respawning uh all of them have these patterns and they spawn around you and so on uh the same goes for uh yeah like flies and every detail that's in there so that it makes it even more randomized so that I can't control it I control the
pattern it should follow but I don't control when it actually happens yeah right yeah cool and then a bunch of 2D sounds sometimes play and sometimes uh 2D layers are faded in and out uh but 3D Sounds here and there and like you saw with the rtpc that control it some of them are inaudible and then some of them are audible but in the other situations it's diff it's the other way around or maybe you hear them both maybe they're pitched a little and so on um so if you're standing in the forest and you walk 100 meters that way the parameters have changed but the sounds have not but because they changed the Flies are a little more apparent the birds are a little more distant and so on so it sounds like the environment is changing but this is a video game so it's fake everything is fake uh um because I can't
find that exact forest and go with my microphone and record that specific Forest so everything is just F you know that but everything is just fake yeah yeah of course I no no it makes sense yeah I was just kind of curious about like the the main system that you have like rattlesnakes and everything and then they seem to be like in the emitter and in the in the same kind of playing together as uh as this kind of 2D thing which like again really really cool but then was that like an aesthetical choice that you wanted like or like what when you separated the like the 2D environment from the things that you actually wanted an object to play or even the Birds that you have like randomized around you like yeah it's definitely an aesthetic choice but it's also a choice that gives me the best result with the most am yeah with the mo with the most or least resources but also with the most amount of control uh so everything that happens even though it's randomized I know why it happens yeah um yeah that's really cool thank you so much man hey you're welcome Hey
CH hey thank you great stuff um um so I want to ask you about how you cope with uh production demands so I don't know anything about this game other than what I heard today but looks like a fairly large game it's pretty big yeah and you're just one person and obviously you have your templates and systems that you implement to cope up with all of this scope but what you do how do you respond when you when developers have new features coming and or they they just want to um revise an entire feature for example refactor whatever so how do you cope with that scope what are your strategies um most of the time I ask fortunately for me on this project uh it's very transparent when every ever somebody changes something so which makes it a lot easier so that it's not something that suddenly snuck through the back door and suddenly something has changed
um and then communication is really vital to it what we've done in certain places when suddenly they change um combat we would like at the end of the combat attack to make a Little Grunt when you do the special power move and so on that's was a request that came in um it's then done in the simplest way possible uh usually just by tagging an animation in that case but most of this game is is made out of data assets so every weapon has a data asset that knows exactly what it does so if the um the game tells you because the player clicked the left Mouse button the player swung his sword or the player did something then it asks the data asset um which event should I play when I swing this specific sword or this specific hammer and so on so because everything is data driven like that then if we need all suddenly a new weapon
comes into the game it's very easy to sort of go into wise create the new events with the new name you know play Swing sword uncore we have a sword called Dinda which is very nice um like that one and then you add that specifically to it and then it just works and because everything is data driven that means that every time they add something new it's still in that data asset that everything is controlled so it's very rare that I need to go and invent a new sprocket or a new miniature wheel to follow it um uh because if it wasn't like that then doing this alone would be impossible yeah so you build a scalable system from the GetGo so then you can later um it's it's very advantageous later on when there are changes also also I've taken into I've taken some of my sorrow in advance uh like I know that that right
now you can't see the rain and I know that the Thunder doesn't work or something like that but I've made a system that takes rain into account and I've made a system that knows when it's thunderous how does it sound um we don't have uh a parameter for how many clouds are there but I've made the system so that in case the parameter changes then something sounds a little different because if you're walking on a cloud day the birs are less active than if it's super Sunny um so whenever a VFX guy decides to actually do the clouds then that parameter is already there so hopefully it's plug and play and they do it and then it works and then I'll tweak it of course but uh I looked ahead a lot like when we started the project as you saw the first thing that I did was to shape all my parameters and variables and states and switches and whatnot simply just to to be ahead of
time so that I know exactly what I want but that also made it possible to call out to the programmers and the developers in the beginning and say oh you're working on weather uh would be really nice to have these parameters thrown at me um and you hook them up into your wise node like this and so on so that they already know how to deal with it when they make it because the worst that can happen is that they make a a new feature and then when they are done with it they move on to work on something else and then I just come and try and piggy bag on them and be like hey can I can I like have this added and they're like yeah but there's no time because production moved them on to I don't know work on frogs or something um thank you yeah so I looked ahead I tried so thank you you're welcome there's a blinding light so I can barely see if someone has their hand up hi Bon thanks so much for the talk very
interesting and very impressive uh I just want uh to hear maybe a bit of context in uh in terms of the timeline of all this like how long has this project been ongoing with you at their side and like what was the initial process of setting up everything you know you you'll be expecting to to to implement versus like more maintenance and edit stuff like what's the timeline look like the timeline for this and the project now is 4 and 1 half years I think um four but a lot of the time has been that you could power up the game and you could run around so I had a lot of time because the the scale of the game is so big and there's been so much time if if this was a short-term process we need a game and it needs to be out in 6 months or a year and it was filled me alone I
would never have made it this deep and detailed and I would never have made uh 10 different grunts for every type of grunt for 10 different NPCs and given them names and birthdays and stuff no um I would have complet I would have approached it completely differently if I had out a shorter time frame for sure um but this is what's possible when you have time and I didn't have to learn the tool to begin with because I kind of know why cool thanks you're welcome yeah anyone else anyone else go ahead you're going to tear me apart Greg thanks for talk I just want to ask uh having so much of uh El in one one event and having State based system for
so many elements for example for music do you use even based packaging and if yes how do you overcome referencing so much of the events at the level of because you're referencing with the states of the music you're referencing like many elements from many parts of the music and do you soft reference them and load them based on the biome or uh no uh we play the music system and then uh we have only one place on the the uh what's it called the player no the character audio component player player audio component I forgot what what I called it but it's all in the same blueprint uh so the information about what biome you're in comes in and it checks and then it sets the state in one place so that it doesn't happen where I don't have control over it um and that makes it we have not been at a point where we
have lost uh references or where packaging sort of sort of got up in a mishmash I love event-based packaging I spent a whole day converting the project from one Sound Bank of 2.5 gigs into event based packaging yeah and and um it was a hard time trying to uh to do the process and then submit it and technically you're not allowed to do a 2.53 gig submit every time you do it but I had to explain our build engineer that that uh this was for a good cost and he was like what's the good cost but it'll well it'll it'll save us 2.5 gigs of memory usage how about that and he was very happy um so we put it in and we went from 2.5 gigs to 20 Megs at all times um maximum of 10 15 voice at any given time uh for anything besides audio uh besides music and
Ambience yeah um I assume that if you have like 20 Maxs of in memory or a budget I assume that you do have some sort of soft reference to the music because the music in a game for example three biomes yeah it's absolutely more than 20 20 20 mags so probably oh yeah yeah no no so you somehow reference it yes in a soft reference rather than a hard reference music system lovely enough loads what comes next in chunks so so um so it knows what's playing now and what plays next and then it sort of doesn't load everything else um I get the question now it loads it loads ahead of time and it knows what's coming um and then more often than not I because that saves memory that if you have a piece of music music and you know that if the state changes it goes into a different piece of music or something
like that or maybe the same piece of music maybe you have the same piece of music in a different file that takes up more dis space but that means that it has a different WM file it's a different media file which means that when it changes it loads that file and this file gets forgotten so it never uses memory of them all at one time because if it was all in one media file of of course that mediai would be humongous um and I don't want that um and fortunately for me as well that's different from music and Ambience but it's only the current scene that you're in even though the map is what 150 by 150 meter kilometers uh it's really huge then it's only the square and the surrounding squares that you are in that are currently loaded at any time so a player jumping at one end of the map doesn't trigger an event that you hear
down here so I don't have a billion virtual voices I only have voices of the animals that are close by and um interesting to me uh so there's never anything more loaded than my current biome my current music whatever I'm doing what I'm wearing and whatever NPC can come at me and it's very few things um and then you can always make it sound more Grand by compressing it spicing it up you know and putting some Reverb yes exactly Reverb and compression limiters there you go thanks a lot man you're welcome more we're two minutes over time that's it okay can I get around of the post please [Music] [Music]
[Applause] [Music]
Auto-generated captions from YouTube — names and numbers may be misheard.
Distilling the key insights…
PocketGamer.biz · 2026
PocketGamer.biz · 2025
Comments