Space Clouds

This past week….

As I’m sure everyone noticed, we have had a lot of problems this reset. Some of it because we weren’t ready on time, other due to the unavoidable need to track and fix year+ old corruptions that happened to cause problems in the uni reset patch. We worked intensively during the week to bring everything back to a normal state as quickly as possible and I can now say somewhat safely that the server is at a pretty good performance level (it is actually running faster than it was last uni now and should be more reliable thanks to the new memory validation).

A beta client is now available that contain fixes for most of the dumps that were sent (2 of which appeared broken / corrupted and as such i couldn’t see the problem, but it might be the same as other dumps). You can download the beta client from http://www.starsonata.com/dl/StarSonata_2_beta.exe. If you crash on the beta client, please be sure to send in your starsonata.dmp alongside a short description of what you were doing to dmpfile (at) starsonata.com

The visibility issue will probably only be fixed on Sunday, but at least from the quick checking I done on it, it appear to only be client side. AI etc should see you at your normal visibility, but your client sees everything as ultra high visibility.

The catching up event will begin now, from Saturday 1h30am to Wednesday 1h30am, experience gained, team experience gained, workhours and colony years will all be 3 times faster than normal

For those interested in the server fixing process, keep reading…

The major issues encountered were from code written years ago, a specific one could be traced to 8 years ago. Those were the kind of problem that caused crash that were extremely hard to track and properly fix. I spent months working and fixing those slowly but the harder ones kept escaping my grasp. I knew they were there since their signature was still in the crash that happened every few days / weeks depending on luck, but i could never pinpoint exactly where it came from. There were in total 5 such corruption source, 4 of which were only possible in a multiprocessor (as in multiple physical processor, not multiple core on a single processor) configuration.

After upgrading our memory fence from an old x86 asm call to an sse2 approach and modifying our map and set containers to use our own mutexed implementation instead of using directly the stl. Many of the real problems started surfacing (mostly hitting some memory redzone i added to our containers since i knew the corruption was container related). Fixing those took way more time that i could ever have expected, but this is now mostly behind us.

The first version I wrote was built in a way that it required no code change for all the thousands of variables using those container to actually use our new threadsafe version, but this implied keeping the original interface which is very poor when it come to acquiring / releasing locks (it had to be done in every calls, and iterator acted as a stack lock object so that once you requested an iterator on such container, only the thread owning the iterator could work with it until you were done with the iterator etc).

With that, most of those crashes went away and were replaced by a somewhat large lag (this happened about 30 hours ago, at which point server became a lot more stable, but also about 15 times slower). This called for a faster alternative for some of our most accessed containers (like for instance, the list of all souls in the universe or the list of items in a ship), for that i used a singlelockcontainer object approach. The difference with this compared to the previous one, is that it is not a “plug and play” replacement for the map or set (or any object in its case), it require actual code change to every location accessing the object in question, but at least enforce it. Without cheating the system knowingly (calling a reference and copying the pointer or similar “hacks”) it is impossible for a piece of code to access its content without first requesting a lock. Once the lock is granted the object can be read and written to by the thread which locked it. This is an order of magnitude faster than the “plug and play” approach, but is generally not worth using for small containers or containers only used for direct access etc.

I slowly replaced the slow parts with the new faster singlelockcontainer until the performance were at a point where the overhead from validating and enforcing memory access to all those containers did not actually affect performance, which is about where we are now.

Next step is to fix all the client issues and a few remaining server bugs, but very soon we should be back to weeks+ uptime on the server without crashes.

Calypso Update 10.13.14

This week’s update is going to be the last weekly update I do — as I shift my role within Star Sonata a bit. I’ll still be making updates but they’re not going to be scheduled as they are now, instead they’re going to happen less frequently, mainly when I have something exciting or interesting to announce.

adumites

For those of you wondering, this is a result of me moving from my position as a full-time developer to a part time role as I pursue other career goals. I’ve really had a blast working full-time the last few years with Jeff, Jey, Blue Dwarf and the other developers so I’m definitely sticking around. I’m still going to be working on exciting new content, bug fixes, etc, I’m just reducing my involvement (much like I did when I first left for university all those years ago, for those of you who might remember Star Sonata 6-7 years ago). I’ve been a part of the game’s community, and the game’s development, for over 10 years at this point and I’ve loved every moment of it. I’m definitely never leaving!

