W Preston Neal | Developer

My Projects


Conway's Game of Life - April 2020

My first project learning JavaScript. Built using vanilla JavaScript and CSS Grid.


Adding Game for Kids - April 2020

I wanted to create a small game to help my kiddos practice their addition skills. Built primarily in JavaScript, the game randomly generates an addition problem usings digits between 0 and 5, solves the problem, randomly assigns the output to one of the buttons, and then randomly generates 3 wrong answers for the other buttons. One notable challenge I had to solve to get this working was ensuring the wrong answers were unique. In the future, I plan on adding a "missing number" and "subtraction" version of the game.


Breakout! - April 2020

A project I used to explore using HTML Canvas and learning animation and collision detection. I started out with MDN's tutorial on creating a Breakout-style game, and then tried to incorporate the look, feel, and rules of the original Breakout! arcade game. The ball speed increases each time the player breaks into a new color layer, and once the top layer has been broken through the paddle width is cut in half. The scoring system for the bricks is the same as the original game. I plan on changing the score readout from a text field to an actual drawn score that matches the style of the arcade. I would also like to incorporate the "english" you can put on the ball by glancing it off the paddle at a sharp angle.


Star Smacker - May 2020

Taking what I learned from Breakout, I wanted to go a step further a build my own space shooter/Galaga clone. I started out with the animation for the star field and then added the starfighter. At first the starfighter was just a simple triangle, but then I went nuts with the canvas drawing methods in JavaScript. Yes - the starfighter is drawn entirely with rectangles in with JavaScript every frame. To add the enemies, I did my first experiments with sprite animation. I drew the enemy sprites by hand in Piskel, which I definitely recommend for pixel art. The animation for the enemy sprite is fairly simple: their engine jets pulsate as they fly across the screen. I also added a shield for the player that can be triggered by pressing the space bar. Be careful though! If you drain the shield completely you'll have to wait for it to cool down before you can use it again. I would like to add flight patterns and attack groups to the enemies, instead of just having them fly across at a set angle. I would also like to add rotation to the enemy sprites and let them face different directions.


© 2020 wprestonneal.com