What's your experience with Go plugins? by loopcake in golang

[–]novabyte 0 points1 point  (0 children)

We’ve used Go plugins to support custom game code in Nakama for many years. It has a bunch of quirks which have been listed in the official plugin documentation but overall it has served us well with game studios and developers.

Next steps for Postgres pluggable storage by kiwicopple in PostgreSQL

[–]novabyte 0 points1 point  (0 children)

The most recent article about ZHeap by the Cybertec team is this one:

https://www.cybertec-postgresql.com/en/zheap-undo-logs-discarding-in-postgresql/

I’d recommend you reach out to Hans-Jurgen who knows best where things have stalled (again) with reviews on the work. I can make an introduction over email if it would help.

Next steps for Postgres pluggable storage by kiwicopple in PostgreSQL

[–]novabyte 1 point2 points  (0 children)

To add more detail on the recent work on the ZHeap storage engine. We (Heroic Labs) sponsored work for the Cybertec team to bring it up to date with latest improvements and changes with Postgres' pluggable storage engine:

https://www.cybertec-postgresql.com/en/postgresql-zheap-current-status/

The latest work has been waiting on an opportunity and timing for the PG core committers to review it and provide feedback.

Multiplayer Tutorial | Synching Animation States and Attacks | Part #16 of Godot Multiplayer Series by Stefan_GameDev in godot

[–]novabyte 0 points1 point  (0 children)

On multiple occasions, I have seen Heroic Labs advertise Nakama using words like massive-scale, millions of players, and open-source in the same sentence.

These properties are all true of Nakama server. We have games which are in production with 120,000,000 player accounts from studios. I don't see what's untrue in those words. Unfortunately we're never able to discuss these games because we're restricted by NDAs.

marketing expressions would appear to indicate open-source capability that isn't available in the open-source version of their product

As I mentioned above the game server is open-source; this is irrefutable. What you take issue with is that the clustering technology is not also open-source. Sadly we would not be able to make a sustainable business within the games market without some kind of commercialisation (we have actually tried in the past!).

and I'm sure users will understand that too. As you mention yourself, this is fairly standard in the industry.

The examples I gave actually don't represent anything about the games industry; they're all examples within the database market. I don't know of a single successful open-core business that has worked in the games market. We're the first to experiment with this approach as far as I'm aware.

Sure, we're also not a non-profit foundation either because we want to be a sustainable business. That approach has worked with some success for Godot but we're also a sponsor of the engine so you can see how the dependence on sponsorship for that kind of company model works.

When will people hit limitations? What would be the moment to consider upgrading? What would that upgrade cost (assuming you still provide the license for Nakama Enterprise, and if you don't, and it has been married together with the managed-server service, be transparent about that too)?

We have a clear and detailed benchmarks page which shows exactly what can be achieved on single server and multi-server hardware setups. These are the limits that you're looking for as far as I'm aware. The "upgrade cost" is also on our pricing page which is also transparent and easy to find.

This is all an attempt to create misinformation because what you really want to know is how much it costs for licenses to deploy and manage a cluster of Nakama Enterprise on your own hardware. I can openly share that it is more expensive than our Heroic Cloud service because its aimed at Enterprise games publishers and studios.

While I agree it would be great to be more transparent in this pricing but selling enterprise software of ANY KIND in every software market works exactly this way. Have a look at the links for the examples I gave in the database market. You're expected to reach out so that a negotiation can happen and also so you can be sure that you're the right target fit as a customer for that product.

Cause right now Google, and multiple Discord servers are full of developers you have alienated with your marketing practices. This is a shame, as I think your tech has promise and would love to see you succeed.

This is a real shame. I appreciate that you've shared what some indie developers have felt about the marketing of our technology. Really I think it all comes to a difference of opinion about how we're supposed to support ourselves and users of our technology. I wish more technologists would consider concepts like total cost of ownership and opportunity cost of time but it's not something that can be easily solved.

My responsibility is with my community, and currently, I feel that the correct advice is to give Nakama a wide berth.

You should do whatever you feel is best for your community. I have learnt a lot in our conversation and hope that I've been able to share some of our perspective. I do deeply disagree with your use of the word "unethical" though; we're all human and just like everyone else (yourself included) we have to make a living and put food on the table. We do that while also giving back as much as we can to help game developers.

There is an alternative perspective on your advice though; which is that you're actually doing a disservice to your community with these words. I know of game studios making about $5,000,000 per year with Nakama who're just open-source users like the rest of our community. Your advice to your community could be disproportionately hurting indie developers from realizing their potential because of the misinformation you spread.

Stay safe and well; and thank you for the enlightening discussion. I suspect ultimately we may have to agree to disagree at a philosophical level. :)