Now, onto the actual update portion of this post.

This past week was mainly about making some last minute changes and additions before we start the new universe. Chief among these included finishing the loot tables for the Jungle. There are a lot of items to be obtained there, as well as quite a few blueprints to build those items, so that equals out to a quite a bit of content work. I’ve also added a new blueprint feature — allowing blueprints the option of taking equipped items. This is something they currently can’t do and will no doubt be useful in upgrading equipped items, like base lasers or dampeners, automatically. I also spent a fair amount of time working with The Vert on something I’m very excited about, Junkyard project.

Junkyard

Normally, I ask The Vert to QA content I’ve worked on (like Arctia or the Jungle) so it was a fun reversal to QA something he’s worked on. In addition to testing, I also helped him rework the Junkyard’s introductory mission structure a bit so it’s more dynamic; no more of that pesky docking between missions! Finally, I worked on enabling the easter egg mission mechanic on all the item classes that he needed so we could turn your dusty DG loot into shiny new Scrapnotes!

That’s it for this week’s update. I’ll be back again with another update when I have something new and exciting to report! Until then, feel free to post questions, comments or suggestions in the forums!

Server/client Patch 10.11.2014

* Base rebalance summary
** Most base gear stats were rebalanced to increase their overall power and reduce the impact of stm (stm are still important, but non stm bases won’t be as defenseless).
** Class skill no longer affect bases, but new base only superitem were added allowing for bonus to be applied on bases strategically. They can be found in Lagrange, Lyceum and Vervaardiger.
** X/Y/Z versions of base gear is no longer transferable between bases and ships, instead they’re built directly on the station as a set using mostly time and common resources. All kits come with the 3 blueprint preinstalled to upgrade them.
** Andaman Laser Z and Achilles Laser Z will be automatically replaced from your inventory by Vervaardiger ‘Berhinger IV’ EX-Z and Vervaardiger Station Lance SG-Z respectively. Those are part of a new line of “permanent” end game base lasers to go with superlasers, cannons etc.
** Non-base weapons can no longer be equipped to user bases.
** PvP invincibility aura is removed (the ability to tow your ship from stasis made it unnecessary).
** Added Outpost Drones. These 36 hour duration temp drones can be used with a user base to own territory not connected to a Team HQ. Outpost drones don’t get any class skill or trade skill bonuses.
** The 10 bases per user limit per galaxy has been removed.
** No longer any limit to the amount of attacking kits that can be deployed (so long as you can deploy one kit in enemy territory, you can deploy up to the galaxy limit!)
** Galaxy limit on bases is now on a per team basis. Even if you have 50 bases in a galaxy, the enemies can also deploy 50.
** Attacking team can now take over abandoned destroyed stations in enemy territory (radiation also destroy the base now).
** BvB kits will expire 12 hours after deployment if the galaxy is still owned by another team (there is a team reminder about it).
** If the ownership connection is broken (the galaxy used to BvB from dies/unown) the bvb kits will become abandoned and free for the defender to capture.
** You must own the galaxy next to your target for at least 24 hours before being able to bvb from it.
** Userbase have 1 superitem slot.

* There is now a check to keep players from accidentally selling their last ship in a base.
* Roaming range fixes on spawners
* Fixed some heph weapon blueprints with incorrect ingredients
* Fixed a bug with loading wild AI causing no spawners to be created under certain circumstances
* Increased firing vis default for missiles from 100 to 500
* Gave MIRVs extra firing vis
* Fixed squads not getting new leaders appointed when required
* Extended the PvP warp timer to docking in AI stations.
* Reduced the number of missiles the Inequalization superitem launches (because we have salvos now).
* Changed the mission goal of ‘Combined Augmenters’ (AT3 mission) to complete the Minor Defensive Augmenter mission rather than return the augmenter.
* Changed the wormhole in Crater Highland to unlock when Corrupted Guardian dies
* Added skins Bloodied Vaco and Zeus’s Antu.
* Fixed a bug where Rewired ET bonus was calculated wrongly.
* Fixed the Olympus Drone Master Augmenters requiring Drone Master 21, by lowering it to 20.
* Added a checkbox to the Ship Statistic Window to toggle showing crit effect affected stats.
* Fixed Strontium Overloader mission.
* Removed all auras from the planets and moons in Tartarus.
* You can now tow your deep stasis ship by hitting R to dock and selecting to tow.
* Added message to tow confirmation dialogs stating that’d damage your ships equipment.
* Removed Xeno Torpedo and Super Molten Copper drops (wild AI new uni).
* Fixed missing texture for Alien Egg Ships.
* Added new line to the construction dialog GUI to denote construction speed bonuses.
* Neurobound debris now has an additional visual effect to better show that it’s neurobound.
* Fixed a typo in “Into the Rabbit Hole” subspace mission.
* Fleet Commander Transwarp Devices will no longer teleport offline players.
* Berserker class skill bonuses now properly multiplies with other bonuses.
* Added new Projectile Speed, Transference Power and Transference Efficiency aura mods.
* Shipbound items can no longer be sold from userbases.
* Fixed Exchange of Knowledge mission.
* Reworked the Tartarus spawners so you’ll always get 9 Shard Dust from AI and 1 from the mission, totalling 10.
* Fixed a bug where team skills wouldn’t let you train to the correct max level.
* Skin content holoprojector prize. Will be handed out after the patch (possibly few hours if early BST) to one character of each winner.
* Visages attached particles emissions now properly fade out when the object they are attached is removed.
* Changed the shield bar color to a green tint when friendly, blue when neutral, and yellow-orange when enemy.
* Fixed an issue with frameskip being applied even if logicfps is async from the gamefps (detachrendering).
* Fixed a client side thing that caused drones to be considered neutral and not friend with you (used for target ring color along other thing).
* Fixed a bug with the paxian t22 dailies (Paxian Dispatch Orders sometimes gave no item).
* Fixed the bug where you had to warp twice into an instance if you didn’t have a squad.
* Added new item type called Thruster, and gave some to the Target Dummies in Nexus to make them more exciting.
* Ship can no longer be item formed if they have any removable items inside them. This should prevent most cases where the wrong ship was item formed.
* Fix for dampening stat color in ship stat window.
* Skill point debt or skill points credit status on avatar tab.
* Removed Augmenter Stats from the Drone stat string
* Added Transference Efficiency and Power Auramods.
* Warp Gremlins and Warp Interdiction fields now prevent Transwarp.
* Shipbound items can no longer be sold from user bases.
* Removed tweaks and credit drops from Undead Jey’s guards, moved to Undead Jey
+ New Alien World Boss, Gurujana Ekam
+ Added Alien Miniboss spawners to Pajca and Sas arms of Subspace.
+ New Alien Invasions in Peri Space that activate based on ownership of Subspace.
* Aliens will now prefer to invade galaxies near already alien occupied territory if such territory exists.
* Alien garrisons now scale based on their proximity to other alien owned galaxies.
* Increased the number of aliens spawned for invasions.
* Boss AI now have the ability to give players missions.
* Added Strontium 90 missions for Subspace Aliens.
* Fixed issues causing multiple subspace outposts to spawn.
* Fixed Flaming Lantern missiles.
* Roaming Olympus AI (Ares Warriors, Baby Cyclops, etc) now properly have teams.
* Added a Roaming Stingray Spawner
* Roaming Cronos, Roaming Hermes and Roaming Stingray now properly have teams.
* Monochrome AI will now drop items from loot tables properly.
* Roaming Cadets will now use the proper names list.
* Added the galaxy name to the mission completion message.
* “Special” galaxies will always be visible on the starting map.
* Gave Agamemnon Fighters Self Destructors.
* Added support for stations to vend items only if you’ve completed a specific mission.
* Made it so Pretender Hermes won’t fill the galaxy with drones.
* Fixed the Red Photon Research Entry Way laser sun.
* Fixed a typo in the player progression missions.
* Made the player progression missions autocomplete and start.
* Fixed Arctia base visage.
* Trade slaves in Wild Space now fall under PvB protection rules.
+ Added Junkyard and content related to Junkyard.
+ Added the Jungle, a custom dungeon.
+ Added Jungle Blueprints and items.
* Added soaks (and bleeds for negative soak) to diffuser stat string.
* New Jungle-themed skins.
+ Added Aluminum Sheet Smelting Schema to Ring.
* Updated /age to display the time better.
* Improved /debug net to also display a rundown of upload bandwidth usage for the last minute.
* Some improvement to the orthographic camera when rendering objects that are far on the z (those need perspective or they dont look like background objects. This doesn’t cover every type of background objects yet and theres still an issue with culling background objects).
* Improved the map download so that it doesn’t affect weak connection as much but download faster if the connection allows it.
* Fixed an issue causing tractor to not display for people who were not in the galaxy when the tractor was started (or if you reconnect while a tractor is active).
* Performance improvement in the shader rendering.
* Bandwidth reduction on spaceobject, laser, effect and explosion data.
* New stats for Zarkara Sattva.
* New stats for Amplificative Oscillation Ion Emitter.

