This is an archive of a DevChat newsletter. To get the next one early, and in your inbox, sign up!
Welcome to the first edition, mint condition, DevChat #1!
First off, thanks for giving this thing a shot. I know you're swamped with emails, and I appreciate that you think mine might just be worth your time. I'll do my best by you.
So, DevChat. Who/What/Why/When/How?
The short answer is: shrug. It's a work-in-progress. I'll see what sticks with the readership, and also what's the most fun and interesting for me to put together. Maybe at some point more of the Bscotch team will want to join in. Who knows! But here's how I intend to start:
- Weekly editions, on Monday morning. (Email open rates are usually best on Monday mornings -- something I'll talk about in a future edition.)
- I (Adam) will be doing all the writing.
- A mix of content, including links to interesting stuff in gamedev, webdev, and running a tech company.
- Direct links to new, unlisted articles so that you get them earlier than everyone else.
There will be some kinks at first, and I'd appreciate your feedback on technical difficulties plus your thoughts on the content. Example kink: there's no way for you to directly reply to these newsletters (yet). For now, hit me up on Twitter!
With that preamble out of the way, let's GET TO THE MEAT. Unless you're all-or-mostly vegetarian (like myself), in which case let's get to the Beyond Meat® Plant-Based Ground Beef!
DevOps: How we migrated from BscotchID to Rumpus
TL;DR: We migrated 500,000 player accounts to a new web service and nothing bad happened.
Back in 2014 I built a web service called BscotchID to allow our players to carry their save progress across devices and stores, and to allow for cross-game achievements and other neat tricks. It was a janky system, but it got the job done! Years later I needed something more modern and less sucky to support future games, and so Rumpus was born.
This past summer, we wanted to finally put BscotchID in the ground and get all our players into Rumpus. That meant migrating save data for 500,000 users, for 5 different games and many different platforms. And it had to happen without downtime or data loss. There's nothing scarier than the prospect of losing player progress. We also needed backwards compatibility since there's no way to guarantee when an update can come out on any given platform (due to the "cert" processes of each store).
It was quite the endeavor, but by taking a DevOps approach to the whole thing it was surprisingly painless. For the full, in-depth story, check out my article on the topic.
Project Management: ClickUp is the champion
TL;DR: Give ClickUp an honest try.
We've gone through a wide variety of project management approaches, tools, and workflows. As a small team it's been pretty easy for us to try new things, and so we're always willing to overhaul everything.
We started with a to-each-their-own approach. We just made loose plans and set everyone loose, and then hoped that everyone would just do what needed doing. Looking back, I can't believe we accomplished anything.
After hiring people, that quickly fell apart. We flailed around for quite some time, until eventually settling on Trello as our means of managing the work. This was much better, but Trello is only really designed for one kind of work and, at the time, did not make automations easy.
And so last year, about this same time, we migrated to Monday.com. It was a huge improvement, but some of the deficiencies were super frustrating. In particular, they had no Markdown support (which is essential for developers), a terrible Kanban view, and a... let's say incomplete API.
But again, overall it was far better than what we'd been doing before. We had all kinds of different ways to organize different types of workflows, and developed some solid practices for managing our work. (Something for a future DevChat edition.)
BUT THEN. I was introduced to ClickUp. It did everything that Monday did, except better, plus a lot of other things. GitHub integration is stellar. They just released email integration that lets you manage and send emails from your task lists. It's all super cool. The learning curve is a lot worse, but the possibilities are a lot better. Plus, unlike Monday, they have a free tier (Monday's bottom tier is a 3-seat paid license, which is pure nonsense).
Honestly we were a bit annoyed by the whole thing. We didn't want to migrate to another service yet again. It sucks having to do that, and requires that we stop doing things that feel far more important. But the more we played with ClickUp, the more we became resigned to the fact that we just had to migrate. Once you know what you're missing, you can't go back.
We made the decision right before our December break, and the first thing I did in the new year was hook up our internal Rumpus service to the ClickUp API (for converting player feedback into tasks, and for tracking our automated game-building pipeline). They've made some confusing choices with their API, but all in all it lets you do pretty much anything and is easy to use. Not obvious to use. But easy.
I'll dig into our custom integrations in later editions. The main point here is that ClickUp is rad, and you should give it a shot. Definitely go through the video tutorials though.
That wraps the inaugural DevChat! Next time I plan to dig deep into the question of Game Piracy, and if/when it matters.
If you want to share this around, feel free to forward it to others or link directly to the archived post, which will be publicly listed next week.
If you have thoughts or feedback, hit me up on Twitter (until I find a better solution!). Don't reply to this email -- I won't get your message!
First questions for feedback:
- Was this too long? Would it have been better to have written up multiple posts and linked to them from here?
- Anything you want to here about? Just has to be in my wheelhouse (webdev, pipeline development, project management, running a studio, etc).
Have a great week!
Get early access to new Dev Chat content with our newsletter!