(175 or 350 hours) New content systems beyond basic combat for Destination Sol

Overview

  • Helpful skills: Java, game design, JSON

This is a smorgasbord of ideas for new content systems in Destination Sol that mostly aim to introduce less combat-centric types of content (not that they all outright avoid combat). A successful proposal may tackle one or even more systems depending on the desired length of the project and the complexity of the involved idea(s)

Description

Each section here contains a rudimentary description of a new content system of some sort, ranging from basic to very advanced. Some will be easier to approach than others, particularly based on whether it would make sense to do the work solely in legacy code (avoiding the entity component system (ECS), solely in ECS, or using some sort of hybrid approach.

The ECS approach comes from our main game Terasology, where most the related documentation and examples also live. While it is fully functional in DestSol most the game content and systems have yet to be converted over. Our migration to use NUI, the UI framework from Terasology, is much further along. It would be ideal to have all new code work ECS-style, but it is likely to be out of scope to convert any large bits of existing code to ECS "real quick" as part of a GSOC proposal.

Ultimately the emphasis here is on new content systems that go beyond "arbitrarily murder everything in sight!" - so focus on the mechanics of the content loop, not the explosions ;-)

Please see the Terasology documentation to get a better feel for what the ECS is and how to use it, before you think about your DS proposal :-)

Ferry ship

Likely difficulty: Moderate

A form of pilotable mini-station containing one or more force beacons (docking ports). You can take on commissions at planetary bases (dromes) where you transport one or more ships between planets. Commission rate is based on the distance travelled and number of ships transported plus bonuses for rapid delivery.

See the existing "bus" ship for an example. While not pilotable by the player without cheating it does include working docking ports - although whether you can figure out how to make other dynamic ships dock (like assigned mercenaries?) would probably be vastly harder than just spawning in some static ships to the ports.

Asteroid miner

Likely difficulty: Easy

The player is tasked with mining a certain asteroid quota within a radius of a waypoint (placed on their map). An in-game timer is started and the player has to try and clear as many asteroids as they can before the timer elapses. Payment would be conditional on the fulfillment of the quota, followed by a small bonus for each additional asteroid mined. Space stations would be most likely to offer this and only to ships with weapons equipped.

Planetary sabotage

Likely difficulty: Easy

Destroy all turrets on a planet - most likely offered by hostile planets. Payment is a fixed amount upon completion, going up in scale for planets with a higher difficulty.

Star Port Technician

Likely difficulty: Moderate

For this task, the ship will need to be equipped with a special energy-weapon that can be used to jump-start star ports. Only very few ships can equip this. Very occasionally star ports will randomly fail, causing them to become unusable. Dromes (planetary bases) will reward the player greatly if they can go to both ends of the star port and use the jump-start weapon on them. This will cause the star ports to re-activate, making them functional again. This is a one-off special event, so there are no time limits or bonuses.

Fetch quests

Likely difficulty: Easy

The classic! May also be an option to set as a kill quest for specific ship types.

One somewhat straight forward approach would be to require x number of specific weapons or ammo that drop predictably from particular enemies, or items only available in shops on a given planet type.

Would necessitate a new bit of UI work to show progress on a given task. A relatively good option to do both a bit of NUI and a bit of ECS. Terasology (TS) has an existing Tasks module that can be used for inspiration

Bonus: Believe it or not but modules can actually be shared between DS and TS, if they don't uniquely depend on anything specific to either engine. Could some piece of the Tasks module perhaps be split out and be used for both game specific task/quest systems? This challenge would up the difficulty on this substantially, however - really more of a thing to nerd out about!

Weapon overheating

Likely difficulty: Easy

Weapons that can overheat if used continuously too long. Similar to the weapons with infinite / rechargeable ammo, but instead of having a simple cooldown between firing and a longer one while "reloading" keep track of heat and disable the weapon for a short period of time if over-used.

Mining laser

Likely difficulty: Easy

As one example of using the above overheat mechanics you could have a dedicated mining laser that drops extra coins or sellable minerals, but you'll have to balance how fast you try to mine. This could also get into bonus damage to some things (high asteroid damage, low ship damage - or high ship damage too yet low shield damage ...)

Player structures

Likely difficulty: Hard

Set up and customize your own starbase, or maybe even planetary structures like mining stations of some sort. A starbase could perhaps be customized akin to remotely equipping a mercenary, while mining stations could aggro the planet owners if you haven't cleared them out yet. You could "talk" to either to interact with their inventories and maybe create them by equipping an item that then causes the structure to appear at a valid nearby spot.