-
Notifications
You must be signed in to change notification settings - Fork 40
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs(homepage, banner, about, roadmap): 📝 add roadmap, point banner t…
…o hacktoberfest, improve about page
- Loading branch information
1 parent
571b9b6
commit cfa1af1
Showing
8 changed files
with
126 additions
and
92 deletions.
There are no files selected for viewing
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
apps/movex-docs/pages/roadmap.md |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,5 @@ | ||
# About Movex | ||
|
||
Movex is an open-source framework designed to simplify multiplayer communication and state synchronization for web games and multi-peer applications. Born from the need to streamline backend logic across projects like Chessroulette, Movex allows developers to seamlessly run game logic on both the client and server without getting bogged down in complex networking protocols. With built-in real-time synchronization and an authoritative server model, Movex is built to handle multiplayer functionality so developers can focus on what they do best—creating engaging experiences. | ||
|
||
## Origins | ||
Movex is the legacy of [chessroulette.live](https://gabrielctroia.medium.com/meet-chessroulette-org-a-quarantine-project-e4108f05db39) (now defunct but up for a comeback built on movex soon). | ||
|
||
import Image from 'next/image'; | ||
|
||
<Image src="/static/chessroulette_screenshot.png" alt="Chessroulette Screenshot" width="720" height="560" className="pt-4"/> | ||
|
||
|
||
## Idea iteration | ||
|
||
The idea for Movex came while attempting to port the backend code from Chessroulette (everything from the network logic & protocols, servers, redis to matchmaking), into another turn based chess-like game server to make it multiplayer (that we are launching soon), and realizing that I actually have to copy and paste most of that code with very slight changes. | ||
|
||
The initial idea was simply to take that code, wrap it in a backend service of its own, complete with an api, socket + a (redis) store, and use it for my game as well as opening it up for other game developers that don't handle all that multyplayer logc on their own. | ||
|
||
But then, while working on that version, I realized I can in fact go a few steps further, and offer a solution for the client, where the actual game or app logic happens. So the idea of combining functional code (i.e. functions), to have them run both on the client and the server (seamlessly), could be an appealing solution for other game developers who don't won't to get out of their Game bubble, where to be honest, the fun happens. | ||
|
||
Combine that with an Authoritative Server that seamlessly just works, Realtime Synchronization and Deterministic Propagation and I think we have something here. | ||
|
||
But of course, only time will tell! | ||
Movex is a **[Moves That Matter](https://github.com/movesthatmatter)** project. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
# Changelog | ||
# Movex Changelog | ||
|
||
## v0.1.6 (Sep 26 2024) | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
# Movex Roadmap | ||
|
||
#### Current Version: v0.1.6 | ||
|
||
Movex is already fully functional, supporting real-time multiplayer communication and state synchronization. It’s currently being used in production for web-based multiplayer games (see [Chessroulette](https://chessroulette.live)). Our focus now is to improve performance, expand compatibility, and grow the community of contributors. | ||
|
||
### Short-Term Goals (Next 3-6 Months) | ||
|
||
**1. Optimize Framework Size** | ||
- Goal: Reduce the overall package size to make Movex lighter and faster to deploy. This will improve performance, especially in resource-constrained environments. | ||
- Benefit: Smaller bundle size makes Movex more accessible to developers who want efficient, low-latency multiplayer games. | ||
|
||
**2. Improve Documentation & Tutorials** | ||
- Goal: Add more comprehensive guides, examples, and walkthroughs for new users. Focus on common use cases like integrating Movex with web games. | ||
- Benefit: Lower the barrier for new developers and contributors by offering clear, practical resources. | ||
|
||
**3. Multi-Peer Application Use Case Demos** | ||
- Goal: Build demos showing Movex in use for collaborative, multi-peer applications like shared whiteboards or real-time document editing. | ||
- Benefit: Broaden the scope of Movex’s use cases beyond games, showcasing its versatility for real-time collaboration apps. | ||
|
||
|
||
### Medium-Term Goals (6-12 Months) | ||
|
||
**1. Library Integration: Angular, Vue, etc..** | ||
- Goal: Expand Movex compatibility to support popular frontend libraries like Angular and Vue. | ||
- Benefit: Broaden Movex’s adoption by making it available to a wider range of developers who use different tech stacks. | ||
|
||
**2. Game Engine Compatibility (Phaser, Babylon.js, etc.)** | ||
- Goal: Integrate Movex with popular JavaScript game engines like Phaser and Babylon.js to create more seamless multiplayer game development experiences. | ||
- Benefit: Make Movex the go-to framework for real-time multiplayer in web-based games. | ||
|
||
**3. WebSocket Support** | ||
- Goal: Implement WebSocket support to replace or augment Socket.io. This will enhance real-time communication while reducing overhead. | ||
- Benefit: More efficient communication for multiplayer games, leading to faster performance. Smaller size. | ||
|
||
**4. Community Building** | ||
- Goal: Grow an engaged community of contributors and users through Hacktoberfest, Discord discussions, and open feedback. | ||
- Benefit: Increase long-term contributions, feedback, and engagement for the project. | ||
|
||
|
||
### Long-Term Goals (12+ Months) | ||
|
||
**1. io Games Compatibility & Multi-Peer Scaling** | ||
- Goal: Make Movex suitable for massively multiplayer games and large-scale multi-peer applications with features like horizontal scaling, load balancing, and better handling of large user bases. | ||
- Benefit: Scale Movex’s architecture to support both multiplayer games and multi-peer apps with thousands of users. | ||
|
||
**2. Advanced State Synchronization Features** | ||
- Goal: Add more robust state synchronization features for edge cases in complex multiplayer games. | ||
- Benefit: Support more advanced use cases in real-time multiplayer games, allowing for smoother, more flexible state management. | ||
|
||
**3. Monetization & Sustainability** | ||
- Goal: Explore potential monetization options or sponsorships to ensure the long-term sustainability of Movex as an open-source project. | ||
- Benefit: Secure the future of Movex while keeping the project open and free for developers. | ||
|
||
## Contributing | ||
|
||
Movex is an open-source project, and contributions are always welcome! Whether you’re fixing a bug, improving documentation, or building a new feature for multiplayer games or multi-peer apps, your input helps make Movex better for everyone. Check out the [GitHub issues](https://github.com/movesthatmatter/movex/issues) to find ways to get involved. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters