User blog:Cheysa Finn/Inside Look: Development of TLOPO

Copied from piratesonline.co
Posted by The Crew on Sept. 8, 2017, 1 p.m.



Ahoy there!

It's been one week since we've announced the release of Open Beta - and we're just as excited as you are! The TLOPO Team is busy making preparations for opening day, fine tuning all of the knobs and dusting out all the nooks and crannies. But how exactly do we do all of this?

Have you ever wondered how TLOPO made it to where it is today - and how the game was even made in general? We get this question a lot and are glad to give an inside look into the Development of TLOPO!

The Vision
On August 20th, 2013, all players of Pirates of the Caribbean Online ("POTCO") were notified that the game would be closing. Nearly 6 years of endless fun, all coming to an end. Distraught, players began to look for new games to navigate to. And while there are other pirate themed games out there, there is nothing comparable to POTCO. Nothing that could ever capture us, the community, in the same vibe that POTCO did.

POTCO closed its doors on September 19th, 2013, and in November of 2014, just over a year after the closure, TLOPO began organizing a team with one goal in mind: to recreate and revive POTCO to a state better than ever before.

Early Development
When you first begin to take on a project of this scale, you are very naive about what you can actually accomplish. None of us had any prior experience running an MMO, most of us were just a bunch of overly nostalgic high schoolers. For many of us, TLOPO was our first ever time programming on a computer!

So, how on earth would this group of amateurs be able to recreate this industry-level quality game? One that took Disney nearly 10 years to perfect! That's a really good question, and our answer back then would've been "No clue! But we're gonna do it!"

Throughout the course of early 2015, many of us spent several hours a day researching the mechanics of how computers work and how to program them; as well as researching the software required to make the game.

