(View the code on my GitHub)
I trained several TensorFlow models to play Tetris using OpenAI Baseline's A2C implementation. They trained at over 4,000 FPS using a 980ti graphics card.
The first video of the playlist is of my best model. It can score a lot of perfect 4 line clears, but it generalizes poorly. The second video shows this model playing 18 games at once. The last video is of another model that does not score as many points per move, but generalizes very well. It frequently clears over 200 lines a game. Everything is controlled by a Raspberry Pi.
Video shot and edited by William H, a great friend and teacher.
This Deep Neural Network TF model plays snake on an LED matrix. It could only ever be as good as the python script which generated its training data. People can play on the led too using a keyboard. The current high score is held by the AI though. I trained a better model using the evolutionary machine learning algorithm "NeuroEvolution of Augmenting Topologies" (NEAT), but it so no where near as entertaining to watch.
128x32 LED matrix driven by a Raspberry pi. Both are powered by a 5V switching power supply. There are about 20 different rendering modes including: a digital spectrum analyzer using GPU Accelerated FFT, wireframe rendering engine using C++ Eigen library, and Conway's Game of Life.
Alignment Ventures, LLC's CEO created their original webpage using GoDaddy. This did not produce any usable source files, so I recreated the site from scratch while at the same time greatly improving performance, design, and accessibility. Developed using jQuery, Sass, Bootstrap 4, HTML5, CSS3, PHP, and Apache 2.4. From this project I learned how to obtain an SSL certificate, and how to send emails from a web app using PHP scripts and AJAX. View the site here.
I built this in-browser version of the popular Magic the Gathering card game utilizing Node.js, Socket.io, Express, and jQuery. The application requires a mouse, keyboard, and a minimum resolution of 900x500 to play. It will be integrated into my social media website to track user statistics. The server uses NASAs APOD API to provide random background images for the game to be played on. A description is produced for each NASA background image. Start a game by opening two demo tabs and choosing the decks.
The in-browser Magic the Gathering game originally had hard coded decks. I eventually made them modular JSON files, and created a 20,000 card MySQL database with which decks could be made and modified. This deck builder and the Magic game were recently refactored and moved behind an apache reverse proxy server. The builder web app looks great on a phone, but needs a restyling for larger devices. Build your own deck here!
I made this blog in order to learn Django and to become more familiar with MVC frameworks. I am most proud of the responsive images. They retain their beauty at all screen sizes, and keep the page weight to a minimum. One difficulty I encountered was installing a WYSIWYG editor package. The editor made it so I could more easily include images in my blog posts. I wrote 2 great posts about Nuclear Fusion and the Magellanic Clouds. Go read them by clicking the thumbnail!
Here is a link to a dreamwidth page I made for my partner.