Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/simonmichael/metapong
Experimental haskell pong-like game collaborative project.
https://github.com/simonmichael/metapong
game gamedev haskell haskell-game nomic pong-game
Last synced: 6 days ago
JSON representation
Experimental haskell pong-like game collaborative project.
- Host: GitHub
- URL: https://github.com/simonmichael/metapong
- Owner: simonmichael
- License: gpl-3.0
- Created: 2019-11-18T15:26:39.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-02-09T01:38:43.000Z (almost 2 years ago)
- Last Synced: 2024-10-28T16:51:25.229Z (about 2 months ago)
- Topics: game, gamedev, haskell, haskell-game, nomic, pong-game
- Language: Haskell
- Homepage:
- Size: 36.1 KB
- Stars: 3
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
README
__ __ _____ _____ _ ____ ___ _ _ ____
| \/ | ____|_ _|/ \ | _ \ / _ \| \ | |/ ___|
| |\/| | _| | | / _ \ | |_) | | | | \| | | _
| | | | |___ | |/ ___ \ | __/| |_| | |\ | |_| |
|_| |_|_____| |_/_/ \_\ |_| \___/|_| \_|\____|*I didn't have time to build a decent pong game, so I started building a pong game building machine.*
## Introduction to Meta Pong
Meta Pong is a pong-like video game, built with Haskell,
and an experiment in efficient free software development.
It is owned and directed by its Player-Contributors,
with an ever-evolving Process.The game was declared open on the 18th of November 2019,
and new Player-Contributors are welcome!
Would you like to get involved right now ?
You can play at any of these levels:- **[Gamer](#gamers-how-to-install-and-play)** -
Install and enjoy the game.- **[Playtester](#playtesters-how-to-playtest)** -
Play alternate versions of the game, vote on them, provide testing & feedback.- **[Developer](#developers-how-to-develop)** -
Improve the game, propose new versions of the game.- **[Haskeller](#haskellers-how-to-grow-the-ecosystem)** -
Improve the haskell games ecosystem and state of the art (in ways relating to this project).- **[Maintainer](#maintainers-how-to-maintain)** -
Package and deliver the game, maintain the project, define/improve the Process.- **Emperor** -
Ha! Ha! Only the Emperor can be the Emperor, naturally.
The Emperor provides infrastructure, guidance and judgements.**Meta Pong's goals include:**
- rapid production and delivery of wholesome Fun
- and some Knowhow and Education
- efficient collaboration, decision making, and onboarding/uplevelling
- minimisation of toil, single-developer burnout and unhelpful Stress
- advancement of the Haskell games scene**Our techniques/principles include:**
- crowd-sourced playtesting and maintenance
- evolutionary product and process development
- Nomic style meta-gaming
- Fun, Respect, Persistence and Restraint.**The Process:**
- This document defines our Process.
- The Process serves as the Rules of Play, which we strive to follow.
- Its purpose is to maximise Fun, the prime directive of this project.
- It may at times seem arbitrary or irritating, but the Process helps us to be effective and avoid timewasting.
- The Process evolves.**The scope of this project is limited to:**
- "pong-like games". There shall be a bouncing ball.
**The scope for 201911 is strictly limited to:**
- a TUI approximation of classic pong.
**We discuss and co-ordinate at:**
- the [#haskell-game](https://kiwiirc.com/nextclient/#ircs://irc.freenode.net/#haskell-game) channel on Freenode
([#freenode_#haskell-game:matrix.org](https://matrix.to/#/#freenode_#haskell-game:matrix.org) on Matrix)The Emperor, of course, is
> Simon Michael, , simonmic:matrix.org, [email protected]
>
> _____ __
> | ____|_ __ ___ _ __ ___ _ __ ___ _ __ ___ / _|
> | _| | '_ ` _ \| '_ \ / _ \ '__/ _ \| '__| / _ \| |_
> | |___| | | | | | |_) | __/ | | (_) | | | (_) | _|
> |_____|_| |_| |_| .__/ \___|_| \___/|_| \___/|_|
> |_|
> __ __ _ ____
> | \/ | ___| |_ __ _ | _ \ ___ _ __ __ _
> | |\/| |/ _ \ __/ _` | | |_) / _ \| '_ \ / _` |
> | | | | __/ || (_| | | __/ (_) | | | | (_| |
> |_| |_|\___|\__\__,_| |_| \___/|_| |_|\__, |
> |___/*(unless deposed.. but how?..)*
## Gamers: How to install and play```
git clone https://github.com/simonmichael/metapong.git
cd metapong
stack update; stack run
```
or
```
cabal update; cabal run metapong
```## Playtesters: How to playtest
Install as above.
Test what can be tested (docs, installation, game..)Join #haskell-game on Freenode, give feedback.
## Developers: How to develop
Use #haskell-game for help and coordination.
Fork the repo on github. Clone to your local machine.
`make rerun` to install deps and run repeatedly (press q to rebuild).
Make changes to
source files (metapong.hs..),
packaging files (package.yaml, stack.yaml..),
or game docs (README.md..).Commit changes in the style of past changes.
(Small, atomic, a clear sentence describing the change..)Push changes to your repo. Submit a pull request. Follow up until the PR is resolved.
## Haskellers: How to grow the ecosystem
Use #haskell-game to coordinate.
Look for opportunities to import code, tools and techniques from the Haskell ecosystem to this project,
and vice versa.## Maintainers: How to maintain
Use #haskell-game to coordinate.
Get some PRs accepted as a developer.
Send PRs changing process docs (README.md..).
Help out with maintainer tasks (changelogs, packaging, install testing, support..).