Written by John D. Johnson II who lives and works in Utah.

Brick Breaker (w/Audio)

During my CS education at USU

Warning: this one has audio, so you may want to turn down your computer volume before clicking it. This brick breaker game was another Game Dev class project. I think we had a few weeks to work on each of these games in Game Dev. There's not much to say about the program itself it's just another brick-breaker clone.

Read more...

Maze Solving

During my CS education at USU

This was a maze generating and solving game I made for my Game Development class. Jamis Buck the author of Mazes for Programmers and a Ruby on Rails contributor came to my game dev class just to talk about mazes and how we could use different algorithms to do things such as generating procedurally a 2D over-world map which always has certain properties that different maze algorithms have such as always having a path between two points.

Read more...

Canvax Chat

During a Major League Hackaton (MLH) while at USU

Warning: There's quite a few bugs in this one (can't remember if I added the bugs after or not), but I built this project with some friends from University during a MLH competition at USU. It is a collaborative sketching app that uses a node server and socket.io. It was pretty fun to build, we started in the evening and I believe we went until the next evening when we finally stopped working on it.

Read more...

Jigs Sketch

Built this during Corona virus lockdown for fun!

Warning: This ones a bit of an unfinished project. A bit of backstory on this project: I was starting to read the book A Programmer's Introduction to Mathematics by Jeremy Kuhn (great book by the way haven't finished it yet but got through atleast the first two maybe three chapters so far). Anyways Jeremy has a challenge after explaining there is a unique polynomial that there is a unique degree n polynomial that goes through n+1 points. He gives the equation as well as pseudo code for writing your own way to find the polynomial. After writing the code and looking at one of the exercises in the end of the chapter I decided to try and use a spline in a drawing application. Anyways long story short I ended up using a Catmull-Rom Spline which is really excellent for getting a smooth curve through a small amount of points. ...

Read more...

Snake Game (w/Audio)

During my CS education at USU

Warning: this one has audio, so you may want to turn down your computer volume before clicking it. This was a fun one. We had to make a mini game in a couple of hours and we didn't know what we were going to be making until the assignment started. We could prepare our code in advance and use all our other game logic.

Read more...

Sudoku Solver

During my CS education at USU

I used Knuth's algorithm X with Dancing Links. Algorithm X with Dancing Links is a fairly efficient educated brute forcing back-tracking algorithm that would let you solve a more general problem called the exact cover problem (other examples besides soduku include tiling a space with polionimoes ). Dancing Links is the name of the data structure used, because what happens is you use a quadruply linked-list (think like a doubly-linked list forward and backwards that make a grid) and are able to hide and show nodes in the list as you traverse the exact-cover problem search space. The main benefit of creating and hiding nodes is saving memory operations like creation and deletion. The reason for the quadruply linked list is, if your search space (usually visualized by a matrix) is fairly sparse then the doubly linked list can save alot of space and also a lot of time ...

Read more...