Skip to content

3: Abstract Outline of Project Stages and Milestones

jpcsupplies edited this page Jan 25, 2016 · 7 revisions

This guide is to flesh out the specifics of this workshop mod for integrating an economy into the game.

Below is a rough outline of stages and planned release milestones.

First stage is to create simply a plugin that records a players name or id, and assigns an arbitrary starting balance. This balance should survive reconnects or server restarts, (or map wipes, or used in other maps?) and can be listed in game by the relevent player, admins should also be able to read other players balances.

Second Stage is to allow this balance in part or full to be sent or received in game between players. Most likely using chat commands, although it should have some limitations such as antenna range and so forth this might not be in the initial version to begin with.

This point represents the pre-alpha milestone

Third stage is to allow staff to alter this balance in game. (This may eventually be expanded into a tiered system for different level staff)

Fourth stage is to assign arbitrary prices to resources and materials in a table which can be looked up in game.

Fifth stage is to allow items in the players inventory (or his ship's would be better) to be transferred either to a special block or sold by a chat command, exchanging that item for its calculated value based on the fourth stage price table. (Sell to player or server)

Sixth stage is to allow the reverse, a player using either a special block or a chat command can then transfer items into his (or his ships) inventory for a requested amount paid out of his balance. (Buy back from server)

This point would be a major Alpha release milestone as it represents all major functionality

Seventh stage would be to integrate this buying/selling system into a "global" or "world" economy market - where items sold into the market by one player can be purchased out again by another. This would limit available purchases to available goods in the market. This would need to be backed up by an NPC bank balance or trader as the player starting balance would not likely be very practical to begin with and some items will not be in demand yet due to lack of player funds. Optionally this "market" could be available to multiple maps (on the same server) to further maximise available resources. So players could join map 2; just to mine and earn money, but then use the money in map 1 to build a base.

Eighth stage would be to allow players to dictate buy or sell prices in this market - although the "NPC Bank" character should always be available to buy or sell items at the "table" value from stage 4 - the amount available here would need to be randomized to limit the "NPC" supply, and only where no other player has already listed some of this resource. The NPC could simply be a participant at the "world market" but only ever posts items at the table value. That way if another player undersells him that sells first, or if the NPC runs out of supply, an item posted at a higher price by a player will sell. If none is available at all then each hour (or a configurable time) of no supply, the NPC should post random (supply demands?) amounts to restock. The NPC's ability to buy may also be dictated by its available supply of funds, which combined with buy/sell prices (slightly lower buy price, table value sell price.. or vice versa buy at table, sell at markup - maybe a configurable margin) and its ability to spawn in tiny quantities of ores the market is out of should be self sufficient.

This point would represent a major Beta Release milestone, all main enhancements are done. Further stages may not all be in the final version without change to core game, these are more of a wish list.

*** Note: It may be necessary to release our beta version as a new workshop item to reset its player rank

Ninth stage would be to allow players to purchase entire ships off blueprints with their funds, delivered to a specific location, and have the game spawn these it a random distance from the target location and fly by auto pilot to the target point. Ownership may need to be nobody, although if possible catering for spawning a ship in owned by the buyer would be preferable. The list of blueprints should probably be restricted (configurable?) to a specific list of designs at the server. (much like midspace prefabs) for realism players could somehow submit a design to their "bank" to allow it to be spawned in on another map where the economy is shared from that server.

Tenth stage would be adding more realism - which would be the most difficult to code. Eg. - Spawning mining haulers containing purchased ores optionally. (delivery charge?) targeted to your location? This would replace any command line functionality that previously spawned right into player inventory.

Usage of a "block" for transfers would not spawn a mining hauler but draw from the stored balance of the station the block is attached to... or alternately when a mining hauler is spawned it docks at the station and unloads your order, and loads any items sold to the station before flying off transferring its cargo to the central market pool and vanishing (despawn).

A mining hauler could also travel between stations picking up as well as dropping off ores. A "central" trade station could serve as the trade hub, and main repository (set indestructable) to any "trade blocks" players have installed elsewhere. Exploiting the prescision autopilot and GPS functionality. Further realism could be achieved by making the station construct haulers if any go missing (ie piracy) or simply configure the plugin to make haulers indestructable if admins dont want to have to deal with that. This means piracy for example could put a given factions trade station out of business as it has a limited supply of delivery ships. Players would need to supply the base more materials to allow it to construct replacements. In this situations a station with enough funds may increase its "NPC trader" buy prices to attract trade so it can construct a hauler - but until it does purchases from the station would not be possible to deliver to the player, he would have to go their personally etc. AI logic could also start building military ships if too many deliveries go missing, so prosperous stations would be harder to put out of business. This could work a bit like a tiered "level" system where a stations hauler and military fleet size is dictated by its net-worth. The station may even upgrade itself to add more docking points etc.

_ Gamma version milestone- Major update _

**Eleventh Stage **would be adding some sort of external interface; for example to allow server admins to create a "trade website" for their server. This could simply allow players to buy/sell ores and ships (and stations they built?) from a website to other players with their balance. A simple interface such as a file that gets written to by the website but read only to the game plugin containing a list of tasks (fly mining hauler X to trade station Y and transfer goods to player Z, transfer X balance from player Y to Player Z) the plugin could then create a "flag" file to indicate to the website the queue has been processed, which then clears the queue and resets the "flag"

Final stage would be allowing the website to spawn in in-game currency via the stage 11 interface to a given player, in exchange for some sort of real or crypto currency spent on the website, or even vice versa - although this stage should probably only apply to the website as an optional "possibility" as it may have legal implications. Suggested functionality is here, that 1 unit of currency either fiat or crypto exchanges for a million units in game. Cash shops are a popular addition to many MMO multiplayer games and games like minecraft.. So the possibility should at least be entertained.

    • Final release Milestone Job done - -