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: about 1 year 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 (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-02-09T01:38:43.000Z (over 3 years ago)
- Last Synced: 2025-02-08T17:41:56.374Z (over 1 year 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, sm@libera.chat
>
> _____ __
> | ____|_ __ ___ _ __ ___ _ __ ___ _ __ ___ / _|
> | _| | '_ ` _ \| '_ \ / _ \ '__/ _ \| '__| / _ \| |_
> | |___| | | | | | |_) | __/ | | (_) | | | (_) | _|
> |_____|_| |_| |_| .__/ \___|_| \___/|_| \___/|_|
> |_|
> __ __ _ ____
> | \/ | ___| |_ __ _ | _ \ ___ _ __ __ _
> | |\/| |/ _ \ __/ _` | | |_) / _ \| '_ \ / _` |
> | | | | __/ || (_| | | __/ (_) | | | | (_| |
> |_| |_|\___|\__\__,_| |_| \___/|_| |_|\__, |
> |___/
*(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..).