top of page

GAMES //

Jeremy2.png
Jeremy1.png

Jeremy the Chick

Jeremy, a wind-up toy chick, is out on an endless stroll but there are plenty of obstacles on his path.  You must place objects into the world to keep him safe and continue his peaceful walk.  The game ends when Jeremy can no longer move forward.

 

​This is my passion project that I started in the summer of 2020 and have been working on and off ever since.  The code is in C# and the game runs in Unity, though a future goal is to make this game playable on smartphones.  Since this is a solo project, I’ve done most aspects of the game, stand-outs include: Created item spawning and drag and drop by mapping the position of the mouse. The item’s hitbox, rigid body, and gravity are disabled when grabbed.  Monitored for the lose condition by tracking Jeremy’s position in relation to which terrain piece he’s on top of.  Built the terrain generation that spawns world pieces based on Jeremy’s position and each piece’s left and right anchors.  Built the sky parallax movement by spawning 3 random pieces and moving them based on Jeremy’s position.  Designed graphic sprites and animations for Jeremy and all items in Photoshop to match imported assets.  Determined free sound effects and music to fit the game’s tone.  Edited the sounds in Reaper and integrated them via FMOD.

 

One of my weaknesses as a developer is that I tend to lean on others when problems occur.  With this project, I proved to myself that I can handle problems on my own.  I ran into several issues with Dragging and Dropping the items, one of which was the items flying away when grabbed.  I was not updating the position correctly, so mapping the position to the mouse solved it.  Integrating with FMOD was something I haven’t done before; while there were no issues, it took me a while to learn how to do what I wanted with each sound.  I also experimented a lot with optimization.  I implemented despawners for items, terrain pieces, animations, and sounds so that the project wouldn’t be flooded with unused objects, as well as organizing code to minimize repetition of loops.

 

I am very happy and proud with my progress so far.  Having simple base mechanics allowed me to focus on refining and tuning the base experience.  It also allowed me to add new aspects like art and music easily.  As I stated earlier, my goal for the near future is to make this available on iphone and android stores.  I want to be able to bring this wherever I go and show people my work.  Goals within the game include further optimizing the code, editing the sprites, adding a cosmetic shop, and adding new items and terran pieces for variety.  I love working on this game and look forward to seeing it grow.

Play by downloading an executable here!

The repository on GitHub!

Study of Fraud

A requirement of this project was to create this game within the world of The Dresden Files, originally written by Jim Butcher. Harry Dresden’s latest case is a suspected imposter within the White Council. When he enters the perpetrator’s study, he sees a note. The note reads: “Nice try, Dresden. You have twenty minutes before the magic artifacts in this room overload and take the whole building down!” After taking the note, the door vanishes! Dresden must follow the clues, solve the puzzles,

and try to find the way out in time!

This was a group (5) project that took about 5 weeks to complete.  The code was done in C# and the game runs in Unity.  I was responsible for implementing the mirror puzzle, helping finish the fire and crack puzzles, and the entire implementation of the Runes / win condition.

On this project, we didn't run into many notable issues; everything just took a while to set up.  Because we had so many people, there was always someone who was able to solve a problem fairly quickly.

I think our group dynamic in this project  was great.  By this time, our group had already collaborated on 2 other games; we knew what we could accomplish, as well as our strengths and weaknesses.  This game catered to a lot of our strengths.  We communicated through discord and it went really well.  Each time we worked on it, we posted what we did and what still needed to be done.  We also improved using Git and source control as to not have merge conflicts. 

Play by downloading it from GitHub!

Untitled.png
screenshot.png

Kilisha's Journey

A requirement of this project was to create this game within the world of Ethshar, created by Lawrence Watt-Evans. The player takes on the role of Kilisha of Eastgate, apprentice to the wizard Ithanalin the Wise. A spell gone awry has caused Ithanalin the Wise to split his soul into pieces, which are materialized in different household goods. Kilisha is left with the task of restoring her master by matching three or more spells (in-game elements, akin to jewels in Bejeweled) to extract his soul-pieces from the household items.

