
Defence of Thornvail - IT Assigment 2025 Term 2
Defence of Thornvail
Below is the documentation I submitted to my teacher so please feel free to ignore any of it.
Table Of Contents
How to Play
Controls
W, A, S, D for movement.
Left Click is your basic attack.
Right Click is your heavy attack.
Middle Click is your fire attack
E Interact
Left shift for dash.
ESC to enter the menu
Preplanning
What Made the Original a Game Great
The Legend of Zelda revolutionised video game design with its expansive open world, non-linear exploration, and blend of action and puzzle-solving. Players controlled Link through the vast land of Hyrule, navigating forests, mountains, and hidden dungeons while collecting items, solving puzzles, and defeating enemies. Unlike most games of the time, Zelda encouraged free exploration, allowing players to tackle challenges in nearly any order and rewarding curiosity with secrets and upgrades. It also introduced a persistent inventory system that reworked the game for added challenge after completion.
Zelda was groundbreaking. It was the first console game to use battery-backed memory, allowing players to save their progress without passwords. This, along with clever use of memory management, enabled a world much larger and deeper than what was typical for the NES. Critically acclaimed and commercially successful, The Legend of Zelda sold over 6.5 million copies worldwide and set the standard for action-adventure games. Its influence is still seen today in open-world design, and it remains one of gaming’s most iconic and celebrated titles.
How My Game is Different
My game takes the top-down style of the original Legend of Zelda but changes a lot to make the experience more modern and structured. The original game had minimal guidance and dropped players into the world to figure things out themselves. In contrast, mine starts with a tutorial that teaches movement, combat, interaction, and UI step by step.
Movement is also more dynamic. In Zelda, the player could only move in four directions and was locked to a grid. My game allows full eight-directional movement with smoother control and no grid constraints, which makes exploration and combat feel faster and more responsive.
Combat has been expanded a lot, the player can use light, heavy, and fire attacks. Enemies aren’t just random walkers, they have patrol routes, attack phases, and even elite versions with variations. I’ve also included respawn points (instead of restarting at the beginning), a quest system to track objectives, a health and energy bar, and damage popups for better feedback.
The overall structure is more narrative-driven too. There’s an actual questline with objectives, interactions, and boss battles that use mechanics across multiple phases. While the game keeps the top-down exploration vibe, it’s built with modern design features that make it feel more complete and player-friendly.
Story and Gameplay Plan
Background
Thornvail a vast magical forest that once served as a natural barrier between human and ork lands, until some ancient force was lost. The forest is ancient and full of secrets, ruins, puzzles and mysteries. It is now under siege by an army of Orks.
The orks are led by the warlord Brokil the Flame-Eater, who broke the forest's magical barrier. In doing so they’ve unleashed wild magic, warping the environment and awakening dangerous creatures. Their goal, to conquer and claim the Heart of the Forest, a source of immense power.
Brokil has sent his General, Blazetooth an ork beast warden to scout and raise the forest allowing the orks to advance into the heartland of thornvail. Your kigndom has sent you to stop his incersion and push back the ork threat.
First level - Ashroot Glade
📜 Awakening in the Ash
Objective: You arrive in a grove scarred by flame. The air is thick with smoke, and the earth is charred.
You Must:
- Move through the grove learning basic movement.
- Explore the enviroment.
- Meet a dying guardian spirit.
📜 First Blood on Burning Leaves
Objective: Ork scouts are patrolling the outer grove. A test of steel and courage.
You Must:
- Engage in your first combat encounter and learn its mechanics.
- Survive two short fights: one vs a lone ork, then a group with a ranged attacker.
📜 Embers in the Roots
Objective: The grove’s ancient trees are aflame. If not stopped, the warding magic here will collapse completely.
You Must:
- Redirect the nearby stream to put out the fire.
- Activate an ancient ward node after extinguishing the fire.
📜 The Beastmaster’s Trail
Objective: A hulking ork known as Blazetooth is capturing corrupted beasts and razing key glades.
You Must:
- Track Blazetooth by following claw marks and broken trees.
- Defeat any encountered patrols of orks.
📜 Trial by Flame – Blazetooth
Objective: Defeat Blazetooth, the ork beastmaster, and save the forest from complete destruction.
You Must:
- Enter the burning grove to face Blazetooth and his warped pets.
- Use what you learned through the tutorial to defeat him.
- Unlock the way to Runestone Vale.
Level Map - Ashroot Glade
Second level - Runestone Vale
📜 Behind Enemy Vines
Objective: You've breached the perimeter of Runestone Vale, a newly constructed ork fortresss.
You Must:
- Infiltrate the ork camp's perimeter.
- Disable two watchtowers to prevent reinforcments.
- Question a captured guardian to learn what the orks are doing in the vale.
📜 Chains Beneath the Stones
Objective: Discover the source of corrupted magical surges.
You Must:
- Explore the lower mining pit where the orks are unearthing ancient wards.
- Navigate the mines to reach the inner prison vault.
- Witness the source of the magical surges.
📜 The Warden's Remains
Objective: To weaken Bjarni's bindings, you must reclaim shards of his spirit to help free his mind.
- Recover pieces of Bjarni's spirit (It is not required to recover all shards but it will make the boss fight easier)
- Desecrated Grove - defend a guardians last stand to recieve shard
- Ork Ritual Pit - Interrupt a dark ritual and steal back a shard.
- Broken Shrine - Repair the shrine to collect a shard.
📜 Camp of Iron and Flame
Objective: Strike at the heart of the ork operation, a forge where they're creating twisted weapons powered by stolen magic.
You Must:
- Destroy enchanted forges
- Free prisoners
- Collect runeblade fragments
📜 The Corrupted Warden - Bjarni
Objective: Bjarni has been chained, tortured, and twisted by the orks. You now face him in a corrupted arena to stop his release.
You Must:
- Enter the central prison. Solve puzzles in combat and break his chains.
- Phase 1: Bjarni in his corrupted state rampages through the room.
- Phase 2: step on rune sigils and align lights to weaken him.
- Phase 3: Use the runeblade and the spirite shards to either - Cleanse his corruption (if all shards were collected) or 'end' his corruption
Level Map - Runestone Vale
Player Progression
You start as a knight in the kingdom of Thornvail, during the tutorial you learn basic movement and your base attack, later you learn two special abilitys one slash heavy attack and a heavy fire attack you get after defeating the first boss.
Flowcharts (Production plan)
Assets
Below are the links to all the itch.io pages where i found my assets.
Used for the game enviroment and terrain on the first level, https://aamatniekss.itch.io/topdown-fantasy-forest
The Player and Enemie sprites can be found here, https://zerie.itch.io/tiny-rpg-character-asset-pack
GUI for health bar, https://mounirtohami.itch.io/pixel-art-gui-elements
The font used in the game, https://mounirtohami.itch.io/minimalpixel-font
Fire textures, https://tekilor.itch.io/2d-fires-pack-2
Texture for lighting, https://pixelfranek.itch.io/free-textures-of-light
Candles in level one and main terrain pack for level two, https://szadiart.itch.io/rogue-fantasy-catacombs
Some of the objects in level two, https://cainos.itch.io/pixel-art-top-down-basic
Main background music, https://alkakrab.itch.io/free-25-fantasy-rpg-game-tracks-no-copyright-vol-2
Background music for the boss battles, https://alkakrab.itch.io/fantasy-boss-battle-music-pack-vol-2
SFX for the ork enemies, https://johncarroll.itch.io/orc-voice-pack
SFX for player movement, https://nebula-audio.itch.io/character-footsteps-rock-grass-pack-1
Reflection
How is the overall design
I think the overall design works well. The structure and flow of the game feels solid and plays how I wanted it to. The tutorial cave at the start is probably my favourite part. That said, the combat system still needs some polish to feel smoother and more responsive.
How far through my plan did i get
I finished pretty much all of the first level and the core systems I wanted: movement, the three player attacks, enemy AI with patrol and attacks, terrain and level layout, UI for health and energy, a basic quest system, the tutorial section with on-screen text and interactables, and the first boss fight (plus an elite enemy with the same attacks but less damage). I also added sound effects, puzzles, a death screen, and checkpoints that update your respawn point.
I didn’t end up starting level two, so none of the stuff I planned for that made it in. That includes the Bjarni boss fight, which was going to have multiple phases and a system where collecting spirit shards made the fight easier. It would’ve been a big moment in the game, but i had to prioritise the polishing of the game and other assignments.
Flowchart Comparison
The crosses out ones are completed.
Map Comparison
What changes could i make and what would i do differently
If I had more time, I would’ve liked to finish level two and get the full story in. Combat and puzzle systems definitely still need some work and both could be more clear and better balanced. The tutorial is solid and teaches the basics well, so I’d keep that mostly the same.
What issues did i encounter
A few annoying problems came up. When I added respawning, enemies would stay aggroed after the player died, which broke things. I couldn’t get hitbox rotation working properly either, so I just made separate left and right hitboxes. I also lost a full lesson of work because of a merge error. The UI, especially the quest part, still feels rough and a bit buggy. I fixed most stuff by trial and error or just worked around it if I couldn’t find a clean solution.
What have I learnt
This was my first time making a game this big in Godot, so I learnt a lot. Signals ended up being super useful. I also figured out how to manage files properly and use global scripts. The flowchart and questlines I planned out early made everything easier to build later on. If I did this again, I might try to start earlier, I don’t think time management was a big issue.
Published | 1 day ago |
Status | On hold |
Platforms | HTML5 |
Rating | Rated 5.0 out of 5 stars (1 total ratings) |
Author | BattleDemon |
Genre | Action, Adventure |
Made with | Godot |
Average session | A few minutes |
Languages | English |
Inputs | Keyboard, Mouse |
Leave a comment
Log in with itch.io to leave a comment.