December Devlog | Week #3
It’s the last devlog of 2018 and we’ve got a good one lined up for you this week! The game development team have polished off everything that needs doing before the Christmas break, so a lot of progress has been made. From the completion of our female Human and Elf sculpts to the new decoration groups created by our game developer, we’re excited to share our week with you. Also, make sure you read until the end because as of 2019, our devlogs will be moving to a new home!
Environment
While not necessarily environment related, our 3D Artist spent the week finishing the sculpts for the female Human and female Elf. The female base mesh that was created last week was used for this. These sculpts will provide us with a base for several character variations, including the Forest Druid which our Artist will begin working on in the new year.
The retopology for the female Human was also started this week and is now nearing completion. Retopology involves optimising the geometry of a surface by recreating it. This process is commonly used in animation to create a clean, quad-based mesh but it can also be used on any asset, sculpt or object that needs to be manipulated. Retopologising a 3D sculpt is important because it will reduce the number of polygons that the sculpting process creates on a model, making it much easier to render.
Animation
In the lead up to Christmas, our Animator had several things to tick off her list in order to ensure that everything was in place before she left the proverbial building. First, the rigging and skinning of Erendorn’s Cobra Snake was completed. Then, a few changes had to be made to the Human Knight model:
- The rig was updated because it was using the old rig set-up, which had too many bones.
- The number of joints in the arms, legs and spine were reduced.
- Weapon joints for the hands, back and hips were added, as well as a shield joint for one of the arms.
- A helmet joint that allows the helmet to be animated was also added.
During this process, the Human Knight rig developed some issues that prevented the safe rebuild of the rig. The biggest problem that prevented this from happening was that the spine joints could not be centred. This forced our Animator to rebuild a new spine joint chain that was centred. The final work done on the Human Knight was:
- Adding a complete joint chain for the cloak, front cloth piece and the helmet’s plume.
- Editing any skin weights that were heavily damaged after this entire process.
Our Animator also set up the Snapping Turtle rig to fit the Baby Snapping Turtle model. This was the last enemy in our current prototype that needed a rig so we were all relishing the success of that task.
Several characters were posed by our Animator this week for various marketing images that you can check out on our social media channels. The short cinematic animation also continues to be worked on, a project that we’ll be excited to reveal to you all in the new year.
Server
There were multiple fixes that had to be made to the server this week in order to improve the overall functionality of the game. The first was refactoring the Turn Handling code into a separate class in order to make it more maintainable, modular and easier to debug. As well as this, the Turn Start Time was moved from the Turn Change log into the Turn Start log. Several bugs that occurred as a result of this whole conversion were then fixed.
With the Turn Start Time information being stored in a different log, the Game Client also had to be changed in order to get the information from the correct place. Another issue was that the Round Counter wasn’t being correctly incremented. This has been fixed so that it can now be used for correctly reducing the durations of buffs and debuffs which, before the fix was made, could sometimes be incorrect.
New Triggers were implemented into the server this week. These include:
- OnRoundStart
- OnRoundEnd
- OneTeamTurnEnd
A new data structure was also implemented. With this in place, it is capable of generating the turn order based on the value of the Reaction Time stat. It does this by using the new data structure that has enabled our game developer to generate the turn order much faster, saving us precious processing power.
Our game developer also made several changes to some of the abilities in the game:
- Growing Arcane Missile: This now costs 3 Mana instead of 4.
- Revitalise: This now costs 19 Ancient Power instead of 20.
- Blackhole: The cooldown has been reduced to 5 turns instead of 6.
- Stand and Fight: This now costs 25 Energy.
- Crane Kick: This now deals 7 Physical Damage instead of 6.
- Throatcutter: This should now kill adjacent enemies under 4 Health instead of 3.
- Hammerfall: This has had its cooldown reduced to 6.
- One with the Earth: This now gives the player +2 Resilience for one turn.
- Rock Barrage: This now deals 9 Damage to the main target instead of 10.
- Mass Fireball: This now costs 12 Mana instead of 11.
Our game developer also increased the XP value on a few of our enemies. This will affect how many will spawn in a group. The enemies affected by this change are the:
- Hunting Spider
- Earthen Dwarf Civilian
- Earthen Dwarf Miner
As well as this, our game developer determined that the Wolvajin enemy was too strong the way it was. To balance this, it has had its minimum and maximum damage stats reduced from 3 and 4 to 1 and 2 respectively.
Finally, there were several changes made to the Twilight Elf player class. The Twilight Elf Assassin character has had its Maximum Energy increased by 10 so that it is now 155. In addition to this, its Energy Regeneration stat was increased by 5 so that it is now 90. We think that all of the changes made by our game developer this week have drastically improved the overall functionality of Depths of Erendorn.
Game Client
Our second game developer implemented several decorations and props to the Game Client this week. These include some of the models created by our Environment Artist, such as the mushroom groups, crystal clusters, bone scatters and campfires. As well as making 3 more decoration groups, our game developer also fixed some decoration groups where the rock scatters appeared slightly too big.
There were also several changes that our game developer made to the user interface:
- Updated icons for the Watertarg player class were added.
- Any currently active events in the next room are now shown to the player in the reroll voting panel so that they can make a more informed decision.
- Information about the entities and events were placed a bit higher in the voting panel so that there is less padding between this and the title label.
- Fixes were made to the leftover UI alignment issues that came with the Unity version update.
- The Combat Log was not closing properly so this was also fixed.
- The Join Game panel was given a closing option so that the player can close it after it’s opened. While this could be done before by pressing the ‘Join Game’ button again, our game developer decided that adding a second closing option would visually make more sense to the players.
- The spawn area in the first room is now made visible with green coloured tiles.
A few more changes were made to the Game Client that involved converting more of the coroutines over to the new MEC asset. This is a system that improves the implementation of coroutines. By running much faster than Unity’s default coroutines, MEC ensures that the coroutines are more powerful whilst providing a range of other options.
With this in mind, our game developer spent the week converting all the normal coroutines in the project to MEC. This conversion fixed various MEC-related errors that occurred when going back to the main menu. The conversion also fixed the problem that the game music was having where it was not fading in and out properly during scene transitions.
A variety of other changes, additions and fixes were also made to the game client this week:
- The alpha calculation and destruction functionality of the Event Text was changed so that it’s completely time-based. This fixed the issue that the Event Text was having where it would sometimes remain visible on the screen.
- The individual prop spawning functions were removed. Instead, we introduced a new function that spawns decoration groups. This should be more performant.
- A more accurate calculation for the position bounds of the camera was implemented.
- Our game developer fixed the double JSON encode on the event information. This stopped the event information from displaying in the voting panel.
- A path selection bug was fixed by resetting the clicked tile variable when left-clicking.
- When left-clicking before the game starts, the tile colourings for the spawn area would be removed. This was fixed so that the tile colourings will only disappear once the game has started.
- A bug that prevented certain players from selecting a path or attack or from using abilities was fixed.
As well as this, the timeout box that comes up when a command to the server doesn’t receive a response was getting stuck – and this was the final fix our game developer made to the client this week.
As of 2019, our weekly devlogs will be moving over to the Depths of Erendorn website, so remember to check in there if you feel like you’re missing us! 2018 has been a great year for the team at Project Gamechanger. With more than half of our characters fully rendered, and with the game improving every day, we’re excited to see what else lies in store for Depths of Erendorn in the new year.