This was a group (5) project that took about 5 weeks to complete.  The code was done in C# and the game is run in Unity.  I was responsible for helping to code the movement, implementing the win condition / Item Energy, and helping to code the matching mechanics.

The movement was challenging to figure out.  To change up the standard match 3 mechanics, we wanted to make the entire row shift when a direction was swiped, similar to a Rubik's Cube.  This didn't work right away, but with help from other group members, we were able to get it working.  The matching was also difficult.  We kept getting false positives with symbols diagonally, 1 space away, and wrapped around the screen.  This was an issue with how we were keeping track of the grid.  Since 2 people were working on it at the same time, there were 2 different ways we were keeping the grid; when one updated, it didn't always transfer to the other.  Once we standardized everything, it was fixed.

Our game hit the mark when it came to concept.  I think we found a natural way to implement the story of Kilisha and Ithanlin into a puzzle game.  The difficulty in our game is also well balanced.  After testing, we found a good medium between easy and hard, as well as scaling the game between each of the three levels.  I think our game came together very nicely.  The music, sound effects, visuals, animations, and game-play all came together to form a great game.

Play by downloading it from GitHub!

Asteroids

​A recreation of the classic game arcade game Asteroids.  Play as a spaceship caught in the middle of an asteroid belt.  Blast your way through and see if you can get the high score!

This was a solo project that took about 2 weeks to complete.  I coded everything using C# and the game is run in Unity.  I also made the art assets in Photoshop and the start, ending, and control screens using canvases in Unity.

The most challenging parts of this project were the loading screens and the organization. I tried to make separate Unity scenes for each screen, but then the asteroids in the background re-spawned each time the scene changed.  Then, I tried to use 3D-text, but they couldn't be deactivated.  I finally decided to use canvases and it worked great!  This project was difficult to organize.  Deciding where to deal with the collisions and which scripts to put on the objects, rather than on an empty GameObject where especially difficult.  I started doing collisions on the ship, but then realized that since the asteroids collided with everything, I could do all collision methods on the asteroids.  This realization made it a lot easier to organize the code.

I loved working on this project.  Everything from the code to the art was fun to work on.  Thinking of how to solve problems or tackle obstacles was fun.  It was also great to have an end point, reach it, and to go beyond.  Asteroids is not a complicated game, so the goal was very achievable.  I could see myself making progress as I coded, which was a real confidence booster.  This motivated me to continue working on the game after it was 'done'.  I added the art, the different screens, and the particle effects all after I 'finished' the game.

Play by downloading an executable here!

The repository on GitHub!

Escape from Bullet Hell

Play as a lost soul trying to escape Hell.  Battle against Satan as he attempts to send back to your demise.  Try to get the high score!

This was a solo project that took about 2 weeks to complete.  All game functionality is handled in JavaScript and the game runs in the browser.

The movement of the boss's bullets was the most demanding component to this project.  These bullets have a 1/50 chance of spawning every frame and will target the players position at the moment they spawn in.  I originally tried to copy the random movement function for the bouncing bullets, but that didn't work.  I realized I had to normalize the vector before adding it to the position.  When I did that, the bullets where only firing to the right of the boss, even if the player was to the left.  After a few hours, I discovered the bullets spawn at the boss's location, not (0,0), and therefore had an offset.  I simply had to subtract the boss's position and the bullets worked as expected.

This project was fun to work on.  I haven't attempted a project in JavaScript before, so it was a bit of a challenge.  Because of this, I made the scale relatively small, which allowed me to concentrate on getting the core mechanics just right.   Finding a balance between fun and challenging was tough, but I think I found a good middle ground.

I'm happy with how this protect turned out.

Play by following this Link!

The repository on GitHub!

bottom of page