Wrapping up some things, Starting ship components modeling

Hello Hello Hello. It’s been a week of wrapping things up. I added a system to the game to create phenomenon that do certain weird things to ships that are near them.

This could be an asteroid field that sporadically does damage to all nearby ships over time.

It could be a cloud of gas that neutralizes ship shields.


It could be a crystal entity that spawns creatures aboard your ship or turns one of your crew against you or disables your FTL ability temporarily.

And I developed this “phenomenon system” in a way such that, if I need to, I can expand it easily with other events – if I come up with other strange things that phenomenon can do to your ship. For example, they could spawn strange particles aboard your ship that do damage if you are in them. That’s just an idea but if I get time to add more phenomenon events I will. I have enough to make them believable for now though, so I consider the system to be done for now.

Some of my favorite episodes of Star Trek are when the Enterprise encounters some phenomenon that Geordi LaForge has to wrack his brain to help the ship survive. Or Picard has to pull some risky maneuver to escape.

I hope I can capture this feeling a little bit when the game is mostly complete and the phenomenon are all set up in game.

That being said, I consider 95% of the gameplay mechanics and programming to be complete. I might add or change a few more gameplay mechanics once I start getting feedback when I release the first playable build. But almost all of what remains for me to do now is artistic. That’s not to say coming up with gameplay mechanics is not an artistic endeavor – but it also relies much more heavily on mathematical concepts and programming.

I have A LOT of art that I still need to do though. Even though I have enough animated character models to release a playable build, I still need to create a significant number of static models.

I calculated how many static models I need to create and I came up with 374. This might sound like a ridiculously large number but most of these will be variations on a theme – each species is going to have it’s own version of a console and it’s own version of each module type – but they will all have a similar form and function and will only differ in aesthetics a little bit.

Here is a placeholder console I have been using for a while:


Still, in order to get done in a reasonable amount of time – I need to average about 10 models a day for about a month and a half. This is certainly possible but also a little bit daunting as I know it is going to include many hours of me staring at my computer screen.

In a month and a half it will be the middle of June – and then I will start putting all these models together to form the basis of the game.

I’m starting to see the light at the end of the tunnel so to speak. The game is a game – nobody will be able to deny that soon. Is it a good game or bad game? Only time will tell – but it will definitely have some new and novel gameplay mechanics that are different from any other game created before it. That is one thing I am sure of. It is basically a poor man’s FTL, with the major benefit being that you are actually one of the people aboard the ship – and not just the omnipresent captain of the ship but a real crew member who can move about the ship. Will this two-mode gameplay system work? I don’t know yet.

But I did devote a large portion of my design effort towards ensuring that you can play the game focusing on just one of the two modes and still be somewhat successful. The management of the ship can be automated to a large degree if the player wants to focus on the FPS qualities of the game – or the player can hide themselves on the bridge if they want to focus on the ship management aspects of the game. – whether you want to play it as an FPS mainly or as a tactical starship simulator will be in large part up to the player. The player can focus mostly on the things that he/she likes the most.

So here I go on my modeling binge. Once I get into it I find it quite enjoyable – starting is just the tough part. Kind of like working out or going to the gym.

Sound Effects, Sound Effects, and More Sound Effects

I think I’ve listened to a significant number of the creative commons 0 sound effects on Freesound.org in the past week or so.


Freesound.org is an excellent resource for game developers. People contribute their recordings of their footsteps, their eating, their banging spoons etc. And then developers can use them as is or as in my case manipulate them to get the sounds we want. All I needed to do in many cases was to apply noise removal (using Audacity) and maybe some bass or distortion or wahwah and these sounds can be as good as anything specific that I could record myself. This saves a tremendous amount of time – as recording sounds can be a lengthy process – gathering up raw materials for foley and other such work takes time.

I’d say I’m done with 70% to 80% of the sound effects I will need for Icarus – much of that is thanks to Freesound.org.

Unfortunately, since all I’ve done this last week is sound related I don’t have any screenshots to show off – but here is a little snippet of something that I recorded myself:


Here is something I edited from a CC0 sound that I got from Freesound.org. I grabbed the portion of the clip that I wanted, applied some simple effects and did some simple editing in Audacity to make it loopable:


I’m still not quite ready to start ships yet (I’m two weeks behind on that) – for some reason I just got the sound effects bug and I just went with it. I’m happy I did though because I got a lot done. And sound effects is defenitely one of the things I needed to have at least a minimal amount of for me to feel OK with releasing a playable build.

Ships will be started soon – I just have a couple more things I need to do before I’m ready.

Crewmember Tablets and Their GUI’s


It’s been a week of mostly artwork – with a few other miscellaneous tasks. I created the tablets for each species and did the GUI’s for each tablet:


Creating these GUI’s was not complicated but I spent a lot of time on it because it helped me to nail down the color scheme I will use for each species’ GUI’s. The GUI’s will be important for establishing the look of each species’ ship interiors.