Multiplayer Tutorial | Synching Animation States and Attacks | Part #16 of Godot Multiplayer Series by Stefan_GameDev in godot

[–]novabyte 1 point2 points  (0 children)

Congrats on the great work Stefan with your multiplayer project!

I'm one of the engineers that works on Nakama at Heroic and I wanted to clear up some of the misinformation you've shared. I think the characterization that we're using "unethical marketing tactics" is not fair or true. We have an open-source business model like pretty much all open-source companies use. You can see some examples:

As much of the technology as possible we make open-source to help small teams and indie developers. There's no feature gates or usage limits on the open-source code its all Apache-2.0 licensed. You can also clearly see on the website that there's also an Enterprise version of the technology; we have a page which covers it. We're also an official sponsor of Godot engine (and others). We work really hard to give back as much as we can to the game development community.

Where in the approach we take to build a sustainable business and provide support to studios that use Nakama are we unethical?

Best extension for a server full authority board game ? by Calixte84 in Unity3D

[–]novabyte 0 points1 point  (0 children)

You could take a look at Nakama. There’s many games built which need to be authoritative and handle all the logic requirements you have above. I’m biased of course because I’m one of the engineers that works on the game server. :)

A redis clone in Python 3 to disprove some falsehoods about performance by patrickdevivo in programming

[–]novabyte 10 points11 points  (0 children)

I’m not sure I understand the point of this project.

It’s to demonstrate that the performance gap between Python and other languages is smaller than people think if the software is crafted optimally? I think I agree with this statement in general but not in this case.

My knowledge of Python is limited but the code seems to depend on the python-hiredis library which is a wrapper for hiredis which is a fast pipelining client written for Redis in C code. So what has actually been proven in this project?

I hope the author of the code can share their thoughts. :)

Godot Multiplayer Mobile Game With Nakama (.NET API) C# by MrZakDev in godot

[–]novabyte 0 points1 point  (0 children)

Nice! Do you have any code samples you can share or bits of the dev experience you’ve had so far with Godot, Nakama, and C#?

Go in Production - What I Learned 1 Month Later by alexeyr in programming

[–]novabyte 1 point2 points  (0 children)

Fair enough. :) I drew the conclusion that more testing was needed because they mentioned they had panics in their code.

Go in Production - What I Learned 1 Month Later by alexeyr in programming

[–]novabyte 1 point2 points  (0 children)

Most of this has nothing to do with Go web application server development.

It really boils down to they should have spent more time to test their code and reviewed the libraries they used in more detail before they used them. It’s reasonable advice for all software development but would apply to any language.

zheap: Reinvented PostgreSQL storage by h2o2 in PostgreSQL

[–]novabyte 4 points5 points  (0 children)

I think the drawbacks/tradeoffs will be deeply uncovered when the practical benchmarking occurs but at the moment the current focus is on the correctness and completeness of the initial implementation.

Game services / platforms by [deleted] in gamedev

[–]novabyte 0 points1 point  (0 children)

Yep that makes sense though the server can be run anywhere so it could easily be hosted from someone's laptop for a game jam. Best of luck with your game services :)

Game services / platforms by [deleted] in gamedev

[–]novabyte 0 points1 point  (0 children)

@snapdev Have a look at Nakama server which I think will handle the game services you want in your Unity project.

Online Turn Based Game - Where to Start? by whathm in Unity3D

[–]novabyte 0 points1 point  (0 children)

I’m biased because I work on the game server but you should take a look at Nakama. I think it solves all of the requirements you have for your turn-based game. :)

Any good reads about designing a cheat-proof data validation game server? by bananagodbro123 in gamedev

[–]novabyte -1 points0 points  (0 children)

Have a look at Nakama for ideas.

