This blog post is intended to give all of you my take on the last few days. Since it's been such an exciting time for us here, I'd like to give my own perspective on it. This is a pretty tech-heavy post, so be warned.

Last Thursday I travelled to Paris to give a couple of interviews to the mainstream French gaming media about Perpetuum. All went well, and I'd like to seize this opportunity to send a big shout to all the participants for their kindness and professionalism.

Something you don't want to see.

Saturday morning, while roaming the streets of Paris, I started receiving messages and phone calls from the dev team at home about a nice amount of new registrations. As time went on the number just went up and up. Having no idea what's going on, we were simply happy about it and tried to craft theories around it. Later that day I met Guillaume - who is one of our players - and he explained everything about the current situation on the MMO landscape. (Thanks Guillaume for the hospitality, I owe you one!) In the meantime, I was being spammed with messages that something weird was going on with the relay server, causing insane lags. You can imagine the number of calls, as even the battery ran out in my mobile!

Sunday night I got back to Budapest, went home, took a shower and immediately headed to the office to check on the situation and fix the server problem. In the office I found out Calvin came to pick me up at the airport, but since my phone died on me earlier, we managed to miss each other. From this point on, I completely lost track of days and hours with almost no sleep only focusing on the server issue.

We checked everything: optimized the SQL, implemented new caches on the server, tried many other things, but they were minor problems compared to the evil seed that caused the problem. The main difficulty is that it's very hard to generate load on the dev server similar to the live one. For the tech guys out there, the transaction coordinator (MSDTC) was NOT the problem, it causes an insignificant load, so we are fine with that.

We had to put in two nights in a row. We simply had to rest, but it was made hard by the stress and the guilt of leaving the gimped server alone, not knowing what would await us when we wake up. Things were looking grim.

When we realized the seriousness of the problem, I contacted one of the most knowledgeable people I know in this field and asked him to help out as a fresh mind always has a better chance finding hard bugs. Our deepest respect Soci! (Shameless promotion: http://soci.hu/). Luckily, he had time to check out our architecture and together we were able to start an investigation session on Wednesday night. He gave us several suggestions, pointed out and helped optimize several things in the database layer. Then we moved on to inspect the relay server's code. Since the source is huge, the quickest and most realistic method was to attach an analyzer to the live server application. I must admit this was the last thing I wanted to do on my own, but at this point I was willing to sacrifice anything to find the root of the problem.

He instantly figured out that one innocent-looking little function, namely the one which returns who is online (in chat channels, for example) has an emergent behavior, resulting in an exponential load and suffocating the server. (Insert random sarcasm about glaring oversight and tech madness here.) We then ran Visual Studio performance monitor on the live server to dig down to the heart of it. Soci said it might cause some load, so we messaged the server with a warning about what we were doing. And then we accidentally the whole server. :) 0245 server time, bye-bye field containers!

Thursday we closed the session with Soci and went back to implement what we'd learned. Quick tests on the dev server showed pretty amazing results so it made us rather confident. With shaky hands we patched and let the first 50 players in. This was the moment of success! So we immediately let 100 more players in. During this period we constantly checked the load which became insignificant (2-3%) so we raised finally the cap to JUST OVER 9000!!!!! >:)

The time to chill out has finally come, so we popped open one of Gargaj’s precious Norwegian treasures that had been sitting on our shelves for some years, a bottle of blackcurrant wine. I don’t know if it was the quality of the booze or the grace of that moment, but it was one of the sweetest sips we ever had.

Well, that’s the end of that, hopefully I managed to shed some light on the problem and our day-to-day march until we reached victory. The code belongs to us, but the world of Nia is yours. Enjoy!

The reason why I split this post in two parts was because the remaining features I promised to write about were either unfinished concepts, or not that solid on our list, so they could be pushed around in case something more important turns up. (Well that, and the fact that it would have been terribly long.) A lot stuff happened since Part 1 that can influence our priorities in the development of Perpetuum, most importantly: player feedback.

Apart from the forum, which probably plays the most important role in this, there was Episode #7 of the Incoming Transmission podcast (thanks again Gremrod & Kalsius for doing it!). Gremrod asked me beforehand what topic I would suggest for them to discuss, and since there have been some talks about when Alliances/Conglomerates will be implemented, I told him this would be something we’d like to hear about before we do it. So, among other topics, they talked about a proposed alliance feature and while everyone throws around their ideas and suggestions (noted!), the majority seemed to agree that currently an alliance feature would be premature with the current playerbase, and we should rather focus on improving current corporation features. We also discussed it and agree, so that’s what we’ll do.

Unfortunately this will delay artillery and second-generation weaponry, but I think we can agree that it’s better to improve current features first, rather than drop another variable into the complex formula that is PvP combat, creating even more balancing issues to deal with.