The tablets are used in various animations by ship crewmember character models. They are used by crewmembers to repair ship modules and break through doors. They are also used in the idle animations of crewmembers at certain times. Here are the Machinulans with their tablets:


I was going to start modeling ship components and building ships now – but I think I will save that until next week. When I start building ships I want to be able to give them my full and complete attention without feeling like there are less exciting things that I still need to do. So I will be finishing up some other miscellaneous tasks instead.

For example I have a bunch of sound effects that are referenced in the source code that I need to create. Right now they just use placeholder sounds. They include generic sounds such as the generic sound for doors opening and for footsteps and explosions and item pickups etc. Many of these will be overridden by more specific sounds when I get to focusing more on sound effects. Doing this is not a huge priority but it is something that I left half-finished a while ago and I want to cross it off my list.

I also want to make some kind of special notification when members of your crew are killed. Right now when they are killed there is no notification and this does not feel right. Maybe even a history of what happened to your crew should be created.

It might also be interesting for the player to be able to pick the names of their crewmembers. This might promote more of an attachment to them.

Thanks for reading. Hopefully the next time I make a post it will be to declare the start of my “ship construction” season.

Various Miscellaneous, Lighting, Sprucing Up “The Stargrid”, GUI’s and More

Hello there. It’s been a couple weeks of miscellaneous things.

I’ve been getting everything ready to start doing all the ships – as well as some other things that I needed to do.

I modified some material declarations and source code logic to allow random ship lights to be dimmed by random degrees if a ship is derelict. Some lights will be normal brightness. Others will be quite dim. screenshot31Some will go completely dark. This gives the derelict ships a much creepier/stealthier/horror feel.

I spruced up what I have come to call the “stargrid”. I wanted complete control over how random or non-random an entity’s positioning is on the stargrid. My hope is that this will give the game replayability – different playthroughs will result in different encounters that will be mostly randomly determined – but still hopefully fair. Scripted scenarios can now be randomly positioned on the stargrid with entities being able to be grouped together at these random locations.Image1-03312015
(this screenshot uses one of my sample ships repeatedly – a light scout vessel).

I am still debating whether or not to always expose entity icons on the stargrid to the player. Or keep them hidden like so:
I did previously create a discovery system to allow them to only display if the player has discovered them. It might be more interesting for the player to be more surprised by what they find when arriving at a stargrid position.

Frequently, when I can’t make my mind up about a game mechanic, if I am able to, then I do all the ideas I have and just make them adjustable with spawnArgs. It costs more development time but I’m hoping this will allow me to do rapid balancing and tweaking when I start getting more player feedback.

I finished the designs for the hail GUI’s and the AI dialogue GUI’s – and nailed down the programming for them:screenshot11The hails will be initiated by other ships usually upon arriving at a new stargrid position. A dialogue scenario will play out and the player’s responses will determine basic things about the scenario. Will the other ship attack you? Will it attack another ship at the stargrid position? Will it flee? Or will it just ignore you? I did some work to make sure that ships can hail you in a pre-determined order so that the hail dialogues make more sense.

The AI dialogues are a little different:screenshot29The AI dialogues are going to be much more optional and usually non-functional. They will give the player the opportunity to find out more about the specific individual and/or the alien species that the individual is a member of. The player will usually only be able to communicate with friendly AI’s.

One bit of functionality that I did include is to be able to choose whether or not the AI will join your crew. On some derelict ships there will be frightened and traumatized survivors that you can invite to join your crew. This will be one of the motivations for the player to explore derelict vessels. However, it carries a risk. Sometimes they will be so traumatized that they will just be triggered and start to attack you.

I also finished the GUI design for the specific story windows I am going to use.
screenshot28These will pop up when you arrive at a new stargrid position.

I am looking forward to utilizing these. They will contain basic story information about the entities at the stargrid position as well as the scenario that might play out.

I also finished the GUI design for the more generic story window I plan to utilize. This will be displayed whenever the player arrives at a new stargrid position that does not have a specific scripted scenario. It will display basic information about the entities at that stargrid position as well as a possible recommended course of action.
screenshot30Creating this GUI required me to once again dig into the remote render views that were a prominent feature of the engine. The remote render view displayed on this GUI updates upon opening (and most of the game pauses).

It wasn’t too big of a problem – I had dug into the remote render view features in the engine source once before when I did the logic for what would show up on the ship’s viewscreens:screenshot6These render views update dynamically whenever they are in the player PVS. They use the existing functionality of the engine in my favorite kind of way.

The engine is very cool in this way. Basically any entity on the map can serve as a remote render view for any GUI. You could see the views from a couple of shoes attached to an AI. You could render the views from a couple soaring birds if you wanted to.

As you can probably tell from the GUI’s, most of the specific story elements of the game will be told through text. Some people might see this as a drawback – but my hope is that if it is well-written, it will still capture the interest of the player. I must admit that I am looking forward to writing out some of the ideas I had watching TNG as a kid.

I have a few more miscellaneous things to do before I can start building the ships. I will make a post to mark the beginning of the ship building phase – probably by Sunday – maybe slightly earlier or later.