Game-Development-Project

For the past 3 months I have developed a third person moba that encapsolates some of the progress I have made over the past 2 years of game design and development. This repo is the home of updates and progression on the project.


Project maintained by MasonG27 Hosted on GitHub Pages — Theme by mattgraham

Project Showcase

Invicta!

Mason Gossy

Introduction

My project is broken up into 2 major parts, documentation and visual coding(scripting/blueprints) both played their own unique role in the development process of this project.

Inspiration for this project was driven from Epic Games MOBA(multiplayer online battle arena) game Paragon, which was shut down for financial reasons and in doing so they also released all the assets for free on their game engine, Unreal. These assets are a perfect template for young game developers with limited skills because they provide all the triple A potential, you just need to figure out how to put the pieces(code) back together for things to function properly.

When it came to preparation I knew documentation was going to keep my project organized. Documentation is well practiced in the game industry, and I found that timelines, game design documents and developer notes are the three most important documents to keep track of.

Month 1 - Map and Environment Design

Although I spent about 25% of development time on environment design, I believe it was a good idea because it allowed me to show my potential as an environment artist. Additionally, it shows professional design techniques since each lane, jungle path and camp had to be strategically placed in order to make sure each side was evenly matched. This was achieved by countless play testing, measuring and timing.

Having a lot of experience from playing this type of game gave me a great stepping stone in designing the map. MOBAS traditionally have 2 bases that each have 5 players start in. The objective is to destroy the opponents base core, each base is separated by 3 lanes and a jungle. Giving each character roles to take part in throughout the match. The five roles are Mid, Jungle, Solo, as well as the ADC(all damage carry) and Support, which play together in their designated lane.

Month 2 - Combat System and Character Stats

About a month into the project I began exploring different ways of starting a combat system. I ended up settling on a tag system for detection and overlap collision for damage.

The great thing about this combat system is the tagging allows for you to easily do damage to multiple enemies by just adding a tag to them. A great example is the turrets, all I had to do was give them a health variable and tag them as an enemy and boom, they are able to take damage from the player. The reason this is important is it saves so much time instead of reimplementing the same blueprint and having to adjust different variables.

Once I got my basic damage system setup it was time to design and add functionality to an enemy. I started with the red buff camp, MOBAS have small areas in the jungle called camps which have monsters that help your character gain experience and gold when killed.

After I had the AI working in a decent state I decided to start adding stats such as health, mana, xp and gold systems. All of these functions were sent to the player through notifiers once the action occurred to the enemy.

Month 3 - Turrets and Lane Minions

This last month I spent time getting turrets working to detect the player in range as well as fire a projectile. In addition I started but have not finished a blueprint system that has minions go through a series of checkpoints to reach the middle lane and fight each other once detecting the other.

The last thing I have worked on for this project was getting minions to travel properly in the lane and fight one another once they overlapped at a certain distance.

Closing Thoughts

Documentation, Development, Production

This project was an amazing experience to learn and prepare my portfolio for the game industry. I believe I achieved a great deal of learning when it came to documentation and development and now I just need to keep on working on it after graduation in order to achieve some production experience!