Dejan Zeljko

About Me Login

Magedle

Magedle Banner

Game Overview

Magedle is a web-based defense game developed from scratch in plain JavaScript, featuring a custom engine built with canvas rendering. The player takes on the role of a mage tasked with defending their village from waves of monsters. With each wave, players gain experience points and items, while also having the opportunity to purchase upgrades from a traveling merchant. This project was a complete solo effort, where every element—from the UI to the game loop and collision detection—was developed independently.

Gameplay Mechanics

Skills Demonstrated

Skill Description
Game Loop Development Implemented a custom game loop for real-time updates, ensuring smooth gameplay and consistent frame updates.
Canvas Rendering Created all game visuals using the HTML5 canvas API, including characters, items, and environments.
Custom Collision Detection Developed a collision detection system to handle interactions between the player, enemies, and items.
User Interface Design Implemented a custom UI for displaying stats, level progress, and item effects, ensuring clarity and functionality.

Game Features

Technical Concepts and Tools

Game Loop Implementation

Designed a custom game loop to manage timing, actions, and rendering, allowing for consistent updates and real-time gameplay.


Canvas API

Utilized the HTML5 canvas API for drawing characters, environment, and interface, achieving responsive graphics without external libraries.


Collision Detection

Developed a collision detection system from scratch to handle interactions between players, enemies, and collectibles in the game space.

Learning Takeaways

Developing Magedle as a solo project was a valuable experience in end-to-end game creation, from building a custom engine to designing every aspect of gameplay and visuals. The project strengthened my understanding of JavaScript and canvas, as well as core game development principles such as collision detection and game loop management.

Tools Used