I never really thought Gaia would get its own original soundtracks. When I first started this project, I thought that I’d simply browse online for some music and shove it in the game, expecting some good results. But I recently realized that this wasn’t a possibility. This game’s community has grown beyond my biggest dreams. So I set out to find a talented guy who knows how to make music, who just started out his own thing, a bit like me, maybe without the talented part. There were some pretty huge nonsensical artists out there who demanded huge sums of money for just 30 minutes of music. And by huge I mean, more than what an average person makes in a year in the USA. I’m not sure how they expect some guy who just made his first game to pay that amount.
Anyway, luckily a human known as Joel Grant came along. A really cool, affordable and talented dude. I was amazed by the music he made for Gaia. His songs remind me of the Surviving Mars radio, which I personally used to listen on loop for some time. And now I can’t believe Gaia has that kind of professional music in it! This went better than I expected.
I found out today that Gaia is in the top 10% games on Steam based on a ‘Followers’ spreadsheet compiled by someone. Of course, ‘followers’ is not the same as actual people who own a game, but it’s still a pretty good indicator of how well the game will turn out to be. I’ve been busy these past 2 weeks getting the game ready for real gameplay. Fixing bugs and glitches, optimizing and rewriting some features that I’ve spent a lot of time on before made me quite frustrated. But it had to be done. Hearing about the news today reinvigorated me. Hopefully in a week or 2, the game will finally be rid of bugs so I can start the testing phase with other people and get their opinions as well. I know I won’t fix them all in 2 weeks of course, but the vast majority will be gone for sure.
I wish I had some lower end computers on which I could test the game.
A lot of progress has been made on one of the endings for Gaia. In about 1 or 2 weeks, the foundation should be finished. I’ll then be able to actually work on the visuals and sounds. It looks really promising and I can’t wait to get to that part. A good ending is a very important part of any game. I personally find that intense and unique endings is often what defines whether the player wants to replay the game or not. I would’ve preferred doing the ending involving time travel more than the one involving escaping in a ship, but I decided it’s best to wait a bit longer before implementing anything related to time. I fear that time rewind is a bit like save/loading. It requires massive maintenance, so the later it’s done, the better. Saves time and effort.
The escape brought up some newly improved AI ships. These ships can fly around, rotate and turn to avoid heat missiles and fire from multiple types of turrets, such as laser, particle or missile turrets. I am particularly proud of this aspect because it’s the part that’s been frustrating me the most while working on the foundation. When you see it working however, boy is it an epic sight.
Today, I pushed the Hot pepper update, which includes the solar flare and noxious meteorite disaster. Although this wasn’t planned until after the game was supposed to hit Early Access, I’ve put it in anyway. Part of the reason was to give potential future players a look at what plans I have for Gaia. Some people have been criticizing the trailer I put up back in July as being ‘nothing special’. Lots of people actually asked how is Gaia going to be different from other indie survival games. And they were right to ask that question. The trailer was nothing too special, except for a few clips. But parts such as ‘Harvest Resources’ were truly boring and didn’t show anything special about Gaia. This kind of stuff is taken for granted in most survival games, so me advertising that was a mistake. The Hot Pepper early release date is to help with that. I’ll be making a new trailer in a few months, showcasing stuff that actually does make the game look and feel more unique. Flying as Ironman, burning trees, fire propagation engulfing wildlife who in turn propagate fire as they run around burning, the choice to end a game with 2 different choices by either building a huge spaceship that you can control in very fine detail or by finding the ancient time device and actually control time, different types of drugs, all this should help with the question of uniqueness.
I have to say though, I’m quite proud of this fire propagation thing. It was a lot of work, took around 2 weeks, but I managed to code it in such a way that I won’t need to modify much code when I’ll be introducing new things related to fire. Maybe a flamethrower, or some kind of non-water gun that extinguishes fire. The amount of destruction and interactivity with the terrain this update brings is quite unlike anything else you usually see in any other survival games, where trees, grass and terrain textures are static. Anyway, the only major update that I have planned before release is the ending and the story line. Hopefully that will come out sometime early next month if not before.
Finally, all features as shown in the pre alpha trailer are working as expected. No more nasty bugs, no more ‘disabled for this build’ messages. Though I am 100% sure there are still a lot of what I like to call ‘rare’ bugs, so I’m not out of the woods yet. Rare bugs are those types of bugs which occur in places that are impossible to foresee without actually testing the game in depth and that only occur in a minority of cases. For example, I’m pretty sure that if I were to save the game right when a dropship is starting its hover mechanic and then loading it at that point, its behavior would break and who knows how exactly it will break. These cases have a very small chance of occurring because of many reasons that I don’t want to get into right now… But that chance is still there. A proper game would never break and would have no bugs. Ever. And that is exactly what I’m aiming for, but that is so time consuming. Although I’ll keep at it, I’m not surprised why so many devs out there, including from big companies, choose to ignore such cases and instead keep on releasing DLC’s and what have you. Anyway.
Pirates are now build on the same bedrock that other ground AI has been built on. They’re not very smart for now because gun combat is much more different than melee combat. In melee, you just stand in one place and hack n slash, sometimes moving a little around. No, pirates have to be able to seek cover, roll around, crouch and more.
Dropships are also working as expected. They fly in, drop the space pirates, hover up then fly away. Of course, they can be shot down by missile turrets at any stage, though this is quite hard to do and I have to test this further to make sure everything works correctly.
Sanity only has one debuff right now so I need to do at least 2 more in the coming week. I’m thinking making Amanda see ghosts. Though it’s not that hard to code it, making sound effects for what I have in mind would be impossible to do on my own. So for now, it will have to be without sounds.
As I continue on improving some of the current features, I’ll also be working on making a start and an ending, something most people have been requesting to be in the game before it comes out in Early Access. Coding a game is much like writing an essay. It’s extremely hard to make that perfect intro, so often you start with the middle and the arguments, then come back later to the introduction and the conclusion.
This past month, I’ve been working on lots of little details that needed my attention for quite a while now. I’ve been compiling a list of some of the bugs and glitches people kept seeing in the game and let it grow for a long time. At the time of writing this post, there were about 600 items on the todo list… Luckily, the majority, about 500 of them, have already been dealt with during the month of August. Now that most bugs have been fixed, I’ll be able to concentrate on doing more fun stuff, like implementing some missing features, adjust some values, work on the lighting and change some models. Sadly, lots of models are very basic and not at all adapted to the scene. For example, the ground inside the farm is all glossy and metallic like a shiny iron bar. Lots of materials and shaders will need to be adjusted to appear more realistic. But I’m excited to work on this for a change. I want the atmosphere to feel more realistic and familiar. Just because the game is still in pre alpha doesn’t mean it shouldn’t have nice graphics. My aim is to make a game that’s completely bug free and has some decent models before it hits Early Access on steam. So far, it’s going pretty good.
This past week or so, Gaia opened up to a few testers from the public. The amount of feedback provided was amazing and the number of bugs reported tremendous. There I was, thinking the game was playable, only to be proven wrong by about 5 testers running into issues all the time. The biggest culprit was the save load system, which I didn’t test myself much. But at least, many of these bugs were crushed and Gaia is now in a playable state. People have even made gameplay videos about it and that’s just awesome.
Anyway, time to get back to crushing bugs and getting the procedural part of Gaia ready for closed testing.
Lots of progress has been made since the last post.
First, the website should now be working properly and anyone can sign up for the forums. The website will keep being updated as time goes, but for now this should be pretty good.
Second, Gaia is now on Steam! Well, the Coming Soon page is up. Lots of information about the game is on there so if you want to read more about Gaia and what it contains, please take a look!
Lastly, some game updates: I spent a day and half tracking down and trying to fix bug related to A* pathfinding… Only to find out that somehow it was the Unity Engine acting all weird whenever the pathfinding graph is updated at runtime. The whole scene was for some reason re-rendered and had its physics calculated again as if the game just loaded. Anyway, this bug caused a massive 2-3 second lag spike that dropped FPS to around 20. Luckily, I found a workaround and used another type of graph called Recast and after some more fiddling, it seems that now it’s working just as fine as the other graph, except without the fps issues. Hopefully I won’t have to deal with pathfinding again. Also, lots of buildings have been updated to work with the current state of the game and many other small bugs have been fixed. There is still a big one that I need to fix and after that, the game should become available for play testing. There has been no new feature implemented as I’ve gotten quite busy with just fixing bugs and social matters, like creating this website and the steam page.
These past few days, I’ve been focusing mainly on fixing visual bugs to prepare the game for the public. Until now, much of the base function worked but fine tuning things seems to be taking much longer than I expected. The PDA kept flickering and I couldn’t find why for about 20 minutes. Searched online everywhere and finally found something that made a little sense: floating point precision can cause flickering. So I looked at my PDA object to see if any values were changing, but nothing. It was not moving at all. Until I looked at the hierarchy. Since the PDA is a child object of Amanda, whose head and abdomen sometimes move a little to simulate reality and not have a static person standing there, the PDA was also moving a little bit. All it took was to stop Amanda from moving while she’s accessing the PDA. It’s not like the player can see her anyway when the menu is opened.
Then there were some more game play bugs I tackled. Deer are supposed to run away from the player when they sense him approach, but my deer actually went in the direction of the player, then backwards, then again towards the player… And so on. This behavior was a bit of a bad code on my part. Turns out that coding intelligent AI is in no way an easy task. There are so many use cases and trying to predict all of them is just impossible. That is why I expect to be improving the AI pretty much throughout the development phase until I’m satisfied with its behavior.
In other news, some balancing was done today: Amanda no longer runs twice as fast as any other agent in the game. Her bullets also deal a lot more damage so you don’t have to shoot 50 bullets into one chicken to kill it. It takes about 10 now… So I’m still thinking about a way to balance it.
Hmm I’m having strong thoughts about machine learning. I wonder if it’s possible to do it with Unity and how hard it could actually be.