UIBuzz - Software and game development

I want to add a cross-platform leaderboard to my updated rebuild of Endless Hurdles. There are two options.
1. I build my own
2. I use a 3rd party service
In this episode, I will discuss the pros and cons of both options in the hope that it will help you when you need to make similar choices.

Play Endless Hurdles for iOS
https://peterwitham.com/eh

Contact me
https://peterwitham.com/contact

Could you show your support by buying me a coffee?
https://peterwitham.com/bmc

★ Support this podcast ★

What is UIBuzz - Software and game development?

I love making software. I also love sharing that experience with others. I explore it all in this Podcast, from apps to games and in between. From developers just getting started to professionals. We all have something to learn and share with others on our journey.

Peter:

What's up, everybody? Welcome to another episode of the UI Buzz podcast. I'm your host, Peter Wyndham. You can find myself and this podcast at petawhildham.com. In this episode, I'm gonna be talking a bit about using third party services or rolling your own as far as a back end for your games or your apps, but in particularly your games is the focus in this episode.

Peter:

I'm talking about this because I have started my my Godot rebuild of my endless hurdles game. There's a link in the show notes for the current version. Has reached a point where it's essentially shippable at this point. I have converted all the things I needed to convert for a 1 dot o. But the one thing that's missing and the one thing that I think really will, you know, bring the game to life much as it did on iOS in the original SpriteKit version is a leaderboard.

Peter:

Now, I have a leaderboard in the app, currently. I'd like to say it's built with SpriteKit. It takes advantage of Game Center on iOS, and it's great. It makes everything painless. And kudos to those folks who make the Game Center services because they are a joy to work with.

Peter:

I have to say they're very straightforward. They're wonderful to manage on the back end as well. Now, unfortunately, in Godot, there are some game center libraries out there, but they're all very early betas and that's just not the way to go when it comes to shipping something. So I decided since I intend to make this build, this version on Godot cross platform, the sensible thing is to have a cross platform leaderboard and achievement systems and and all those things that go with that. Because I know as a player of games, one thing that bugs me is when, you know, I play on iOS and there's an iOS platform specific leaderboard.

Peter:

You play on Android, and and there's an Android one. There's no universal. Right? The games that I love are the ones where I can play on any of those platforms and sort of pick up where I left off. And I think that that makes a lot of sense to embrace that as a game developer these days.

Peter:

So that's kind of a little bit of a for for what it's worth 2¢ advice from me. You know, there's 2 options here. Number 1, I can build my own services. And number 2, I can use somebody else's. And I'm gonna dive into the pros and cons that I think for both of those in this episode.

Peter:

So let's start with rolling your own. Obviously, this way you craft exactly what you want. You know exactly how it works. You host it wherever you wanna host it and it provides all the necessary features and expansion down the road because you are responsible for them. That's fantastic.

Peter:

I mean that's, you know, that's kind of living the dream. However, on the con side, firstly, you've got to maintain the hosting. Secondly, you've got to maintain the app on the back end. Thirdly, you have to perform maintenance on that. Right?

Peter:

At some point, you will and you've also this day and age, you got to deal with people trying to hack into it for whatever reason and doing things with it. Right? Bad actors, you got to deal with that. You have to protect against things like, you know, bad usernames. If if you have a system where people log in or a system, obviously, if it's like a leaderboard where it shows a name, you've got to go and do your very best to protect against bad names.

Peter:

Now, what do I mean by bad names? Offensive words. Right? Insulting words, whatever it may be, you know, or people putting actually putting in, you know, strings, of text. Right?

Peter:

Making a statement in the leaderboard. I've seen that before as well. And you may think this is a simple problem. It really isn't because somewhere along the way, you're either gonna have to build yourself another service or use a third party service to check against this offensive list of words. Right?

Peter:

You're talking about a worldwide scenario here and what's offensive to one person may not be to another and so on and so on. And this is actually a very complicated problem to solve and I think is easily the biggest, no against rolling your own is you are now having to manage and deal with all of this and on top of that, building and creating and maintaining your game. Now, let's talk about the flip side, using a third party service. Well, first of all, you don't have to manage it. Right?

Peter:

I mean, you have to manage the content but you have to manage the service. You don't have to host it. You don't have to, you know, they may have a system that checks for offensive names. Part of the reason I like using Game Center and, you know, on the Google Play Store is they have to have accounts. So those accounts are validated with Apple and Google and I don't have to worry about it, don't have to take care of it.

Peter:

It solves the problem for me. Also, performance. Right? Again, I don't have to manage, maintain, and and update everything and make sure that it's running. And all I had to do is use the APIs to use the service.

Peter:

On the flip side, let's talk about the downside now. So the cons against this are I'm beholding for a 3rd party service. If that 3rd party service decides to shut off my service or they go out of business or they radically change something that breaks everything in my game, I got a problem. Right? And, you know, that was one of the pros of using my own services is is I'm gonna know when that happens and manage it.

Peter:

Well, you know, with a third party company, anything could happen, and next thing you know, you've got a big problem you've got to solve. Now on top of that, of course, there's performance issues. There's privacy issues. There's security issues. What if that service gets hacked?

Peter:

Right? You know, and now it's not your fault and your problem to solve, but you're sort of stuck with it. Right? And now, you know, users may be unhappy or you may have to be required to notify users, all these kind of things. Now I get it.

Peter:

It's a game and you would think, hey, that that data doesn't matter and it's not, you know, identifiable in many ways. They're not stealing someone's identity, but it's a way into a system. And any way into a system is a possible way into another system, and that's how you have to think about these things. So you got to worry about those. Now, of course, there may also be a cost.

Peter:

Right? Some of the ones that I've been looking at are free, and I'm trying them out. I'm not gonna mention them here. I may talk about them in a future episode once I figure out what I'm gonna do and who I'm gonna use, but there may be a cost involved. And you have to decide, okay, is this cost worth it?

Peter:

A lot of these services offer free tiers. Right? And then if you are lucky enough that your game becomes very popular and you reach a certain break point with those plans and those tiers, okay, you may have to start playing. But once you start paying, there's the upside which says you clearly have a successful enough game with enough players. You've got traction.

Peter:

Right? And somewhere along the way, you know, whether you choose to monetize or not is entirely up to you, but you may have to start thinking about recouping some of those costs because, trust me folks, these things can get expensive. You know, as someone who's hosted websites and these podcasts for years at this point, there is a line where you say, boy, I'm I'm kinda hoping that I make, some money to cover the cost to keep these things going at some point. Right? With games, that's more likely because, hopefully, you've got something that's successful.

Peter:

If you've got something that isn't successful, you know, 2 two problems there. Right? The the plus side is it's not costing you for these services. The downside is maybe you need to reconsider the direction of the game. Right?

Peter:

So I want to put these out there for you folks to think about this. If you have opinions or you wanna come and talk about this on the show, I would love that. Reach out to me at Peter Widom dot com forward slash contact, link in the show notes, and let's get a conversation going because this is a definite area that I think is a problem, especially for indie devs. There are many many options. You know, you don't have to necessarily go with the well known ones for your game.

Peter:

You might start with 1 and then go on to another. I hope you have a great week and I will speak to you in the next episode.