7 Years of Indie Game Development - The Making Of Sapiens

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

I don't see an Idris. That's a deal breaker.

👍︎︎ 18 👤︎︎ u/Farseer_Uthiliesh 📅︎︎ Jan 30 2023 🗫︎ replies

Now that SC has done a river, everybody is doing rivers in their game. You see? SC set a new trend with its revolutionary tech. I bet this guy bought that river tech from CIG, but keeps it quiet.

👍︎︎ 13 👤︎︎ u/chariot_on_fire 📅︎︎ Jan 30 2023 🗫︎ replies

Tbh it looks terrible. But yeah, if it was made by a single person it's quite the achievement.

👍︎︎ 4 👤︎︎ u/Benbaz4 📅︎︎ Jan 30 2023 🗫︎ replies

Yeah but it doesn't have the greatest graphics ever! There has never been a prettier screenshot than thr stagnant lifeless exterior ship shots in star citizen!

👍︎︎ 7 👤︎︎ u/OutsideSympathy7239 📅︎︎ Jan 30 2023 🗫︎ replies

Yeah but has this game be touched and personally hand crafted by Chris Roberts? Checkmate fudster.

👍︎︎ 4 👤︎︎ u/ClickClickBoom82 📅︎︎ Jan 30 2023 🗫︎ replies

No seamless transitions man. WTF is this game?!

👍︎︎ 5 👤︎︎ u/Patate_Cuite 📅︎︎ Jan 30 2023 🗫︎ replies

Yeah but if i leave a bone in a cave and come back a month later...? If the bone is not there its a shitty game

