Games built in ClojureScript, with Reagent, Re-frame, Shadow-cljs, and
NES.css.
This repo will be expanded to include other games, but for now, it’s just a
Tetris clone. Check out the live game at russmatney.itch.io/tetruss.
# remove 'complied' dir from dev-mode
rm -rf public/js/compiled
# build release version
shadow-cljs release app
# deploy to s3
aws s3 sync public/ s3://games.russmatney.com
yay -S aws-cli
# setup creds
aws configure
Itch.io requires a .zip of the web-app.
Build as described above, then zip it up.
zip -r reframe-games.zip public
[X] control registration/deregistration
[X] dry up game-db events
[X] pause doesn’t always stop the clock?
[ ] dry up @rf/subscribe usage with suggested subscribe macro
`(<-sub! ::s/current-page])`?
[X] move ‘controls-game’ to learn/help/debug namespace?
[ ] update uses of :name to :id where relevant
[ ] add :group-id to pieces/cell-groups
[ ] show/learn controls overlay
no keys detected yet overlay with suggestions for clicking?
[ ] pause overlay (with controls)
[ ] ‘learn’ namespace with minigame for learning controls for currently active games
[ ] support optional url navigation? (back button?)
[ ] show combo chains and rows-to-next-level
[ ] mobile touch/gesture support
[ ] customizable controls
[ ] configurable pieces and board size
[ ] high-score, custom controls preserved across re-fresh
[ ] rows-to-next-level visual indication
[ ] rotate in two directions
[ ] show ‘ghost’ piece (for fast drop)
[ ] mobile detection and ‘alert’?
[ ] add a robot to make moves when no one has for a while
something for leaving it on
[ ] add garden/stylesheets
https://github.com/lambdaisland/garden-watcher
[ ] make get-cell warning optional
[ ] spin-board after x-many pieces
[ ] rotation styles on rows
[ ] bullet mode: size-3 pieces, 10x speed
[ ] build up a puzzle/art piece
[ ] record and show replay/highlights
[ ] shared high-score + leaderboard
[ ] bonus for clearing the screen completely
[ ] comments for holding same-piece type
[ ] ‘doom’ face - show emotion during left/right/rotate/score
[ ] poster-ized level clears (gunn style)
include current game state metadata
[ ] display character commentary per piece played
[ ] Write a metadata component
include: current combo, highest combo, combos to next level, highest level
pieces played, combos scored, items available
The Tetris Wiki has some great Tetris related resources.
My intention for this repository is to build some things from scratch on my
own - selfishly, I’m somewhat closed-minded to contributions.
I’m open to talking about the things in here via PRs and Issues, and I encourage
you to fork and do what you want with the code!
My motivation for developing this in the public:
- to share the code as an example
- to get feedback
- (hopefully) to inspire others to build things!