The previous week was an exciting one for all of us at Project Gamechanger because not only was a lot of progress made in all departments, it was also the week that we introduced a new player character into Depths of Erendorn, along with 15 new class abilities. If you’d like to learn more about that then jump to the Server section of this devlog. Otherwise, let’s get started with how the environment is shaping up.
Environment
A lot has been happening with the environment over the past week. Our artist has temporarily begun moving away from crystal clusters and glowing mushrooms in order to work on a few different assets that will continue to develop the landscape of Depths of Erendorn.
Among these assets are a set of modular and natural bridge pieces, which were created over the last few days. The bridge pieces were then refined so that they blended more effectively into the existing environment. The modular set of bridge pieces was also expanded to allow for bridges larger than one tile to be created. Blockouts were then made for a set of modular pieces that will become a wooden, man-made bridge. There were quite a few blockouts made over the last week for a range of environmental pieces. Blockouts were made for:
- A barrel
- A campfire
- A treasure chest
- A pile of scattered bones
Our 3D environment artist also experimented with fog settings and different skyboxes in the engine, as well as investigating lighting issues. While the cause of these lighting issues is still unknown, the process did help our artist gain a better understanding of how the lighting behaves in certain areas of the game. This shows how game development is a “learn-by-doing” industry as it can often teach you new things without you even seeking them out.
Finally, while our artist thought he had escaped the clutches of the crystal clusters and glowing mushrooms, there were a few tweaks he needed to make to them:
- The sizes of the mushroom clusters have been adjusted to be smaller since they were previously larger than the Giant Rat enemy
- Smaller sets of crystal clusters were also created so that they can be used to line certain walls and so that they can also be placed on the floor
A scene for the Marketing Department was also rendered by our environment artist last week. It showed an Ogre chowing down on some turkey in honour of Thanksgiving.
Animation
Our 3D animator has done a lot of work for our catalogue of Marketing images and renders. The animation of our Blue Melmee waving was finalised for Hello Day last week. The scene of the Ogre eating turkey was also posed and created by our animator before being sent to our environment artist for rendering. The Ogre was also posed in a kilt in honour of St. Andrews day this week - so if you’re eager to see how that one looks, make sure you follow us on social media!
As usual, a lot of focus was placed on the rigging and skinning weights of Erendorn’s characters so that their movements in the game are as realistic as possible:
- The rig for the Zombie was updated because the scapula bone had previously been put in the wrong place.
- The skin weights of all the enemies, from the Giant Rat and Snake to the Human Bandit Outlaw, were reviewed and refined.
The Project Gamechanger animator also had to import a previous, idle animation of the Twilight Elf Assassin in order to test a few updates that were made. These updates were mainly changes to the rig, mesh and skin weight:
- Rig: the previous rig had more bones than normal, so this was changed.
- Mesh: this had to be split into pieces so that the upgraded items had the option to be hidden. It also made the skinning process a lot easier when the mesh was split.
- Skin Weights: these were adjusted to match the previous upgrades made to the rig and mesh of the Twilight Elf Assassin.
Towards the end of last week, our 3D Animator & Artist also began exploring some poses for the Zombie idle before starting work on the idle animation for it, which should be finalised next week - so watch this space.
Server
A lot of fixes, changes and new additions have been made to the server in the last week, including a new player character and 15 new class abilities. But in order for these new abilities to be added, our Systems Administrator & Game Developer had to first create several new ability building blocks.
Ability Building Blocks
As we mentioned in the November Week #2 devlog, ability building blocks are small pieces of script that are designed to work with each other so that we can create and edit various abilities. Since we added a new player character this week, we had to create 3 new ability building blocks so that we could implement this new character’s set of skills:
- Add Stat Percentage to Counter: This ability block calculates the percentage of one stat compared to another. The result is stored in memory for use in other blocks. This block will calculate either the percent or the missing percent dependant on input.
- Store Entities in Range: This allows an ability to store entities within the input range in the game’s memory for use in other blocks.
- Reduce Ability Cooldown: This enables an ability to affect its own and other ability cooldowns.
There were a few bugs that were also fixed in the following ability building blocks:
- Set Counter by Division: An issue was fixed where the value wasn’t being calculated correctly because the input wasn't being read correctly.
- Reduce Costs: Fixed an issue where the spell would become free instead of having a reduced cost.
15 New Abilities
An Earthen Dwarf was added as a new player character last week, and this required us to add 15 new class abilities to go along with it. In Erendorn, Earthen Dwarves are from an underground mining civilisation and have a lot of advantages in the game. They not only possess great strength, but also otherworldly powers that manipulate gravitational and magnetic energy. The new class abilities we added to the server reflect these attributes of the Earthen Dwarf:
- Inner Grit: Every time an Earthen Dwarf enters a room, it gains 1 Inner Grit. This can be used to spend as a resource on certain class abilities.
- Shattering Blow: This reduces 1 Resilience from any adjacent enemy the Earthen Dwarf chooses. Their Resilience stays reduced for 20 turns and deals 10 Physical Damage. It costs 1 Inner grit to use this ability.
- Magnetic Blood: This disarms any enemy that is in the same room as the Earthen Dwarf. It restores 3 Health and there is a 5 turn cooldown (CD), which refers to the number of turns a player must take before an ability can be used again.
- Ancient Hammer: This deals 4 Arcane Damage, ignoring Resilience and Armour. This means that it deals damage whilst simultaneously protecting you from damage. Ancient Hammer can also stun an enemy within a 3 tile range and has a 4 turn CD.
- Earthen Attunement: This ability gains you Earth Resistance +1, reducing the amount of damage a player takes in a turn.
- Earthen Rage: This is an ability that allows a player to gain +1 Strength for every 10% of maximum health that the Earthen Dwarf is missing. This has a 3 turn CD.
- Hammerfall: A full force dive into the air from up to 4 tiles away. When a player lands after using the Hammerfall ability, the impact deals a 6 - 8 Physical Splash Damage all around the Earthen Dwarf. This has a 4 turn CD.
- Precise Strike: This is an accurate strike that targets the weak parts of whichever enemy the Earthen Dwarf is fighting. Precise Strike deals 6 Physical Damage and will reduce the enemy’s movements by 2 for 2 turns. It also has a 25% chance to Stun an enemy for 1 turn, and has a 2 turn CD.
- One with the Earth: This ability restores 4 Health and allows you to gain an extra Inner Grit per room.
- Juggernaut: With this ability, for every enemy that dies per enemy spawn, the player is given a 25% chance to gain +1 Strength. When this happens, their character also grows in size. You can only gain a maximum of +3 Strength, meaning that the amount of strength a player can gain from this ability is limited. This bonus is also lost once all enemies have been defeated.
- Earthquake: This ability can only be used if the Earthen Dwarf has not yet moved during its turn. If the player has already moved in their turn before attempting to cast Earthquake, then it will no longer work. This ability deals 4 Earth Damage, ignoring Resilience and Armour to all enemies within a 3 tile radius. Earthquake has a 6 turn CD.
- Smite: This deals 5 Air Damage, ignoring Resilience and Armour, and the enemy loses 50 Current and Maximum Energy. It costs 10 Energy, works within a 2 tile range and has a 3 turn CD.
- Stone Blood: As the name suggests, this ability temporarily turns an enemy’s blood to stone. They lose 4 Health during this turn, which will be healed back by the next turn if they are still alive. Stone Blood costs 20 Energy and has a 1 turn CD.
- Shoulder Barge: A player can use this to charge into a tile that is up to 3 tiles away. If an enemy is in front of this tile, Shoulder Barge deals 8 Physical Damage and has a 30% chance of stunning a 1 tile enemy. It costs 10 Energy and has a 2 turn CD.
- Thorns Aura: This ability allows all adventurers, i.e. players, to reflect 5 Physical Damage back to an enemy for every normal attack they are dealt whilst active. The effect of this ability lasts 2 turns. It costs 35 Energy and has an 8 turn CD.
Changes to Existing Abilities
We are constantly looking back on the functionality and overall gameplay of Depths of Erendorn. We do this to ensure that everything not only works properly, but is also as balanced as it can be. For this reason, there were 5 existing abilities that underwent some changes on the server last week:
- Birds of Prey: This ability now deals 6 Physical Damage each turn and its effects last for 5 turns. Each target can only have one Bird of Prey spell debuffed on them at one time per caster. This ability also has a 4 turn CD.
- Poison: This is used to poison an enemy. Once used, an enemy experiences 2 Nature Damage, ignoring Resilience and Armour. This happens every turn they take and lasts for up to 4 turns. Poison can only be used once per turn and cannot be stacked.
- Starblast: This can only be used when there are 4 enemies or less remaining in a room. It deals 4 - 8 Arcane Damage to all enemies ignoring Resilience and Armour.
- Lifeblood: This heals for 2 Health every turn for 3 turns. It also restores 7 Mana on the third turn. Lifeblood can only be cast on the self and it has a 4 turn CD.
- Black Hole: This is an interesting ability that creates a 4x4 area that deals 4 - 5 Arcane Damage. It also gives each 1 tile enemy a 30% chance of getting stunned and has a 5 turn CD.
We also renamed an ability that was originally called Lunge to Leaping Strike. We did this because the new name gave a better reflection of the ability’s functionality.
Game Client
A lot of changes have been made to the game client in the past week, starting with the cursor. The mouse position of the hardware cursor can now be manipulated. This means that, during rotation, the cursor won’t be locked in the middle of the screen anymore. Instead, it will remain where the player left it.
There were also several assets in the game that needed to have some changes made to them in the game client so that they spawned and appeared correctly.
Glowing Mushrooms
There were issues with these assets that meant they spawned on bridges and only in the middle of tiles. We thought that this made them seem a bit unnatural so a few tweaks were made:
- Mushrooms no longer spawn on bridges
- They do not only spawn in the middle of tiles, but instead can also have a small, random effect
Doors
New doors were added into the game in the past week. Because of this, a few changes had to made to the game client so that these new doors were implemented correctly:
- A new door spawning system was created because, unlike the old doors, the new doors don’t have any beginning or end pieces
- Doors are now placed in the middle of the row/column of the door tiles
Lighting
- Spawned crystals now have a random animation start time so that they no longer have a synchronised pulsating light
- The light range of the crystals was reduced to make it less intense
- A particle system was made for the creation of ethereal, floating lights. These additions can provide extra lighting in the dungeons without breaking the game
Bridges
Our second game developer worked with our 3D environment artist to add a version of the rocky and wooden bridges to the game client. They also implemented a new bridge spawning system as well as a particle system for the new doors being added, which should make them easier recognise. Contrary to the doors, the new bridges do have beginning, end and middle pieces so they are easier implement.
Fixes to the Game Client
In order to successfully make all of these changes to the game client, some fixes had to be made as well, and there were several fixes that were carried out last week.
The first issue was that, due to the new lighting in the game, selected tiles were dark and not clearly visible. Our game developer added functionality to the tile shader to allow tiles to emit light in a given colour when necessary. This functionality resolved the problem, but there are always small issues that crop up when developing a game:
- We fixed an issue that was causing the mushrooms to spawn in the wrong positions
- We fixed a typo in a piece of code that related to some door rotations and caused them to appear flipped
- We fixed a problem where the wrong prefab and wrong rotation would be chosen for a wall tile adjacent to a door tile
- We fixed a problem where the cursor would be stuck in melee mode after killing an enemy, causing it to continue hovering over said enemy
Our second game developer also made several changes to the game client:
- Ability icons were added for the 15 new abilities
- The model and textures for the Earthen Dwarf character were added in
- A prefab was created for the Earthen Dwarf
- An event notification was added for when a room event triggers
We also identified and fixed a bug in the Character Selection that was causing the incorrect ID to be sent to the server when creating a new character. Another potential fix was issued to resolve a problem where a controller was stopping game changes from being processed.
You can probably tell by the length of this week’s devlog that the team at Project Gamechanger had some pretty busy days last week. But every second is worth it as we get closer and closer to completing Depths of Erendorn.