Eternal Championship - 2D platform fighting game
Developed 2022/23 @ Falmouth University
Eternal Championship - 2D platform fighting game
Developed 2022/23 @ Falmouth University
The actual game and relevant information can be found at this Itch.io webpage
Eternal Championship is a class-based platform fighter, where 2-4 combatants compete in a series of chaotic deathmatches.
In teams or free-for-all, battle in unique environments that change the rules of engagement, wreaking havoc on the battlefield.
Eternal championship was my 3rd year group project as a part of the BSc Computing for Games course.
There were five core team members: 2 designers, 2 artists and myself as the programmer. When I joined the team the two designers had already created the idea and started work on the characters and map, as such I was assigned to create the main menu, character selection screen, map selection screen. Other contributions included; balancing, design, story/lore and UX.
Main Menu:
The main menu is the first thing the player see's. It was responsible for navigating the player to start the core game but also allow the player to change settings and access the lore section which told the players about each character and their weapon as well as each map available. I was responsible for the programming and partial design of the main menu, however I was not involved with the art used.
The main menu needed the following options:
Title screen - This is the first screen and just had a "click anywhere to continue" as well as an image from the game with the games title.
Start - This is the first of 4 button's highlighted and once pressed transferred the player to the next scene 'Character Selection'.
Options:
Settings - This has two options for the player to choose; Resolution, Full Screen Toggle. Due to the nature of the game more options where not needed.
Audio - This has audio sliders for different parts of the game's audio. I was only responsible for finding audio and making the menu, the designer that implemented the audio onto the characters was the one who implemented the functionality to alter the sound volumes.
Lore:
Character - Within this section all the characters were lined up. Each was interactable, opening up a screen with that character's background information and with a button to swap/show the characters weapons.
Map - Within this section was a selection of the maps, that once clicked, opened a screen that showed the background detail and context for the map.
Quit - The final option on the list. Once selected, this opened a screen which if confirmed, quitted the game.
Lore Compendium:
As someone who creates fantasy novels as a hobby, I was assigned to create the lore and background for the game and each of its characters. As of when I finished university there where 7 playable characters with 1 unique character. I created a backstory for each of the characters that explained a little about them, why they are fighting or how they got their abilities. Each of the characters similarly had a weapon or symbolic item that either gave them powers, was used by them or in some way is involved in how they fight.
I had mostly free reign of what the the back story for each character could be, however,and I was asked to try mix in some comedy and limit the length so it wasn't cumbersome to read. Overall I was pleased with the how the lore turned out and received a hefty amount of positive feedback from the team, lecturers, players and industry veterans that visited the games booth at the university's event.
When it came to the maps, I was given a free rein. As there were no other sections or character dialogue, it was the only section to talk about the world itself. I wanted to portray a story unfolding and reason behind each map. I didn't want the maps to feel random and out of place, so I made the maps flow from one to the other.
The players where not forced to play maps in a certain order, so i couldn't have them be time relevant but by creating a shady underground fighting organization as the main narrative, I could connect each map to each other without making it seem as if players must fight and read them in a certain order. This narrative enabled me to briefly expand on the world within the constraints.
Below is an image carousel can be found which will have all the characters and their weapons lore, as well as the maps lore.
Character Select:
The character select is a major part of the game and I was responsible for ensuring players could traverse the range of characters available, find descriptions for each character and then easily start the game. Within the character selection screen I was responsible for the following features:
Create a cursor for controller users - Since the game was made for both controller and mouse/keyboard, I needed to be able to detect the input device so I could create a cursor for the controller users.
Selecting the characters - Since there where 8 options, the players needed to be able to use the mouse or controller cursor to select their character, have the corresponding colored icon appear on that characters image, and then spawn in the character in the testing zone that was added to the selection screen.
Testing zone - A unique feature of this games selection screen was the ability to play and test out the characters before the match started without any cumbersome tutorial. As such the system needed to have a smooth flow of selecting the character > spawn in the character > move to the game level.
Assigning devices- Since the system was useable with 2 input devices, the system was made so that the player could actively swap between controller/cursor to Mouse/keyboard. This made it hard to keep tract of the inputs the system can have, with a common issue at the start of development being the crossing of wires so to speak. As such I was responsible for assigning the correct device's to the correct characters and cursors.
Player Card- On the side of the character selection area, there was 2 spaces to hold 2 icons each. When a player joined the game a colored icon would appear and that player hovers or selects a character the icon changes. Not only was this feature for visually portraying who is playing what character for what colored team, but it had a secondary feature of an optional button to press which would swap the icon to an information screen showing that selected characters moves.
Modularity of adding characters - A big thing with this system was the ability to add and remove characters seamlessly as there where a lot of characters planned. To do this I created a scriptable object with certain parameter's such as the name, icon, shape; which the designers could use to simply create a new character icon, drag it in and then it be added to the list with functionality mostly complete.
(Unfortunately as i used the universities GIT hub account I do not have a repository with the code and can only show it off through images.)
Map Selection:
After the players have selected their characters and ready up they are moved to a map selection screen where they must vote on which map to play. There where 7 options including a random and the system has to work so it can allow for split votes, tied votes and be modular for between 2 - 4 players. I was the one that programmed pretty much all the functionality of this menu.
To make it easier for the designers i also added a step-by-step in the groups discord channel so they knew how to simply and easily add new maps and alter sprites.
Medals:
Since the game doesn't have an achievement system, we instead created a medal system. When players fight in game, they can gain medals for doing certain actions such as getting a super kill or killing someone by dropping a box on their head. Once the round was over the medals would appear with different rarities which players could use to visually see if they achieved anything cool.
This system was created in collaboration with a designer, where I was in charge of making the base medal system. The system I made was in charge of making an easy and seamless process of creating a new medal, adding its name, weight value, icon and rarity and have it pop up on screen and saved once achieved. To do this I just used a scriptable object with various parameters that allowed for the designer to easily create and call for its activation when it was wanted.
I also made a step-by-step guide in the group's discord channel on how to simply create new medals and what to do, which the designers used to add the medals simply and easily into the game.
Design and Balancing:
Since the game is a 2D class based platform fighter, there was a dire need for a good balance between each of the maps and characters. Although the 2 designers made all the characters and maps, I was heavily involved with brain storming and coming up with solutions to issues that arose. A good example of this would be at around half way in the development of the game.
At that point we had 4 characters each having a basic attack and an ultimate/super ability that charged over time. During play testing, we noticed one of the characters, the dark librarian, who was a summoner was vastly underpowered, compared to the other three. We didn't want to give up on a summoning type class so instead I pitched the idea of adding a third ability. A secondary move that will support a character's basic move that was more cooldown oriented than the spamable basic or charge required ultimate.
For each of the characters, I pitched an idea of what the said secondary ability could be and presented my case as to why I and how i think this feature would improve the game and fix issues that where appearing during playtests. The other team members liked the idea and upon implementation it fixed the issue with that specific character and also vastly improved the depth of the combat. Now this feature isn't unique to our game, many do it and it may have been a natural evolution at some point, even without me pitching it... however it was challenging to achieve as the team had been pretty adamant at sticking to just the basic and super, as it was how they designed it before I joined.
Sound Effects:
Towards the later stages of development I had finished and mostly polished my sections of the game, as such I was assigned to finding sound effects for the designers to use. Since we had 7 characters, 6 maps and power up's, there was a large amount of sound effects needed. Although I didn't create any of them, I spent a vast amount of time looking through various royalty free libraries, finding sound effects that fitted our needs as well as they could without having to edit them.