By May of 2015, we had a working prototype. Logging into the game worked (granted it was a 50/50 shot at whether you'd login successfully or would crash!), we were able to run around and jump. This was back when we didn't have interiors working, no friendly NPCs, no enemy, no sailing, no caves, no potions, no anything. There weren't even any buildings! It was just you and the base island model, with scattered buttons across the screen. This is what we refer to as our "early Pre-Alpha" days.

Below is a video of TLOPO in mid-2015:



Release of Closed Alpha
After several months of bugfixes and feature implementations, we finally were ready to get a server put out for the public to access. As said above, when you first start working on a project like this, you're very naive on what your capabilities are. But there was one thing we had to get right the first time: Security.

We spent several weeks designing the part the community will download to play the game, taking hundreds of potential factors into account. And we are proud to say that we have not had any known exploitation of our game's security. Of course since, our Alpha days, we have changed it up some, making it stronger.

On September 11th, 2015, at 3:00 PM EDT, we opened our servers to a few hundred keyed testers. Word began to spread in the community: for the first time in nearly 2 years, pirates were setting foot in the Caribbean. Hope was restored.

Semi-Open Alpha
Over the course of several months, TLOPO became more refined. Crashes were less common, and players were able to enjoy hours of fun in the game without being interrupted. We wanted to let more players into the game, but we weren't exactly ready yet for the "flood gates" to be entirely removed. We needed a system that would let players in over time but would keep a restriction on the number of players online at once.

On a similar project, Toontown Rewritten, they had this exact problem and solved it with the "PlayLine" and "PlayTimes", which was inspired by Disney Theme Parks, and that system worked incredibly well for them. We ended up creating a similar system for the latter part of Alpha and the early part of Beta, which worked really well for us too. This would be revisited when the time came to further expand the Caribbean.

On June 19th, 2016, TLOPO released Semi-Open Alpha. In 1 week, 6,318 players registered. At end of June, we had a total of 9,277 registered players, roughly 314% more players. By the time we closed Alpha, we had over 30,000 registered players. Our servers remained stable with the number of new players... and we had finished writing several core features of the game. We were ready for Beta.

The Release of Beta!
Soon™ was no more! Soon™ became Now™! TLOPO closed down the Alpha servers on September 19th, 2016, in preparation for Beta. This was our biggest update ever, and we needed to make sure everything went smoothly. After two and a half months of additional testing, we released Semi-Open Beta on December 9th, 2016! Registrations once again spiked, and by the new year, we had nearly 50,000 registered players.

Over time, we released more updates to Beta introducing new features and tons of bugfixes. But there was a problem. Looking back at our roots, a lot of features in early Beta were running with code we wrote as amateur programmers. By March 2017, we started to really feel our growing pains. The code that we wrote previously was not holding up very well with tens of thousands of players playing the game. This led to what we call the "2013 update".

Phase 2 of Beta
We could see that we needed to rewrite a lot of our older code. After all, it's common for software to go through several revisions before making it into a live release. So that's what we did. We threw out the majority of the work we had done previously and rewrote TLOPO from the ground up with scalability and longevity as our focus. There is the potential that millions of players will be using this code at some point in the future, and our code needed to be built to reflect that.

We began to enforce professional programming standards, which kept all the work we did clean and orderly. We also made sure to test updates made to the game with Quality Assurance testers. This way, we can examine updates with critical detail weeks before they make it onto our live servers. With the help of our testers, we can do our best to ensure that glitches do not make their way into the live game. Of course, some things will slip through the cracks, but the overwhelming majority of issues are caught and corrected long before the update ever reaches the public.

Testers for these updates are everyday players from the TLOPO community who in some way stood out to us. We individually select all testers for our quality assurance server on a case-by-case basis, meaning there is no official form to apply. Our QA testers were chosen because they thoroughly tested and reported bugs. But that's not the only part of the deal. They also shine as prime examples of what this community can be! They are kind, considerate, mature, and respectful of others. We're very proud of our QA tester community. You're all the unsung heroes of TLOPO, and we can't thank you enough!

It took us only two months of development and testing before we released our big update to the community on May 26th, 2017. Lag in the game was heavily reduced and even became a thing of the past for thousands. In addition, the game was much more responsive, reliable, and had a much better frame rate! Of course, the game is still a work in progress, so you may occasionally see lags and crashes, but we're working tirelessly to patch up any issues that arise!

Just about a month later we introduced the Queue! A system that made PlayTimes a thing of the past. All you had to do was click play and wait in line until the server let you on in! Following this addition, we have had hundreds of players online every day. It was a huge leap forwards, and there's only one more step left to go... nearly 4 months later we are ready to enter the next phase of development: Open Beta.

Open Beta
The Legend of Pirates Online will be releasing Open Beta on September 19th, 2017. The floodgates will be opened and hundreds of server enhancements will be implemented.

It has taken us nearly 3 years to get to the point where we are now. Tens of thousands of hours worth of combined effort has gone into TLOPO, including cumulatively modifying over 2,100,000 lines of code and committing 20,252 code changes in 32 separate codebases. We are more excited than ever to be finally here! Seriously, 3 years is a long time. Don't ya think it's about time we're releasing Open Beta? We sure do!

This is not the last major update of 2017. We have plenty of updates planned for you all as the year progresses, including brand new never-before-seen content! We can't wait till you get your hands on them!

Looking Forward
Reflecting on our current features we have right now, there is only a handful of things that we have left to go - and we want to hear from YOU! Which would you like to see added first? Leave a comment below letting us know what you want to see next from The TLOPO Team!

We're always open to hearing any form of feedback and suggestions! Do you have an amazing idea that you'd love to see added to the Caribbean? Is there something about POTCO that bugs you that you would like to see tweaked? Send us an email at support@piratesonline.co or make a thread on our forums and you might just see it appear in the game down the road!

Did you like this more-lengthy style of blog posts and would like to see more like it? Let us know in the comments below and we'll start making more of these!

In the famous words of our Lead Moderator and Forums Administrator John Foulroberts, "Our pirates spirit will forever be indomitable. Deep down inside, we'll always be pirates - for eternity."

The Crew @ The Legend of Pirates Online