Past Projects

This page is an overview of the projects that I have worked on in the past. Pretty much all of these projects were made at or before 2020. I will talk about newer projects in their own original posts. The files for some of these projects can be found on my GitHub. You may also find some newer projects on my Itch.io. However, certain unfinished games or WIP games may be found on GitHub, but not Itch.io.

Unity Engine Projects:

Unity game engine announces support for Microsoft HoloLens - AfterDawn
Unity Engine is a free computer program that allows people to create 3D and 2D games, applications, animations, and more. I've used it throughout my years in high school, and now college, to expand on my interest in game development and programming by making a variety of projects. Listed below are some of my pre-college projects.

2D Open-world Game:


One of my first ideas for a game was to make a 2D game in which you would simply explore the world around you in any way you pleased. I had planned on making a world in which the player could find new areas by either walking off the screen or finding things like caves to explore. Because I wanted to get down the basic mechanics of things like combat, I started it off by making a survival mode for the game. This would be the first time in which I would experiment with making enemies that reacted in response to the player(It's also worth noting that my pixel art skills are not the most impressive thing in the world).

    Tutorial Level from the view of Unity's editor:
Why a ninja you ask? I thought it would be easier to draw.
    (Why a ninja you may ask? I thought it would be easier to draw).
    
    Survival Mode:

After developing the project for a what I believe to have been a couple of weeks or a month, I decided to move onto a newer project. I felt as though I had learned valuable things from working on it, but I thought that my learning process would stagnate if I just stuck to one project. Since then, I've learned about various tricks and tools when it comes to Unity, game development, and programming in general. So, beware of some questionable code within the GitHub repository for this one. Also, for that same reason, I would likely start a new project entirely (hopefully with better visuals as well), rather than resume this project at some-point. 

Flight Simulator:

I've always thought that planes were pretty cool and consequently that it would be neat if I could make my own flight simulator or game in Unity Engine. I also thought that it would be the perfect way for me to practice 3D modeling with Blender, a free program that allows you to model and animate almost anything you could want. 

    Here's a photo of a Biplane that I 3D modeled in Blender:

    Here's that same Biplane implemented in my Unity Engine Flight Simulator:
    
 
In this project, I was able to create a biplane that could takeoff from the ground and rotate just like a regular plane would. I implemented the forces of lift, drag, and thrust, doing my best to try and keep everything semi-realistic.

    (One of the scarier looking errors I ran into while working on it).

I ran into a major problem where once the plane got up to speed, errors occurred with my camera and plane. Eventually, the plane would disappear completely. I had wanted to be able to have these planes fly at realistically high speeds, however I didn't have a real sense of direction on how to optimize my code in a way to allow this to happen (I also did not determine the true cause of this error).

I don't have particular plans for this project as of right now, but I may come back to it as a way to learn about multi-threading(using multiple CPU cores working in parallel). My reasoning is that it may work more efficiently if I can load parts of a larger map in sections(kind of like how Minecraft does). It could also be a fun way to test out some of my new found physics knowledge, since I've taken a mechanics course in college.

Fighting Game:



I thought that a cool way to teach myself about hit-boxes and implementing smooth animations into Unity Engine games would be to make a fighting game. The basic idea behind most fighting games is that every move has a number of entry and exit frames. Hitting someone while they are in these frames will interrupt and stun them for a specific number of frames, allowing for chains to be created with moves that have a low enough number of entry frames.

    Player Selection:
    

The players are able to choose from a variety of stick people(Very unique and detailed... obviously) and also vote for a map of their choosing from the game's map pool(of 1 map as of now). 

    Map 1:
    

Once the players select their characters and map, the game loads them in. Currently each stick man is able to move, crouch, jump, and throw a basic punch. I did a lot of tweaking with unity's animation tools and was able to make decently smooth transitions from animation to animation. 

The main problem with this project was that I am not the best animator. Animations are very important to the feel of a fighting game, and while my programming skills weren't really a problem, I wasn't very knowledgeable about how to make good art assets for it. Though, I would still say that this project was useful in that I learned a lot about Unity's animation controller.

Currently, I'm actually learning some basic art on the side, and am hoping that I might get decent enough to use it for future projects.

Python Projects:

The Python Logo | Python Software Foundation
Shortly after my high school graduation, I noticed that python was blowing up in popularity and decided to learn about the language. What I'd say really got my interest in python was the fact that it was being used for anything from web design to machine learning.

I learned some of the basics about python from a class taught by Tim Buchalka and Jean-Paul Roberts. It really does a good job about going in-depth on pythons useful tools. 

Chess Game:

For my first on-my-own project with python, I decided to create a chess game. To do this, I used a free open-source python module called pygame. This module came with a bunch of useful methods for doing things like creating game windows, implementing graphics, and getting user input data. 



In a couple of weeks, I was able to create a functioning 2-player chess game. Each time you click on a piece, it highlights it, indicating that the piece was selected. When the game picks up that you've selected a piece, it looks at all the piece's possible moves -- which were determined before the start of your turn by a method I created. This method essentially made up the bulk of the code and was what I spent most of my time and effort on. I'm considering coming back to this project to add AI opponents for you to face.

    

   


Comments

Popular Posts