Skip to content

Peer review 1 #1

Description

@joonas-a

The repository was cloned at 19:10, Feb 19th 2023

General

Neither of the algorithms were familiar to me in advance. The application runs well, functions and classes have been logically split between distinct files and the overall project structure looks great. The unit-tests are thorough and all pass however currently the tests themselves are included in the coverage which is probably not intended

Functionality

The dungeon - and especially the biome generation look really appealing! On the dungeons on rare occasions I could generate rooms with 3 passages between each other (image), which I'm not sure is intended.
pic1

Something I noticed when launching the application is that the dungeon/maze wouldn't be drawn on the first click of the button. A possible fix would be to call the show()-method before attempting to draw it by inverting the rows in src/ui/ui.py

if self.generate_dungeon_button.collidepoint(pos):
    self.show_dungeon() <- 
    self.draw_dungeon() <- 
elif self.generate_biome_button.collidepoint(pos):
    self.show_biome() <- 
    self.draw_biome() <-

I believe the current implementation to generate a new biome/dungeon and display the previous one instead of the newly created one upon clicking the button. Other than that the app functions great! No stuttering/crashing/freezing.

Docstring

As the algorithms themselves are new to me, I had some trouble trying to figure out what part of the app the different algorithms were for, for example the RandomWalk class, which I later found the purpose for from the project specification document. The methods within classes were well documented and easy to understand though!

Something very minor I just realized, there is an unused import randint in ui.py that the linter fails to notice, maybe the config could use some fine-tuning?

Final words

The project is in a great state, now only to introduce the user controls for more customization. Good luck !:)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions