Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nerdsupremacist/memes
An online Multi-Player Meme Party Game written in Swift
https://github.com/nerdsupremacist/memes
server-side-swift swift swiftui swiftwasm websocket
Last synced: 3 months ago
JSON representation
An online Multi-Player Meme Party Game written in Swift
- Host: GitHub
- URL: https://github.com/nerdsupremacist/memes
- Owner: nerdsupremacist
- License: mit
- Created: 2020-12-04T12:48:21.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2021-01-30T13:54:57.000Z (almost 4 years ago)
- Last Synced: 2024-10-12T13:33:07.394Z (3 months ago)
- Topics: server-side-swift, swift, swiftui, swiftwasm, websocket
- Language: Swift
- Homepage: https://memes.quintero.io
- Size: 83 MB
- Stars: 70
- Watchers: 3
- Forks: 5
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# memes
![](demo.png)
An online Multi-Player Meme Party Game written in Swift.
That's right 100% Swift.This Game is pretty much an online version of [What do you Meme](https://whatdoyoumeme.com), to get us through quarantine...
It is implemented with a [Vapor](https://vapor.codes) Server and a [Web Assembly](https://webassembly.org) Client communicating over web sockets.## How does it work
This project consists of four targets:
- **Server:** A [Vapor](https://vapor.codes) server. It implements a single endpoint to open a Web Socket to play the game
- **Client:** it's well a client, built using [TokamakUI](https://github.com/TokamakUI/Tokamak) and [Swiftwasm](https://swiftwasm.org)
- **Model:** Shared codable structs that are used by both the Client and the Server
- **Events:** The Client and Server-Side Events that can be triggered### Deployment
The [GitHub Actions](https://github.com/features/actions) setup for this project will on every commit in main:
- Build the server for both macOS and Ubuntu
- Compile the client code using Swiftwasm and push it to [GH Pages](https://pages.github.com)
- Push the server code to my personal [Dokku](http://dokku.viewdocs.io/dokku/) instance to start the deployment### Game Data
Right now all the memes and captions for the game are stored in `deck.json`.
It's not a lot, but enough for a first prototype.
Feel free to expand it or reuse it in any way.## Contributions
Contributions are welcome and encouraged!## Future Work
This game is no where near finished.
The UI can be improved significantly:
- [ ] Spacing is very inconsistent
- [ ] It expects a slightly larger display and doesn't work on mobileThe memes and captions data set could always be expanded.
And perhaps we should move to storing these in a database and provide multiple options for decks (i.e. Programmer Humor, Game of Thrones, etc.)## License
This project is available under the MIT license. See the LICENSE file for more info.