One of the common questions we get asked with respect to QA on Worlds Adrift is how we actually go about testing “the world”, namely the sandbox which you explore in the game.
Just take that statement for one second, this is a sandbox which is made up of hundreds of islands over a geographical distance the size of a small country. How do we actually test that to ensure it works when the players are let in?
There’s a number of elements to testing the game world, due to the sheer scale of the world, we have to break down the world into its constituent parts, namely:
Validating individual islands (Content Curation)
Testing the World Map
Performance and Scale Testing
Gameplay Islands
Content Curation
The first part of the process of verifying the game world works correctly is to break it down to individual elements, namely the islands. This is done primarily through the Island Creator by our design team, who verify that the island is viable for the game (such as size, complexity, spaces for playing shipyards amongst others). Through this process, we identify which biome the island is viable for in order to ensure consistency for each region, if the island is viable. Once we have looked at the island and it can go into the game, we then export the island for incorporating into a new world map.
Testing the World Map
Once the islands have been exported and the new world map is in game, this is where the QA team take over when the new world is in game. During testing for the 0.1.9 release, the first thing we focused on was the gameplay objects as even though they might have worked in the Island Creator- this was not a given that it would also work in game! We focussed on islands containing all of the various gameplay elements and made sure that they worked correctly, as with these kinds of gameplay elements and this type of game, if it works for a small number of islands then it should work across the entire game world.
In addition to the content itself, we also have to validate that the dynamic music works correctly (the music changes when you travel between regions and when you go through storm walls, wind walls or sand storms), weather systems work correctly, creatures vary behaviourally between regions, amongst many others. You can think of it as the world itself is the core of the game, and all other gameplay systems are build from that- the world is that crucial to the game.
Performance and Scale Testing
In addition to making sure that the world works functionally, the other aspect we have to consider when testing the game world is also verifying the game will work with all users and also with a large number of players are in the game- this is where performance and scale testing come into play.
Performance testing is done by the QA team through the game client in a very exploratory fashion. As the game stream loads in islands as you move through the world, we monitor client and server performance in order to make sure that they remain consistent, regardless of where you are. One issue we commonly see when testing the game world is that if you are on an island and you rotate the camera around, it works fine when you look in one direction, but not if you rotate the camera around where it could suddenly drop without reason. This is usually an issue to having too many islands within a small area, in that they are all visible at the same time- more polygons on screen mean there is more to process, and this affects the frame rate. We typically will address this by amending the world map, moving islands further apart or moving them around. This is the difference between the Island Creator, which focuses on a single island, and the game, which contains many islands, where we need to check content multiple times before it is released.
As I have said in a previous blog, we test Worlds Adrift at scale by using automated load testing, simulating large numbers of game clients in the game world. The automated “bots” actually traverse the entire world performing simple actions such as harvesting materials, and as these load test run with the required number of players which we need to support, we monitor performance metrics such as latency (the time it takes to send a message between the client and the servers), server memory and CPU utilisation to make sure that with the new game world, the game runs for an entire maintenance cycle.
Gameplay Islands
For 0.1.9, an additional layer to testing the world environment was added with the map refresh, which were islands containing gameplay elements made by players, such as unclimbable surfaces and spikes amongst others, which we introduced in the Island Creator update in September 2017.
The Island Creator is effectively a local (with limited scale and functionality) version of the full game, however because it is local in nature, we cannot use this as a guarantee that it’ll work correctly when it ends up in the full game - therefore we have to make sure that the gameplay elements work in game, and work correctly between different players.
In summary though… the reality is that with a world as huge as what we have, and with so many islands in the game world across four different biomes, we cannot catch all bugs with every island. This is where you can help us, please let us know if you see any floating objects, islands which are inconsistent or do not display correctly in game or generally anything which doesn’t work or look out of place, it goes a long way to improve the quality of the world as the game evolves.
A violent Ship Parade, Server Melting, Streaming a "Dev Hunt", and a WHOOOOLE NEW WOOOOORLD! Major thanks to everyone in the community who has participated this week, you made us very proud to be making an awesome fun experience!
BEFORE WE BEGIN: Time-sync Bug - know this bug exists, it's the cause of the clouds also being desynced, it happened due to a freak accident on the US server but EU is fine, and we're working on a fix, hoping to release early next week! Hotfix incoming.
Now then, what in the Worlds have these devs been up to this week?
Bugfixes, and support for Kioki culture items
Ship Panels were not being lit correctly, now fixed 0.11.0
Starting on my VFX for 0.12.0
Launching A Whoooole Neeeew Wooooorld~
Engine throttle-related visual fixes 0.11.0
"Made a thing run on a server.... which eventually will support further work for alliances, crews and chats" - EXCITES.
Plugged in new hair/beards customisation options 0.11.0
Stopped items from ruins, chests, etc from being equipped on the hotbar and (freezing your game) before being added to your inventory. 0.11.0
If you had a clothing item equipped from the stash, you could not replace it with something from your inventory tab without unequipping it first. 0.11.0
Working on the assets for better gauntlet VFX so they are more Awesome then before! (Impementation might take a while)
Working on the assets for blood VFX for weapon impacts on Travellers - ALMOST MEAT CHUNKS! ALMOST! (Implementation might take a while)
Making more cosmetic assets
Wind VFX on wings and helms
Bug fixes to Shipyard permissions, crafting permissions, UI inventory closing bug, and tracking down a respawn bug.
Stay tuned for more updates on this blog! And don't forget to keep an eye out for fun stuff across our Twitter, Facebook, and Twitch!
We’ve got a brand new world! Hundreds of new islands from the Island Creator have made it into Worlds Adrift, forming a completely new map with different zones to discover, explore, and map out. We may have kept a handful of old favourites, though…
The new islands include new gameplay features! Ungrappleable walls will not allow characters to grapple or climb on them; spikes will do massive damage to characters on impact; and barbed wire and thorns will slow characters down and do damage when walked through. Island turrets have not yet been implemented, so are turned off for this map.
The shipyard bubble now blocks pistol bullets, swivel gun shells, and cannon shells. This happens in both directions.
NOTABLE BUGFIXES AND CHANGES
Character names are now no longer case sensitive. This means that some players who created a character with a duplicate name (capitalised differently) will find their characters with an underscore appended to the end. You’re welcome to keep this unique, normally non-legal symbol in your name, or you may contact support via https://support.bossastudios.com to get a fresh rename on your character.
Fix another of the infinite loading screen/greyscreen bugs. More fixes are coming in 0.1.10.
Partially fixed players being thrown off ships: in cases where the ship needs to be quickly adjusted on the client to where the server-correct position is, players should now more often stay on the ship instead of being thrown off.
Characters will no longer be able to grapple to domes generated by shipyards they are not registered to.
0.1.7 exacerbated a bug where your client would render a second, illusory ship frame overlapping with the real ship frame. The illusory frame had no collision and often differed from player to player. This has been fixed.
The shipyard’s ship frame designing feature has received some small quality-of-life improvements. Decks now show in the preview, there’s a new button in the top right to preview the size of characters, and the mouse cursor has been made easier to see. We’re still planning a complete rehaul of the entire interface for future updates.
Some islands would drop client framerates to below 1 if looked at from a distance. This absurd bug had to do with lighting data and has been fixed. The atmospherics have gotten more improvements: islands will fade better into distant fog now, and the lighting transitions have gotten an iteration.
0.1.7 introduced a bug where all scanner outputs were duplicated. This has been fixed.
0.1.6 introduced a bug where ship frames and personal revivers provided no information on a scan. This has been fixed.
Rich text formatting has been disabled (again) in chat messages.
OTHER FIXES AND TWEAKS
The “move all” button now ignores items stored in your Belt.
A server-side performance optimisation for aiming cannons has been implemented.
Improved logic for spawning metal scrap deposits, fuel canisters, and revival chambers on/around islands. Revival chambers should now never exit into a rock.
Creatures should no longer get into an infinitely retreating behavior.
Fixed a bug causing some interactive objects to not display their outline when moused over.
The camera effects when entering a Blight now fade in more naturally.
The translucent preview for placing objects has been visually upgraded.
Other VFX changes and improvements.
The resulting colors when crafting with different materials were being flipped for two of the four components in procedural ship parts. This visual bug has been fixed now.
Minor text fixes.
See you in the skies at 5PM GMT to help us melt some servers! ;)
Today’s post addresses an important change to Worlds Adrift going forward: in-game monetisation. It’s been an important topic within the industry of late, and one we’re keen to get right, hence today’s announcement…
MMOs are always faced with ongoing server costs, and it is for this reason, that many of them incorporate some form of in-game monetisation. However, as a Community-Crafted MMO, we want to ensure that you, the players, are at the forefront of every decision we make. This being the case, we’ve decided to do away with what we feel could be perceived as a layer of abstraction, in favour of absolute transparency: Sky Atlas coins will no longer feature in Worlds Adrift. Instead, we have decided to only ever list transactional items using real world currency.
To be clear, currency – in any form – does not serve a mandatory function in Worlds Adrift; it will only come into effect if and when a player chooses to purchase cosmetic-only items, be it a shiny new helm or that snazzy pair of pantaloons you just gotta-have. However, in order to assign a palpable value to these items, they will now be listed in real-world currency, instead of the previously proposed Sky Atlas coins (while also fully integrating with your Steam wallet). Please note though, that in the lead up to Early Access, our primary focus remains on fully optimising the gameplay elements of Worlds Adrift, and so the in-game shop will not be introduced until several months after release.
We are also aware that 500 Sky Atlas coins (equivalent to $4.99/£3.99/€4.99) were promised to pre-Early Access players (the Founders) as a thank you for your ongoing belief and support. This has not been forgotten. And so, to celebrate this change, we have decided to instead deliver twice that amount in cold hard, hand-rubbing-worthy loot, straight to your inventories (once the shop launches).
Again, none of the above will come into effect for at least a few months, and so in the meantime, why not join us for our community Ship Parade later today, and our ‘Melt the Server’ event this Thursday. More info on both here!
Today we have Tristan explain what and why it's required! And why YOU should join us on Thursday!!
So MMOs run on servers! Who knew? Well I guess most people do, but what you might not know is how we go about determining how many of those servers we need to run the game.
Given an infinite amount of money we could just buy a supercomputer (maybe IBM’s Watson?) and call it a day right? Unfortunately not, well how about multiple Watsons? Still nope. The reasons for this are many and until we stress test the game and get a good understanding of its performance characteristics, we would just be guessing what hardware would be the most suitable and not actually going to cost us an arm and a leg.
Stress testing is the process of putting servers under load, to be able to determine where the game is likely to be bottlenecked first. Stress testing can be done in many different ways, such as through scripts designed to query the servers over and over again, through bots written to simulate players playing the game or through lots of actual players logging in and playing the game. For Worlds Adrift we need to do test using all these methods as none of them in isolation gives us a full view over how the game performs across a range of key metrics.
It’s using these metrics that we are able to determine how our game scales and how best to provision hardware to run it the most efficiently.
When running the tests we are looking at a ton of different metrics, from CPU, memory, hard disk usage to bandwidth, latency and queued messages in the system. These metrics give us an idea of where our bottlenecks may lie and what we need to do in terms of scaling hardware, re-engineer systems or limiting concurrent players to alleviate these bottlenecks. Going back to our Watson analogy, just throwing any old hardware at the problem is probably not going to help, as it might be bottlenecked by the raw bandwidth a single server can handle or even the overhead of managing multiple supercomputers. Not everything scales well together and its understanding what doesn’t scale well that helps us determine what hardware we need and what systems need rethinking.
While the tests are ongoing we are watching with eagle-eyes lots of graphs, logs and player reports to keep tabs on what metrics are scaling well with the amount of load and which aren’t (hence we are doing this on a Thursday evening). And if all is going well we are adapting and finding the perfect combination of software engineering and raw hardware to ensure that on the day of release we know to the best of our ability what hardware we need to keep up with the requirements of many, many people playing the game all at once.
There is a lot involved in stress testing a game, finding the perfect balance of hardware, software and internet connection to ensure that we can handle all the load you guys could possibly throw at us, and make sure the servers aren't going to crash or you are suffering from severe lag when playing the game. I have only really touched the surface here but when it really comes down to it, stress testing is about running the servers as close to capacity as possible simulating the type of behaviour real players would have on the server in our worst case scenarios (ie. everyone ever all wanting to play the game all at once!). If we are successful in our testing, not even an armada of ships chasing down a herd Thuntomites and Mantas can stop us!
Parade: Starting the Parade at 4pm EST / 8pm GMT in K5, over The Lighthouse. If the Blight doesn’t end up nipping at our heels (if the blight does interrupt – race the Blight!), we slowly make our way to storm the Windwall together! Survivors of the Windwall will travel through to the PvP Area of Floating Core K6. If you do not wish to participate in PvP – Stop at Lonely Cottage and scatter!
Mini-Competition! We will be holding a Best Lookin’ Ship competition afterwards – so pimp it, and pimp it gud. Post your best shots on this thread! We want to see The Sun itself parading through and escaping The Blight. Or not…
“The Skylord” PvP Event: Commences over the Floating Core K6 Last ship standing over the Island will be titled “The Skylord”.
Thursday:
IMPORTANT: Melt-the-Servers Event
Date: Thursday, March 22nd at 4pm EST / 5pm GMT
Location: ¯\_(ツ)_/¯
Map: ¯\_(ツ)_/¯
For the 0.1.9.1 Update the servers will go down on Thursday at 2PM (GMT) and we estimate to bring them back up in two hours, giving you time to update the game and join to help us Melt-The-Servers!! We will be kicking off at 5PM (GMT) along with the stream.
“Melt-the-Servers” is our invitation to all Travellers to jump into the game and just play like you normally would in on a New Map - craft, explore and unite with your fellow Travellers.
This is to help us see how many players the servers can currently handle at a time! Tomorrow’s blog post is all about why we do this. :)
Bonus: Vince & Julia Stream - Hunt the Bossa Crew!
For our Thursday Stream we will be on the US server, and we invite you to
A team of Bossa employees will be flying around the new map.
Will you be able to find us in the uncharted skies?! If you do find us AND manage to board us, we will have a little prize for you! Warning: we will put up a fight.
~Calling all videographers!~
We want every clip, video and screenshot you can muster of the upcoming events as we're putting together a little something special! So please send everything to community@bossastudios.com!
Pro Tip: Press F4 to remove UI when screencapping! ;)
0.1.9 release (World Wipe - NEW ISLANDS, NEW MAP!!) and the Melt-the-Servers Event is scheduled for Mar 22nd!
There will be hundreds of new islands for players to explore!
Patch notes will be posted on the day. Servers will go down at 2PM (GMT) and we estimate to bring them back up in two hours, giving you time to update the game and join for the Melt-The-Servers Event kicking off at 5PM (GMT).
What have the devs been up to?
Working on implementing Alliances in-game
Continue work on Alliances UI
Mockups for bringing the Emblem creator in-game in the future
Working on a fix for free crafting (known as duping)
General bug squashing
Tutorial and generally better descriptions etc to make the start of the game less directionless and confusing. 0.1.10+
Bug fixing propeller visuals for 0.1.10
Building a larger map to test island density with
Writing code that writes code. Codeception! (aka “codegen”)
UI revision and general art pass on the UI for 0.1.12
VFX Integration checklist prioritization
Wind VFX on wings 0.1.11
Writing debug tools for QA
Fixing ship-parts placement being terrible (ie. marking stuff as non-placeable about half of the time it should have been marked as placeable) 0.1.10+
Still fixing climbing, looking better now!
In other news...
Thank you very much for attending the Stream last night, and thank you for the fantastic feedback and always helping us improve and deliver you more stuff you’ll enjoy.
The streams will now be running weekly at 5PM GMT.
In this video, Oliver Age 24 and Ryan Age 30 introduce themselves, give you all of the latest news from Worlds Adrift, and talk about the future of the Worlds Adrift YouTube channel!
Firstly, apologies for the brief post, we’re running a Game Jam this week in the studio, so things got a little disrupted (everyone including myself were too busy to hunt people down and wrench details out of).
So far, 0.1.9 release (yay New World!) and the Melt-the-Servers Event is scheduled for the week of March 19-22! THIS IS SUBJECT TO CHANGE. For the Melt-the-Servers Event, I invite you to prepare the coolest, most stupidly elaborate ship so we can do an ALL PLAYER PARADE! What do you guys think?
What have the devs been up to?
Working on an opening sequence for the game to explain to new players the context a little bit
Working on the island export pipeline
Planning out some UI revisions to messy/unclear UI screens
Continuing to fix climbing (Press Q to Respawn)
Chunking up the legs of the male model
Making more hair and beard options
Making additional assets for when there are separate Kioki and Saborian loot tables
Fixing issues with remote players’ pistols
Fixing issues with personal revivers
Fixing login issues
Other small fixes and debugging(!)
Alliances backend and game code(!!!)
In other news…
Something else is happening on Thursday!
Prepare yourselves for 5PM GMT.
Once again, apologies for the briefness, we will follow this post up with a proper detailed announcement for the events mentioned above, but we didn’t want to leave you completely high and dry over the weekend!