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. Some 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.
(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:The 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:The 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.
These 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.
Creating 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:These 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.