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.
Building the release
# remove 'complied' dir from dev-mode rm -rf public/js/compiled # build release version shadow-cljs release app
Deploying to s3
# deploy to s3 aws s3 sync public/ s3://games.russmatney.com
Requires aws cli tool:
yay -S aws-cli # setup creds aws configure
Packaging for itch.io
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
[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
[ ] make get-cell warning optional
[ ] spin-board after x-many pieces
[ ] battle with AI
[ ] rotation styles on rows
[ ] bullet mode: size-3 pieces, 10x speed
[ ] draw your own piece
[ ] 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
[ ] Add achievements
[ ] 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!