I primarily started learning game development in Unity since it seemed like the lowest barrier of entry at the time. I took some online learning courses, but never truly dived into creating a game until after college.
During college, I was learning Unreal Engine and I made a few projects for college but none that really stood out to me as worth showing on my portfolio. Therefore, what you see on this page is purely what I've done in my own
free time.
I started working towards creating my first fully fledged game, Liar's Dice, in Unity. However, due to some of Unity's actions and the detrimental affects it may one day have on an indie / solo developer,
I have pulled away from Liar's Dice's development and looked for a new engine I could develop in. That's when I found Godot! I started messing around in Godot and in just a week or two really started to enjoy it and get the hang
of it. I decided to use GDScript as opposed to my favorite language, C#, because I knew there would be more resources and more friendly documentation for their own language. Besides, who doesn't enjoy learning a new coding
language?
I believe that at some point I will turn my Unity Liar's Dice project into a Godot project, but before that, I want to continue working on the little game I've started in Godot! I will still list Liar's Dice in this section
because there is a lot I had to learn and setup that will help me down the line.
Click on the title of each project to expand or collapse it.
Godot Game Development
-
Title TBD
GDScript - Solo Development
As my first experience using Godot, I've been really happy with how this project has turned out so far. I love playing roguelike games and have always been a sucker for fast paced FPS games. So, I figured I should try my hand at creating a simple one.
Figuring out a decent movement system was one of my favorite parts and I really enjoy making satisfying gameplay elements. I decided to have an acceleration based movement system rather than a fixed movement speed. The player can also use a dash and has the potential for multiple jumps.Accomplishments
- Weapons
- The player can hold up to four weapons, swapping between them using the scrollwheel
- Each weapon has a variety of settings, such as:
- Damage
- Projectile Speed
- Fire Rate
- Burst Fire
- Semi-automatic and Automatic Fire Modes
- Hitscan Capability
- Recoil (IN PROGRESS)
- Generic Pickup Item
- Using a versatile script and by making minimal additions, anything can be picked up by the player
- Supports either collision based pickup or interactable pickup
- Animates the node that will be picked up using a simple bob up and down
- Movement
- Movement is acceleration based, meaning that players start slower and speed up to their max speed
- Dashing simply increases the player's acceleration in their movement direction
- Players can have multiple jumps in the air
Plans
- Passive Item Upgrades
- Like most roguelikes, I will be implementing items that the player can pick up to improve their stats
- Classes / Active Abilities
- I have a basic idea of a theme I'd like to go with this game, in which case, I'll want to add at least three classes with varying active abilities
- If I do this, I will most likely decrease the amount of weapons from four to either two or three
0DemoA demo for my first Godot project showing what I've accomplished so far. - Weapons
Unity Game Development
-
Liar's Dice
C# - On / Off Solo Development - Perforce Helix Source Control
As my first real game development project, I wanted to create something that I was familiar with, but also give it a special twist. My family and I have always been fans of a dice game called "Liar's Dice", so deciding as that for the game was easy enough. The twist I am going to add is the introduction of special cards with various effects that change the way the game plays. For example, you could play a card that increases or decreases the roll result of one dice in your hand. Being able to have cards like this would further increase the strategy and complexity of the game!
I won't spoil all my ideas for this game here though, you'll have to wait until it comes out and see them for yourself!
A few of my friends who were interested in game development jumped in here and there during this project. However, life is busy, so none of them kept with development and what I've shown here is only work that I did personally.Accomplishments
- Learned Perforce Helix Core
- Since I initially had a few friends helping me, I decided to find a source control option that integrated in with Unity and would more or less be simple enough for newcomers. I found Helix Core and thought it'd be worth learning and the application, as a whole, looked nice. It took a couple days to get it all figured out, but since I've been using it it's been very intuitive.
- Using Steamworks and Mirror for Multiplayer
- I've never touched multiplayer development before, so this was tough! I still definitely don't understand all the inner workings and best practices, but I was able to get a working version so I could actually play a game of Liar's Dice online.
- Reading Voice Input
- I used a Unity asset called " Undertone ", which is an AI voice recognition software made by LeastSquares LLC, to listen to the player microphone and read input for specified words. Currently, I have a changeable list where if any words from it appear in the generated text from Undertone, it will trigger calling the bet of the previous player.
Plans
- Unique Liar's Dice Experience
- Experience Liar's Dice like never before with unique card effects that change the way the game plays!
- Voice Controls
- Many times you can tell someone's confidence by the tone of their voice. So, voice controls for betting on the amount and side of dice will be supported.
- Tired of just calling your friends liars? Custom words can trigger calling the previous player's bid, so you can call them anything you want!
- Customize Your Way
- Customize your dice cups and roll cages with a shape / layer editor to create your own custom graphics!
0DemoA demo for Liar's Dice showcasing the available features of the game. I will be creating a better video for this in the future, but for the sake of time this is the current video. - Learned Perforce Helix Core
Arduino Projects
-
LED Coaster
C++ - Solo Software Development
This is a project that I am working on with a mechanical engineer, Brett Goddard, who is creating / designing the hardware. While I am developing the software that will interact with the hardware. We decided to work on this side project because we believe it has a lot of potential, plus, I had an excuse to finally learn Arduino. However, The examples I show here are from a very early version.
Feature List
- Multiple Color Modes
- Change the way the coaster lights up, from color presets to LED modes
- Customizable
- The coaster is being designed to have different materials and accent pieces
Plans
- Standalone Desktop Application
- We'd like to create a desktop application that would let the user customize color / mode settings even further
0Rainbow CircleA classic rotating Rainbow CircleA classic rotating Rainbow Circle. View more videos on desktop!BreatheBreatheMarqueeMarqueeOrbitOrbitBarBarWave (1 of 2) - RainbowRainbow WaveWave (2 of 2) - Solid ColorSolid Color Wave - Multiple Color Modes