Skip to content
This repository has been archived by the owner on Sep 29, 2024. It is now read-only.

Semester 4 Week 6

Pre-release
Pre-release
Compare
Choose a tag to compare
@LPkkjHD LPkkjHD released this 23 May 08:29
· 171 commits to main since this release

Hello 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 calculated rfc 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.

image

Enemies now come in multiple versions, some goblins for the outside world as well as some skeletons for the dungeon.

image

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

Full Changelog: v0.0.3-alpha...v0.0.4-alpha