Skip to main content

Dark Dungeon

A model-view-controller Android project.

I developed this project during my university studies. It was part of a course where we learned the basic concepts of Android programming and the model-view-controller architectural pattern. The type of game I wanted to create was a dungeon crawler similar to those I had enjoyed during my childhood on handheld consoles such as the Game Boy Color or the Nintendo DS.

The game running on an Android emulator.

Tile system

The game uses a tile-based system for several reasons. First, because it allows the entire map to be built easily using a simple two-dimensional matrix directly in code. Second, because of how efficient texture reuse is on systems with very limited memory, as it allows individual tiles to be modified through transformations of the same texture.

Beyond the visual aspect, distributing the game into grid-based cells has other advantages in terms of game logic, such as the ease of implementing non-player entity behavior, collisions, movement logic, and so on. This made it a very common approach in the early days of video game history, when development was even more constrained by hardware and software limitations.

Final render

Tile system

This was one of the first games in which I worked on all of its technical aspects: from menus to music, AI, controls, and more. It was in this project that I began to understand the complexity involved in video game development. By using the MVC (model-view-controller) model, I started to grasp the abstraction principles required for the correct development of all kinds of complex software, including both applications and video games.

Fragment of the Java code used to program the game.

Gameplay footage of the game running on an Android emulator.