Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/movesthatmatter/movex
Serverless Multiplayer Infrastructure for JavaScript Games. Private State | Real Time | Server Authoritative | Open Source
https://github.com/movesthatmatter/movex
frontend game-development hacktoberfest hacktoberfest-2024 hacktoberfest-accepted hacktoberfest2024 infrastructure javascript multiplayer multiplayer-game-server react reactjs serverless socket-programming state-management typescript
Last synced: 5 days ago
JSON representation
Serverless Multiplayer Infrastructure for JavaScript Games. Private State | Real Time | Server Authoritative | Open Source
- Host: GitHub
- URL: https://github.com/movesthatmatter/movex
- Owner: movesthatmatter
- License: mit
- Created: 2023-02-22T10:53:55.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-13T17:44:13.000Z (2 months ago)
- Last Synced: 2024-12-12T09:10:18.464Z (13 days ago)
- Topics: frontend, game-development, hacktoberfest, hacktoberfest-2024, hacktoberfest-accepted, hacktoberfest2024, infrastructure, javascript, multiplayer, multiplayer-game-server, react, reactjs, serverless, socket-programming, state-management, typescript
- Language: TypeScript
- Homepage: https://movex.dev
- Size: 7.11 MB
- Stars: 57
- Watchers: 3
- Forks: 40
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Roadmap: ROADMAP.md
Awesome Lists containing this project
README
Serverless Multiplayer Infrastructure for JavaScript Game Developers
Build multiplayer games without worrying about server-side logic, backend infrastructure, or networking. Movex takes care of it allβworks with React out of the box!
[![NPM version][npm-image]][npm-url]
[![License][license-image]][license-url]
[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/dwyl/esta/issues)
![Tests](https://github.com/movesthatmatter/movex/actions/workflows/test.yml/badge.svg)
![Type Script Compilation](https://github.com/movesthatmatter/movex/actions/workflows/tsc-compiler.yml/badge.svg)[npm-url]: https://npmjs.org/package/movex
[npm-image]: https://img.shields.io/badge/dynamic/json?color=orange&label=movex&query=version&url=https%3A%2F%2Fraw.githubusercontent.com%2Fmovesthatmatter%2Fmovex%2Fmain%2Flibs%2Fmovex%2Fpackage.json
[license-image]: https://img.shields.io/badge/license-MIT-green
[license-url]: https://github.com/movesthatmatter/movex/blob/main/LICENSE## π§ Why Movex
__Movex cuts your development effort in half and helps you ship faster by abstracting away backend logic and server-side complexity! π__
With its unique approach and robust set of features, Movex gives you the freedom to focus solely on the front-end while still maintaining full control over the Game Logic, UI/UX, and Data Authority.
## βοΈ Features:
- __Serverless:__
Movex manages the network logic, state-sharing protocols, server deployment and maintenance, along with various other essential functionalities. [Learn more](https://www.movex.dev/docs/features/serverless).
- __Authoritative Server:__
By keeping the data reconciliation logic on the server side, Movex keeps bad actors away, ensuring the integrity of your application. [Learn more](https://www.movex.dev/docs/features/server_authoritative).
- __Real-time synchronization:__
By utilizing the Observable Pattern to monitor state changes in registered resources Movex promptly notifes the UI layer. [See more](https://www.movex.dev/docs/features/realtime)
- __Private State:__
Movex allows parts of the shared state to remain private to specific users, ensuring that sensitive information is kept secure. [See more](https://www.movex.dev/docs/features/private_state)
- __Efficient Data Flow:__
Movex ensures that only the minimum required data is transmitted with each update, optimizing performance. (See: [Deterministic Action Propagation](https://www.movex.dev/docs/features/functional#determinstic-action-propagation))## π Examples & Demos
- **Multiplayer Rock Paper Scissors Game** - https://codesandbox.io/s/rps-demo-x877yl
- **Chat App** - https://github.com/GabrielCTroia/movex-next-chat## π§π½ββοΈ How Movex works
Movex follows the [Flux Pattern](https://medium.com/weekly-webtips/flux-pattern-architecture-in-react-35d0b55313f6) locally to respond to UI changes. It then employs the [Deterministic Propagation Method](https://www.movex.dev/docs/features/functional#determinstic-action-propagation) to synchronize state changes with the Global State(aka Master State) and all peers in the network. [Learn More](https://www.movex.dev/docs/how).
## π©βπ» Getting Started
#### 1. Install It
```bash
yarn add movex; yarn add --dev movex-service
```#### 2. Create the Movex Config File
```ts
export default {
resources: {},
};
```#### 3. Start Movex in Dev Mode
```bash
npx movex dev
```#### 4. Next Steps
To continue with the next steps see [Get Started Docs](https://www.movex.dev/docs/overview/get_started).## Documentation
Visit the [Docs](https://www.movex.dev/docs/overview/introduction) to get started with Movex.## π Contributing
First off, thank you for showing an interest in contributing to the Movex project! We have created a [Contributing Guide](https://github.com/movesthatmatter/movex/blob/main/CONTRIBUTING.md) that will show you how to setup a development environment and how to open pull requests and submit changes.
- π Want to participate in **#hacktoberfest**?
We have a selection of [#hactoberfest issues](https://github.com/movesthatmatter/movex/issues?q=is%3Aissue+is%3Aopen+label%3Ahacktoberfest).- Want to help with the code?
Please check out our [Good First Issue](https://github.com/movesthatmatter/movex/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) section.- Don't wanna' code?
Any feedback is welcome and greatly appreciated so please don't hesitate to open an [issue](https://github.com/movesthatmatter/movex/issues).- For any other help, you can write us on our [Discord](https://discord.gg/N8k447EmBh), [Twitter](https://twitter.com/gctroia) or just [open an issue](https://github.com/movesthatmatter/movex/issues)!
> #### Before You Contribute, make sure your commits are signed using SSH, GPG os S/MIME
> This is **very important** for #hacktoberfest so Github can trace your contribution correctly.
> [Learn more about signing commits](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification).
>
> **ALSO:** Please see our [Requirements For Opening PRs](https://github.com/movesthatmatter/movex/blob/main/CONTRIBUTING.md#opening-pull-request-requirements).## π‘οΈ License
Movex is licensed under the MIT License - see the [LICENSE](https://github.com/movesthatmatter/movex/blob/main/LICENSE) file for details.
## π½ Community
[Join our Discord](https://discord.gg/N8k447EmBh)
## π₯· Thanks To All Contributors
Movex wouldn't be the same without you, so thank you all for your amazing efforts and contribution!
Made with [contrib.rocks](https://contrib.rocks).