These are all web games that can be played in the browser.
Technologies I use
For web-based games, I use HTML canvas and JavaScript or TypeScript to draw things on screen.
Yacht Dice
Multiplayer Yacht Dice. Two people can join a room from separate devices and play Yacht Dice in real time. I used web sockets in this project to send messages to the clients with the updated game state.
back end repo
front end repo
Game of Life
Conway's game of life simulation. Try drawing on the grid with the mouse and click "Run". It will follow these rules as it runs:
- If a square is filled in and has more than three neighbors, it dies
- If a square is filled in and has less than two neighbors, it dies
- If a square is filled in and has two or three neighbors, it stays alive
- If a square is not filled in and has exactly three neighbors, it comes alive
Ragdoll Simulator
This is a 2d physics sandbox. Use the mouse to interact and try selecting various tools.
Particle Network
Not really a game, but it shows some interesting things that can be done with HTML canvas. Try drawing something with the mouse or click "Randomize".
Circle Shooter
You are the white circle in the middle of the screen. Click anywhere on the screen to shoot a pellet. Shooting enemies will get you points. Shooting enemies who are not coming directly at you will give you the shotgun powerup.
Galagos
Endless space shooter game. The mouse controls your ship. As you earn points you can access the menu to buy upgrades by pressing "m".
Snake
Most of the other games on this list use vanilla JavaScript. This one is a little different because it
was written using React. It's the classic snake game, but all the cells in the grid are just divs. Making
this game was an experiment with React. It worked well because I only had to handle updating the state of the
game and React automatically updated the UI. Use the W, A, S and D keys to move.
Source code here.
WASD
W, A, S and D keys to move. Space to jump. The goal is to jump on enemies to get points and survive as long as possible.