Universe reset will happen today 1pm EDT (1pm server time)

Introducing The Junkyard

Hello guys :) As a few players requested, I am going to make a quick blog post on The Junkyard. The Junkyard is a new galaxy, located in Earthforce Space, a scrapyard ran by Creaky the Robot.

Junkyard

In this galaxy, players can turn in their unwanted items and other items that they might consider as junk, for Junkyard Scrapnotes. These Scrapnotes the player can turn in for a variety of disposable item rewards :) What do I mean with disposable? Let me explain a bit more in depth!

Every item you can obtain from The Junkyard, or mission chains that starts in The Junkyard, have some sort of mechanic that makes them disposable, meaning that the item will not be permanent. It either means the item is sticky, you can’t scoop it, it is a missile or a tweak, or the fighter does not return to the ship after you have launched it :) Now, you might be thinking: “Why should I use this?” The answer lies in the balance and utility. Hopefully these items will be considered useful enough to be worth turning in your junk for, and in turn I aim to make Junkyard a successful item sink for both popular and not-so-popular items :)

Right now, the galaxy only contains a limited amount of item rewards, but we aim to increase that amount some time next universe. The goal is to introduce some new fighters, drones, missiles and possibly some tweaks, to the galaxy :) The junk you can turn in is also currently limited to the items that are found in the DG drop tables, and the UberBossWorld drop table, which is the drop table that is shared between a lot of ubers in this game, that drop items that are closely related to the ones you get in a DG. In time we might expand this to include more items that players can turn in. If players have suggestions to what kind of disposable items they wish to see, feel free to suggest so in the thread on the forum that is related to this blog post! :)

Calypso Update 10.6.14

This week’s update introduces a brand new content zone that will be coming to Star Sonata 2. It’s not Micron — welcome to the Jungle!

jungle_screen_all

The Jungle is a new custom dungeon (like Arctia, Vulcan and Mira) that will soon be coming to Star Sonata. It is targeted at level 200 to 400 and contains 13 new galaxies and over 50 new items, techs 12 to 16.

The Jungle is an expanse of space within the borders of the Zaphragi Empire. Veterans might have met the Zaphragi via the Zebra Armada in the Serengeti. Here, pilots fight against an incursion into Earthforce Space from the Jungle Armada caused by mysterious reasons. Pilots must venture in the hostile and savage jungle to take out the leaders of the Armada and keep Earthforce Space safe from further invasion.

The Jungle Armada consists of Leopard, Monkey, Bear, Elephant and Tiger variants of the current Zebra Armada ships. All of these will be player obtainable. Veteran players won’t have to miss out on the fun as we’ll also be releasing the new textures as skins for your current tech 20 Zebra ship!

Again, much like Arctia, Vulcan and Mira, the Jungle adds yet another custom dungeon to the game focused at helping lower level player have a place to level up and get some pretty useful upgrades. With the addition of the Jungle, players will have multiple custom dungeon options from level 20 all the way to level 400! The low to mid-level still could use a little more work, but with all the recent content additions, it’s definitely getting better!

jungle_tiger_king

That’s it for this week’s update, come back next week for another update! Until then, post questions, comments and suggestions in the forums!

QA’s Q&A – Suit

Ladies and gentlemen!

So, as you may know, I’m Suit. I used to do support tickets as QA, but I also do some texturing and player contact, like the blogs and Facebook.

