November Devlog: Week #2
For our game development team, this week has been all about refining environments, animations and the game client. We’ll also be giving you a look into what our soundtrack composer has been getting up to. A lot of progress has been made and we’re excited to share with you how Depths of Erendorn is developing.
This week, our 3D environment artist has focussed on creating a crystal cluster set that will be used in several of the dungeon rooms. Last week’s experimentations with blockouts led to the decision of refining the sculpting of these crystals so that they can add an extra source of ambient lighting as well as a more dynamic appearance to the dungeons.
The blockouts of the crystals our artist did last week were particularly helpful in achieving this week’s progress. Blockouts give a clear idea of the scale and silhouette of the model being used. Since Depths of Erendorn is procedurally generated, it is important to use blockouts before working on the final render because it means we can ensure that the assets fit within certain tile sizes.
The blockouts from last week allowed our artist to quickly experiment with how big the crystal clusters needed to be, and they were then able to use this knowledge when creating the final models for the environment this week.
The animation of some of the enemies in Erendorn has also continued into this week with our 3D animator focussing on the rigging and skinning weights of several models. In particular, the Swamp Rat and Giant Rat have had a lot of work carried out on their skinning weights, adding to the overall realism of their animation.
It wasn’t just the rats of Erendorn that benefited from rigging and skinning weights this week. Several other models have also been worked on in this way, allowing us to obtain realistic character movement. The rigging and skinning was also carried out on:
- The Skeleton
- The Zombie
- The Human Bandit
- The Human Bandit Outlaw
Our animator did run into a few problems in the rigging process of the Human Bandit and Human Bandit Outlaw models. However, this process is prone to issues and she was soon able to properly set up the rig without any more problems occurring.
It’s been a busy week on the server front with many adjustments being made to improve the finer details of the gameplay. First of all, our games developer and systems administrator identified several bugs with the server this week that were interfering with some aspects of the game’s functions:
- A bug that caused some players to spawn on the wrong side of a room when transitioning between rooms has now been fixed by resetting the positions chosen by players after they transition to the next room.
- There was an issue where action triggers were not being removed correctly. This was also amended by our games developer so that they function properly.
- A movement trigger had a bug that prevented the OnStep trigger from being fired. This was resolved so that the effects, i.e. functional parts of an ability are triggered correctly.
- When affected by certain abilities or attacks, an entity’s armour can decrease. This week, we noticed that bonus damage was being dealt as the armour would decrease into minus figures. This issue was amended so that 0 is now the lowest number that armour can come down to.
Changes to Abilities
There were also some minor issues that cropped up relating to how abilities functioned and appeared in the game:
- Some abilities in the game require a player to choose both an entity to target and a tile. There was a bug found in this ability targeting function that meant the minimum and maximum targets were being counted incorrectly. This issue was also fixed this week.
- There were some balance issues with certain abilities that were resolved by balancing the amount of damage caused by some abilities.
- The descriptions of some of the abilities had errors in their text. These were corrected so that the right information was displayed.
- An ability called Counter, which is a generic skill, was being removed when a player was attacked by an archer at range. This function was amended so that it now only triggers on a melee attack.
- Before this week, there was nothing in place to check whether abilities were being cast on friendlies or on enemies. These checks have now been implemented, meaning that it should not be possible to hurt or attack friendlies in the game.
Two New Abilities
Improvements were also made to the Ability Editor, a development tool that is used to create and edit various abilities. This works by making abilities out of blocks where the input is controlled by database entries. A few more ability building blocks were implemented this week. These are small scripts that are designed to work with each other. While each one provides a small bit of functionality, when they are used together they can achieve a lot of different results.
There were two main ability building blocks that were implemented this week:
- One of the blocks stores the tile in a certain direction, determined by input data. The tile is also stored in memory so that it can be used in other ability blocks.
- Another block that was implemented this week checks whether the path between an entity and a tile is clear.
Three more ability building blocks will be tested and used next week when our games developer dedicates his time to working on specific dungeon events. Finally, two more abilities were implemented into the server this week. While they are only Generic Skills, we are excited about the choices they will give players:
- Charge: This ability allows the player to charge into a tile that is within a 2-4 tile range of themselves. When they do this, they can cause damage to the entity in front of the tile as well reduce its movement.
- Lunge: This will allow a player to leap to a given tile and cause damage to an adjacent enemy.
There were several changes that had to be made to the game client this week. A lot of these alterations were implemented in order to improve the overall gameplay as well as to ensure that it is as easy to navigate and understand as possible. Some of the changes this week include:
- The text for the intuition system was changed from “your intuition tells you…” to “this room contains…” This was done because the system tells the player exactly what is inside the room, meaning that there is not a need for intuition.
- A ‘quit’ button was added to the login screen so that players can exit the game when they want to, instead of having to wait until they have logged in.
- When entering a game scene, the camera was originally zoomed in half-way. This has now been changed so that it is completely zoomed out, giving the player a clearer vantage point of where they are starting.
- Stats of a selected entity are visually updated after its turn instead of at the start of its turn, when they could have already worn off. This makes it easier for players to anticipate what to expect and also gives them a better chance to strategise.
- The seed, which is the chosen game number, is now clearly visible at the top of the screen.
- Scrollbars have been programmed so that they reset to the top when switching between characters on the character selection screen.
- The base swing cost has been changed to 50 when a target has been disarmed.
There were also several fixes that our second games developer had to make to the game client. These ranged from colour fixes and tweaks made to the UI, to resolving a visual bug that appeared when searching for a path:
- In some scenes, the UI was adjusted slightly so that it would be more compatible with different resolutions.
- Fixes were made to the ability bar, which was not scaling well and was getting crammed on lower resolution settings.
- When a player finished their turn, a visual bug occurred where the shaded tiles of their path would not be erased correctly. This was resolved so that after a player’s turn has ended, the path is reset, making them unable to select a specific path when it’s not their go.
- Two amendments were made to the stat panel. The weapon damage is now displayed as 0-0 when a target is disarmed. Weapon damage is also no longer included in damage calculations when a target is disarmed.
- Colour fixes were made to the scrollbars in the character selection screen.
All of the changes and alterations made to the game client has fine-tuned the appearance and experience of Depths of Erendorn. While some changes may appear to be small, they all come together to establish a more professional, well-rounded gameplay.
Over the past three months, our composer at Project Gamechanger has been working on creating the soundtrack for Depths of Erendorn. We now have several character themes, from the Zentragals and Forest Druids to the Icegrip Centaurs, as well as a main game theme and multiple in-game atmospheric pieces that will be unique to various different dungeon rooms.
This week, our composer has been working on a soundtrack that will be used in Erendorn’s jungle dungeons. In order to develop a strong sonic landscape that creates an immersive experience, he has centred this particular soundtrack on 4 main emotions:
In order to correctly elicit these emotions in players, he has used specific instruments to complement these themes. Trumpets, for example, are perfect for carrying a sense of triumphant heroism. In particular, our composer has been spending this week mixing together different world instruments, specifically woodwind instruments, that all have different ethnic origins. This is so that he can create a sound that is totally unique to Erendorn.
Some of the instruments he has used to create the jungle soundtrack this week include:
- Bansuri: this is a side-blown bamboo flute originating from India.
- Shakuhachi: this is a top-blown bamboo flute originating from Japan.
- Chinese Erhu: this is a Chinese-style violin that was also used in the musical theme for Erendorn’s caves, and is used again here in order to create a sense of cohesion
By mixing together woodwind instruments from different parts of the world, he has succeeded in creating a 10 minute piece that travels through all four emotions while being deeply rooted in the sounds and evocations of the jungle.
It really has been a busy week for the game development team at Project Gamechanger, and we are happy to be ending it on a feeling of achievement as we look back at all the things we have accomplished in just 5 days. Remember to check out next week’s devlog to see what other exciting developments are taking place.
Have you read last week’s devlog yet?