After 1.1 million plays in soft launch and countless updates, Vortelli’s has finally
been released globally on Poki. You can ❤️ play it here:
//poki/en/g/vortellis-pizza
My Journey with PlayCanvas
I started working with
PlayCanvas in July of 2024. After one year of on ❤️ and off work, I released a playable
version of Vortelli’s in mid-July 2024. After having spent so long working on ❤️ the same
project, I had no idea if it was any good. It received a small amount of attention from
❤️ Twitter and the PlayCanvas forums. Around the same time, I sent a demo to Poki. I was
absolutely delighted to ❤️ learn that the Poki team loved the demo and wanted to work with
me! I signed their publishing agreement and ❤️ over the next few weeks, I worked with them
to integrate their API and monetize the game with ads.
At the ❤️ end of August, Vortelli’s
was soft launched in a few test regions, Brazil, France, Italy, Sweden and Turkey. This
was ❤️ my first time launching a game at scale and I had no idea what to expect. On the
first day, ❤️ my eyes were glued to the stats dashboard and I kept checking my game server
logs over and over. I ❤️ didn’t get much actual work done that day! The player count
peaked at 12 on the first day of soft ❤️ launch.
The next day, I noticed a worrying
netcode bug and players were leaving angry reviews complaining they couldn’t click on
❤️ anything in the game. After hours of stressful debugging, I found a time code bug in
the netcode I’d written ❤️ where players with low spec devices were sometimes getting
desynced and weren’t able to interact with objects in the game ❤️ world. In a mild panic,
I managed to implement and deploy a fix. I learned that the dt variable can ❤️ drift over
time making it unsuitable for precise time keeping, use performance.now() instead.
Unfortunately that was just the start of ❤️ my problems.
The next morning I was woken up
around 4:30am by a notification that all the servers were completely full. ❤️ At this
point I had two servers, one in Dallas USA and another in Frankfurt Germany, each
capable of supporting ❤️ 40 players. At first, I thought this was a bug and maybe
departing players weren’t getting disconnected correctly? Unsure, I ❤️ created two more
servers and within minutes they were also completely full. Vortelli’s somehow had 160
players online! I kept ❤️ creating new servers and they seemed to be filling up as quickly
as I could launch them. This was not ❤️ a bug, Vortelli’s has been featured on the front
page of Poki and there were thousands of new players finding ❤️ my game. I believe Poki’s
system automatically moves games with strong user engagement to the front
page.
Eventually the player count ❤️ settled down and I got to work on automating the
server scaling. I knew I couldn’t wake up at 4:30 ❤️ every morning to manage servers. I
used Linode’s API to automatically create new servers as the player count increases and
❤️ then automatically shut them down as the player count decreases. I didn’t get this 100%
perfect on my first try, ❤️ there was at least one time when I accidentally shut down
servers with players still on them. My apologies if ❤️ you were one of them.
Over the next
few weeks, I worked to fix bugs and implement some new features. There ❤️ were all kinds
of helpful suggestions from the PlayCanvas community, Twitter and the Poki team. During
the soft launch period, ❤️ Vortelli’s was played 1.1 million times.
PlayCanvas has proven
to be very reliable, especially across multiple devices of varying specs. Uploading
❤️ PlayCanvas builds to Poki is very simple. In the PlayCanvas editor, I can simply
download a .zip of my entire ❤️ project, then upload the same .zip into Poki’s developer
dashboard.
PlayCanvas and Poki work well together when it comes to error ❤️ tracking. The
Poki dashboard maintains a live feed of the console errors coming from players’
browsers. PlayCanvas provides very clear ❤️ error messages containing script file names
and line numbers, even in exported builds which has made it very easy to ❤️ track down
issues even in production.
Despite the occasional stressful situation, this has been a
really fulfilling project. I have a ❤️ few Vortelli’s updates planned and of course I’m
open to suggestions from the community. If you have any questions about
❤️ Poki/PlayCanvas, please let me know, I’ll do my best to help!