- 2nd year Student in IT Programming at Nova Scotia Community College graduating in 2023 with a 90% average.
- Working on personal projects outside of school hours.
My career goal is to be a Game Developer.
- Self-directed learning
- Problem solving skills
- Knowledge of 2D and 3D animation
- Interpersonal skills to deal with creative and production teams
- Able to keep on schedule and meet deadlines
- Knowledge of Game Engines and Programming Languages
Note: Visual and Audio assets were taken from existing CAPCOM games and not representative of my artistic ability.
A 2D boss rush game in the style of Mega Man X using assets from Marvel vs Capcom 2.
A game I was playing at the time (Marvel Heroes) had announced that they would release Rogue as the next playable character. I decided to make a small game for the community to play while they wait. Apart from a small asteroids clone, this was my first time using Unity and my first time coding!
- Learn the workflow of the Unity engine
- Learn about 2D animation workflow
- Learn about state machines
- Learn about audio workflow
- Expand my knowledge of C#
- Release my game before the Marvel Heroes character release
- Wrote code for Player and AI character movement and attacks
- Animated Player and AI characters using sprite sheets and state machines
- Hooked up sound to associated Player and AI character animations
- Hooked up background and bgm
- Wrote code and connected UI to display health of Player and AI characters
- Wrote code and connected UI for main menu and stage selection screens
- Learned git and github after a catastrophe
The project, overall, was a success. I stayed on schedule and met my one-month estimate. I learned a great deal about audio, visuals and the code that ties them together and makes it all work! This is important for game development as there is so much interplay between different departments. While I personally don’t plan to work as an audio or visual developer, I will be using the assets that those teams provide me. Understanding what they do will make me a better communicator and problem solver.
This project gave me one of the most valuable lessons a developer can learn. Version control is important! At one point, due to inexperienced programming, I created an infinite loop that crashed Unity and lost an entire day’s worth of work. This is the moment I started using git and github.
While the project was a success, the code was an absolute nightmare of spaghetti. This was at the start of my programming career, so while I did manage to hack it together to work, there are no best practices at play (and probably a lot of worst practices). If I were to redo it today, I would be able to cut the amount of code I wrote in half and be much more organized by using OOP principles.
This is the perfect demonstration of the attitude I have towards learning new skills. I am incredibly proud of this project. In a one month window, I taught myself how to use Unity and enough code to make something that was not only playable, but actually fun! There was obviously a lot of stumbling, but I learned so much from my mistakes, it was probably the best thing I’ve ever done, still, to this day.
A virtual pet game in the style of Tamagotchi.
I took on the roles of Lead Game Designer and Lead Unity Developer for my Capstone project in my final year of IT Programming at NSCC. This was a group project with 4 other students.
- Learn how the workflow changes when working with a team
- Learn Jira management software
- Learn BitBucket
- Learn Kanban
- Learn how to connect a SQL database to Unity, using a website as an intermediary
- Effectively work with a team to get a good grade and more importantly make something cool
- Contributed to preproduction SAAD documents
- Wrote small game design document detailing stats and interactions. Collaborated with UI/UX Lead to detail how stats should be displayed. Detailed website and database requirements
- Provided support for other teammates by providing Unity documentation and resources
- Recorded a live demonstration of Unity for teammates, answering questions and walking through the process of adding part of the functionality from scratch
- Created the bulk of the pet care gameplay functionality in Unity and coded in C#
The project was a very enjoyable experience! We specifically went out of our way to learn new tools like bitbucket instead of sticking to github which we were already familiar and comfortable with. I didn’t expect to take as much of a leadership role as I did. The virtual pet idea was mine and with my prior experience with Unity from personal projects the team started relying on me for guidance early on. Whenever there was a question of how something was supposed to work, they looked to me to have the answers. It was stressful at times but not altogether unpleasant, and in fact it’s a responsibility I would like to take on more of in the future. The initial design of the project was way too big, but we realized this before we began working, and cut some features to be a more reasonable size.
The reasonable size we cut down to was still too large to get done with our other course load and real jobs. We got close but would ultimately need some more dedicated time. Estimating project timelines is difficult, it's a skill I look forward to improving.
One particular challenge we faced was an unreliable and uncommunicative team member. Their lack of engagement, missed meetings, and failure to contribute affected team morale. However, we used this situation as an opportunity to practice dealing with difficult coworkers, which proved valuable in the end. Such experiences are part of the professional landscape, and I embraced it as a chance to grow.
This project demonstrated the leadership qualities that honestly, I didn’t even realize I had developed myself. This revelation is a great reason why self reflection is so important. Your mental model of who you are can only be accurate through constant introspection updates. If you don’t know who you are you don’t know what you can do.