Sunday, September 22, 2013

Sweet sounding explosions and savory soundscapes...

Where to begin...

For a while now the sound design was pending a huge overhaul even since the beginning. There were many key points that me and John had with sound early on and they were addressed in the past couple of builds where things really started to pick up a couple of months ago.

The explosions, lasers and overall sound of delicious treats having a go at each other in against an epic space battle foreground was much better, though looking into it a bit more it seems that things may need another update to the sound design.

Producing music and sound are two very different things although many audio producers/composers end up doing both. It should never be assumed that a composer or a SFX designer could do both right off the bat, but there are some including myself who are adept in all areas of general audio.


First I'd like to present some of the tools I've been using for both SFX and music:

FL Studio

FL Studio is a very versatile program used by mostly electronic producers but it is capable of handling any type of project and workflow.


Pro Tools

Pro Tools to me is more of a post-production and mastering tool  as I usually only use it towards the last steps of completing a music track or sound effect layer if needed.


Creating the Soundscape

John initially came up with the idea of creating a soundscape in the background to complement the overall feel of a large scale space battle without having all of the sounds going on drowning everything around you out and possibly blowing out your speakers. There is a lot going on, but that's not a bad thing for the gameplay at least. As far as sound is concerned, everything is making a sound no matter where you are on screen and though proximity is something that is figured into the sound engine it can still be a bit much. Currently a under layer of sound is in progress. --Ideally you'd only hear a very small fraction of what's actually going on, so you'd only really hear what's happening around you. This way it's less muddy and will probably sound a lot better, but the problem with that is there is way too much else going on and will sound more empty than the game actually seems with all the action going on. Creating this "underlayer" will constantly be looping in the background to create an audible sense of the epic space battles to complement what's happening on the screen.


How is it done?

Anyways, I started with creating my own layer of orchestral sounds to create something that most people would think is "space music" or "space pads" which is mostly ambient sounding. Musically speaking it's pretty much polychordal and clusterous textures. Though it seems like a lot of instruments, the contrasting sounds of each orchestral instrument help to create a better ambient. I could've used some electronic pads but I wanted to try something that sounded a bit more natural this time around:

Symphobia 2

 HERE COMES THE BOOM... and Sprinkles...
 Nothing like a good old epic drum sample library to bring some boom to the explosions. I am using this to create distant explosions. I went with a low rumble sound with a bit of a kick to create the sound of exploding deserts happening from a distance.

Native Instruments: Damage

8Dio Productions: Hybrid Tools Vol. 2

Sound effects and putting that cherry on top...
 Like I said SFX is getting another overhaul, but it shouldn't be too drastic. One problem is too many sounds playing at once and blowing out your speakers... With some compression on some of the effects that would help to have more sounds playing at once without going over the decibel limit which would cause your speakers to "clip" or in an extreme case; blow out.

There are many compressors, limiters, and maximizers out there, but here are some that I use:

The first one here called "Sausage Fattener" is revered to be one of the best maximizer out there and surprisingly it only has two knobs! It's been highly praised by many professionals in the industry. This plugin ismostly used in hard hitting dance music but it works in this case as well.

 Sausage Fattener

URS Strip Pro is another highly revered plugin used by industry professionals in across all genres and styles of audio production. Extremely versatile and will make any uncompressed audio track sound great. Season to taste!

URS Strip Pro

Getting closer to the final product...

I'm a lot closer to a final version of the soundscape and will probably create similar variations to make sure things are always sounding fresh rather than repetitive, it should sound natural and unnoticeable which will help with creating a more immersive sensory experience with Galactose.

A closer look at the workflow in the playlist editor in FL Studio:
Well, that's all I have for now, there will be many more coming updates here on the blog from me and hopefully a new build with some of the implementations from some of the work I've shown here today!

As always check out my music website for new music updates and to see what else I'm up to in the game and film industry:

I hope that you enjoyed looking into the sound design of Galactose today with me. See you at my next update!

Monday, September 16, 2013

Popsicle Sniper Progress

Hello everyone. Sid here. So, I don't have a whole lot done since my last post mainly because of some college stuff I had to do, but I will show you guys some ideas I've put together for a new type of ship! As David might have mentioned in the previous post, there are a few different types of ships that are in the game. I've put together some ideas for a new type of ship that will be long ranged and I began doing a bit of work on a ship called the "Popsicle Sniper" for the Dessert faction. Why a popsicle? Well . . . .I'm not quite sure, but I think I picked it because it was long and would look bad @ss with a huge long barrel cannon attached to it! Anyways, I've only just started on it, but here is a pic of some work in progress:

 Here's a sideways version of it. . . . in case we want something different.

SO, that is what I have for right now. Slow progress, but more to come later! Cya guys in the next post!

Monday, September 9, 2013

Drone AI in Galactose

Whatup everybody! David here. Today I'm going to talk about artificial intelligence in Galactose. There's quite a bit of AI at work; to name a few there are systems to control drones, cruisers, motherships, various types of hard points, wings, and admirals. But today we're only going to focus on one: the most common and in some ways the most fundamental, the drone ship!

Inside the Mind of a Drone

All three drone types- fighters, bombers, and scramblers- use the same AI system. The differences in their behavior just come from different parameters used in them. They all share similar priorities such as avoiding obstacles, destroying their targets, and sticking with their flight (and ultimately squadron, wing, and fleet).