So, to have a bit more of a connection with you guys, I’d like to make a blog about me. You can ask me anything in the comments, and I’ll create a new blog on the 20th of October answering EVERY question you ask. So, ask me anything you’d like to know!

Regards,

The classiest Dev alive

Calypso Update 9.29.14

This week’s update isn’t going to be a traditional update. I’m working on a pretty cool project, but at the moment I’m not quite ready to release all the details. Instead, I’ll just leave you with this teaser screenshot!

jungle_screen_all

I’ll be back again next week with a reveal of exactly what I’ve been up to. Until then, feel free to post feedback in the forums!

Calypso Update 9.22.14

This week’s update is going to cover a few small feature additions as well as a whole load of bug fixing! Keep reading to find out more!

the_high_prophet

With the Alien Invasions changes and additions completed, I had a week were I was able to focus on a lot of smaller issues and make fixes and additions to resolve them. The first up was the issue with the lockout for the High Prophet in Temple Grounds. Since this is a unique encounter (in that you don’t actually kill the boss) we were having issues getting a lockout that would apply to the whole squad. To remedy this, I’ve added in a new bit of boss script that allows a boss AI to give a lockout to everyone in the galaxy automatically. This is being applied to the High Prophet to properly fix his lockout issues and going forward will make life easier if we want to do another boss that doesn’t actually die.

Another rather big change that I made concerns “special” galaxies. Special galaxies are point-of-interest locations in the universe that contain skill training, missions, etc. You may recall a while back I added in custom map coloring for the name of special galaxies. In order to help newer players even more, I’ve added to the functionality of being a “special” galaxy by ensuring they’ll always be revealed on the map for players. This is good for two reasons, firstly, new players will have less trouble finding galaxies for Paxian missions (so less WHERE IS XXXX in help chat) and secondly, it’s very convenient for existing players to find key locations after a universe reset.

Finally, what I spent most of my time on this week, fixing a lot of little bugs. All of our content (items, galaxies, enemy spawners, etc) is stored in XML files. Recently Jeff added in some error checking code to our XML loading functions to check for out-of-order XML tags for our content files. An out of order tag for spawner and galaxy files will lead to a skipped tag and a skipped tag means information about an object that is missing. The new error checking code revealed hundreds of small issues that needed tracked down. For the most part, these issues were little things that won’t noticeably affect a galaxy or spawner — but there are two noticeable fixes that took place.

xml

Firstly, there were quite a few lower level spawners that were getting their treasure lists skipped by the parser. These mainly include Monochome Tints and Hues. With the tags in the proper order, they’ll once again drop all the loot they are meant to, not just Augmenters and Kromaticos. This also affected NCC-Bulk spawners in Beta Antares, BP Processing and East Vindia, who were getting their treasure lists replaced by their missile launcher drops. Secondly, the roaming Olympus AI that players need to kill for missions were getting their team definitions skipped. Ares Warriors, Stingrays, Cyclops, Rams and Zeus Pretenders were all meant to have individual teams and will properly have them next universe.

So that’s it for this week’s update, I’ll be back again next week with another update! Until then feel free to post questions, comments and suggestions in the forums!

Base Rebalance Update

Hi everyone, here’s an update on the base rebalance.  As hoped, it is on track to go in for next universe (which should be announced soon).  The purpose of this post is to elaborate on some of the details of the rebalance, especially those that I left vague in my first post.

Bases

  • Station Mastery skill will only provide 2% combat bonuses per level, but this change will be completely balanced out by increasing the corresponding base gear stats.
  • Base gear will also be improved by a factor of 2 in addition to the Station Mastery change.  This will change the balance in PvB but BvB will be unaffected by it.  The changes will only affect things like DPS and Shield Recharge, not Range.
  • Class skills will no longer affect bases.  There will be new base-only super items that the bases can use during combat to give themselves extra range or other bonuses.  The super items will have a 10 minute charging time to prevent you from rapidly swapping between bonuses.

