https://github.com/harrisi/elixir_breakout
OpenGL-rendered Breakout port in Elixir.
https://github.com/harrisi/elixir_breakout
elixir gamedev opengl
Last synced: 10 months ago
JSON representation
OpenGL-rendered Breakout port in Elixir.
- Host: GitHub
- URL: https://github.com/harrisi/elixir_breakout
- Owner: harrisi
- License: mit
- Created: 2024-07-23T21:15:07.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-12T06:49:25.000Z (over 1 year ago)
- Last Synced: 2025-04-10T02:04:40.298Z (10 months ago)
- Topics: elixir, gamedev, opengl
- Language: Elixir
- Homepage: https://ianhedoesit.com/blog/breakout-musings.html
- Size: 6.13 MB
- Stars: 12
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Breakout
Breakout in Elixir using OpenGL. Largely an incomplete and poor port of
https://learnopengl.com/In-Practice/2D-Game/Breakout.
## Pre-emptive notes
The code is very bad. I'm working on improving it. Please feel free to suggest
updates/changes, ideally with an eye towards how games can be implemented in the
future (i.e., not just improvements to this breakout implementation, but game
development in Elixir as a whole).
## Launching
This implementation has no dependencies. The following should work (tested on
modern macOS, Ubuntu, and Windows):
```sh
$ git clone https://github.com/harrisi/elixir_breakout
$ iex -S mix # or mix run --no-halt
```
## Gameplay
`A`/`D`, `H`/`L` (hello, fellow vim users), or left/right arrows to move
left/right, space to launch the ball, `N` to switch between levels, `P` to
profile with tprof for ten seconds (if you're in to that).
There is no win condition.