Projects - Jamman65/Personal-Portfolio GitHub Wiki

Personal Project (Knights & Nightmares)

I have developed my own solo project where I have challenged myself to test and prove my skills within Unity using C# to implement and develop features such as:

  • Reactive AI Systems (State Machines)
  • Combat Systems
  • Inventory System
  • HUD
  • Weapons with multiple attack styles and fully equipped with animations to match the specific weapon
  • Fully animated player and enemy models
  • Equipment with defence bonuses
  • Challenging gameplay for each player
  • Levelling Up System to increase player stats
  • Challenging Boss battle with two phases

The main aim of this project was to create a game that provides players with a challenging experience throughout the game while also being fair to the player.

Throughout this project, I have made sure to plan out my project in separate sprints using my project management skills in order for the final product to contain all of the necessary features listed above. This included planning out each task with a specified deadline to monitor the success of the project and after each sprint I tested the current features within a prototype to ensure all of the outlined requirements were being met.

I have developed and implemented a fully functioning state machine for the enemies which allows them to react to the player's actions within the game. This consists of an Ambush state where the enemy will wake up and ambush the player when they are close, then transition to their pursue state where they chase the player until they are in attack range which then instructs the enemy to transition to the attack state and perform an attack on the player. Some of the enemies within the game have states where they can dodge the player's attacks, block attacks, parry attacks and backstab the player, all of these are calculated based on a random chance of probability whether the enemy will perform their specific action (Dodge, Parry, Block).

All of the scripts that I have developed for this project can be found here: Personal Project Files

Personal Project Screenshots

Screenshot_26

Screenshot_27

Screenshot_13

Screenshot_14

Screenshot_32

Screenshot_33

Screenshot_35

Screenshot_15

Screenshot_29

Screenshot_30

Screenshot_31

Personal Project Plan

Below is a screenshot of the project plan that I created for Knights & Nightmares which planned out all of the tasks that needed to be completed in separate sprints to ensure there was enough time for all of the required features to be developed by the deadline. Throughout this project, I have tested all of the features and functionality to make sure that they all function as intended and are developed to a good standard. Each Sprint was completed on time before the deadline with no major bugs occurring throughout the project. All of the tasks were completed in an order of priority where I made sure to prioritise the key features first such as the advanced combat system and AI over other low-priority features otherwise the project could have fallen behind on time management.

Screenshot_26

Team Project

I have led a successful team project where the goal was to create a 2D platformer with five different levels. My role in the team was Project Manager and this involved creating the agile plan for the project, planning out the duration of each sprint/tasks in the project, and monitoring all the other team members to ensure that tasks were completed on time and meet the standards set out by the client. During the project, there were regular meetings with the client to make sure the features that were being developed met the requirements and if the client was satisfied with the project at its current point while suggesting any improvements or changes.

I also was in charge of programming all of the features and mechanics within the game such as:

  • Scripting using C# to implement and develop a movement system for the player
  • Inventory System
  • Enemies
  • Items
  • Player movement
  • Various Player attacks and animations
  • Level Progression
  • A final boss fight at the end of the game.

Since I was in charge of developing all the scripts for the game I had to make sure all the functionality and features that the client had requested from our team were working as intended. This required a lot of thorough testing to ensure there were no major bugs within the game before the deadline. Developing and implementing this game within our team helped me gain a lot of valuable experience from great teamwork to agile project management and overall enhancing my game development skills.

Team Project Screenshots

Screenshot_9Screenshot_10

Screenshot_11

Project Management

Within all of my successful projects, I made sure to precisely plan out all of the tasks and milestones that needed to be completed within a specific timeframe depending on the deadline set out by the client. I planned out all of the tasks using the agile methodology which involves creating a list of sprints that include all of the tasks to develop all of the required features within my projects.

After each sprint, I would make sure to meet with the client to show them a prototype of the project to ensure that they are satisfied with how the project is progressing and if they have any improvements or changes. All of these tasks are categorised in terms of priority based on the requirements of the project and high-priority tasks would always be completed first to ensure the project meets the predefined deadline.

Creating projects using this methodology has vastly increased my efficiency, time management and leadership skills since all of the tasks can be monitored and any task can be changed at any point within the project depending on the time capacity.