Corporation management improvements

In the last patch we’ve made remote production processes visible on monitoring panels. This was only the first step, and we intend to merge all your production jobs in one common monitoring panel. This in turn will pave the way for the much requested corporation-created production processes, complete with production rights, logs, and source/target storage options.

Another relatively complex idea we have in store is a system where corporation leaders have a place to plan jobs, operations and events for their members. We call this corporate projects.

It will sortof work like an agenda: you think of a goal for your corporation, and optionally set a deadline. Members can then opt in to help the cause, and their efforts will be of course logged and displayed for everyone in the corporation to see. Goals can be anything from mining a hundred million titan ore, to delivering a few kernels for your research department, reaching a simple income goal, or even a number of PvP kills. Naturally you will also be able to set rewards for these goals.

I’m sure with the right tools you guys can be much more creative than what we can think of right now. If it turns out as it should, the system will be loose enough to simply use it for organizing any kind of corporation events, or keeping track of salaries as well.

Account reset changes

Again? Yeah, admittedly we overshot a little bit with the last account reset revamp. Sure, it was a bliss for those with a “misplanned” character, but in the wrong hands it’s a dangerous tool which hurts the persistence of the game.

So we’ll try to bring you a solution, where beginner players who realized their mistakes they made at character creation don’t have to delete that character in order to refine their attributes or extensions.

Spark teleport

As mentioned earlier, the spark teleport system will allow you to teleport yourself without any robots or equipment from one terminal to another.

The system will work with the help of spark teleport nodes: at any given time you can have a maximum of 3 of these nodes placed at the terminal or outpost of your liking. This creates unique teleport channels which you (and only you) can use to move your spark from any other terminal to those locations. Of course both using a spark teleport and changing the configuration will have a cooldown limit in order to make it not too overpowered and you can also expect it to be a small NIC sink.

Waypoints and routes

Hot on the trail of the geoscan result folders, we’ll introduce the same system for waypoints as well, with a little twist. You will not only be able to organize them, but with the proper sorting they will make up waypoint routes.

In its first iteration, these routes will probably be used by a not-that-bright autopilot system which will simply walk a straight line between waypoints, so its uses will be pretty much limited to highways and main roads without any blockings. (Later we might bring in some pathfinding AI as well.) Using the pre-made and stored routes will be as simple as selecting one while on the terrain and activating the autopilot, which will then start to walk towards the first or nearest waypoint of the route.

Of course this won’t make you travel faster, but it will help those doing the same transport routes over and over and allow them to do something else meanwhile, like checking the market, or trolling on general chat.

We heard you like pink robots

Some of you may think that this seems to contradict the “more important features” statement I made above, but since the core mechanics which make robot paintjobs possible have been in the game for a while now, it doesn’t really take away much development time. We just missed a sensible game mechanic for it, which I’ll be presenting now.

Actually this is a very bad example. Please do not do this. Please.

Painting robots will be as simple as fitting a module on them: the equipment window will get a second tab, where you’ll see 8 color slots. There you will drag&drop paint items of different colors and mix them how you like - the result will be instantly visible on the 3D preview of your robot. Drop a red and a green paint, and you’ll get yellow. Drop another red after those and you’ll get orange. Add one black and you’ll get brown. Pretty straightforward I guess.

The paint color items itself will be available in the energy credit shops soon to come, and will include the basic red, blue, green, black and white colors that you can mix freely. However, beyond the paint colors you’ll also need a paintjob token if you want that color to stick to your robot.

As mentioned in the first part of this blog, this will be a microtransaction feature: for a small fee you’ll be able to purchase packages of multiple paintjob tokens that you can use to finalize colors on your robot. The exact pricing is yet to be announced, but since robots are pretty short-lived and packing one will also make it revert to its default color (just like paint decay), it probably won’t be too heavy on your wallets. (And refreshing an old paintjob with the same color will be probably for free.)

This system has also the advantage that those players who don’t care about the color of their robots can still participate in the economy of paint items, even if only to sell them on the market.

All the small things

Of course these are not the only plans we have, but at this point it would be too early to write in detail about them, simply because we have to collect all the ingredients before we can present you the full meal. Some of these already reach beyond our summer-list, but in order to make room for some healthy theory-crafting, here is a short menu: geoscan result trading, dynamic mineral nodes, free camera and other camera improvements, persistent (SQL-based) field containers, improved NPC AI with different behaviors, random assignment objectives, titles/achievements and more.

Bah, again nothing about player-built structures *grmbl* - I hear from the back rows. Yes, thank you for your question, that concept is alive and in the works, but still has a long way to go. While it’s one of our priorities, we don’t want to leave you with nothing in the meantime. But as mentioned in an earlier post, the target time for that is still the end of this year.