👍︎︎ 1 👤︎︎ u/murican_Capitlol 📅︎︎ Feb 01 2023 🗫︎ replies
Captions
[Music] hello everyone my name is dave frampton i have been making a game by myself for over seven years now now this isn't the first game that i've made i've made a number of games in the past but this is the first pc game and it's certainly the game i've spent the most amount of time on now sapiens is a unique game it's got quite a lot of new ideas that have evolved over time you know i've really approached it from building a very unique new game from the ground up but another thing that makes it unique is that i also documented the process so i've actually been making videos here on youtube and posting them every month or three throughout the entire seven year development journey so this video here is basically a making of it's going back over some of the video footage that i've recorded as well as loading up old builds and i'm going to be talking about a lot of the decisions that i made in the process a lot of the difficulties that i had you know what it took what i had to do to overcome some of the obstacles and ultimately you'll see how the game came together and why it is the way that it is hi everyone so it's actually the day before launch it's less than 24 hours until launch now um it feels crazy even just saying that um yeah i'm i'm stressed i'm quite um it's quite intense and there's you know it doesn't there's so many things that i could do to kind of improve things it's it's such a big deal for me you know it's just been so long i've put so much time into it um but it it's just it's also amazing i'm just stoked i'm very happy yeah i just hope it doesn't disappoint i guess and yeah but even if it does even if it does i feel like i can um i can i can improve it i can i can figure out the issues and i can make it work so so i guess at this point it feels like a success even though i have no idea how well it's going to actually do but i feel like it's a success i feel proud of it and i think everything's going to be right i think i think at the end of the day it's you know i really feel like i've put everything into it you know [Music] so i started making this game in december of 2014 and my only real goal was to make a planet renderer i wasn't really actually trying to make a game i was just wanting to render a planet and i wanted it to be procedural i wanted it to stream in the data nice and seamlessly and i wanted the planet itself to be larger than earth so this game was always going to be set on a spherical planet i first had to decide what geometric primitive i was going to use and i settled on icosahedron the icosahedron is a good fit because all the triangles are of the same size and they can easily just be subdivided down to create lots of detail when i was trying to decide how i would set up all the data structures and everything to deal with this i actually printed off a paper icosahedron and glued it all together and i've still got it seven years later although it's looking a bit worse for wear however it also caused a number of complications i had to develop my own id system to identify each individual triangle i had to figure out the math and the code involved in finding neighboring triangles and all of this stuff was a lot more complicated than it would have been had this been a standard top-down map there's a couple of major benefits though from this extra complexity and sort of from diverging from how things are normally done with games like this some of these things i'll talk about a bit more later but effectively because the world is very similar to earth and how it's actually scaled and everything it meant that things like the atmosphere and the sunsets and the sort of realism of the world going through seasons and and depending on where you start in the world you get different seasons and different day and night lengths and all these sorts of things all of that stuff pretty much just happened the real physical world properties translated directly into the game and everything just kind of worked so that was great but with all of the other stuff that was more complicated that was actually kind of a positive too it forced me to make my own creative solutions to these problems i was venturing into uncharted territory there was no documentation explaining how you should approach things like this i couldn't just look at what other games had done or anything like that so i actually had to really really get and figure out things myself this might not seem like a positive thing but it really was for me um partly because it made the game unique and and really what sets sapiens apart from other games and makes it its own thing is is very much because i started from this space but also on a more personal level i needed that i i i really feel happiest as a developer when i'm venturing into uncharted territory and when i'm having to solve problems myself and so for me i had to bite off something massive like this something difficult or i'd just i would have lost interest so during this first year or so of development i was iterating over the graphics and the the kind of technology behind it to improve performance and make it just feel a bit better and look a bit better it was just this sort of slow refinement process i would tend to work on the game for two or three weeks at a time just really get into it for a few weeks and then just go off and work on some other thing work on my other games and things like that so i wasn't really fully committed to the project at this point i was just still experimenting with it but at the same time as iteratively improving things i'm also thinking about the big picture i'm starting to think about gameplay i'm starting to figure out what this game could actually be and i'm also looking at the back end so i'm looking at things like physics i'm looking at multiplayer support so right at this early stage even before i knew it was going to be a game i was starting to add a network library and think about how multiplayer communication was going to work so i was thinking about this not just as a tech domain demo at this point but as the starting point of an actual engine so this is where it really started to change a little bit in my direction and what the purpose of all this was going to be so for physics i went with bullet the bullet physics library and i'm pretty happy with it i think probably it wouldn't have mattered too much i probably could have used any but that's the one that i settled on and it did the trick what it gave me being you know having for the physics library in there was it it gave me the ability to kind of quickly get stuck in and make things work and it also meant that i could have like i could see that it was possible to have all of my branches and rocks and everything all kind of bouncing around on the terrain when you harvest things and stuff and that's all still in the game today and i think it's a nice touch that you know having a good fully featured physics engine in there has helped me to achieve it's interesting going back and looking at a bunch of sketches that i did back around this time um i really you know i was just trying to figure out what it was that i was making i didn't i didn't know like what kind of game it was going to be i had a few ideas a few kind of fundamental concepts one of them was the way that resources were going to work if you look at the sketch here just down the bottom right here we've got this idea of these yards that store items by type and they're physically kind of filling up as you add more items so you know it already kind of that was something that i was really keen on and that i'd almost decided on at this point but then there are a lot of other things too that just didn't happen uh there was a very much a sci-fi kind of vibe going on like i thought that it was going to be a futuristic game i wrote out a bunch of notes about a kind of backstory about why you might be in this situation in this post-apocalyptic scenario and yeah i mean it was pretty cliche stuff actually i kind of just wasn't that keen on it and ultimately you know decided on this ancient history thing but there were some things about this that i quite liked and i do still like the idea of building roads and having actual vehicles driving on roads and stuff and i hope that one day sapiens does get to that point um but yeah this image too i thought was quite interesting because it shows a little bit of user interface design a little bit of thinking about how you would actually interact with this this world uh it talks a little bit about the process of logs to timber and or olives to olive oil sort of this refinement of resources and things which is very much part of sapiens but then there are other things like talking about some city style data views and things you know none of that ended up happening i guess it might one day but it just turned out not to be particularly important so one thing i focused on a lot in these early few months is the atmosphere initially it was just a blue background that kind of everything faded into and then i spent a lot of time just trying to find a good technique for rendering physically accurate atmosphere in the end i found some papers and example code by eric brunton so i used his techniques and slowly modified them just tweaked them i think i probably never quite got the math correct so you know it's always got this individual unique kind of look to it but also i added a bit of light in the night time because it was basically pitch black at night and added the star field and worked on different techniques for making it fade into cloud and rain and fog and stuff later too but i do definitely want to thank eric for his work that really um you know without it i couldn't have couldn't have had such a nice atmosphere in sapiens also i set up cascaded shadow maps uh this is a fairly well-known technique for rendering shadows in sapiens this was particularly challenging because of the earth-sized planet uh you know if you've got a set smallish kind of world size then you can it's a bit easier you can have less detail and less sort of shadow maps but actually having combining both the high detail close shadows with those distant mountains was a real challenge another feature that i was working on in the engine at this point was the water effects um i i really enjoyed working on the water i think that that's it's a very rewarding uh graphical feature to work on and i've always enjoyed working on water this wasn't the last time that i spent a week or two just tweaking water shaders um but it was sort of the first big go at it and i was really you know really happy with the results i was achieving at this point um unfortunately i did end up having to change things quite a lot after this there are all sorts issues with transparency and with the reflections of close objects and with how the waves were calculated and things too like they didn't actually work around the whole world they only sort of worked in this area where i was testing it but that's often the case when you're working on things like this you sort of you get a prototype going and it works well and you leave it for a while and then you come back and spend all the hard yards actually making it work properly in the game with all of these things like water and the physics and the shadow maps and the atmosphere i if i had used an off-the-shelf engine like unity or unreal engine um i probably could have just used some existing code to do this however with the spherical planet that's larger than earth and all that kind of stuff i would have really struggled i think i would have really struggled to try to make those existing solutions work in this case so i don't know if i really i don't i just don't think that that would have actually worked out and i'll talk more again again later about why i chose to go with my custom engine over the um over an existing engine but you know ultimately it was it was more work around this point that i might not have had to do but it's just really paid off in the end [Music] so after this i actually took a bit of a break probably for about six months i didn't really work on the game there were a couple of reasons one was that we had our third child uh third of four we actually had two during the whole development process um i wouldn't recommend that by the way if you're going to take on a massive project just maybe don't have a whole bunch of kids while you do while you're doing it but you know you can't really always control these things uh but aside from life getting in the way i was also a little bit just trying to find my direction a bit i got quite excited about vr just before just before this point so so during that time where i wasn't working i was thinking a lot about how what i was going to do and i basically decided to not focus on vr but just really make a good pc game with you know keyboard and mouse focus um but still with the idea that i would be able to make it work in vr at some point and i'm still planning on doing vr it's just you know it's it's not such a priority and there's still quite a lot of work to do there but once i did get back to work again i found my groove pretty quickly and i i settled on a good new direction the first thing i worked on was the terrain i wasn't too happy with it was very just sort of simple noise-based rain to start with and it was quite slow as well so i had to work on performance as well as trying to make things more interesting adding cliffs and mountains and things that weren't in the game before so i did a lot of just tweaking refinement just just trying out different techniques and things to try to get the terrain to work a bit better this actually included working on a climate model simulation to try to decide what the vegetation should be and where the biomes should be and that climate model was a little bit of just an experiment for me but it actually stayed in the game so there is a climate model that decides where forests should be and things it's not super realistic but i think it does add a little bit more realism to the world generation this was also the time when i decided to add lua into the game so lower lua is a scripting language and i really thought that that was going to be something that could be quite useful to help me to more rapidly develop the game as well as make it easier to mod in the future and i guess i didn't know at the time just how much lure would be a huge part of the game initially it was just really some simple little scripts that helped out in various areas but ultimately lua is the bulk of the code of the game around this time also was when i sort of split out all of the code initially it was all running on single thread and i split it out into multiple threads and made it sort of serve a client and designed the whole kind of engine structure that would would support the game going forward and that was quite a big job too and i had to do a lot of research and figure out the best way to approach that one of the next things that i worked on was an importer for 3d models so up until now all of the trees that you've seen have been hard-coded in the engine so they're very you know simple primitives that i just put the numbers dirty in into the code and obviously that's not very flexible and i can't use that going forward to make lots of different kinds of interesting trees so i decided to go with blender it was really just the obvious choice because it's free and accessible to everyone so it means that modders down the track will be able to use the same tools that i'm using without having to purchase some expensive piece of software and blender is just awesome i'm so happy with it you know it was such a good choice to to use that and and learn that i had limited experience making 3d models before this so i was learning on the job and my first models were pretty bad and you know i've i've improved a lot over the years but um you know it's still a learning process i went with grtf2 as the file format and initially it was pretty rough around the edges it was a plug-in that you had to install in blender and it had a lot of bugs that i had to work around and in fact i actually had to modify the exporter a number of times to fix bugs in it uh but i filed bug reports and they're always really responsive to fix things and now it's just great i can just use the built-in one and everything works perfectly it's interesting some of these early technologies you know i picked things that looked like they were on the up rather than things that were at the end of their life because i knew this was going to be a long-term project and i wanted to be able to support it for a long time and everything's worked out really really well you know jltf2 was a was one thing vulcan was another um just technologies that were we're just sort of getting started as i was getting started enough you know all of the information is there as people are working on it and you can actually be in a dialogue with people who are making these things and actually influence what happens and you know it's been really cool being a part of all of that too so as you can see here at this point i had started working on removing of trees and actually saving out the fact that they've been removed i was working on having the tree sort of drop something when they removed so it's just a block of wood i guess was the idea i did have this initial idea that maybe all the resources would just be cubes or something but ultimately that was not a good idea now i just want to show you this little recording from october of 2017 where i'm talking about the future plans because it's actually really interesting how much i stayed with these ideas that i had at this point five years ago so yeah so you want to chop down a tree where you go up to it you look at it and then you click on it and you go chop down and then it's marked for chopping down but it won't be chopped down straight away you'll be you'll need one of your people that are close by to come walking over drop it down and then it'll be chopped down and there'll be a log there and what do you do with the log well you can probably click on it and command something or you could probably go over to your resource pile over here and click on it and say bring all the logs within a certain radius over here and then that's like a standing command that europe people are going to kind of work on um so i guess i guess rimworld you know bits of rim world in there um i don't know what kind of other games are like that there are quite a few but what i really wanted though was that for you to be in there i didn't want you to be looking down on it all the time and um not really feeling like you're a part of the world i i do want you to be in there so um when you're when you're building you're gonna be able to walk inside buildings and um and yeah i know you'll be able to mine terrain directly but you'll be curing up mining actions that maybe some guy next to you will incomplete kind of thing i don't know i think that's how i do it anyway i'm not 100 sure but that's the plan for now um and so what that means is that one of the very next things i have to do is have a character model in here for these people that you're going to be commanding so i like that little bit of video i guess because i was i was correct pretty much everything that i said there did happen um also because uh it reveals that you know rimworld was an inspiration and uh you know i love room world i think it's a great game i was quite conscious to do things my own way though you know removed was an influence but not a direct kind of you know a source of all my inspiration or anything like that um and i did indeed then go on to work on the character models so adding actual human characters to the game was a big challenge both on a technical level and on a sort of modeling and animation and rigging kind of level as well so i had a lot to figure out and it took a number of years so when i first started my my efforts were pretty funny uh you know but they were that you know you got to start somewhere yeah so i refined them probably three four five times with sort of major overhauls to the look uh and ultimately i'm pretty happy with the result i mean you know i still think that they could be a lot better you know in all honesty but they do need to be low polygon the animations need to be simple and really the most important thing for me as a solo developer trying to make this massively ambitious project was that it had to be quick and easy for me to just add new animations and stuff or it or it just wouldn't be possible now we get to december of 2017. so it's been in development for about three years uh but only sort of part-time and i wasn't really sure if it was going to be a game or what it was going to be but now i am all in now i'm working full-time from about this point and i'm actually really enjoying it i'm loving it i'm feeling good about where the game's heading and i can sort of see it all laid out i you know not the details but i know broadly that it's going to work out so i had a few kind of difficult technical things that i had to sort out mostly just to do with pulling everything out into multiplayer and setting up all my scripting environments and stuff a bit differently this was when i decided that i would always have it running in multiplayer so even now when you play there is actually an internal server that's running whenever you're playing and uh there's always communication between the client and server going on so basically if you look at the roadmap i'm planning to add multiplayer support quite soon after release and most of the work's already done because it is basically running in multiplayer just with only one player playing this is when i first added the star field this was actually just earth stars to start with what i actually did in the final version to make the stars all unique and kind of because this is not earth you know you don't have earth continents in sapiens you have a randomly generated world so what i did was i took all the earth stars and i just sort of shuffled them around a bit shifted them all around and you know made it a bit random so um when i tried just using completely random points it didn't look very good it didn't look very accurate like like an actual night sky it just looked like sort of a random computer-generated sky but i found that that technique of actually having sort of the right distribution of brightness across all the stars and sort of just shifting them around swapping them and stuff actually worked really well at this point i started adding quite a lot of content i really just needed all the content to be able to carry on making the game and all of it was sort of rough and and kind of placeholders and stuff but it's surprising looking back now how many of these models actually ended up in the game you know almost almost the same that they've all been modified they've all been changed but i think there's a little bit of a lesson here that when you're putting placeholders into a game you've got to be careful because they have this tendency to kind of slowly evolve into the final objects so you know the fact that i even i wasn't even sure if i was going to have uh you know prehistoric humans in the game but because i added prehistoric humans that's what that's what the game ended up being whether i liked it or not so as you can see at this point too all of the trees and stuff are all flat shaded low polygon models i'll just talk about why i changed that later on and you'll see sort of the change in the graphical style but um i just wanted to mention it now because i actually drew some inspiration from another youtuber and game developer thin matrix he also inspired me to even create the entire youtube devlog series you know it was his videos that i was watching that really i was really enjoying and they kind of helped inspire me to go and do the same thing so i'll put a link in the description to thin matrix's channel please go check it out and have a look at his equinox series and also he's making some new games too so go have a look this is about the time that i started working on the building mechanics i started with the campfire so they had to go and pick up branches and rocks and things and bring them over you know initially it was just really rough they you couldn't see that they were carrying the objects and it was all quite buggy and a bit weird i had to figure out how i was going to design these objects that were made out of composite resources that were brought in it was quite important to me even in this early stage that that it would preserve the type of object that was being used i knew that there were going to be different types of trees different types of wood and branches and different types of rocks and so i had to create some system that was going to mean that you could actually see that those types were preserved within the final object so i decided to do this in blender by just adding empty placeholder objects within model files and then using the lower scripts and things to figure out what to put in there and and how it all went together this system actually turned out to work really well i'm quite happy with it and it does the job really nicely and it's worked out for all the all the different building objects that you can make in the final release game and of course now that they could actually carry resources around and had to to go and do tasks and stuff i was actually starting to create the ai system and start to think about path finding and stuff like that i'll talk again about this a bit more later but the ai was a challenge in sapiens it's a huge a huge challenge and it's been one of the major things i've had to go back and rewrite the ai probably three times now um i think what i've got now is pretty good though i think i think it'll be okay going forward i shouldn't need to rewrite it again hopefully um yeah i think i think we're good uh but certainly it's it's complex it's difficult and there was no clear solution it's just been a matter of really just you know just thinking really hard planning really hard and um you know still it's pretty complex i added hunger and eating at this point i still wasn't really sure i hadn't done the kind of loyalty mechanic yet so i wasn't sure how hunger would exactly work but i knew that it had to be in the game obviously um i also added these little markers above the sapiens which evolved quite a lot over time too uh initially i added them because part of the problem was that sometimes you would lose them you just couldn't see them so it was like a marker that you could go to and also as a waypoint for easily like zooming between sapiens i knew that this was going to be a problem if you had multiple tribes spread over large distances and things like that so that helped solve that problem and this was when you actually had a tribe too so these sapiens were now assigned to you and sort of i started setting up all the code behind the scenes to make sure that like in multiplayer that there were separate tribes and and your sapiens weren't going to go and do all the work for someone else and that kind of thing too then i thought it was time to start looking at digging and filling the terrain now uh when i'd first made the terrain the heights could be any kind of gradient so you'd have all sorts of slopes and stuff then quite early on you probably noticed that the terrain changed quite a bit and turned into the stepped terrain which would have discrete levels that were metered between sort of different heights uh and this was a gameplay decision i just wanted it to be a bit clearer uh what you know what would happen when you sort of dug that things could be all leveled out quite easily and stuff so you know that was definitely a good call and that's that stayed that way and right up until release but i did have a bit of a problem here and that's that it really only made sense to move the actual points up and down and not hold triangles up and down and so it kind of was a bit weird that you you know you've got this terrain that's made up of triangles and you've got these points that sort of have partial triangles associated with them and so it's a bit tricky like when you dig a point it could potentially have multiple different surface types associated with it so what do you get do you get like a mixture of dirt and sand if there's both dirt and sand and all this kind of stuff and it got really complicated and difficult i hadn't thought of a solution at this point so i was just kind of forging ahead with it hoping that i'd figure something out uh later on down the track i did figure it out and i actually changed it to have hexagons which is how it works now in the game so i'll show you that soon but as well as decided to figure out both how the ai would work and how the user interface would work and and how you would actually select vertices and actually order them to be dug so i started out with this kind of green selection area and then i changed it to have these sort of um stripy things to try to show what the hill gradients were and it kind of got more complex for a while before i then pulled it right back and made it quite simple where it just shows a very vague outline and actually works fine so you know i sort of went in some strange directions but i sort of had to do that in order to figure out the right way forward as well as the evolution of the functionality of the user interface i was also trying to figure out the graphical style initially it was this flat look i was using i think helvetica and and just black backgrounds and very sort of hard logos and things like this and i just i didn't think that that was going to work i guess that came from the sci-fi kind of idea to start with and i just kind of stuck with it for a while but then i decided to go more like a stone look and i was using textures and images for that and i started to then take some of the look of the game and put that into it and then i had this breakthrough later on where i actually um used 3d models for all of the using face and i'll talk more about that later but that that kind of yeah went in a whole new direction then i worked on the building mechanics quite a lot at this point i got snapping working just sort of basic snapping functionality and i think even the way that i sort of set it up initially is still it's you know the code is still based on the same principles that i used back then i also made it that when you're building it kind of knew that you couldn't build things on slopes and things like that um this was this took a long time and and really you know this was just the start i there were a lot of complexities to the entire building system and all of the snapping mechanics and everything you know were iterated over quite a lot so at this point i had the floors uh walls and ceilings all of which have changed these dirt based things are no longer in the game uh but it was good to just finally have sort of a building you could actually build houses and stuff and it was just great just messing around with this and getting a feel for it and thinking yeah you know this is this is great this is what i wanted in the game and it's working um and you know that's that's evolved into what we have today we've got multi-story buildings and all of that sort of stuff so yeah that was good to see that it was going to work out at this point this was also the time that i added the first mobs i added mammoths and chickens and they're still in the game today they it was a long time after this before they actually started moving around being sort of something you could interact with but it was more just that i needed to try out how the animations would work and all that kind of stuff and how they would look so it was a good time to get started on that i also added a particle system now the particles were just for fires initially and then i made it so that they um had particles being chopped and stuff all sort of placeholder stuff the particle system initially used um lua it had this i had its own thread but it's in its own lower environment so you could script it directly in lower which was super cool but it did end up being too slow at the time i thought maybe i could get away with it but it just it wasn't going to be able to drive 50 campfires in the later game so in the end i actually ended up making a c-based particle system so it's still moddable you can create c-based modules that are loaded in but it's a lot faster and you know just much better performance [Music] and this brings us to the point where i totally overhauled the entire look of the game uh the low poly look that i was going with i still like and i still think that i could have could have actually released the game like that however i think that particularly with the character models the flat shaded look was really difficult to work with and didn't it wasn't great um what actually triggered the entire change was the grass that i added so up until this point they've been a few little 3d model based grass clumps and i didn't really like how it looked so i thought i'd just experiment with using little billboards with textures on them and i messed around with that for a little while and came up with quite a good technique i think for for making some good-looking grass and it really it really just transformed the look of the game in a way that i just i just thought yes this is what i want this looks a lot better so once i did that everything else just didn't look up to the same standard it just looked like it was you know it's like the grass didn't fit but it didn't feel like the grass didn't fit it felt like everything else didn't fit so to make everything else fit i experimented with making the trees and the character models and everything have smooth normals so i just took the the low poly models that i had and just went in and basically just flicked a switch and blender to change the way that normals are calculated and make smooth everything out um and i just loved it i just thought this is it this this is the look this is the way the game's gonna be and in fact the look hasn't changed massively since this point you know there's been lots of little tweaks all over the place but by and large this is the look of sapiens and this is actually when i decided to call it sapiens early on i had called it world project and then it got named ambiance which is always a bit of a placeholder name and then once i'd really decided that there were going to be you know prehistoric people it was a lot easier to try to come up with a name at that point and it was really just trying to find something that was available and kind of fit and sapiens sort of ticked all the boxes so with the name locked in and the look kind of sorted out i thought it was time to add women to the game finally for quite a long time it had been quite frustrating just having a single character model in the game so it was really nice to finally add women and and then when i had a children later on that was even better and sort of a bit more variety and stuff so it was it was good iterating over these models the problem is that once you start adding more content you actually end up having more stuff that you have to maintain so like for all the different tree models every time i sort of thought oh actually i need some more information and all the model files to say like what's the bounding radius of the model or you know where the pathfinding nodes to walk around the tree and all this kind of stuff i'd go through every single model that i already had and add all this stuff and it's always a lot easier to do that later so you sort of got to limit the amount of variety and content to start with you know it's just a bit of a balancing act i also sorted out a few sort of gameplay issues like making it so that you could actually pick a tribe to lead to start with um this was a complicated thing to try to figure out i couldn't i didn't really know how the game was going to start so i was just sort of figuring figuring my way through it um in the end i quite like how it ended up with this map with all these tribes and i think you know the response been really good for that and there's this nice kind of zoom in when you come in so this kind of map view thing came later but um you know it sort of grew out of this idea of just finding a tribe to start with after this for about three months i worked on completely replacing the renderer i pulled out opengl and i replaced it with vulcan now what triggered this is that apple deprecated opengl if i carried on with opengl then it's pretty likely that i was going to run into troubles you know a year or two after release and i was already in fact hitting issues where apple's profiling tools were no longer working correctly and things like this so i just thought i i've got to do it i've got to jump in and move to vulcan so this was very difficult it took a lot of mental energy and a lot of time and a lot of code because vulcan is so new there's quite a lot of people with outdated drivers and things so i'm getting quite a lot of bug reports right now where i'm having to say okay update your drivers update your drivers update your drivers i think that would have happened anyway just because i've got a custom engine like even if i'd used opengl i still would have had problems with older drivers i'm sure that engines like unity and unreal are filled with hacks to work around various old driver bugs to make it just work anyway but you know that's not really feasible for me but ultimately the result is really good the performance is much better vulcan is a much better api and i've just i'm glad i did it it was the right decision so something interesting happened around this point um again i have to thank thin matrix for the idea here but i actually did a summary video much like this one except it was like my first crack at it and it was just for the first four years of development um now initially this video just sort of didn't do much you know i mean at the time all my devlogs were getting the you know maybe a couple of hundred views max and that that one sort of maybe got a thousand and i was pretty happy with that but then the youtube algorithm just suddenly decided that it needed to take off and it did um it ended up getting over 300 000 views um so suddenly i actually had a bit of a community a bit of a following and people were watching my videos and i had to up my game a little bit there was a little bit more pressure but at the same time it was like really exciting i was i was just getting all of this extra motivation from having a you know a fan base and and it was it was awesome so that really helped and it was actually a really good time because other than all of that stuff i was starting to feel like things were getting hard the honeymoon period of that early development where everything's rapidly progressing and the direction is clear it was over and everything was starting to get a bit muddy it was a bit hard to know what to work on next where to go there were lots of really difficult problems to solve and things were getting tough so thankfully i had all that interest to kind of help me get through this and i just had to keep plotting on and keep doing the work another thing that's worth mentioning here is that back probably a year or so before i started even making safety i was actually doing a little let's play video series on in minecraft which you know it seems super random why on earth would a developer do that but i actually i just wanted to find out what it was like to actually be in that position and i wanted to train myself to speak better and to um you know be able to make videos and in hindsight that was actually far more valuable than i thought it would be um all those videos have been removed now i had to publish them because otherwise i wouldn't have that kind of pressure that made it real so i had to publish them but they were terrible and i've got rid of them because you know they're embarrassing but they they just helped me to build a huge amount of confidence with my speaking i mean you know still i'm not an amazing speaker but it just it allowed me to do this and i you know this video right now would not exist had i not done those um crazy let's plays back then so now back to sapiens uh at this point i decided to get them to start clearing out areas of grass which they could then use once it had dried to create hay beds so that was some good gameplay progress i worked on storage areas i thought to start with that i'd probably have these large storage areas where you kind of have ui to manage all of the different items that are within and stuff but it didn't really fit with my original idea and i actually thought that i'd really give it a good go to try to make it so that each storage area had its own resource type i worked again on the ai at this point this was probably the second rewrite and uh it was interesting here what i wanted to do is actually make them um very individual so previously from this it had been a hive mind kind of ai where the best closest sapien just kind of got assigned tasks and all that kind of stuff um i veered away from that for a while where i made them actually individually sort of look at things and so if you said let's chop down this tree then all of the sapiens would look at that new order that's come up and they'd all start walking towards it and then they'd sort of work it out amongst themselves after that so they'd sort of realize oh i can see that someone's walking to that already so therefore i won't and you know it was cool it actually it was hitting in a really cool direction and i quite liked how that ai was working but unfortunately later on i had to go back to more of a hive mind kind of situation it was kind of a hybrid now so we're in sapiens now um they'll put the the closest sapiens available will decide amongst themselves sort of behind the scenes which one should go and do a task uh and it sort of happens instantaneously so it ended up being this way again because of performance and because of just a sort of gameplay like if you sort of see them doing stupid things it actually gets quite frustrating even though that might be natural you know people do not necessarily communicate well and they kind of double up on tasks and stuff in the real world but that's not what you want in a game you want everyone to be efficient but you know some of the ways that they sort of look around to find things to do and actually their head movements are tied to their ai i think works really well and that's all kept in the game so the ai experimentations at this point were very valuable and actually did a lot of it did make it into the final game this was also where i worked on the water again and kind of tidied up all of the issues that i had there i also took that same water rippling coat and used it to make the grass move in the wind so there's nice sort of waves going through the grass and the same code goes through the leaves and the trees and stuff too and when i when i did that it really added a whole lot to the immersion of the environment made it feel a lot more alive along with all of this i had to look at performance there were all sorts of little issues with the way that i was interpolating animations and the camera movement and the loading of trees and terrain and stuff that were causing frame drops so i did a huge amount of work to really improve performance and probably the best performance ever was during this time after i'd done all this work the next thing that i worked on is an overhaul of the look of the user interface i still had quite a lot to do on the user interface at this point but the technique of rendering the interface in 3d went on to be what i used in the final version of the game so normally games would render their interface on simple textured quads so you'd use images and you'd mock everything up in illustrator or photoshop or whatever and design it all or that way now what i decided to do in sapiens is actually to model of all of the panels and windows and buttons and everything in blender and export out 3d meshes which are then rendered in the game as 3d objects this has a number of really quite significant benefits as a solo dev it actually helped me to create the content for the user interface quicker than having to maintain a whole lot of different images and things and it meant that everything was resolution independent and that rendering everything across the entire scene could be quite consistent and cohesive and animate really nicely too at this time also i finally implemented a fast forward and a pause function you know just just critical really like really made it a lot easier for me to debug stuff and to work with it and it's just you know it's good for the gameplay to be able to control game speed like that um i added the ability for them to sleep so they were sleeping and i was making the time speed up overnight sometime soon after that i also made it go super fast forward when they're all sleeping and that's turned out really well because i was a bit worried at this point about like long nights and not being able to see and that kind of stuff so so that's all working now and i started working on the learning system at this point so this is something i had in mind for ages and it was really just a starting point it did evolve from here but this is the first time where they really increased their their skill level on a certain thing so they'd take longer to light the first fire and then once they learnt the skill they could do it faster and that's something that stayed in the game um and yeah i hadn't got to the point where they actually where you go around and investigate items yet which i thought was you know quite a breakthrough later on but you know this was the starting point and this is where it all kind of began around this time i also added the hunting system and i made chickens run around and and made them chase chickens with rocks um it was yeah it was interesting doing this i felt i'd liked that it was all peaceful before this point but really you know it needed hunting this game you can't have a prehistoric simulation without hunting um you know it's got to be in there also at this point i started to automate things a little bit more they were actually picking fruit off trees if they're hungry without you having to tell them to do that and they're learning things automatically without you having to actually assign them to various skills and you know i sort of trying to make it easy for you ultimately that i pulled back on that i added more micromanagement and you know it's a balancing act some people like lots of micromanagement some don't but i did find when i started sending it out to the first testers that it just at times it felt like there wasn't enough to do and so i started adding more more jobs for you to kind of do and also i didn't want a game where you could just go walk away and just let it carry on without any of your input i feel that it's important that you do actually have to keep them alive you have to decide when things will be picked off trees and you know you've got full control over that too once they'd hunted the chickens they needed to butcher them so i got that working straight away too and this was the first time when they actually would use a tool the tool was just i don't know i think it was a rock at this point uh it ended up being stone knives that they could craft later but yeah just the idea of them having to go find a tool to then use to do a process was kind of you know i had to set that all up and figure out how that was all going to work i added the first thatch houses at this point so they were really building structures building walls and things properly and bringing the resources and putting them on i always kind of imagined that then they would use a you know hammers and things and tools and sort of have lots of banging and sort of wrapping ropes around logs and all this kind of stuff and actually that hasn't happened yet i would like to do that i think it's just that's just so much sort of content creation work that you know as a solo dev i'm struggling to kind of find the time to do these sorts of things so hopefully that will come during early access especially if i can you know if the game does well enough that i can actually employ some people to help me that would be amazing so around here i was also working on the music for the game so i have a bit of a musical background i actually made the soundtrack for a couple of my earlier games and i wanted to make the soundtrack for sapiens ultimately i didn't end up doing that um two of the tracks are mine but the rest are made by john considlakis so john actually found sapiens through the youtube devlog series that i was doing and he just sent me through the theme song and i listened to it and i just i got shivers basically i was just like i'm awesome this is exactly what i need um so i was i was just like blown away and i was like yep yep uh let's let's use that and then i asked him to do some more music for sapiens too and we've ended up with about 10 or 11 tracks i think that are just awesome and really helped bring the game together and just split it so well so you know john's done an amazing job on music there next i decided on the radial menu for quite some time when you clicked on objects you would have a multiple kind of selections of what you could choose and it just made sense to put this into a more easily accessible menu uh at the time i was still kind of thinking about vr and i was thinking about console support and i'm still thinking about console support i think sapiens be amazing on console but the radial menu just made sense for a lot of reasons and so i put it in the game and it just immediately clicked it's like yep this is this is going to work this is great i also at this time made it so they could carry multiple items um this was just critical and they you know it just was frustrating when they would go and pick up one fruit you know one raspberry or whatever and carry it for miles and it also just made sense gameplay-wise because it's kind of allowed the player to kind of optimize their sapiens usage a little bit to make sure that they carried multiple items you know you can kind of control that a little by making sure that they gather first and they don't just sort of wander off and pick up single items and stuff i then finally added crafting to the game so they needed a few tools and things you know obviously that was that's a big part of our technological journey as as a species we started napping rocks to make very primitive tools and so i thought i'd get started with that now i didn't actually start with the animations and stuff and i didn't have all the skills tied in and all that kind of stuff but i was just trying to figure out like how does the player actually say all right i want to start making some tools so when i first did this i thought that you might do it the same way as the building system so you sort of select something that you want to craft and you just sort of place it on the ground and then come over and do it i wanted to avoid the systems that i'd used in blockheads and you know that are widely used elsewhere where you could kind of create a workbench and then you go into the workbench and you do the stuff ultimately i basically ended up with there i've got a craft area where you can do the crafting but i've also still got this contextual thing where you can click on resources and order them to be crafted and they don't need a crafting area in order to do a lot of stuff so at this point you selected what you wanted to craft out of a menu and then you sort of plopped it on the ground and then they would bring over the resource and they would make the thing and that was a good starting point they could then actually craft stone spares and then they could use those spares to hunt chickens as it turned out they don't actually use spares to hunt chickens anymore but you know that's what it was doing back then then i tackled another huge difficult task pathfinding so until now they've all just been walking pretty much in straight lines to get from a to b and not worrying about what's in between but now they started walking around trees and then they started walking around walls and through doorways now the pathfinding i was very concerned about performance early on and i was you know i pulled it out into another thread which was absolutely necessary you know i got this server to to use multiple threads in the end to uh that are just dedicated just working on the pathfinding because if you've got 100 sapiens and they're going over large distances it's still you know a fairly computationally expensive task i went just with a star pathfinding i was quite familiar with that i'd used it with the block heads before so i sort of knew the pitfalls and what it was capable of so i implemented that and initially it was still yeah pretty slow and you know i was still a bit concerned about it but actually later on i just i figured out ways of caching all the sort of dependencies between nodes and stuff so i sort of construct the node graph every time the world's modified and i figured out how to load it all in nicely and keep it all off the you know all of the work off the important threads and there's just no problem anymore pathfinding with hundreds of sapiens is just no issue so yeah it did work out really well this is also when i decided to use tokipona as the language for the game so toki pona is just a fantastic fit for sapiens i think that um it's it's just a really nice sort of simple language that i can understand and use so i'm not fluent in it but you know i've done a fair bit of research on it and learned quite a lot about toki parana i do have some concern like i i feel like you know the language is owned by the community and that i'm using it in this commercial product and i don't like that um but i you know i do hope that savings helps to promote toki pona so it sort of goes back to the community as well at this point i just named the sapiens with tokyopono names which actually i changed they ended up sort of generating toki pona like names so not actual tokipono words um and then when i was doing the vocal recordings for them talking to each other and stuff that was all in toki pona as well and so i wrote out a whole lot of phrases and sort of wrote a pronunciation guide and stuff and then got you know i recorded my own uh phrases and then i got my wife emma to do the phrases for the uh for the women and i also got my son ethan to do the kids recordings as well and that was it was really nice and ethan's very proud of that and so he should be it's it's come out really well after that i went and had another look at vr so what triggered me to do this was basically i had got to the point where i was i needed to make a decision was i going to support vr or not because if i was then that had certain implications for what i should focus on going forward i'd already thought quite a lot about vr and a lot of my initial design was keeping vr in mind so i thought you know i've already invested a lot of the time that we would take to make vr work just by designing a game that sort of had it in mind so i thought okay let's let's give it a go let's see how difficult this is going to be so i spent two weeks going through and making the user interface work making everything render correctly into two different buffers one for each eye and i mean it's looking back now it's actually amazing what i achieved in that two weeks that must have been you know i must have been coding like crazy during that time but at the end of all of that i had a functioning vr build and i could actually i couldn't do everything in the game but i could do most things and it actually worked the result was actually way better than i even thought it would be like yeah i was amazed it was really quite playable and quite immersive and just a unique experience i don't really know what the state of vr is at the moment i haven't been i've been so focused on getting this game out the door i haven't really been looking but but i still sort of suspect there's not a lot like this available for vr and that there's a real potential here so i'm still pretty excited about it and i have actually included vr in the roadmap that i've published so i do plan to work on vr in the third phase of development all of that work that i did at this point although it hasn't been maintained has sort of been brought forward and i think just fixing up little bits and pieces here and there i'll find that it all comes together pretty quickly around this time i decided to make my own font for sapiens i'm not sure actually why i decided to do this i guess i just i looked around for fonts and i just didn't like what i could find there was nothing that really fit really nicely and i felt like it would be nice for it to have an individual style so i did a bit of research just to see how hard it would be to make my own font and it didn't look too bad i basically had to just create each character an affinity designer and then put them all together in a font editing application i actually recorded a youtube video at the time explaining exactly the process exactly what i went through to do it uh and it was relatively straightforward you know i probably spent a few days on it and i was pretty really pretty happy with how it looked one thing i learned from that process that i do differently is i actually didn't work on all the little accents and things at the time and i hadn't sort of made a full set of characters uh you know in the end i've had to do that and i'm kind of still in the process of doing that as more and more languages kind of getting added as mods to the game so that's i guess just something that you know added to the workload but overall i think it was really worthwhile it's really nice to have a unique font especially for sapiens at this point i had to go back and look at how the rivers were getting generated again so i had created this sort of system where there were lakes at predefined locations with basically lines in between that were then made or wiggly to make rivers uh and it kind of worked but it wasn't very natural and it just it was just a bit odd it was never really working correctly so i thought i'd have another big go at it there's a good devlog video that focuses on this in detail but basically i created the rivers first as part of the terrain generation process so you know the rivers were made first and then everything else was built up around the rivers this took a lot of thought and a lot of work to get right and i'd still like to have more kind of smaller rivers and stuff obviously it would be great if water could actually flow it does have the idea of a direction but the water is all down at sea level it's not actually kind of varying height of water i think it's always going to be this way in sapiens i don't see any possibility that we could have actual flowing water going down hills and creating dams and things like that the combination of the massive world size and the deformable terrain basically just makes that impossible that it's just it would require too much computational power but with the technique that i'm using i've got really nice long rivers so i think it's a great solution that's going to work really well for boats and things and like long transport over large distances i also added all of these sliders to the world creation screen to allow you to adjust the various parameters um there's still loads that i could do here and i'm sort of hoping maybe a mod will come along and add a few things here too uh but you know this was where i sort of thought yeah we definitely need a bit of control here so it's nice to have that ability to set things up and give yourself a bit more of a challenge too if you like then i also worked on steam workshop support so stem workshop is where you can go to find mods to install um and you know it's kind of early here to to work on steam workshop but i just i wanted to make sure that everything was gonna work that everything was set up nicely for testers because we're getting closer to getting testers involved i think with sapiens it was just a no-brainer to really support mods as well as i could it's really that you know the world is a huge sandbox where you can sort of do anything you want with mods you can really totally change the gameplay so i think that it really will allow players to customize their experience to exactly what they want because everyone sort of wants a different game and you know i'm still super excited about the potential here for the next few weeks i was really just focusing on trying to get the game actually playable as a game so up until this point it was still just the sandbox that i could test things in and just play around and but you i couldn't there was no gameplay there was no fun really it was just kind of a bunch of mechanics that didn't really work well together so the first thing i'd sort out was just that initial tribe selections so i created a screen for that i figured out all the issues with the map and getting zooming in and out working and all that kind of stuff and then i needed to get the whole food thing working i needed to really make it so that you could plant trees and not just strip out all the food around you and run out forever but actually have a sustainable way of feeding your sapiens i had to make the sapiens also have children so i added pregnancy and and children and all the whole life cycles and making them die of old age and all these kinds of things so i knew that once i achieved all of that i could actually start playing the game and really it would turn it into a whole new development experience so to get farming working i really felt that i had to add seasons first it just made sense to tie the growing of fruit and all that kind of stuff to the seasons given that the seasons were going to be fairly prominent in the game so this was a bit of a technical challenge just figuring out how to get the terrain to change without it bogging down the server too much and my initial experiments actually looked visually better but ultimately i had to pull back a bit because it was just too too taxing on the server but once that was done i went straight on to actually getting them to plant apples and grow apple trees and now finally with the ability to grow and store fruits and feed everyone into with the life cycles and everything i actually sat down and played sapiens for the first time for a few hours and there were lots of problems lots of issues lots of balancing things where it was just way too easy and all these sorts of issues but it was awesome it was so good to sit down and finally play the game to actually see it work and actually feel it and play it and know that these issues that i had were going to be fixable it was a good feeling you know it was really good to know this was maybe that that that critical point in the whole project after spending so many years on it where i knew hey this was going to work out but it also did show me that i had a lot of work yet to do and that soon it was time to send it out to a bunch of testers to get feedback but before i got there there were a few things that were really obviously wrong and one of those was the selection system for selecting multiple objects so there was actually a moment maybe two years or so into development where i realized i had to make a decision was this going to be a typical top-down game uh you know like rimworld or banished or or city skylines or any of these sorts of worlds where you've got a visible cursor and you can click stuff drag boxes around things and have this top-down perspective or was i going to do something unique and have you in the game and actually interacting with stuff with a sort of first-person style camera where you actually look around and you're part of the world i knew how important this decision was and so even though i was always leaning towards you being in the world in this first person kind of view i still thought gave it a lot of thought and i really thought about it hard and i thought about all the implications and i knew that one of the implications was going to be things like this multi-select where you know you don't have a cursor so you can't just drag lassos around the world it's not it's not an interaction that's going to work you need some kind of nice way to select multiple objects i looked around at other games to try to find a solution that was similar just to get ideas and things and i just literally could not find anything so initially you could just kind of there was a single other button on the radial menu that would cue up actions for all of a particular type that was nearby but i knew that sometimes you'd want only a few things sometimes you went to a large area of things and you needed some control over that uh so i added a slider with that could be controlled by the scroll wheel as well as clicked and dragged um and it felt okay but not quite there you know it was a good start uh so then once i kind of knew that this was we had potential to work i then decided to work on the radar view which kind of evolved into what we have today there's a lot of intricacies and and the decision making behind all this process so if you want to see more of that go back and look at the devlogs around this time but yeah you know it was it was just a matter of refinement and giving it a go obviously it's different it's a different solution that's not that people are not used to so it takes a bit of getting used to and there's some people that just you know struggle with that initially but overall the the feedback is fairly good and you know i think once you get used to it it does work and it scales well it works well in the later stages of the game too so multiselect wasn't the only challenge like this there were quite a few things that i had to really dive into and figure out myself and another one was the transferring of resources over long distances so at this time i was actually i actually added alpacas and the butchering of alpacas hunting and worked on that quite a bit and the test world that i was using to work with the alpacas i'd just chosen this area that had no trees nearby and i thought it would be interesting because there was a pine tree way in the distance i thought it'd be interesting to see a guy over and see if i could get him to grab some pine cones and bring them back so we could start a little forest and this kind of excited me at that point like i really i realized how this could be a really cool mechanic going forward and it's something that i actually still want to explore more i think that being sending sapiens out or groups of sapiens out to resources that are far away and then setting up kind of trade routes and stuff is just really cool and there's a lot more that i can do there but this was kind of the first step and so i gave it a go and i found that i just couldn't do it initially he wouldn't gather the pine cones off the tree because there were no storage areas nearby and there wasn't going to be any way to transfer stuff from one storage area to another and it was just completely broken so i had to figure out a solution so my solution at this point was just to add a slider to storage areas which just meant that you could then bring things from a very long distance away it worked but it wasn't really a good enough solution so what i did later was to add routes and they actually give you a lot of control over how things are moved around between storage areas and you can move them over really long distances so now of course we are at the beginning of 2020 and we all know what happened there new zealand didn't escape covert either we all went into lockdown for me i just couldn't work really through the whole lockdowns and everything you know we had a few different lockdowns we had a few different events over the next two years basically and and in pretty much every case it's basically because we've got four kids and they're all at home and requiring home learning and stuff and i just i needed to help out and it meant you know potentially i could have worked part-time but i i think with sapiens where it was in the in the development cycle and the amount of work that i still had to do i i just couldn't work part-time i found the progress was too slow and it was extremely demotivating you know i gave it a go for a week or two and i was just like i just can't do it um so i just basically took weeks off at a time because i just couldn't couldn't work on it so this was a bit frustrating but it just really it just meant that the release was delayed from what it was going to be and like many other people i spent quite a bit of time out in the garden and and with my family too so it was it was actually quite a good time at various points from about this point until the early access release i started posting less devlogs and i was working really hard and doing a lot but it just it was all kind of behind the scenes stuff a lot of really difficult kind of problems that you know weren't actually all that interesting to talk about and so i'll probably gloss over them a bit here too but there were lots and lots of little bugs you know thousands of of issues and things that just small things that i wanted to get right and and things that i just didn't feel quite worked so just lots more iteration adding more content play testing all this kind of stuff the texturing on the terrain was kind of quite an interesting thing so right back in the early days i'd done a little bit of normal mapping stuff on the terrain just to sort of get a feel for it and i didn't like how it was looking visually but then when i went to add like a sort of a gray sand i realized that it looked basically exactly the same as the rock and much like when i was trying to use cubes as resources and found out that they weren't going to give enough information to be able to tell things apart it's the same with the terrain just having these completely flat hexes didn't provide enough information to the player so i experimented with a few different texturing options and came up with a hexagon based solution which actually works really really well and i've kept it in the game it's sort of become part of the look it just provides enough information to say this is a bit rougher than everything else without kind of getting in your face or being too detailed or requiring too much content creation on my part i also added layers to the terrain so i finally made it so that if you dig down you get different stuff i think before it was just a single layer of dirt over rock everywhere you were but now there was potentially sand underneath there were areas of sand there was i added the variation in the soil fertility so you've got rich soil and poor soil where things grow faster or slower and really just kind of got all the terrain modification stuff working i also added flint and i started thinking about how ores were going to work in the game i felt like i guess even when i started i thought that i'd be adding kind of copper and turn and bronze and stuff really early on as it turns out we're in early access and i still haven't added it although it is on the roadmap i think all's are going to be great in the game i think it's going to be really cool to have mines and already clay is like that there's a demand for clay and you've got to find clay and then you've run out and then you have to find another source of it and stuff and i really like that stuff so i'm looking forward to adding mores in the future i also worked a bit on the ai at this point and made them sit on logs which i think is kind of a nice thing i've seen youtubers kind of be quite pleasantly surprised by this just placing logs around a fire thinking oh you know a visual effect and then they actually come and sit on them which is nice everyone likes that kind of stuff i then added paths to the game um they've got quite an interesting look i just again it was like this is the best solution that i can come up with that is actually feasible for you know what i can do uh and i'm pretty happy with how they look they've got their own thing going on um paths i felt were really important to have before the early access release because it really it really helps to kind of make your town feel realistic if nothing else and it provides a speed boost when they walk on them and all that kind of stuff uh one thing that was quite often suggested and i'm not seeing it so much these days but early on people wanted them to kind of forge their own paths so they're just walking through and they're making their own paths as they walk around for sapiens that didn't make any sense to me i i feel like with sapiens you don't have a lot of control over the individual sapiens and where your control is is in the building of the environments that they're in so you've got a lot of control over that and that you know the ability to place paths is just such an important mechanic to be able to control the way that sapiens move around your village um so it just made sense that you're you were the one that had the control over that and this is the point where i actually added the discovery system so there's been a lot of really positive feedback about the discovery system and how they learn things and explore things and this wasn't always going to be this way i guess right from the early stages i knew that they would learn fire and that they would discover fire and therefore you know be able to build fires but i hadn't really thought about how that was going to work um a lot of games would have a research bench or something something where you sort of assign one of your people to go and just spend time there and then they will actually learn things and i just wanted to do something a little bit different so i thought that clicking on resources or various things in the world and seeing this investigate kind of option would work well and it really has you know the feedback's been fantastic and and people are really enjoying the mechanic and i think you know it just works really well in sapiens so i'm very happy with that this is also where i introduced the tech tree views for the roles management now the roles management is a contentious point there are people who absolutely love it there are people who think that the roles management is too uh micro energy and you know i get that i understand um it doesn't it doesn't please everyone and i think that probably i'll add more options to make it a bit easier to manage in the in the future as we add more technologies there'll be more roles and people are going to have to manage more and more stuff and i think it might get too complicated so i'll probably add more ways of automating all of that then i worked on some more graphical features so i was a little bit disappointed with how the detail and the terrain was working it wasn't as detailed as i'd like i mean it's still not as detailed as it like i want it to be super detailed but the reason that it's not is just performance it's just not possible to get you know super detailed terrain to update procedurally generated as well like in real time um so i'm just trying to get it as good as i can so at this point i was able to double the detail of the terrain with very little performance impact by using a texture atlas and a fair number of complicated techniques um probably took a few days to get that but i think that that was a worthwhile thing to do at this point [Music] i also finally added clouds to the game now the clouds i'm just super happy with they they really came out really nice um and fast as well you know i came up again with my own technique for doing this uh it was inspired obviously by things that i other things that i'd seen that was similar but i found that i could get quite realistic looking billboards by modeling the clouds and blender and exporting out the sort of pre-baked lighting information from different directions and then i could use all of the functions in the atmosphere to actually light it correctly for the given time of day and the altitude and all that kind of stuff the clouds add so much to the game and i think that they really do look how i want now we've got 2021 and i've finally decided it's time to send it out to some testers so deciding on the time to do this was a little bit tricky for me because you know i knew there were still lots of things wrong with it i still had a to-do list a mile long and yet they'd only really been my friends and family who had actually played it other than myself so i just still didn't really know if i was on the right track like if other people actually liked the game so i think the alpha went really well with sapiens i made it private so i just said you know if you want then you can apply and sort of post send me a message on the sapiens forums um and i ended up with lots and lots of volunteers probably too many that's kind of the main thing i regret about it is that quite a lot of people who are really keen to play and really you know would have been great is actually missed out just just by chance you know it's basically a lottery so i feel bad for those people that weren't able to get involved but i did have to keep the test group small and i found that just bringing in a dozen or so testers to start with was enough and then i slowly added more over time and that meant that i could get new players and to feel to get a feel for that early stuff too because what happens is you know when wind testers have played for a while they won't notice any of the early issues or the teething problems because they've got used to how everything is so you sort of need to keep getting new testers and to keep providing that feedback before setting this up i knew that i had to create a good bug reporting solution and i'm really happy with how that went too i actually made it so that it uses s3 so it can upload the bug reports and the world saves all as one package up to amazon servers and then i can just pull down the reports and load up the worlds directly in the game so this made it really seamless for me and really easy for me to track down bugs and i was able to sort out all the crashing issues when i first sent it out to testers there were so many crashes uh loads and loads of them basically because you know lu is not compiled and so you get a lot of runtime errors and things so now with that new feedback it changed my focus a little bit because i started to realize what was important to other players and so i sort of focused on three main things one was the ui design just focusing on quality of life improvements and things the other was the performance and especially the ai how that performed you know optimizations but also making sure there weren't too many bugs in the ai and stuff basically i hadn't managed to play the game through far enough to really get the large numbers of sapiens and the really built up worlds that the testers were ending up with and they were finding that you know when you went over 100 sapiens or you know went over really long distances there were quite a number of issues and also content i was adding a whole bunch of new building materials and things right at the start of testing there's very little content and i think the testers did very well to actually you know forge forward with that so i've added loads of content since then uh but there's still not as much as i'd like i'm actually kind of surprised by some of the negative comments about the lack of content in the early access release um you know i know there's not that much content there um you know that's why it's early access so i've just sort of you know it was a surprise um i think i guess everyone all developers kind of treat early access in a different way and it was always my focus to create the structure first then i can just add a whole lot of content during early access so i don't know i think it's just a mismatch between expectations and what people are getting but it's not something i'm overly concerned about because it's going to resolve itself as we go through early access and all this new contents added but yeah during this time i added mammoth hunting i added building different building materials i added bamboo and coconuts for the tropical zones i added musical instruments and the kind of traits and musical needs i added swimming just loads and loads of stuff and so you know i felt like i was adding plenty of content um and obviously there's a whole lot more to come so this was actually the time that i decided to go with early access all through development up until this very late stage i had been planning to release it as a 1.0 and that is because i don't really like early access and i think that's quite a common thing you know people have been complaining about another early access game too so i was trying to avoid it but it just you know you can see how long i'd already spent at this point i was sort of six years in and i was just thinking if i really want to get to one point i've got another two three years to go uh i just i need to get more feedback i need to get people involved especially because i wanted multiplayer in there you know i need a decent enough number of players to actually test multiplayer so it just made sense i think early access was the right call another thing that was kind of interesting at this time i added a tip system because you know some of the testers were a bit confused and sort of coming and asking questions and i thought okay i need to add a bit more of an explanation so it was sort of a tutorial but kind of not and i thought you know i just wanted i didn't really want a full tutorial on it i just wanted some tips so i put those in and uh it was a start it worked okay um i after i'd had the tip system and i brought in a bunch more testers and i was sort of thinking you know yeah now they're going to know how to play without any kind of explanation but they didn't it wasn't enough and people still still ask the same questions and it's almost like the tip system just didn't really help at all so this was a bit unexpected as well and so i had to actually spend a few weeks on a proper tutorial and i'm super happy with how the tutorial turned out and i've had loads of really good feedback about it it's not in your face but it actually introduces you nicely to all the mechanics and it seems to actually be relatively bug-free and and pretty good so yeah that's something that went really well and now we're getting to the final couple of months before release and this is where i worked on the trailer trailers are really hard they take a lot of time and a lot of planning and then a lot of kind of capturing stuff editing just you know it took a couple of weeks and that was at a time when i would really rather have been working on the game but that's just the way it is you have to have a trailer and you know i'm pretty happy with how that came out too so i had been planning to completely self-publish as well as you know just doing everything myself and figuring it all out but i got approached by a few different pr companies and publishers and things and i decided eventually to go with a pr company not a full publisher but just someone who can a company that can help me out with press relations and the whole release process so i went with vicarius they helped talk me into nexfest which i wasn't totally sure on before that and you know convinced me that a demo was a good idea to put into nexfest um and this was great this was you know there's no doubt in my mind that that was the right thing to do um and just generally going with vicarious was just very very good next first went really well it was quite stressful and and scary i had to do a stream which was you know for me you know i've done all these videos and stuff but still speaking live is difficult and i ended up with about 10 000 people watching the live stream which was quite scary if i'm being honest but it was it went well and it really did help promote the game um loads of people played the demo the wish list went through the roof and it just it set the game up really well for launch um plus i got a bunch of valuable feedback at that point i was able to watch youtube videos and i fixed quite a few bugs that would have been a problem uh at launch so that it all worked out really well okay confirm regret what's happening release [Music] i'm that might be why i told you it might not like logging in on your phone at the same time i've already done this like three times today okay okay this time this time's gonna work be something there's the little thing [Music] and what if it just like relations blockheads well they say hasn't failed so quickly this time publishing tasks have been completed your application is now visible on this theme it's done it's done let's have a look you missed the button i know yeah i don't know there it is there it's done what's up how do you feel good yeah so it's now been two weeks since the game released into early access um it went really well everything has has gone really really well and i'm super happy i'm just you know seven years was so long just been on a game and you know it was a risk it was a huge gamble and i wouldn't recommend anyone to spend that long on any game um but i think it's you know it's paid off it's going to work out so on launch day the game picked at number two on the top global sellers list um not quite number one uh straight straight held that spot so i didn't quite get there but it was pretty close um and yeah obviously it's been dropping since then you know you get your big release spike um but my goal is in the long term to kind of keep pushing it back up i know it's possible and i you know i've just got to keep working on and keep fixing those issues and adding more content looking over the entire launch as a whole i would say that it was one of the most stressful and emotionally traumatic times of my life and it was made more difficult by getting covered three weeks before launch and basically not being able to work for two weeks because i was pretty much sick in bed by and large the feedback's been super positive it's got a sort of very positive rating on steam which is 86 positive reviews um thank you to everyone who's left to review i do appreciate it i've read through all the reviews uh i've read everyone in fact i've read nearly all the feedback that i've received everywhere um i haven't responded to it because it's just too much and it was very overwhelming but um it's good to get a good overall feel for how people are receiving it and overall you know it's great mostly it's very very positive and the negative things are understandable i think it's a mixture of people who that's just not really the game for them um and also things that i can improve in the future so in some ways this is the end this is the the culmination of that seven years of work to get to that early access release in other words though this is a new beginning this is you know i've got so much more work to do so much more stuff i want to add to the game uh you know it's not done it's not complete and i'm just as motivated just as enthusiastic about safe ends as i've ever been generally quite quite genuinely probably more so now that i'm really feeling like there's this big community growing around it so yeah i'm super excited about the next few years there are too many people to thank there's so many people who've provided support along the way um you know i can't i can't think you're here but you know who you are and i do really appreciate you and all the help that you've given to so i hope you've enjoyed this journey with me and i hope that you continue to stick around and keep sort of seeing how the game goes call back in and give it another crack and stuff as we go forward yeah i think the future is looking pretty bright too [Music] you
Info
Channel: Dave Frampton
Views: 339,324
Rating: undefined out of 5
Keywords:
Id: 66SKA06jouw
Channel Id: undefined
Length: 79min 14sec (4754 seconds)
Published: Thu Aug 11 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.