CUT TO:
INT. PROJECT ARCHIVE — STORYBOARD ROOM
The USER opens Dungeon Mania.
DIVAKAR DESSAI
CUT TO:
The USER opens Dungeon Mania.
DIVAKAR DESSAI
CASE FILE / COMP2511 / Design Patterns / Refactoring
Refactored and extended an existing Java dungeon game using design patterns, SOLID principles and object-oriented architecture.
01–02 / OPENING SEQUENCE
01 / Establishing Shot
The existing game engine contained duplicated behaviour, tightly coupled responsibilities and architectural choices that made new requirements increasingly difficult to introduce.
02 / Wide Shot
The project involved working with an existing Java dungeon-game codebase rather than starting from scratch. New gameplay requirements had to be implemented while improving the underlying architecture.
03 / CHARACTER NOTE
Subject
Divakar Dessai
Production
Dungeon Mania
Take
03 / Role
Role notes
DIVAKAR DESSAI
04 / CLOSE-UP
The difficult part was changing architecture without breaking existing behaviour while also preparing the codebase for evolving requirements.
05 / TRACKING SHOT
A plan emerges.
I separated interchangeable enemy movement behaviour through Strategy implementations, reviewed existing Observer relationships, improved responsibility boundaries and explored Composite and Factory structures for extensible goal evaluation.
06 / INSERT SHOTS
The system takes shape.
07 / DIRECTOR'S NOTES
Things we decided along the way
01
Replaced duplicated movement logic with interchangeable strategies.
02
Reduced unnecessary inheritance where behaviour did not belong in the parent hierarchy.
03
Moved responsibilities toward the entities that owned the behaviour.
04
Used compositional patterns for compound goals.
05
Refactored before implementing major requirement changes.
design decisions
somewhere mid-build
08 / RETAKES
Naturally, not everything cooperates.
09 / FINAL SHOT
Improved extensibility of the game architecture.
Reduced duplicated behaviour.
Implemented additional gameplay functionality on top of the refactored system.
Gained practical experience maintaining and evolving an existing software system.
10 / PRODUCTION NOTES
The tools behind the scenes.
11 / BEHIND THE SCENES
FADE OUT.
USER closes the file.
One project down. A few more stories left.
DIVAKAR DESSAI