OXP howto Game Balance

From Elite Wiki
Revision as of 20:46, 8 August 2014 by Cim (talk | contribs) (Ship OXPs: Updates for 1.80)

Oolite is quite a complex game, with a lot of interactions between its various components, and it is easy to make the game substantially harder or easier with an OXP - and especially so with combinations of OXPs - even when this was not your intent. This page gives examples of how Oolite is currently balanced, and how OXPs might interfere with that balance. There's nothing at all wrong with an OXP intended to make Oolite easier or harder - some of the most popular OXPs do exactly that - but it should only do what you meant it to do. OXPs built with consideration of game balance in mind are also more likely to be compatible with other OXPs and less likely to be disrupted by changes to the core game. The advice below assumes that you're wanting to make an OXP which fits in fairly well with the game balance of the original game.

Very few of the over five hundred OXPs released so far are incompatible in the sense of it not being possible to usefully install a pair of them at once. A great many of them, however, can create a situation where one OXP is making it impossible to experience another OXP in the way the second OXP's author intended - often without the knowledge of either OXP author.

Key aspects of gameplay

These areas are key aspects of gameplay which are particularly vulnerable to being unbalanced by changes from OXP.

Hyperspace

Oolite is a game about flying from system to system while fighting and trading. The key aspect of gameplay - and the one that makes it worth having two thousand systems rather than fifty or so - is the fixed seven light year jump limit. This puts a significant cap on how quickly the player can cross the chart, makes apparently nearby systems much further apart, and allows for creative and interesting topology. It's fairly easy technically to make an OXP which works around this limit, but use extreme caution in doing so.

Fuel

Ah, quirium fuel. You can buy it for about 2Cr./LY at any Coriolis station. How much is an LY worth at the witchpoint? 4 Credits? 10 credits? In practice it can be worth hundreds or sometimes even thousands of credits there, and there are some missions - core and OXP - which use the player being low or out of fuel as part of the challenge. The availability of fuel outside of planetary orbit or near the sun must therefore be considered very carefully. Extra fuel can allow a player to make a chain of witchjumps avoiding fighting their way in-system through dangerous bottlenecks like Aronar, or to use their injectors freely after a long jump. This is worth much more than the relatively cheap price it has when bought from somewhere safe.

Weapons

Without the combat, Oolite would be a game about flying between systems, watching the sights and trading. The sights may sometimes be pretty, but the trading engine is not sufficiently complex to make an entire game out of, at least not for very long. OXPs which allow the player to avoid combat or fight through far more ships than appear in the core game without a scratch therefore can significantly change not only the balance of the game but the fundamental nature of it. Conversely, NPC ships which are too tough can make it impossible for players to get anywhere at all. Combining the two to give much tougher ships and much more powerful weapons is possible and potentially could be quite well balanced, but tends more to "new game using the Oolite engine" than "expansion pack", and risks having to be extensively tested and rebalanced with each core release.

The weapons in the core game are limited either by being pylon-mounted - consumable, limited capacity, and fairly expensive - or by being lasers which must be aimed carefully lest they overheat before doing enough damage. Giving more powerful weapons to either side must be handled with care.

Information

Compared with the size of the system, the player's scanner is short ranged, the compass has limited use, and all but the biggest objects are invisible or indistinguishable from the background at even a hundred kilometres. To get most information, the player needs to fly up close and take a look - or even dock with a station, to find out cargo prices and equipment offerings. Care needs to be taken not to give the player too much more information; conversely, it's also very easy to hide something the player needs to find without much chance that they'll be able to stumble across it.

