Wight

wight_title

 

In my 3rd year of university, for our main project, we get to choose what to do, I decided to make a game, it’s what I enjoy doing. I started this by researching independent game developers, the time it took them to create the game and the team size were my main concern, I also noticed that if you have a solid idea from the get go and know exactly how to go about making it, development is considerably shorter and tends to have less problems, this wasn’t that surprising though.

Idea Generation

So my idea generation didn’t go amazingly, I’m not one to design or generate ideas on the spot, they tend come to me over time and grow/change as I make them, this makes writing a detailed report of exactly what I plan to do it and when problematic, this is why my final hand-in won’t quite meet up with my initial brief, this really shouldn’t be an issue though, as long as what I’ve made is of a good standard.

I wasn’t pleased with the ideas I had written down, but I’ve always been limited in my games by animation, my 2D animation skills are passable but I’ve not really tried any 3D animation, so I figured, if I can figure that out, I could make the hack & slash medieval fantasy game I’ve always wanted to. I, like many artists, are inspired by others and their work, I’m a big fan of the Souls series (Demon’s Souls, Dark Souls, Bloodborne), which are infamous for their high difficulty level, but I see this as a misunderstanding on how difficulty works, it’s about feeling rewarded and an easy game won’t give you that satisfaction. That’s not what inspires me about the games though, the lore, albeit incredibly vague and barley noticeable, I find really effective and the combat system is really well designed (if not maybe a little too complicated) and all this together really appeals to me. My other influences are from when I was younger, Soul Reaver and MediEvil, both games funnily enough feature a type of currency in the form of enemy souls, small world. These were probably my favourite games when I was a child and have stayed with me, I sucked at them as well and never properly finished them, funny that… Many Tim Burton films like Nightmare before Christmas have also shaped my desired visual look of the game.

project_ideas

Design

My main focus when designing this game was the combat system, it will be the core gameplay mechanic, and if that doesn’t work properly, the game won’t be very good. I’ve learnt over the years that good design and working tech are very important, but people want instant satisfaction when seeing something new, and good visuals is the only true way of achieving this, so I will also be designing a level for the game to take place in with my own custom assets.

Levelling and Statistics

The currency of the game is called Essence, it will be used to level up the player, purchase items from shops and anything else that requires payment. It is acquired by either defeating enemies, completing quests and picked up from certain locations.

  • Vitality – This defines how much health you have and how you recover from status effects.
  • Endurance – How much stamina you have and how your equipment effects your speed.
  • Strength – Physical power and strength. Required for heavier weapons and armour.
  • Dexterity – Speed & Accuracy. Required for intricate weapons and helps dodging.
  • Intellect – Mystical power and strength. Required to wield magic based weapons and armours.
  • Devotion – Lengthens curse time and effect. Required to use blessed items.

When you begin the game, you can choose from four classes (and maybe a 5th for the indecisive), this won’t decide what you have to be throughout the game, it just defines your initial gear and statistics, you can change route whenever you want.

Combat System

Over the years I’ve always wanted to create an RPG and have spent many hours thinking and designing my perfect set up, now I’ve finally got to put what has been in my head down on paper and do something with it. It’s always been split into four schools of combat, two of them physical and two of them mystical, slightly different from the standard Warrior, Archer & Wizard setup seen in most games.

Brawler – Men-at-arms, Knights and Spearmen

  • Uses Swords, Axes, Warhammers & Spears
  • Wields shields and a range of plated armour
  • Close quarters, limited by reach of weapon

Ranger – Rogues, Hunters and Assassins

  • Uses Bows, Slings & Knives
  • Wears mostly leather but sometimes plate/chainmail
  • Long range attacks

Wizard – Mages, Enchanters and Summoners

  • Uses Fire, Ice & Earth magic
  • Wears robes and  sometimes leather
  • Medium range attacks that cause different effects on the enemy

Zealot – Priests, Clerics and Paladins

  • Uses Blood, Soul & Lightning curses
  • Wears robes and sometimes platemail
  • Short range curses do damage over time, most weapons double up effectively in close quarters.

All physical combat falls into 3 categories

  • Slashing – Swords, Axes, Knives
  • Piercing – Spears, Rapiers, Arrows
  • Crushing – Hammers, Staves, Maces, Rocks

Each could also have there own status effect, like slashing causes bleed, crushing breaks bones and piercing could rupture organs, but this is over complicating things a little.

Mystical damage is similar, but also different as it makes less sense and is more fantastical.

  • Burning – Fire and Blood. Damage over time and Health drain effects respectively.
  • Draining – Earth and Soul. Slows stamina regeneration and Reduces Devotion level respectively.
  • Stunning – Ice and Light. Slows attack speed and Decreases damage output (Both mystical and physical).

Inventory & Equipment

My initial design omits the generic inventory seen in most games as I feel I won’t have time to make it serve any use and believe my system gains something from being simpler. This does mean however, you will only be able to carry a single set of armour around with you at a time, but this shouldn’t be an issue as I plan to create hybrid armour, in case people want to be a mixed class.

equipment_design

For now, I won’t be making anything for legs and arms as time is of the essence. This item set up requires no menus too,which is also a plus, as I don’t enjoy navigating through lots of menus. Each hand hold a weapon and you can also store a single secondary weapon sheathed, for instance, you could have a sword and shield equipped while storing a sheathed book and a sheathed staff, allowing for quick weapon swaps during battle. A button for each body part can be used to swap your current equipment with nearby equipment or holding it down to drop it, same goes with either hand, except pressing it will swap it with your sheathed weapon if no weapon is nearby.

Level Design

I will be leaving the majority of the level building to last as it’s quite time consuming and not 100% required. The environment was initially going to be a gloomy wood covered in snow, but I’m not confident in making a good looking snowy look, plus it isn’t very neutral, so instead it will be a gloomy wood featuring a church and graveyard at the end. Ideally I’d love to make a cave/dungeon but this is only if I get the forest completed, something for the future. Checkpoints will be dotted around the level, these will refill health and carried elixirs as well as serving as a place to level up your character with Essence, these checkpoints will be massive runestones, with glowing runic words imbued into the rock.

The level will feature multiple routes, one route will be easier for physical based players, however the rewards along that path will be mainly mystical, this gives players an option to take an easier route for their build but sacrifice greater rewards. I also really like how levels loop around on themselves in the Souls series, where a shortcut can be unlocked so getting to new locations and back to where you started can be done without long treks back and forth, it’s also really clever when you can see your destination in the distance.

runestone_sreenshot

^ Runestone UI concept.

Enemies & Friendly AI

If time permits, I’d like to have 3 types of enemies and 3 different bosses, but this is likely a pipe dream. Each enemy will be it’s own class, one Brawler, one Ranger and A Wizard, the boss Wizard will be a Zealot, don’t know why, didn’t put too much time into the enemies design.

  • Zombie – The brawling basic enemy will be a zombie, this could come in multiple forms, but to begin with there will be just one type, slow and weak.
  • Wraith – A hooded figure that throws balls of magic, as I said, not much thought.
  • Automaton – A being of metal and wheels, probably magic too. Fires projectiles from it’s cannon arm.

Bosses (Even less thought)    (•-•)

  • Griff – A large winged humanoid with a big bow/crossbow
  • High Priest – Some evil priest.
  • Barbutian – The helmet of a great giant re-purposed as armour for some strange cave dwelling creatures.

Friendly adventurers will be dotted around the world to help the player, giving them small goals and rewards, their dialogue will also help build the lore and story of the game. Each adventurer will have their own unique hybrid weapon/armour, which will be your reward if you finish their quest (amongst other things) or you can try killing them, they will be quite a challenge to defeat and may impact the later game, if I ever make one.

  • Aladonos the Paladin – A loyal subject from the east, he will reward players his blessed mace and open up the ability to purchase paladin platemail.
  • Machiel the Trickster –  A master of dexterity and intellect, he will reward you with an enchanted bow, which gives arrows a random magical effect.
  • Donyel the Battlemage – Engineer behind the Automatons, free him and he’ll give you his precious Wench (Wand + Rench) a perfect combo of Magic and Melee.
  • Oson the Hunter – Killed by the trickster, if you help him get revenge, he’ll give you his Sprife (Rifle Spear, not Spoon-Fork-Knife!).
  • Lucifer the Necromancer – It’s tough being a Necromancer when suddenly the whole world turns soulless and rise from the dead, he swears it wasn’t him.

