heroiclabs / nakama-unity

Unity client for Nakama server.
https://heroiclabs.com/docs/unity-client-guide
Other
417 stars 75 forks source link

Some issues getting started based on documentation #81

Closed Godatplay closed 4 years ago

Godatplay commented 5 years ago

Getting started trying out Nakama, woo! I ran into a couple confusing things, posting here after the suggestion on gitter:

novabyte commented 4 years ago

Hey @Godatplay. Thanks for these notes about your setup process and problems you encountered. I'll try to address each of them and get them marked for improvement in our developer docs.

Neither the docs nor the droplet description are clear enough about the Nakama droplet in the marketplace. Why isn't it production ready?

The Digital Ocean Marketplace droplet came after the documentation was written to show how to get started with DO and Nakama on a droplet. The reason we describe it as a non-production setup is that it misses a lot of details we'd expect to be in place for a production environment with a game project:

We intend the docker-compose file and our Digital Ocean examples as a way for developers to quickly get started with their project rather than set themselves up to go live.

Neither the docs nor the droplet description are clear enough about the Nakama droplet in the marketplace. Why isn't it production ready?

The database container and game server containers are run on the same hardware. This will cause the two processes to compete for resources unless specific resource limits are set. It's not possible to set default limits in our examples because we don't know what hardware resources will be available. i.e. what droplet size will be used by the developer or studio.

The docs mention the one-click install of Nakama, and then also walk you through installing and using Docker.

This should definitely be improved. You're right. If the one-click install is used it does all the steps you'd manually do (described in the docs) for you.

Assuming the Nakama droplet doesn't use Docker, there's no droplet that uses Docker, which is inconvenient

"The Nakama droplet doesn't use Docker". What does this mean? I'm confused.

The docs suggest Ubuntu 16.04, but the droplet in the marketplace is 18.04. Does that also mean if I set up an install with Docker, I can use 18.04?

The Ubuntu 16.04 is the earliest supported version of Ubuntu that you can install the necessary version of Docker and configure Nakama on.

Godatplay commented 4 years ago

Thank you so much! I really appreciate your guidance here.

Just to give you an idea of my mindset when evaluating Nakama, the reason our studio is looking for a BaaS is actually because we are ready to go live. We've done initial on-site testing with small groups and are now ready for a remote private alpha.

Maybe other teams aren't so bootstrap/agile-based as ours, but one downside of Nakama relative to other solutions I'm evaluating is that it expects you to learn how to set up a good production environment and then do the actual configuration details yourself, whereas part of what we want out of a BaaS is to not have to do that very work and have it just be more production ready so we can focus more on our game. For example, AcceleratXR has a set of deployment scripts in a github repo you can pull and run in sequence. That could be a neat solution for Nakama? If it makes more sense, you could even pick a predetermined compute platform and instance size and tune the deployment to that.

I realize there's the managed option that may be a more appropriate match for our needs, but unfortunately $500/month is more than we can afford. We're currently self-funded and need to keep costs lower before we can validate our game. My gut feeling is that a given monthly rate is easier to consider once it represents 10% or less of our revenue?

I don't mean to diminish Nakama, as I like it - including just on principle of being open source! - and because I like the tech stack you've curated, but I just wanted to share my perspective in case it is helpful at all.

Thank you again for all your help.

novabyte commented 4 years ago

Hi @Godatplay. Thanks for the feedback.

but one downside of Nakama relative to other solutions I'm evaluating is that it expects you to learn how to set up a good production environment and then do the actual configuration details yourself, whereas part of what we want out of a BaaS is to not have to do that very work and have it just be more production ready so we can focus more on our game.

The BaaS equivalent to Nakama is our Managed Cloud service. It does offer all of the production readiness builtin for you. You don't have to do the work yourself and instead focus on your game. This is exactly the value proposition of our service; it's also doubly nice because it supports us so we can continue to develop so much of our technology as open-source. 😄

We're currently self-funded and need to keep costs lower before we can validate our game. My gut feeling is that a given monthly rate is easier to consider once it represents 10% or less of our revenue?

I appreciate the constraints you're under when you're getting your game off the ground but also consider that any time spent to setup and manage things yourself is time that could have been spent to perfect the game to make it a success. Time is of course money too. How you make that tradeoff will always be specific to you and your team.

I don't mean to diminish Nakama, as I like it - including just on principle of being open source! - and because I like the tech stack you've curated, but I just wanted to share my perspective in case it is helpful at all.

No problem at all. I'm happy you're happy with Nakama. I hope that we can collaborate more closely in the future to help the game become a huge success. Don't hesitate to leave feedback on the forums or open feature requests on the various issue trackers on GitHub. 👍