I mentioned disposable base gear in my previous post.  Here’s how it’s going to work.  When you deploy a base kit, it will come with three new blueprints pre-installed.  If it’s a tech 20 kit, the blueprints will be Annihilator Upgrade X, Y, and Z.  Lower tech kits will come with the corresponding lower tech blueprints.  Each upgrade project builds a whole set of gear that can’t be removed, tossed, or sold from the base.  That includes a shield, energy, shield charger, laser, and omni-dampener (all seven damage types).  These projects cost little or no credits, but require a substantial supply of raw materials (Metals, Silicon, Nuclear Waste) over an extended period of time.  For example, the Upgrade Z version will take 6 weeks to complete.

The objective here is to give players the chance to build a strong galaxy defense even if they don’t have any base gear stored up.  Of course, having some Adamantiumized or Armada gear in storage will still be quite handy to make sure your bases are strong from Day 1.  Not only that, that kind of gear will be necessary for competitive BvB since the XYZ Upgrades take far too long for that.

Since we are repurposing XYZ gear as disposable, we need to do something about currently-existing XYZ gear.  When universe reset is taking place, we will go through and replace existing XYZ gear by the plain versions.  But before you cry “nerf!” let me share with you some new stats.

  • Achilles Protector Z (old): 550,000 bank, 530/sec regen
  • Achilles Protector (new): 1,822,875 bank, 2,462/sec regen

As you can see, the new plain versions of base gear will be miles better than the current Z versions.  The only XYZ gear that won’t be replaced by the plain versions are Andaman and Achilles Laser Z.  We are aware that these are popular endgame base weapons and so those two items will be left as they are (except of course they will receive the same stat buffs as the rest of the gear, as well).

Thanks for reading, and I look forward to hearing your impressions on this.

New Skins

I am egrosphere, a new developer for Star Sonata. In this post, I will show some of the skins that I have been making that will use features from the new version of the skin system (which most likely will be on the live server soon), and will tell you what sort of ships need skins, so that you, the players, can help make them.

Here are 6 of the skins that I have been making that are either finished or almost finished:

 

a

Rainbow-imizer, the four irregular shaped parts on the top cycle through all RGB colours over 24 seconds.

 

b

Earthforce Police Zebra, with four animated roating red and blue lights.

 

c

Zebucart Mark 2, a skin for the various types of Zebucart (such as the normal Zebucart and Oversized Zebucart) that makes them look like the client 1 Zebucart.

 

d

Hephaestus Machine Frame

 

e

Prawn Frame

 

f

Earthforce Police Dreadnought, a skin in which the red and blue cylinders flash, alternating their colours. Similar skins have been made for all of the Earthforce capital ships except the Earthforce Frigate (which has no cylinders).

 

All of these skins are not final, and may change due to some problems that I found with them (for example, the Rainbow-imizer glow seems to have problems near bright suns, and the Prawn Frame skin might have to have its polygon amount reduced so that it runs easier on many computers). I also have been making some “phasing” subspace ship skins, that add a phasing bubble similar to many of the planets in subspace to the player-obtainable subspace ships, however a problem with how visages are displayed in the client caused the ships to be scaled down to very small sizes inside their phasing bubble, so I will have to wait until this problem is fixed before I can continue making them.

We still need more skins from you however, as many of the ships have no skins currently. I believe that skins are mostly needed for many lower-tech ships (ones that people whose level is under 900 would use as their main ship), and many of the Industrial Freighters, such as the Dark Transport. More specific ships that I believe should have skins aswell are the tech 21 Paxian ships, the Red Photon ships and the ships that players commonly use as slaves. Any kind of skin is welcome to be submitted to the forum post accompanying this blog post, from 3D models (it would be good to keep the model under 3500 triangles, or at least have a model that can be recduced to something around that number), texture replacements, glowmap replacements or a combination of them.

The new version of the skin system due be released soon, allows skins to use the entire visage system, allowing the whole ship to be replaced (for example, a Zebucart could in theory, have a skin that makes it look like a Juxtaposition wormhole, or a sun). This means that in your skin submissions any special effects on your skin that you would like, such as particles or flashing glows can be included, and if your skin is chosen to be in the game, I will try to incoroprate it into the skin. Also, a question that you players may be able to answer regarding skins, is that do you think that there is a need for skins for ships that a player of less than level 50 would use? Or are people upgrading ships too fast at that point for skins to matter to the player?

Also, I have confirmed that people who have their skins chosen to be in the game will also get a free copy of the skin.