__ __ _____ _____ _ ____ ___ _ _ ____
| \/ | ____|_ _|/ \ | _ \ / _ \| \ | |/ ___|
| |\/| | _| | | / _ \ | |_) | | | | \| | | _
| | | | |___ | |/ ___ \ | __/| |_| | |\ | |_| |
|_| |_|_____| |_/_/ \_\ |_| \___/|_| \_|\____|
I didn't have time to build a decent pong game, so I started building a pong game building machine.
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 - Install and enjoy the game.
-
Playtester - Play alternate versions of the game, vote on them, provide testing & feedback.
-
Developer - Improve the game, propose new versions of the game.
-
Haskeller - Improve the haskell games ecosystem and state of the art (in ways relating to this project).
-
Maintainer - 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 channel on Freenode (#freenode_#haskell-game:matrix.org on Matrix)
The Emperor, of course, is
Simon Michael, simon@joyful.com, simonmic:matrix.org, sm@libera.chat
_____ __ | ____|_ __ ___ _ __ ___ _ __ ___ _ __ ___ / _| | _| | '_ ` _ \| '_ \ / _ \ '__/ _ \| '__| / _ \| |_ | |___| | | | | | |_) | __/ | | (_) | | | (_) | _| |_____|_| |_| |_| .__/ \___|_| \___/|_| \___/|_| |_| __ __ _ ____ | \/ | ___| |_ __ _ | _ \ ___ _ __ __ _ | |\/| |/ _ \ __/ _` | | |_) / _ \| '_ \ / _` | | | | | __/ || (_| | | __/ (_) | | | | (_| | |_| |_|\___|\__\__,_| |_| \___/|_| |_|\__, | |___/
(unless deposed.. but how?..)
git clone https://github.com/simonmichael/metapong.git
cd metapong
stack update; stack run
or
cabal update; cabal run metapong
Install as above. Test what can be tested (docs, installation, game..)
Join #haskell-game on Freenode, give feedback.
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.
Use #haskell-game to coordinate.
Look for opportunities to import code, tools and techniques from the Haskell ecosystem to this project, and vice versa.
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..).