(Still In Development)
Before unreal engine 4 came out, I spent a year studying unreal engine 3.
With that I also studied Kismet, the engines current visual scripting.
It was not the best looking scripter but it got the job done, as limited as that was.
I learned the logic needed for a scripting mindset which made all work in the future much easier to implement and understand.
The major implementation of kismet was my main two UE3 projects of the year.
Weapon, Ammo and Health pick ups.
As well as this when a team scored X amount, the level changed.
The ground in the main entrance would open up to a volcano and only a scored point from the opposing team would close it again.
Single Player Map
When players started the level and walked into the first corridor, it would trigger an event that would switch off all the lights.
Creating a very closed in horror experience that forces the player to use their flashlight to traverse the map and find a way to switch the restore the power.
Once they reach the basement, they can walk up to the generators and attempt to activate them again with a button press.
This causes a quick cutscene showing that the lights turning on across the level.
Once the cutscene ends enemies spawn in the basement and begin to attack the player.
With some exploration the player will find the admin room but even with the lights on, its main power source is missing and scattered around the prison.
Once all three pieces have been collected and brought to the main computer, it will turn on and give the player a choice between two buttons.
Each button activates a different door, each unlocking a way to escape the prison.
Unreal Engine 4 was released in May that year, just as that academic year had ended.
Leaving me to study UE4 and its tutorials over summer.
The new system is a node-based interface to create gameplay elements from within Unreal Editor
It works about 100x better, looks better too, is far less limiting then its previous system and easier to learn too!
Semester one of the new year tasked us with creating a “temple of trials” or “total wipeout” sort of game.
Create one/ or more levels filled with obstacles for players to overcome to reach the end goal.
You start the game in man made cave system of sorts, with clear instructions on what your goal is and what you can do.
The first objective is jumping over some platforms while avoiding the running chainlink that could knock you into the lava below, killing you and restarting the level.
The player has two active abilities (Shooting and Slow Time)
You can slow time for a maximum of 5 seconds before it ends and a cooldown period beings, the power is visually shown with a particle effect.
Once you cross the room you are faced with three doors, behind each one lies a different kind of obstacle that the player has to overcome.
Two of them were speed based, avoiding deadly obstacles or having perfect timing else death ensues.
The third was abit more different, featuring a floor of trapped tiles.
Choose wisely which you step on or you fall to your death and respawn at the start of the obstacle.
When the player steps on a tile it changes colour (Green for safe and Red for dangerous)
If you step on a red tile you have to act quickly to change tiles as the tile will fall into the fiery abyss beneath.
Completing all three will light the torches and unlock the passage ahead, enabling them to get closer to winning.
When you enter the next room the door locks behind you, the ceiling begins to slowly lower and projectiles are shot at you from the other side of the room.
Dodge the projectiles and quickly jump into the hole in the center of the room, avoiding the spikes at the bottom and landing on the platform.
From there your last task is ahead, walking along a narrow platform and avoiding pendulum axes.
Getting to the other side of the room wins you the game.
Our second semester criteria had alot more freedom now that everyone felt comfortable in the engine.
All it had to have was local multiplayer, pick ups and some win/lose conditions.
Drawing inspiration from great battle arena games like Super Smash bro’s and Samurai Gunn, I decided to make an arena/action game.
When the game starts, the players have to select from four different characters.
There are three different factors that differ with each character: Health, Speed and Attack Range.
For example character one has loads of health and is quite slow but makes up for it by having a large axe as his weapon.
I made five different kinds of pick ups: Health, Ammo. Size, Speed and Time.
When a player collided with any of these pick ups they did not activate automatically, they went into that players inventory ready to be used at a push of a button.
Health would ofcourse give you more health.
Ammo would increase your current ammo amount.
Size would make the character alot bigger and tougher for X seconds.
Speed would greatly increase the players speed for X seconds.
Time slowed down all other characters except the one that used the pick up for X seconds.
There were two types of attacks in the game, melee and ranged.
When a melee attack was initiated it would play an animation and turn on the weapons collision until the end of the animation.
If another player was hit by this collision before the end of the animation, it would mean they were hit in the attack and would take damage.
However if the player hit was also attacking at the time, the attacks cancel each other, throwing each player backwards and taking no damage.
A ranged attack was effectively a missile that was shot forward of the shooting character.
If it hits a character that’s blocking at the time, the missile is deflected.
Otherwise if it hits a character that isn’t blocking, they take damage and the projectile is destroyed.
If players walk behind a wall, the material of the wall turns somewhat opaque to allow the player to be visible at all times.
When a player dies there will be a slight delay, one of four respawn points will be chosen, a particle effect will play and when its done the player will have spawned.
When three players are dead for good, the game will end and the living player will be the winner.
As a level mechanic, some maps will have gated areas.
They can be accessed when all the keys are picked up by any player.
Some levels contain AI that will seek out the nearest player and move to attack them.
This is done via Behavior Trees.
My blueprint duties with Keith consisted of multiple level mechanics throughout the game.
- Win/Lose Condition
My blueprint duties with Keith consisted of multiple level mechanics throughout the game.
- Level Mechanics
- Tournament Game Mode
While I am using the “Advanced Turn Based Tile Toolkit” as a base template for the game, there are many more depths to the game that I am bringing in myself.
- A Tutorial System – Currently covering movement, turns, picking up resources and creating rooms.
- Player Classes – This determines the best playstyle for you, enabling different resources per turn and other class abilities.
- Game Management – Choosing what you start with when the game starts (Units, Resources, Random Weapon, Random Equipment)
- Base – Throughout the game you control a base of operations for your faction. Inside this base you can create and upgrade rooms,.
Different rooms possess different abilities e.g. Farm will increase food resources, Marketplace will allow trading with others.
- HUD Manager – A blueprint manager that deals with all UI functions in the game.
Includes: Spawning UI, Removing UI, Toggle Visibilty and Set UI Position.
- Faction Manager- A blueprint manager that deals with each faction in the game, dynamically.
Controlling the spawn of bases, units, Team, Reputation. etc
- Turn Manager – A blueprint manager that deals with the turn based systems of the game.
Controlling ending faction turn, picking next faction, choosing the next unit. etc
- Missions – UI events that are randomly created when player starts the mission.
For each segment of a mission you are given two choices as what to do.
For example: You have been ambushed, what do you do? Fight or Run
There is a base score you get for the strengths of the unit, and then a randomized value that will be added and then decided if you win or lose that segment of the mission.
If a unit fails a mission they lose some health and their turn ends, but they can still continue the mission next turn if they wish.
If a unit wins a mission, they gain a random resource or random weapon/equipment.
- Resource Pick up – When a unit enters a space that contains a resource they will get either:
A random resource or the resource that appears on the tile.
- Scavenge – When a unit enters a space that contains a scavenge decal, you can perform an action with that unit to scavenge a random resource.
- Underground – You can take a unit and travel to the underground.
In the underground there are plenty more resources but there are also plenty of wandering enemies that just care about attacking the nearest thing they don’t like.
- Customizing Units – There are many things about units that you have control over in one way or another.
(Class, SubClass, Health, Damage, Accuracy, Movement Range, Attack Range, Level)
- Inventory – Each faction (controller) contains a global inventory, with two categories: Weapons and Equipment.
When you go into a units HUD you can access their local inventory and the factions inventory.
Adding items to the units inventory removes it for everyone else.