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!