Hmmm, I don’t know why none of them are female. What is done is done.

Art

For an art style, it’s going to have to be simple, very…let’s call it “stylized”. I love that word, stops people viewing my art as bad, which is kind of is, it’s like computer graphics has evolved, pixel art used to be all that was possible, now people choose to limit themselves and are still appreciated, now it works with 3D visuals you’d expect to see in a Playstation 1 game.

Character Design

My stylized characters will be similar to ray man in that they have no joining limbs, although I didn’t know much about animation at this stage, however I did understand that skinning joints is a pain, a real big one. I made a few models to try and get this style done, but it was quick and rough, I also practised with a texturing style of “kind-looks-like-paper-maybe?” to see if that went anywhere.

wight_players_fix

The character on the left was my prototype, once I had become an animation maestro I decided it was time for a redesign as the old model wouldn’t allow for swapping armour, which is a big part of my design. The new character I made a wight (a human with a decaying soul) instead of a human, the games I’m drawing inspiration from all have you play as an undead creature of the night, and I decided to blatantly steal that idea. HAHAHA.

Animation

Learning how to animate has been both painful and fun at the same time, in fact I now really enjoy animating and made a few good ones, which surprised me. As I wanted to make a hack & slash, I needed some hacking and slashing animations, it’s also one of the few parts of game creation I’m weakest at, although I’m spreading myself quite thinly already, I think the damage is done and I might as well do it all. When I started this, I messed up the rigging process many times, but only after I’d done a few animations, but it all worked out as very handy practise, on top of that I took over animating for another project (Danger Zone) and as I was animating an in proportion human, which was also great practise.

brawler_anim_gif

Above are my final attack animations, the overhead attack is by far my favourite, the reference material was really good, but lets give me some credit too. my biggest issue in engine with animations was root motion, my first successful in engine rig had it’s root set to the pelvis, this isn’t what UE4 wants, it wants the root at (0,0,0), this makes sense from a tech stand point, but from a lazy me who finally got his rig working, it annoyed me so. This is mainly as I had no idea how to add a root bone without messing stuff up, luckily I stumbled upon it by accident during a games jam, once that was sorted, I could finally start getting gritty with the tech side of my game, but still gotta talk about the other art stuff, sorry.

Enemies

So I tried my hardest to finish all the enemies, but it was a tall order I’d given myself, so we’re going to have to settle for half finished and barley started  (•~•)

wight_enemies_fix

boss_inc_2

Equipment

Something that amazes me still, is when I see interchangeable armour on a game, and all the armour deforms pretty much perfectly with the character, I’m sure there is a trick someone hasn’t told me, whether it’s skinning all the armour components or maybe a neat engine trick, I don’t know, fortunately by simplifying my different pieces of armour, I didn’t have to worry about it, although it doesn’t look quite as good.

Equipment_classes

Environment

Over the development of this project I’ve made the odd static mesh here and there, none of them are at a finished or professional stage, but I’d also say it’s a lot better than standard programmer art. I’ve done this as having a well functioning game is one thing, but getting people to pay attention to it, you’re going to need nice visuals, people find it easier to appreciate visuals, it doesn’t require an understanding of the complexities of game development.wight_SSS_2-5

I had to make a graveyard, my zombie enemies had to come from somewhere. Plus they’re spooky.

enviro_1

This area is suppose to be the first boss encounter, eventually I will add the boss, until then, I guess all I can do is appreciate the view.

enviro_2

The church was also a planned boss room, the High Priest you find in there would send you on a quest into the catacombs of the church, which is has recently filled with vile creatures. Eventually in the catacombs you’d stumble upon Barbutian, the second boss and on defeating him, discover the High Priest is behind the dead rising. All very cliché. I really wanted to finish the church model, I spent quite a while on it.

Tech

