Database and chat for a game?

I have a general question about adding some database and a chat for a game. I’m not so familiar with things, so that’s why it could be perceived as a noob question, and that’s why I would like to hear from professionals - simply - how are the possibilities for Defold? I saw that Playfab and Firebase provides such services - do Defold supports them on a scale that creating e.g. a real-time chat between registered users, which data is stored somewhere (e.g. nickname, mail, level, etc.) is possible? If not - what is possible at least? Also - which of those solution are supported for free acounts and which for paid ones?

  • There is a PlayFab extension for Defold. I don’t see why it shouldn’t work well for your use-case.
  • We currently only have extensions for Firebase Analytics, Authentication and CloudSave. We/the community could add more if needed.
  • Have you considered Steam? We have a Steamworks extension and Steam has matchmaking, lobbies etc.
  • There’s also Colyseus which has support for Defold.
1 Like

Thanks for the response! :wink: I do tried with Playfab, but since it has a lot of limits I was looking for another solution. Another reason was, that I don’t know how to create something like chat with Playfab :confused: So, I found Firebase that is used widely and there are even many tutorials about creating a chat for an Android app for example. So, with Firebase CloudSave, as I saw, it’s possible to establish a database too, I guess? I will consider Steam too, but I’m not a fan of that :smiley: You mean this extension: Steamworks - Native Extension, not DefSteam?

Which limits are your thinking of?

It doesn’t seem like it has been released yet. In Private Preview:

Yes, but is there an out of the box solution for this? I found Firechat:

Not sure how that would integrate into a game though…

Yes, CloudSave allows you to save game state per player. Not sure if you can store stuff that is global and accessible by all your players. @AGulev?

Yes, Steamworks Extension, not DefSteam.

1 Like

Firebase DataBase is not the same as Google Play Game Services Cloud Save.
At the moment we don’t have a plugin for that: https://firebase.google.com/docs/database/cpp/start

Hmm. A chat system. Interesting.
Here are some things that you can use

  • Playfab, as everyone mentioned. It is good multiplayer solution for Defold and can be easily used for making chat system. I don’t understand what restrictions are you talking about?

  • Firebase is a good solution too. I used it several years ago for a web based chat system. Not sure about integration in games though.

  • Then, GPGS also supports real time multiplayer, which can be easily moulded for a chat system, with maybe platforms being a restrain.

Now those are the easy ways :wink: Here’s the way I will do it.

  • Make a custom server, host it on some free place like heroku, use mongodb for storing chat data, and build everything from scratch using node is. Might be a bit time consuming but it will give me full power over everything. :grinning:
2 Likes

In Playfab’s Settings there is a tab “Limits” - it describes limits for almost all features, some are really restricted like some character data size restricted to 1000 bytes, possibility to update character data max 5 times per 15 seconds, max 30 times per 5 minutes and so on. There are a lot of them in the free plan and I’m wondering on what scale those limits will be unattainable and you’ll need to pay more and more. I’m just not aware of the scale of the project yet and I’m only analyzing the solutions.

Yes, and there are numerous solutions based on Firebase too. I would love to learn one day how to integrate them easily into Defold’s app - this could be a new look at Defold - to use it as an comfortable and easy application creation toolkit - it is lightweight, reliable, has lovely GUIs, it is easy to learn and deploy to major platforms. If there only would be a support like that for most common application use-cases - it would be great in my opinion. I know Defold aims at game dev, but I see some potential even here :smiley:

Are there maybe some plans?

Yes, this is definitely the best approach, the most time-consuming, though :smiley: @TheKing0x9, when you are saying, that you will do it, you literally mean, that you are planning to create such solution on Defold?

Yes. The playfab free plan is for basic testing only. Just to check everything works fine. Beyond that you have to pay. (And that is why I only like to use basic free forever features :wink:)

You are trying to trick me through my words :smiling_imp: . Well maybe I will, or maybe I will not. I want to do a multiplayer game later this year but it needs money, and getting money depends on the status of currently released games. :frowning:

Let’s talk about it more - what sort of chat do you need, a big global game chat ( kinda slack #social type ? ), Or small P2P chats?

That’s why I had some objections for that and looked into Firebase. I used Playfab up to this time, but now I see its restrictions could be too aggressive and I’m not having any plan yet to earn money from my game for now.

I was thinking about P2P chats, but players need to see other players stats, level and so on, thus the database is needed. It would be great to also save conversations.

What about a dedicated chat service such as Vivox or SendBird? HeroicLabs/Nakama were active on the forum and they had a Defold SDK in the works, but not sure if it ever was released.

1 Like

Thanks for the recommendations! I’ll check them :wink:

Also notice that Playfab has yet an error on Windows PC in some case:


(on both my PC with different Internet connection providers)

No, sorry. Right now I’m working on excluding push notifications from the engine into separate native extension. After that building of any firebase extensions will be much easier.

3 Likes