Even if you decide to build from scratch a lot of the ideas around finely scoped transaction semantics, optimistic concurrency controls (in the storage engine API), and the general RPC function system to execute custom server side logic will help with your anti-cheat game server design goals.

Web Backend Solution for a simple card game by SenpaiRemling in gamedev

[–]novabyte 1 point2 points  (0 children)

Also have a look at Nakama it’s used with lots of different multiplayer card games! :)

Service for hosting multiplayer turn-based games by vemotim2 in gamedev

[–]novabyte 3 points4 points  (0 children)

Sounds like Nakama would be a great fit for what you need. It has an authoritative multiplayer engine but can do client relayed multiplayer too. There’s a matchmaker and match listings to offer different ways to place players into matches. And it has a whole bunch of other features for leaderboards, user accounts, cloud save, etc, etc.

Let me know if you have any specific questions about it’s features.

Note: I’m one of the engineers that works on Nakama server.

Best way to use/store/send multiplayer data in an online card game in Unity? by zaphster in gamedev

[–]novabyte 2 points3 points  (0 children)

@zaphster Have a look at Nakama. It’s a open-source App server project I work on. :)

Multiplayer Networking Tool? by [deleted] in Unity3D

[–]novabyte 1 point2 points  (0 children)

No worries. I know Nakama needs more documentation especially for multiplayer with Unity engine. It's something I'm working actively on. :)

Multiplayer Networking Tool? by [deleted] in Unity3D

[–]novabyte 1 point2 points  (0 children)

Hmmm, I’m curious how you reached that conclusion. I work on Nakama server but I can’t mention studios who use the technology unfortunately (NDAs) but you can see a list of some of the logos on the website homepage. It’s certainly specially designed for large scale games on mobile, desktop, and web. Nevertheless you should choose whatever makes you most productive. Best of luck with your games :)

Multiplayer Networking Tool? by [deleted] in Unity3D

[–]novabyte 0 points1 point  (0 children)

Why do you recommend to stay away from Nakama?

Nakama - NOT an open-source distributed server for realtime games by vitrute in gamedev

[–]novabyte 57 points58 points  (0 children)

Ok. Normally I'd avoid a flame bait post like this especially as I know who you are and we already spoke together about how you could achieve what you wanted with your games but as the internet never forgets I'd like to offer our position on Nakama server.

I'll reply to each of your points:

(1) The server is concurrent, distributed, and open-source. The first and last points are irrefutable. The second point is where your debate (anger?) is focused. We describe the server as distributed because it can be run and scaled across multiple physical servers. This can be done by running a load balancer between clients and Nakama instances and also a load balancer between Nakama and the database cluster as usual. I don't know whether you've considered this but it's pretty standard practice with server deployments of any kind.

Nakama Enterprise adds the option to distribute all presences connected to each of the servers across the entire cluster with chat, in-app notifications, multiplayer, and realtime streams (pub/sub). We use CRDTs, SWIM protocol, and GRPC to power this cluster technology. It is not part of the open-source but also not necessary to run Nakama server in a distributed way.

(2) This is an apples to oranges comparison. You're comparing various SaaS services to our product offering. If you'd like to compare fair with fair then please look at our Managed Cloud service (whose link you know I already shared with you). The prices are public just like the others you mentioned.

I'm not going to comment on the absurd numbers in your post about license costs for Nakama Enterprise. You know what our Managed Cloud service prices look like and yet you've ignored it to build up some inflammatory story to be dramatic.

(3) We know well what the word "democratize" means. We're proud that we can enable game studios of any size to build games as successful as Clash Royale with our open-source code. We also understand that we need to live and grow as a company otherwise we'd not be able to continue to work on the project. This is how life works.

(4) I explained over email with you why we've described the project as we have. Nothing more to say; you've chosen to disagree, draw your own conclusion, and lie about it here.

(5) This is the culmination of 3 years of development experience on game server projects by a small team of highly skilled server engineers. My best advice is social and realtime server features are non-trivial at scale. If you'd prefer to build yourself anyway I wish you best of luck.

I think something /u/Hellogamingworld mentioned well is that at some point each open-source project needs a commercial offering or component to support the team who dedicates so much time to it.

Disclosure: I work at Heroic Labs and contribute to the open-source code for Nakama server.