Terkwood / BUGOUT

AI-driven, Multiplayer Go/Weiqi/Baduk for the web πŸ›πŸ€–πŸ¦€β™Ÿ
https://go.terkwood.farm
MIT License
76 stars 7 forks source link

Improve Developer Ease of Use πŸ–οΈ #316

Closed Terkwood closed 3 years ago

Terkwood commented 4 years ago

Goal

This issue is a stub for investigating the system's overall ease of use for those trying to run it themselves or otherwise hack

BUGOUT is a distributed system by nature, but we also want to provide a fast-start path which is easy for new developers to work with

What do we need to do in order to support cloning and running a standalone, single host of BUGOUT within 30 seconds ?

Much of this work is accomplished by #174, using only Redis and no Kafka

What docs need to be updated?

What is the no-config procedure for running on arbitrary cloud providers?

Provide getting started / install doc

Suggested on reddit

https://www.reddit.com/r/rust_gamedev/comments/ixjeoh/bugout_aidriven_multiplayer_goweiqibaduk_for_the/

erlend-sh commented 4 years ago

Are you planning to host a default server for the game?

I’m not a Rust developer, so the main thing stopping me from playing your game at the moment is that it doesn’t appear to be hosted and available for play via the browser.

The Amethyst org (which I’m a member of) might be able to assist a bit with that if you’re interested.

Terkwood commented 4 years ago

If I ever finish touching up the Multiplayer aspect, I can constrain most of the system to an AWS EC2 T3.micro instance. This is relatively inexpensive at ~3.33/mo or less (total of CPU and disk cost).

In fact there is one running presently, but I haven't made it publicly available since using the Multiplayer option causes an additional T3.large instance to start. Once I remove Kafka and the JVM services from the system entirely, that expensive T3. large won't be necessary. Without Kafka or JVM components, the cloud based components can fit on the T3.micro

Feel free to drop me an email at the address listed in the Cargo.toml files (eg see https://github.com/Terkwood/BUGOUT/blob/unstable/micro-judge/Cargo.toml) and I'll reply with the existing server address. As long as you don't invoke Multiplayer options it won't create any additional AWS charges for me!

Terkwood commented 4 years ago

Whoops, please disregard that last comment about using the no-reply github email. It won't work 😁 Looking for another option to communicate that doesn't involve exposing my email or server address publicly in this comment section - -

Terkwood commented 4 years ago

Raised #323, which is the fastest path to exposing the server address publicly.

And I sent the current server URL to the email address on file with your github account, so please feel free to give the AI play a try if you find time and interest. 🌟

Terkwood commented 4 years ago

I've been deliberating over this for a while, and have decided to completely sunset the expensive, slow-to-start, resource-intensive Kafka installation used in multiplayer.

This will improve the ease of use for developer set-up, at least. Thanks again to @erlend-sh for reigniting my interest in the project. I also appreciate the offer to get us in touch with the Amethyst group for hosting - - but once the Multiplayer implementation is slimmed down, this will cost barely anything to run on a month-to-month basis!

The real cost for the project comes down to GPU availability for the AI portion! I'll follow up with some mild brainstorming about that in another ticket.

Terkwood commented 4 years ago

See #324

Terkwood commented 3 years ago

I believe we've made progress here, and since there's not much demand from developers to tinker with this system, I'm going to close the ticket. The README.md has been improved. Starting the system no longer requires a heavyweight Kafka/JVM implementation. Documentation for the administration of the system in the cloud is still non-existent, but as far as we know, the system is not tied to any specific cloud vendor.

What's most problematic is starting tinybrain with KataGo, but that will probably take a chunk of effort to document in a thorough manner.

Terkwood commented 3 years ago

As far as the discussion in this thread with @erlend-sh -- the production release of BUGOUT v1.0 goes live today, and the URL for our service will be made public on the github repo's page, in the release notes, and in README.md. πŸ’ƒ