Semester 4 Week 6
Pre-releaseHello and welcome to todays update on the progress of our game "Underwatch".
Assignment
This weeks task was to choose three metrics which we can use to measure the quality of our written code. Since we are working on a game in Java it makes a lot of sense to just apply the metrics we can find for object orientation to it.
We used the handy tool ck to automatically generate all relevant statistics based on the project code and picked the metrics Lines of Code
, Depth Inheritance Tree
and Response for Class
as we think those can be representative of the quality in our code base.
Depth Inheritance Tree
is a metric which can tell us something about the code reuse within our project. With a higher count being more prone to bugs as well as more logic being reused. According to the tools output we have this metric laying between 1 and 4 which we consider as quite optimal.Response for Class
counts the responses a class can generate. Also indexing referenced classes this metric can skyrocket quite quickly. According to research a value between 0-50 is most optimal here. Our calculatedrfc
lays between 0-42 (with one outlier at 59). This tells us that we're mostly doing good, but should consider refactoring the outlier class.Lines of Code
per class tell us something about the complexity of our classes. If this value get's too high we have to consider that we might have created a god class, which is too mighty and often leads to many bugs down the line. According to ck's output we lay between 0-200 which we interpret as being pretty good, since most of the time boilerplate code, such as getters and setters are already eating up a majority of the code lines resulting in the implemented logic being very concise.
We hope you found this rundown of our chosen metrics interesting.
Progress on the Game
In the past week we added new interaction elements, namely Weapon Boxes, Ammo Boxes, Health Boxes as well as a Holy Grail which will serve as the games winning end.
Additionally pathfinding has received an update, resulting in enemies now walking around obstacles successfully.
We created a Head Up Display, which will display necessary stats of the game run for the player.
Enemies now come in multiple versions, some goblins for the outside world as well as some skeletons for the dungeon.
The weapon inventory now carries over to the next level and the web page has been updated to show the lore of the game.
As per usual. Thank you for reading.
~ Underwatch Team
What's Changed
- neue map mit startpunkten auf fast allen maps by @BenjaminB109 in #219
- Jeremias/law by @JAWolfs in #221
- feat: Enemy Types by @LPkkjHD in #220
- feat: add additional hit box to player by @LPkkjHD in #222
- feat: carry over Inventory to next level by @LPkkjHD in #223
- feat: convert World to Singleton by @LPkkjHD in #226
- feat: Interaction Objects and HUD by @LPkkjHD in #233
Full Changelog: v0.0.3-alpha...v0.0.4-alpha