Staying Alive

Above all else a drone ship should avoid crashing into things. It looks silly when two ships just run into each other or when one smacks right into an asteroid or mothership. It's also very frustrating as an admiral to lose ships because your pilots are idiots. So, first priority: stay alive.

Whenever a drone AI updates it finds everything in the surrounding area that it could collide with and checks if it has to worry. If the object in question has a complex shape like a mothership, then it uses a simple ray-cast and calculates where the crash would occur if it kept its current heading, then it turns away from that point. If it's something less complex then it's probably another drone ship or an asteroid, in which case (counter-intuitively) things get a little more complicated.

In this case, both the drone and the other object are likely moving at high speeds, which means that a collision could come sooner, so it has to avoid more. To make sure that it doesn't spend all its time avoiding it performs a simple check to see how long it will be until it's a certain distance from the target. At first there seems to be a lot of math that goes into this check, but it boils down to a simple quadratic equation test returning between zero and two time values. Zero means that at the current velocities there will never be a collision. With two times it takes the minimum positive one, and with one time it only uses it if it's positive. Assuming there is a time and it's within the near future, the drone simply turns away from the object in question.

On the Prowl

The next most important task is to make sure that the enemy doesn't stay alive. As many of you already know, the trick to defeating just about any enemy is to shoot at it until it dies. But there's another problem here: what to shoot? There's so many options! And so it's a matter of priorities. If the drone already has a target, but it doesn't seem very appealing anymore then it just lets it go. If there is a target, and it's still worth pursuing, then the target selection section is skipped.

For selection, whether the old target was dropped or if the drone just never had one, it needs to search. It queries the world for all enemies within its sight range and evaluates them for the highest priority. Closer enemies make better targets than far ones. Enemies in front of the drone are better to attack than those behind it. This is also where some of the behavior variation comes into play. Bombers assign no priority to other drones; they only go after hard points or bigger targets. Scramblers prefer to attack targets that aren't already disabled.

If the drone has picked a new target or if it just had one all along, then it proceeds to attack. The basic idea here is to find out where the target is moving relative to the drone, aim for that point, and shoot. This is mostly just math, but there is some variance. The drones do not shoot at every opportunity, otherwise the sheer number of projectiles would bring the system to its knees. Instead they just randomly fire every several frames. Secondly, their aim is not perfect. Early in development this was unintentional, but one day I noticed that it was far worse than we had anticipated. In the moments after I discovered the glitch in our intercept calculation code hilarity ensued. The drones all had perfect aim and nearly everything would be obliterated in a minute. The player was lucky to survive for four seconds. Luckily a quick random offset later and everything was A-okay.

Formation Movement

Once the drone has the whole "not exploding" thing down and can't find any targets to engage, it takes on its final task: staying in formation. Galactose is a very visual game, so if nothing else flying in formation looks really cool, especially compared to a flying mass. This formation flight typically happens when a squadron is idling and waiting for orders or when its on its way to engage the enemy. We had originally implemented a typical flocking algorithm with separation, cohesion, and alignment, but it just didn't look exciting. The same functions can be accomplished but in a more orderly fashion if you know exactly where each ship belongs.

The formation each squadron takes is essentially a two tier flying V. Each flight organizes itself with the leader in front and the others on the sides. Then the squadron leader's flight takes the front and the other flights line up behind it. To accomplish this each 'V' group sorts itself in a list of left-most from the leader to right-most. This list is then split in half, and each side sorts itself again; this time along the forward direction of the leader. The front-most left and right drones line up behind and beside the leader. Then the next closest two line up on their respective sides behind them, and this continues until all ships are assigned a spot in the formation.

Wrapping Up (and a New Playtest Build!)

There's a few other minor things I didn't mention above such as controlling throttle or how the drones act when "disabled", but there's only so much you can fit into single post. I hope you've enjoyed this, or at least found it mildly thought provoking, because it's one of my favorite parts of writing Galactose!

More importantly however: I have good news! We've got a new playtest build out! It's mostly tweaks and fixes as the new features are still under development, but it's most definitely worth checking out.

Monday, September 2, 2013

Hello again people of the internet!

Hello again people of the internet!

Your Galactose concept artist here! I've been away studying in Japan. Now that I am back I see a lot of changes and better ideas I have for the characters. I feel like they might be a bit too stiff and the coloring over done for the simplicity of the characters. I'm going to be working on some new poses, just for a more natural feeling and less coloring. Something more simplistic to fit the characters.

Currently we have at least three characters a possible forth (I'll talk about at the end).

The first as I mentioned in my first post (here Older blog) is the "main" Stg. Sprinkles. This concept piece feels a bit stiff to me. The leader type.

The second character will be the right hand wo-man Ice DeBerry Creame, yes it's a pun off of Charlotte de Berry the famous female pirate. The serious type.

The third character will be the funny and crazy type character. I don't have a set name on  him yet (In fact none of the names are 100% set in stone yet). But I like to call him Cherry Bomb Pie.

The forth tentative character(s) are two twin brother and sister characters. If we do have these characters they will be for the banana split ship.

Right-o, I don't have much more to report on for art. We MIGHT be going to MAGFest JAN. 2014 - NATIONAL HARBOR, MD. If we do please stop by and say hello to me. 8)