In combat, the game gives relatively subtle clues about the weapons, remaining energy, role and behaviour of the NPC ships. Equipment that makes this easier to determine or reveals otherwise invisible properties of an NPC ship can be very powerful (consider how useful the Scanner Targeting Enhancement's secondary function of revealing legal status is). To increase difficulty, consider the effect of disguising ships as something they aren't, or giving them unexpected (which need not be greater) capabilities for a ship of that type.

Trading and money awards

A Cobra III with a Large Cargo Bay can reliably make around a thousand credits of profit a trip between main stations, if it's going between the right systems and carrying the right goods, through honest trading alone. Bounty hunting, piracy and smuggling can be a bit more profitable, but also riskier. Awards of money for other activities should consider this level as a baseline (and bear in mind that the player may be able to combine their activity with their usual trading-and-combat routine). While activities which more-or-less require an iron-ass to start with are less tied to this as it's not as if the player currently has anything to do with the money in the core game, other OXPs may be trying to use money to balance their offerings, and conversely if the player doesn't need the money, the activity doesn't need to be profitable.

In-system trading is particularly difficult to balance for many reasons:

  • the variability of the prices of goods like Furs and Narcotics makes even stations with similar prices to the main station have the potential for a huge profit
  • being able to buy the more profitable illegal goods at a secondary station without obtaining a criminal status
  • stations situated off the main witchpoint-planet spacelane can be reached with very little combat.

Use of Javascript to set station prices and quantities based on the system prices, rather than relying on commodities.plist, may be more effective, but requires Oolite 1.77.

Special advice for particular types of OXPs

Ship OXPs

The ships in the core game are within a fairly small range of power, with the standard player Cobra III being one of the best ships in the game (especially once it has a bit of extra equipment). Ship OXPs can cause significant changes to game balance in a number of ways.

  • NPC ships in the core game are very rarely equipped with anything more powerful than a single forward beam laser and a standard missile or two, with some of the more powerful ships also having an aft laser. If you add ships with more armament than this, they have the potential to be very tough opponents. A single military laser is capable of taking a Cobra III with both shield boosters down from full power to the dregs of the last energy bank, if all shots hit. With an aft laser as well, it won't even need to wait for it to cool down before continuing. If this ship is then given a standard role such as 'pirate' or 'hunter', there is a good chance the player will have to fight several at once.
  • Giving one shield enhancer to an NPC ship gives them 256 extra energy (4 energy banks); giving both gives them 512 extra. On top of their base energy this will make them tougher than a Thargoid warship and impossible to kill with a single laser.
  • The interaction of two mission rewards in the core game means that a player ship with an energy recharge rate of 5.0 or greater can become essentially invulnerable if the pilot chooses. The only core playable ship with a recharge rate greater than 4.0 is the Fer-de-lance at 4.5, and that only has two energy banks.
  • The NPCs don't (yet) know how to deal with plasma turrets (stand back out of range...) so fitting even one to a ship makes it incredibly dangerous. It provides a weapon which doesn't use energy, doesn't overheat, and doesn't have limited ammunition. They are primarily intended as point defence for stations and slow capital ships - fitting one to a fast fighter gives it a lot of extra firepower. These advantages are even more so on a player ship.
  • A player ship intended to be balanced with the core game ships should not be better in all respects than the Cobra III (the Boa II from the core game arguably breaks this rule a little)
  • The core game's missiles will do around 250 points of damage on a direct hit, with considerable variation depending on the angle and relative speed of the hit. The player Cobra III can therefore usually survive one if not heavily damaged, and with shield boosters also a second if it takes it on the other shield. Bear this in mind when considering how many energy banks to give a ship - how many direct missile hits should it be able to survive?

Equipment OXPs

As noted above, price is often not a great way to balance items, though if the equipment uses expensive consumables this can work. Pylon-mounting equipment makes it consumable and limits the number which can be carried, though this needs to be combined with a very high TL requirement to stop the player just being able to buy more easily.

Equipment OXPs can very easily completely remove an aspect of Oolite's gameplay. A piece of equipment that when activated calls system.mainStation.dockPlayer() - the "Long range docking computer" - would require just a few lines of code to write, but would allow the player to bypass the whole "flying around and fighting" part of the game. Be careful.

Station OXPs

Station OXPs can make it very easy for the player to obtain either fuel or a lucrative trading opportunity in a predictable fashion. See above for reasons to be careful there. The "oolite-barred-equipment" script_info key in shipdata.plist can be used to remove standard equipment from sale.

"script_info" = 
{
  "oolite-barred-equipment" = 
  (
    "EQ_FUEL",
    "EQ_ECM" 
  );
};

Be very careful when adding stations which provide a higher TL shipyard than the system they are in. There are also exploits possible - as well as it just generally making the game much easier - from stations with a shipyard price multiplier less than 1 (i.e. cheaper than the main station)

Mission OXPs

Mission OXPs, being more special in what they provide, can in many ways be less concerned with general balance: a mission could require the player to fly a super-powered ship to drop a planet-destroying missile into the heart of a Thargoid swarm ... and provided they weren't able to keep the ship or the missile afterwards, this would not affect game balance at all. There may be a need, especially with replayable missions or long-running ones, to ensure that the player can't make too much use of the mission's goodies in their daily routines, but the main effect on balance comes from the reward: if cash, ensure that it's not disproportionately high for the work required; if equipment, all the concerns about balancing equipment OXPs apply. Many players will be happy with a medal.

Mission OXPs are particularly vulnerable to balance changes caused by other OXPs, as the big set-piece moments cannot be balanced for the wide range of ship power's possible: generally they are written to be fun for a ship similar in power to the traditional Cobra III. Therefore OXPs which change the game balance - especially in ship or equipment areas - may have an incompatibility with most mission OXPs.