Its time to peek behind the scenes on Sailing!
Ahoy there, and welcome to our Behind the Scenes blog on Sailing, a brand-new skill for Old School RuneScape.
Its been some time since the community voted for a new skill back in 2022. At that time, the new skill team consisted of Mod Elena, Mod Husky, Mod Light, Mod Gecko, Mod Errol, Mod Jerv, Mod Grub, and Mod Curse, with support from Mod Ayiza and Mod Kieren. After months of player surveys and consultations, we presented our refined ideas at the 2023 Summer Summit, asking if we should lock in Sailing as our first new skill. Hundreds of thousands of votes later, we started work on Old Schools biggest project yet.
Until now, weve aimed to only share Sailing updates when everything feels perfectly polished. However, weve realised that youre missing out on some of the most fun parts of the journey even if they dont look perfect just yet. Your feedback has been invaluable so far, so we want to bring you back on board as we sail through the treacherous waters of development to help guide Sailing safely to shore.
Today, well be talking about how boats navigate from a technical perspective, path-finding algorithms, and movement styles. Next, well go through the feedback from our Sailing Closed Tech Alpha, and our plans moving forward. Finally, well give you an update on our Open Tech Alpha coming next year.
If youre not ready for a long voyage through Sailings development so far, you can see the highlights right here. We highly encourage having a read through the whole blog, though thats where all the juicy detail is!
In our last blog post, we mentioned laying the tech foundations for Sailing navigation. This includes the ability for players to own various boats, board and disembark from them, move them, interact with onboard facilities, adjust camera and zoom distance, and more.
The next step is to bring all hands-on deck with an Open Tech Alpha. This involves extensive engine work, as well as some important decisions behind the scenes.
Our first question was whether boats should move like players or have their own unique movement. Players are used to moving their character around by clicking, but boats are quite a bit larger in fact, in the game code, theyre technically entire landmasses by themselves! The size of the ships meant they were crashing into all sorts of things.
We also ruled out smart pathing. This system determines the most efficient route from one point to another. This is great when youre a minotaur trying to navigate around some annoying pillars, but less great when youre a player trying to sail a ship. For one thing, instead of sailing a ship, it feels like you are the ship which is not at all what we were after. Smart pathing also made the boat wiggle around obstacles like a player character might. If youve seen a boat in real life, of course, youll know that they actually make slow or wide turns at different speeds, resulting in a turning circle. We wanted this to be part of Sailings skill expression, so smart pathing had to go.
We played around with a few other pathing algorithms, too. A* pathing, for example, is the industry standard they even use it in Sat Navs! Unfortunately, it caused performance issues and unexpected crashes when scaled up to 2,000 players. Worse, it caused frustrating moments where the route and final angle were unpredictable.
GIF of A* movement on Ships. Rather than turning around and facing the bottom right, it turns 360 degrees, fails to face the right direction... and then crashes the server.
If you cant view the GIF above, click here.
Counter-intuitively, it seemed that smart pathing wasnt the smartest approach. It takes decisions away from the player, which, over time, would make Sailing less fun to say nothing of the work required to maintain it! We realised that predictability, consistency, and realism were the most important parts of the player experience, especially since we were adding content like the Barracuda Trials which will reward precise movement.
We went back to our guiding principles and concluded that boat movement should be:
- Fun: Players should enjoy learning and training the skill.
- Distinct: Boat movement should feel unique, making players feel like sailors mastering navigation, not simply an extension of their ship.
- Simple: Telling your character where to walk is dead easy - telling your boat where to go should be dead easy too.
- Skill expression: Players who master navigation should feel rewarded for good movement, not punished for bad movement. We want a high threshold for mastery, rather than a high barrier to entry.
Using simple pathing instead of an algorithm, were able to give players full control. You can now run your ship into all the obstacles you like, while enjoying predictable and consistent movement.
Initial sketches of small boats.
If you cant view the image above, click here.
With movement finally ready, it was time for the Closed Tech Alpha. You may remember we introduced some beta worlds back in June. We can now reveal that these worlds were full of playtesters of varying skill levels trying out Sailing and giving us feedback.
This was the first time wed ever had player input on Sailings core mechanics, so although the feedback initially leaned negative, it was very, very valuable. Wed like to thank everyone who participated for all your hard work!
The Closed Tech Alpha revealed a number of compounding issues we had to fix before we could get to grips with how navigation felt.
Firstly, we found that large boats took up too much space on the screen. This issue was already in our sights thanks to the feedback on our blog, but playtesting revealed that changes were critical. As a result, we scaled down all boat sizes, rapidly prototyping different scales to find the upper and lower limits. We paid particular attention to the amount of space on deck and how it felt to interact with Facilities and move around the ship. We also decided to cut colossal boats and stick to small and large ones, for now.
Next, we focused on improving camera focus while Sailing. When youre not navigating, the camera will focus on the player character, and while navigating, it will focus on the boat. That seems simple enough, but this small change actually required a whole new engine command to function properly!
Playtesters also highlighted a couple of clickbox issues, which helped us discover an error where the game struggled to calculate clickboxes on boats specifically. We also adjusted the clickboxes on Sails to make gameplay feel more fluid.
Some feedback revealed that playtesters didnt know how to dock their boat, so weve created a visual indicator. Check out the Anchor icon below!
If you cant view the image above, click here.
After all that, we were ready to focus on navigation. Our original design locked players in place while they were navigating their boat, unless they exited navigation mode. This was designed to prevent frustrating misclicks. However, playtesters let us know that this feature meant there wasnt enough time to keep the boat moving while trimming the Sails. To keep this process nice and rhythmic, we adjusted the space between the Sails and other facilities. Sails on small boats and rafts will always be in clickable distance while navigating, which should help gameplay feel more fluid.
Finally, and most interestingly, playtesters wanted us to explore perpetual movement the ability to keep your ship moving in the same direction without clicking. During refinement wed thought of this as an advanced feature, but the Closed Tech Alpha made us realise we should at least see how newer sailors coped with it.
To truly understand how players felt about perpetual movement, we needed to rapidly test different options, in isolation. We had to go... beyond the engine.
Enter Unity, a popular off-the-shelf game engine. With its simple features we were able to whip up a quick, bare-bones version of all our own systems, and rapidly prototype Sailing movement options.
At some point, of course, well make these changes in our own engine. For now though, Unity lets us figure out exactly what we want before we start such a massive undertaking.
It also means its much easier for playtesters to give us feedback. Its difficult for us to get a development version of the Old School engine into the hands of players. We dont have the infrastructure for players to connect to two different engine versions at the same time, so they couldnt possibly compare different prototypes effectively. If wed used our own engine for testing these options, wed have had to wait 6-8 weeks between each build.
Instead, Unity allowed us to easily pass prototypes on to our playtester group and gather their feedback. As youre about to see, the results were amazing!
The Runity Boat-O-Type TM
If you cant view the image above, click here.
You can check out a quick explainer about our decision to use Unity here - or keep reading for all the details!
We created seven different ship movement prototypes in Unity, some very similar to one another.
Here's how each one worked:
Movement types #1 and #2:
- Click the ocean to set your direction, not your destination.
- Click the boat icons in the side panel or your sail to set your speed.
- In Movement type #2, click behind the boat while moving to stop.
- Snaps to quarter-tiles and 16 directions.
- When setting a direction, the boat will move perpetually until it collides with something or you press stop.
If you cant view the video above, click here.
Movement types #3 and #4 controls:
- Click the ocean to set your destination.
- Click the boat icons in the side panel or your sail to set your speed.
- Your last speed is remembered whenever you begin to move from a stationary position.
- Doesn't adhere to Grid System.
- (#4 only) Sail perpetually in the direction you clicked until you collide or press stop.
If you cant view the video above, click here.
Movement type #5 controls:
- Click to move to tile.
- Moves in full tile increments at run speed, in 8 directions.
Movement type #6 controls:
- Click to move to tile.
- Moves in a straight line with no snapping at any angle without adhering to the grid.
Movement type #7 controls:
- Click to move in a direction relative to your boat and perpetually move unless you click stop or collide with an obstacle.
- Click next to your boat to stop.
Internally, we liked methods #1-#4, but we didnt want to make a final decision until wed heard back from our playtesters.
Methods #1 and #2 had the predictability and consistency we were looking for, but it relied on using a side panel.
Methods #3 and #4 relied less on the side panel but had their own issues with movement. As it was travelling to the destination tile, we sometimes saw wiggling movements and abrupt stops. It felt great at short distances, but for longer or more complex movements it began to feel strange. The similarity to player movement also raised concerns that it felt like players were the ship, rather than steering it.
We were hoping that the playtesters would have a definitive preference and they did! Methods #1 and #3 proved to be almost equal favourites, and we were able to discount Method #2 entirely, as players felt it was unintuitive to click behind your ship to stop it moving.
However, we still needed to decide between Methods #1 and #3. The decision went back to the team for a final verdict.
Ultimately, we decided to proceed with Method #1, as we really valued its consistency and predictability, and its adherence to the familiar Grid System proved popular with our playtesters.
Although we were worried about the side panel, we realised that the side panel itself was not the issue the problem was that players didnt want to totally rely on it for movement. Looking ahead, the side panel will be used to control crew members, but we feel that having your character interact with things on the boat is critical for the skill. Weve already identified ways to prevent overreliance on the side panel. Allowing players to stop and start their ships movement is one example!
Earlier we talked about skill expression. Method #1 gives us a great foundation to build content around consistent and predictable movement patterns. For example, the ship has a consistent turn pattern which always arcs at the same degree. Sailing is a skill, and were excited to see players get mechanically better at it while their level goes up thats only achievable when movement is consistent.
Additionally, we'll be implementing clearer visual indicators via the Game, Side Panel or Chatbox, to highlight where you need to click to stop or start your boat.
If you cant view the image above, click here.
New boats are more greybox than older ones as we started to value fast iteration over aesthetic flare for testing purposes. The second picture shows the light boat as our previous 'small boat' size. The grey and dark grey are a new small boat and a raft.
If you cant view the image above, click here.
Unity also allowed us to test our scaled-down ships, including the 1x3 raft. This tiny vessel can fit one additional facility outside of the tiller and sails. Talk about compact!
Small boats feel great to steer. They fit neatly on the screen and pose little challenge to navigation at sea. While this may feel limiting at first, its a natural start to your Sailing journey, and it avoids overwhelming you with loads of choices while youre still learning the ropes. Upgrading to a bigger boat with more facilities will be a natural part of the skills progression. Speaking of, large ships take up a much larger portion of the screens real-estate, in exchange for more facilities and more room to run around on board.
Playtesting boats of various sizes has let us figure out the optimum layout for facilities, ensuring they complement the core gameplay loop.
Our playtesters loved the updated boat sizes too, which has given us plenty of confidence moving forward.
We know youre yearning for the seas and next year, you'll be able to try Sailing for yourself in our Open Tech Alpha.
First, we need to run one more Closed Tech Alpha, to run through all the feedback changes we've applied for the first one. We also need to resolve issues with collision detection. Right now, our boats currently intersect with the edge of the coast, and it looks a bit glitchy.
Additionally, weve been exploring on-site playtesting options that will rapidly speed up feedback and allow us to deliver Sailing in a reasonable timeframe. Weve already had a successful on-site playtest with just three players, and everything seems to be working as expected. Now, were increasing playtester numbers gradually, to ensure that all is well before we present Sailing to the wider community.
Currently our playtesters live all over the world. Many of them have been picked from discussions in the Official OSRS Sailing Discord, or by referral. Were always open to inviting more people, but we have to keep numbers relatively small to ensure everyones voices are heard. Since were gearing up for the Open Tech Alpha, weve decided to add a few more playtesters to the mix, for one-off sessions with the development team.
If youd like to help out, let us know by filling in the survey below! If youre within commute distance to Jagex, we might invite you to visit the office for a playtest. If not, well invite you to a feedback call and explore remote options. If your application is successful, well be in touch to arrange the details!
By now, we hope youve seen how Sailing has improved constantly with each round of feedback. Likewise, a huge part of Sailing will be shaped by your feedback on the Open Tech Alpha! You'll be part of the load-testing, helping us gauge how well the system can handle larger groups as we prepare to scale up from closed prototypes towards the entire audience of a massively multiplayer RPG.
We also want playtesters to consider the design goals we mentioned earlier:
- Is it fun?
- Do you find the movement distinct, yet natural and intuitive?
- Do you feel like you could get better at Sailing over time?
Navigation isnt all weve been working on. This is just the first of many update blogs, and we cant wait to show you our progress as development continues!
Much of the Sailing gameplay, such as Port Tasks and Shipwreck Salvaging, have already been added to the skill prototype. This means that youll be able to try both of them in the Open Tech Alpha next year.
Additionally, weve started to map out areas of the Ocean. Check out the starter zone on the map below!
If you cant view the image above, click here.
Weve also developed new tech for future Ship Combat. The GIF below shows players casting spells from a ship! It may not look like much, but even small things like this take a great deal of engine work, requiring bespoke solutions for complex problems. In this instance, we had to program the engine to check whether players can see their targets while moving on a ship. All the hard work that goes into these features is well worth it, because they pave the way for more exciting encounters further down the line.
A new engine command allows players to cast spells on others from a boat!
If you cant view the GIF above, click here.
If you saw our last blog, youll remember that we also shared some new islands that will arrive with Sailing. Needless to say, were working on more behind the scenes!
We hope you enjoyed this update. If you have any questions for the team, well be live on Tuesday, 27th August at 4PM BST for our Sailing Discord Stage to answer your questions and talk more about what we shared today.
Wed also like to take this moment to thank everyone whos helped us out so far. If youve engaged with our polls, blogs, or videos thank you! We see your messages and appreciate the feedback. Of course, the biggest thank you goes to our dedicated playtesters, whove been sharing their thoughts with us all throughout the development process. Keep your feedback coming, and rest assured that you wont have too long to wait before the next progress update. We should have more news for you soon after this years Summer Summit. What Sailing topics would you like to learn about next?
You can also discuss this update on the 2007Scape subreddit, the Steam forums, or the community-led OSRS Discord in the #gameupdate channel. For more info on the above content, check out the official Old School Wiki.
Mods Abe, Abyss, Arcane, Archie, Argo, Ash, Ayiza, BigRig, Blossom, Boko, Bruno, Chilly, Criminal, Crystal, Curse, Daizong, Dylan, Ed, Elena, Enigma, Errol, Gecko, Gengis, Gizmo, Goblin, Grub, Halo, Harold, Hend, Hooti, Hornet, Husky, Jalo, Jerv, Keyser, Kieren, Kirby, Kurotou, Leebleh, Lenny, Light, Liron, Mack, Manked, Markos, Maylea, Meat, Moogle, Morty, Necro, Nin, Nox, Nylu, Other, Pumpkin, Redfield, Regent, Rice, Roq, Ry, Saiyan, Sarnie, Shogun, Shroom, Sigma, Skylark, Smithy, Sova, Squid, Starry, Suharun, Surma, Sween, Tide, Titus, TJ, Tsourorf, Tyran, Veda, Vegard, West & Wolfy
The Old School Team.