So to the technical bit… I started prototyping back in December, I feel I should have started sooner, but at the same time, a lot of what I needed to do wasn’t exactly possible in earlier versions of UE4, so really… I needed more time, but doesn’t everyone? My prototype was to explore whether I could get my own animated character in a game environment and swing a sword, once that was done, the rest of the game didn’t seem like so much of a challenge, I was wrong though. Unfortunately my project corrupted in late January and it took me a while to figure out why, but there was no repairing it any time soon, being as the framework I was currently working on was very slapdash and I believed it wouldn’t take long to recreate it, I started again once 4.7 was released, a much more stable build.

I changed a lot of other things at this point too, the character and his animations as well as a few static meshes and the overall feel of the level. I had previously envisioned this nice snowy forest, but it was a pain to make, so I settled for gloomy forest instead, which was definitely for the best.

Animation

The first thing to re-implement was my animation tree and character set up, I’d had a lot of practise with setting these up and now that root motion now worked in a way where I wouldn’t have to make an animation montage for everything that moved, it was real easy going.

animTree_wight

This isn’t completely finished yet, I still need to add an enemy lock on function, this changes how the character moves, requiring a side step animation and a back peddle, but for now I had to leave this out due to time. There’s also a lot going on in the event graph as I have set up a bunch of animation notifies that are triggered at certain times in each animation, some queue up combo attacks and others fire functions inside the player character to tell them that they’ve either finished rolling or healing etc. note: although not obvious, the “Idle” state is a blend space which handles locomotion, going from an idle to walk to run based on character speed.

I made an animation tree for the Zombies and Automatons too, but they are considerably simpler than the above as all they really do is move and attack.

Player Character

The player character is by far my most complicated class, it holds all the data of the player and a bunch of different functions that handle how equipment is handled. I’m quite proud of how my equipment system works, everything is all very visible in game and requires no user interfaces. When you approach an item, it will light up, signifying you are in range to equip it, pressing the relative button (each hand and armour slot has a button) will equip it to you, if you have something already equipped, it will drop your current item or move it to a free spot if you have one available. When attacking the variable stored in the “Weapons” array will under go a few tests, if it happens to be a brawler weapon, activate it’s collision and begin swinging, if it’s anything else, you need to test whether you have the required ammo for that weapon before firing and then if you do, fire the “Spawn Projectile” function of the equipped weapon.

character_blueprint

The skeletal mesh of the character had to be fitted with many sockets so that equipment and weapons would attach to the correct locations and stay there when the character when through all it’s different animations. All the weapons and gear are sorted through a single parent, this class holds all the functions and default variables, like damage, speed and type to just name a few.

weapon_function

AI & Behaviour Trees

As I mentioned earlier, I decided to leave AI to last, this is because a functioning character with interchangeable armour and weapons was my main focus. Because of this my AI suffered, it works and is good enough to show case my combat system, but with more intelligent AI comes a better game. Learning behaviour trees was new to me and I now feel I’ve got the basics down and adding new behaviours won’t be a massive challenge.

enemy_BT

 

This current set up still has a few floors, for instance, when the enemy is killed during a RapidMoveTo task, the death animation plays but doesn’t abort the current task, turning it into a zombie-land-shark, something I’ve sloppily fixed, but a greater knowledge of how behaviour trees work should clear this issue up.

Menus & UI

This is maybe more art than tech, but implementing them isn’t the smoothest thing to do, it also involves setting up a main game loop and saving and loading data.

Menu_screens_blog

 

I’m a big fan of simple menus, I feel that over complicated menus can be quite daunting when you first turn on a game, as a player, you want to get into the game as quick as possible and spending too much time in menus can be a drag. The main menu will be in the game, but the character select menu might not make it, it is yet to finish being designed, so implementation isn’t happening any time soon.

The HUD is half implemented, but the equipment and weapons you currently have equipped are not of major importance as you can see them all on your character, a toggle to be able to see their stats and requirements is something that I should have spent more time on however.

Particle Systems

I’ve recently learnt how to create snazzy particle effects inside of cascade, it’s been quite fun but I have found my knowledge of all the different nodes quite limiting. I’ve created a bunch of effects for the magic curse attacks and a bunch of miscellaneous effects, like stars, essence orbs and a cool runestone activation effect. Fortunately as my art style is so very simple, I got away with using basic shapes for my particles, it’s amazing how much of a difference particle effects make to the overall look of a level.