It’s time to peek behind the scenes on Sailing!
It’s 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 School’s biggest project yet.
Until now, we’ve aimed to only share Sailing updates when everything feels perfectly polished. However, we’ve realised that you’re missing out on some of the most fun parts of the journey – even if they don’t 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, we’ll be talking about how boats navigate from a technical perspective, path-finding algorithms, and movement styles. Next, we’ll go through the feedback from our Sailing Closed Tech Alpha, and our plans moving forward. Finally, we’ll give you an update on our Open Tech Alpha coming next year.
If you’re not ready for a long voyage through Sailing’s development so far, you can see the highlights right here. We highly encourage having a read through the whole blog, though – that’s where all the juicy detail is!
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, they’re 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 you’re a minotaur trying to navigate around some annoying pillars, but less great when you’re 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 you’ve seen a boat in real life, of course, you’ll know that they actually make slow or wide turns at different speeds, resulting in a turning circle. We wanted this to be part of Sailing’s 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.
Counter-intuitively, it seemed that ‘smart’ pathing wasn’t 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, we’re able to give players full control. You can now run your ship into all the obstacles you like, while enjoying predictable and consistent movement.
This was the first time we’d ever had player input on Sailing’s core mechanics, so although the feedback initially leaned negative, it was very, very valuable. We’d 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 you’re 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 didn’t know how to dock their boat, so we’ve created a visual indicator. Check out the Anchor icon below!
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 wasn’t 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 we’d 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, we’ll 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 it’s much easier for playtesters to give us feedback. It’s difficult for us to get a development version of the Old School engine into the hands of players. We don’t have the infrastructure for players to connect to two different engine versions at the same time, so they couldn’t possibly compare different prototypes effectively. If we’d used our own engine for testing these options, we’d 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 you’re about to see, the results were amazing!
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.
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.
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 didn’t want to make a final decision until we’d 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 didn’t 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. We’ve already identified ways to prevent overreliance on the side panel. Allowing players to stop and start their ship’s 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 we’re excited to see players get mechanically better at it while their level goes up – that’s 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.
Unity also allowed us to test our scaled-down ships, including the 1×3 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, it’s a natural start to your Sailing journey, and it avoids overwhelming you with loads of choices while you’re still learning the ropes. Upgrading to a bigger boat with more facilities will be a natural part of the skill’s progression. Speaking of, large ships take up a much larger portion of the screen’s 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.
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, we’ve been exploring on-site playtesting options that will rapidly speed up feedback and allow us to deliver Sailing in a reasonable timeframe. We’ve already had a successful on-site playtest with just three players, and everything seems to be working as expected. Now, we’re 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. We’re always open to inviting more people, but we have to keep numbers relatively small to ensure everyone’s voices are heard. Since we’re gearing up for the Open Tech Alpha, we’ve decided to add a few more playtesters to the mix, for one-off sessions with the development team.
If you’d like to help out, let us know by filling in the survey below! If you’re within commute distance to Jagex, we might invite you to visit the office for a playtest. If not, we’ll invite you to a feedback call and explore remote options. If your application is successful, we’ll be in touch to arrange the details!
By now, we hope you’ve 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 isn’t all we’ve been working on. This is just the first of many update blogs, and we can’t 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 you’ll be able to try both of them in the Open Tech Alpha next year.
Additionally, we’ve started to map out areas of the Ocean. Check out the starter zone on the map below!
We’ve 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.
If you saw our last blog, you’ll remember that we also shared some new islands that will arrive with Sailing. Needless to say, we’re working on more behind the scenes!
We hope you enjoyed this update. If you have any questions for the team, we’ll 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.
We’d also like to take this moment to thank everyone who’s helped us out so far. If you’ve 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, who’ve been sharing their thoughts with us all throughout the development process. Keep your feedback coming, and rest assured that you won’t have too long to wait before the next progress update. We should have more news for you soon after this year’s Summer Summit. What Sailing topics would you like to learn about next?
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.