Our third alpha test has started and is focusing on space flight and trading between two colonies. Meanwhile Martin has started implementing the new payment system, a critical subsystem for the early access milestone.
My work on our new payment systems continued this week. With the basic application set up I started implementing the actual payment process. Essentially, I’m building an “in-house payment provider” that both our games can use to process payments without having to care about the details of, say, how a PayPal or paysafecard transaction needs to be processed. It also allows us to have all accounting-related activities and data in a single location, meaning we do not have to write stuff like the rather intricate implementation of EU VAT rules twice.
The process will look like this: Players that want to purchase game time for Prosperous Universe can select their desired package in the PU account management system but will then be immediately redirected to the new system. There they can select their favorite payment method and a transaction with the respective payment provider is opened and processed. Once the transaction is confirmed, the user is redirected back to PU where the game time will be added to the account once our new system has sent out a confirmation in the background.
That’s the ideal process. But in reality, there are a thousand things that can go wrong along the way: Connections to payment providers might fail, the user might decide mid-payment that they’ve changed their mind, a confirmation from the payment provider gets lost because our system is down in the wrong moment…those are just the first ones that came to my mind when writing this. So most of my effort is currently directed towards dealing with as many of these edge-cases as possible and trying to get the general payment process as water-tight as I can. We’re talking about real money here after-all…not virtual currency as in the game itself :-)
On Wednesday I started our third alpha test. This time we will leave the comfort of the starting planet and try to bring live into a whole star system. This test features two start worlds with different resources. Both have a commodity exchange so commodities can be traded easily between players that have chosen different start locations. But not everything that is necessary for the economy can be found on the start worlds: for example to produce fuel someone needs to mine a specific mineral that is only found on an uninhabited planet close to the sun. To make this possible (and speed-up the test) players choosing the mining package will start with two core modules, e.g. they can found two bases right from the start.
The start of the test went fine and we have no technical problems so far. We will invite registered forum members to the test early next week, so if you are interested in taking part in the alpha test register an account in the forums. Forum account and game account is the same thing :)
Besides supervising the test and helping the players out I only managed to implement a few minor things. First I changed the implementation of the planet / system search that is used to find a destination location when sending ships to another location:
Every star system in the game has an catalog identifier like YH-665 and in each system the planets are enumerated from a to z. So a valid planet identifier looks like YH-665d. Of course these identifiers need to be searchable, but there is more: systems and planets can also have names like the planet Vallis in the Moria system. So the Vallis for example has to be found by entering its identifier, its name or parts of the former two.
Since players can now have bases on multiple planets I also restructured the inventory tiles. We used to have one INV command that showed the inventory of a planet and contained a dropdown box to select another planet. This felt quite clunky, so we now have the INV command that shows a list of all inventories:
and another one (INVP) that shows the inventory at a specific planet.
As always, we’d love to hear what you think: join us on the forums!