This post should have been already published a few days ago, but unfortunately we had to put out some fires - and I’m not talking about toasters here. Now that the smoke has settled a bit, it’s high time to take a look at the near future of Perpetuum again.

Most of the stuff that we promised in our candyshop post at the end of March is already in the game: global storage listing, the kernel change, geoscanning folders, the new market rates graph, the event notification system, CT trading, market order modification, trophy details and explosion damage. Only two things are still waiting to be done from that list: performance-based assignment rewards and the spark teleport. So in this two-part post I will not only talk about these, but I’ll show you much more of what will hit the world of Perpetuum during this summer.

A quick note before we begin: while most of these concepts are complete for the most part, there can be still a few changes or refinements until they get into the game in their final form.

Assignment love

Probably the most frequent criticism we get about the game is the lack of PvE content. The development of this type of content is the most resource and time consuming of all, but we are of course committed to progress in these parts as well. While our sandbox storyline assignments may not turn out as grandiose as those in other dedicated themepark-MMOs, they will still be a nice breeze of fresh air for those interested in the lore and the ones looking for non-standard objectives.

A Nuimqol refinery complex, one of the storyline assignment locations.

Geoscanning assignments will be converted into artifact scanning assignments, which will send you out to pinpoint special artifacts within a relatively large radius. We won’t banish geoscanning from assignments though, they will get their new - and much more logical - place as initial objectives in mining assignments. No more complaining that there is no imentium right under objective point A.

For a few days now some of us have been analyzing existing assignments with the goal to bring their difficulty and rewards into the right balance. A lot has changed since these assignments were introduced, and even then they weren’t necessarily balanced regarding walking time or risk versus reward, but better late than never I guess. This is only the first step, in the future we intend to raise the quality of most assignments by adding more objectives and generally making them more interesting.

We’re also planning the introduction of dynamic reward bonuses, based on the average completion time of assignments.

Career tips

Admittedly, this feature is a bit late since we already intended it to be in the Terra Incognita expansion. Since this is such an important feature for newcomers, we didn’t want to release it half-done and possibly confusing, but it will now surely be a part of our next patch. For those who don’t remember, this will be an extension of our help system, an “I want to do this in the game, give me some short tips” sort of thing.

Friend approval

Don’t worry, we don’t want to turn the game into facebook any more than necessary, but with the addition of event notifications it became just too easy to spy on your enemies. A simple extension of the system by request/approve mechanics should solve this issue. Unfortunately we will have to wipe your friend-lists for this to work, but we hope this will only mean a slight inconvenience for a greater good.

NPC balancing

Electronic warfare NPCs are annoying little bastards. We play our game too (srsly), and the feeling that they are a bit too much for the newbies has been growing in us for some time now too. They are usually easy to kill, but when they get together with their damage dealing friends, they can easily overwhelm an inexperienced player. If you get in trouble near one of these spawns, it’s already too late to run.

With the introduction of the new islands we’ve got some more playroom for balancing, so we’ll lighten up the old starter alpha islands a bit by either removing EW NPCs from spawns, or reduce them to one. We’ll also remove or replace high ranked NPCs that are too close to the alpha terminals, so new Agents who are not so familiar with NPC names won’t get slaughtered after a few steps on Nia.

Changes in outpost ownership

The recent political events have been very eye-opening for us and brought up the necessity of a system which would be able to prevent one corporation to gain total dominance in the ownership of outposts. (While we know now that there have been other factors in play, the possibility still remains.)

To this end we’ll introduce outpost maintenance fees. The first outpost will be free for every corporation, with no upkeep necessary, but every additionally owned outpost will have exponentially higher maintenance fees. Corporation leaders will be able to set a priority list for their owned outposts, which will control which outpost ownership will be lost first, in case the corporation is not able to pay the upkeep for all of them. This system will hopefully make corporations appreciate more what they own, and prevent them from expanding lightheadedly.

Furthermore, corporations in possession of outposts will be able to designate one of them as headquarters. A HQ-outpost will have multiple advantages, bringing more incentives to both own and to keep them: for one, corporations will be able to control access of others to the outpost, based on their relation settings towards them. And it will be also possible to purchase various upgrades for it, which brings us to...

The energy credit system

I have already talked about the EC system in The future of Perpetuum, and I’m happy to report that the concept has been steadily growing more and more solid since February, to the point where we’re close to finishing it.

Allow me to not repeat the basic premise here again, for the lazy ones it should be enough that you will be able to collect energy for credit points, which you can use to buy shiny stuff.

Collecting energy will be possible on both Agent and corporation levels:

Agents will be able to collect energy from natural fields found on Nia. These fields will work quite similar to normal mineral fields, but they will be only visible at night, and you can’t use scanners to find them. To collect energy, you will have to deploy rare energy crystals found via artifact scanning, and if necessary, defend them until they are fully charged. The charged crystals can then be brought back to a terminal and sold to the Syndicate for credit points.

The current list of things you will be able to purchase with EC includes mission ammo, Niani modules, possibly some prototypes, and *drumroll* ...robot paint. (And sorry to burst your bubble right away, but the sooner you know the better: paintjobs will be tied into microtransactions for a small fee, because we're greedy capitalist pigdogs - details about paintjobs will come in part 2 of this post.)

Corporations owning outposts will be able to collect EC on a corporate level. This is the only part of the concept that’s still missing some puzzle pieces, but our intention is to make them actively work for those points and not just sit on their outposts which simply generate it for them.

We have decided to separate the Agent and corporation “EC-shops” in order to keep a healthy balance, so corporations won’t be able to purchase things from the Agent EC-shop and vice versa. However, Agents will be able to donate their points into the corporate EC-pool.

The things corporations will be able to buy using EC will hopefully give a nice boost to the incentives of owning an outpost:

  • Outpost upgrades: these can be temporary manufacturing boosts, higher level facilities, or even outpost auras, which will pretty much be the outpost-class version of NEXUS modules, affecting either the corporation’s robots on the island in some way or possibly accelerate plant or mineral growth within a certain range around the outpost.
  • Special assignments which can be activated for a fixed time, for corporation member use, or even better: for the public, so they can lure more taxpayers to their outpost.

So that’s it for now, in the second part I’ll talk about the spark teleport, changes to waypoints and a new addition called waypoint routes, artillery and second generation weaponry, and we’ll also have a look at paintjobs. Promised.

Dear Players,

we would like to close another chapter in the history of Perpetuum and set our eyes on pastures greener and newer. Everyone involved in the recent exploits has been severely punished. The complexity and scale of the issue left us with little room for deliberation, so our only option was to wipe all everything from corporation hangars and characters. This way, the illegitimate assets have been completely removed from the game. Sharing numbers with the community would be futile, for if someone has the ability to create items out of thin air, it matters not whether they have a stock of three hundred or three million in their hangars.

Unfortunately the measures we took affected a lot of players that had no idea about the scam they were involved in. Please allow me to say a few words about those we have punished in M2S. This is not a name and shame post, these players had no idea what was going on behind the scenes and suffered betrayal from a small number of people they trusted and were loyal to. The persistence, honesty and camaraderie demonstrated by this corporation during our proceedings against them is nothing short of admirable and deserves the full respect of both the development team and all the other players. They took this devastating blow right on the chin and decided to start from scratch, stay together and reestablish themselves on Nia. We wish them all the best!

The corporations fighting these unbeatable odds also deserve our awe and respect in industrial, military and communal aspects equally.

We would like to kindly request that there be no witch hunt, humiliation, harassment against players that were unaware of the exploit schemes and already took a huge blow both economically and emotionally. The real offenders are no longer among us, so any of these callouts would be misplaced, and we will protect all our players from causeless harassment equally.

We are very proud to be hosts for such a great community, all of you guys are awesome! Here's to an engaging adventure for all of us!

It has come to our attention that some players have gained illegitimate possession of significant amounts of robots, equipment and other commodities, due to an exploitable game mechanic. The method that was used can by no means interpreted as intended gameplay. A lot of technical preparation and effort went into the experimentation and execution.

The magnitude of these exploits have helped these players to affect the whole poiltical landscape of Perpetuum. With the uneven playing field, legitimate corporations had an extremely hard time competing for their goals. Their persistence is admirable and we are committed to achieving and maintaining a game where skill and effort prevail.

Calculate it.

We have thoroughly examined the extent of the exploits and removed all robots, equipment and commodities associated with them to the last. All accounts that were involved in the fabrication of aforementioned resources have been permanently banned from the game. The same is true for those accounts that had characters gaining unfair knowledge base improvements.

We are certain that from now on, Nia will be a much more interesting, exciting and rewarding place to be, and are looking forward to a new age in both the political and economical events of the game. The extent of our investigation and handling of the situation ensures that everyone has the same chance for fame and fortune in our distant world.

The exploitable mechanism has been fixed. We warn all players, that we will deal with similar offenders with utmost severity. If anyone has further information regarding the issue, now is the time to come forward and share it with us privately at support@perpetuum-online.com. We will keep pursuing this case with full effort. For those that feel they have been cheated out of their hard earned wealth, please contact us and we will examine your cases individually. Our goal is to enrich the immersion and experience within the game, not to harm them.