Where to go from here

After the recent updates, I’ve arrived at the point where I’m making meaningful gameplay decisions every time I design another part of the game, where the decision are no longer obvious- not like the past, with design decisions like “Sound: do I want it?  Yes.”  or “Should I want the AI to accidentally run into planets?  No.”  So I’ve taken some time to consider the current systems, and where I should go from here.  Of course, I had this all planned out when I started, but after the radical course correction away from the music-powered game, all that planning became irrelevant.

The game will split into several somewhat distinct phases, each with a distinct set of play goals, abilities, available equipment, and threat level.

The first phase takes place in relative safety, deep within the civilized core of the human galaxy.  The barrier for player advancement is accumulation of money, which can be used to buy new ships and equipment from the well-established planets.  Money can be earned by killing pirates found further away from the core, or possibly trading between planets.  The possible income rate will have a greater than linear relationship with the player’s power, to make it less of a grind and more of gateway, and encourage risk-taking rather than sticking with safer, low-risk pirate hunting or trading between low-risk planets.  The equipment available for purchase by the player is intended for civilian use, but more advanced ships and equipment are visible, to give the player a goal.  The player is also made aware of a war with aliens happening on the edges of human space.

A possible second path could be the ability to align with the pirates.  This could allow other types of gameplay- destroying trade ships for their cargo, or destroying planet defence ships for a bounty from the pirates.  Higher risk, but the pirates could make more powerful equipment available.

From a technical perspective, the first phase requires a system for generating and selling equipment on planets.  I’ve already got a planet menu, so on inhabited planets, the trade menu will be an offshoot of that.  The equipment available on each planet is defined in universe.xml under each planet’s entry, with a reference to a piece of equipment defined in equipment.xml.  To avoid having to write a lot of this repetitive code by hand, I plan on allowing the definition of a single “quality factor” to individual stars or planets, which will automatically generate the available equipment in universe.xml with a certain degree of randomness.  The equipment itself must have associated quality levels in any case, to determine the equipment loaded on spawned ships.  This value will not be directly visible by the player.

The second phase occurs as the player nears the end of what is available to buy without a military association.  In return for killing aliens, the player will be able to buy military grade equipment available near the warfront.  Money becomes secondary to reputation with the military.  Enemies are armed with more exotic weaponry, and larger battles can take place.  If the hireable/ownable escort ship thing works out, this will be where it first appears.

This phase will also be the player’s first opportunity to take over a planet.  They’ll be restricted to neutral planets only, and they won’t be very high quality, but the possibility of building up a mining system will be available.  Taking a neutral planet will just be a matter of buying a colony ship and escorting it to the planet in question, combat need not arise.

The point of owning planets is manufacturing.  Every planet has a certain finite amount of various resources, which the player can mine to produce ships.  So at this point, the real currency of the game becomes manufacturing resources.  I expect to make mines pretty cheap, but factories expensive, to encourage a network of mining planets supporting a small number of factories, requiring some freighters to move stuff around.

This phase is also where the planetary assault laser first comes into play.  These are large, slow ships which the player can eventually own but not pilot, which are necessary to take over owned planets.  The military and aliens will occasionally spawn one and send it to enemy planets with an escort, and the player will receive a significant reward if they join the fight, probably determined by being within a certain radius at the moment of a successful takeover.  To prevent one side from actually winning, I will probably mark a bunch of warfront planets as valid targets and only ever spawn capture missions to those planets, so they’ll change hands back and forth, but the front won’t really move until the player takes charge.

From a technical perspective, this phase depends on a believable group combat system.  I plan on having a single ship in each group be set to the standard “go to location, fight when enemies are within a radius” AI mode, and the rest are set to go to that ship, breaking off to pursue enemies a short distance when necessary.  Since I want the higher level AI programming to be on the LUA side, I’ll have to expose a fairly large amount of data to make that happen- I plan on making it a single operation per faction across the entire “sector”, where LUA can access the relevant information and store AI changes all at once.  This will hopefully allow me to make the LUA stateless, which I think will simplify things significantly.  I am somewhat concerned about whether the computations could get complex enough that there is a notable hiccup in gameplay when it recomputes everything at once, which could be avoided by having it only do a few ships each frame.

Phase three is marked by the player acquiring a planetary assault laser of their own.  They pick a target, tell the laser ship to go attack it, escort it there, and when the planet drops to 0 health, they can claim it.  The laser ship should be pretty slow, and maybe announce its presence in some way, and take a while to drop the planet to 0 health.  This is both to make taking over planets a riskier and less boring activity, and to give the player a chance to defend when the computer does the same thing.

From a technical perspective, the big thing that must be in place for this part is a system to own additional ships and order them around.  I expect there will be quite a bit of code overlap between this and the map design program- navigating a map, dropping a planet on a point, and entering some data is pretty similar to navigating a map, selecting a planet, and picking an order.

Finally, the player gathers the power to take over territory from the aliens.  With all the resources from taking over the rich planets controlled by the aliens, the new currency for this phase becomes technology- harvesting alien technology allows the player to design their own weapons.  This part is already pretty much built- the projectile system is very generalized, and changing properties of existing weapons or adding new ones is fairly trivial, and can already be done dynamically.

This entry was posted in Design. Bookmark the permalink.

Comments are closed.