Game Concept
Una Aventura Inesperada (An Unexpected Adventure) is a grid-based puzzle game developed for the Nintendo DS using C and devkitpro. The game challenges players to navigate through five increasingly complex levels while managing limited movement resources and answering quiz questions.The game was created by Juan José Gómez Simón (version 0.8, December 2020) as a puzzle game that combines strategic movement with educational elements.
Story and Setting
Players embark on an unexpected adventure through a tile-based world filled with obstacles, enemies, and challenges. The journey is framed by cinematics:Opening Cinematic
Opening Cinematic
The game begins with a three-frame opening sequence that sets the stage for your adventure:
CinematicaInicioF1- Frame 1CinematicaInicioF2- Frame 2CinematicaInicioF3- Frame 3
Ending Cinematic
Ending Cinematic
Upon completing all five levels, players are rewarded with a closing cinematic:
CinematicaFinalF1- Frame 1CinematicaFinalF2- Frame 2CinematicaFinalF3- Frame 3
Core Objective
The primary goal is to reach the exit tile (meta) in each level while adhering to strict movement limitations. Each level requires:- Strategic planning - Plan your route with limited stamina
- Obstacle manipulation - Push boxes to clear paths
- Enemy elimination - Remove enemies blocking your way
- Quiz completion - Answer educational questions correctly
Win Conditions
Level Completion
To complete a level, you must:Reach the Exit
Navigate to the goal tile (
case 23 in ElegirFondoJugador function) which triggers the dialog system (source/main.c:476).Answer Quiz Questions
Correctly answer all quiz questions presented after reaching the exit. Wrong answers force a level restart.
Game Completion
Complete all five levels (nivel1 through nivel5) to finish the game and unlock the ending cinematic.Core Gameplay Loop
The game follows a consistent loop throughout all levels:Loop Breakdown
- Movement Phase
- Action Phase
- Evaluation Phase
Check Available MovementsEach level starts with a specific stamina count:
- Level 1: 18 movements
- Level 2: 19 movements
- Level 3: 23 movements
- Level 4: 21 movements
- Level 5: 24 movements
Progression System
Level Structure
The game features 5 distinct levels with increasing difficulty:Level 1
18 MovementsIntroduction level with 3 quiz questions (Pregunta1-1, 1-2, 1-3)
Level 2
19 MovementsIncreased complexity with 2 quiz questions (Pregunta2-1, 2-2)
Level 3
23 MovementsLarger maps requiring 2 quiz questions (Pregunta3-1, 3-2)
Level 4
21 MovementsAdvanced puzzles with 1 quiz question (Pregunta4)
Level 5
24 MovementsFinal challenge with 2 quiz questions (Pregunta5-1, 5-2)
Quiz System
Between levels, players must answer quiz questions correctly:- Two answer options displayed on the bottom screen
- Touch screen selection (source/main.c:956-960)
- Binary evaluation - correct or incorrect, no partial credit
- Immediate feedback - success screen or failure screen
The quiz system is implemented in
CrearDialogo() function (source/main.c:939-975) which displays questions and validates answers against the correct option.Restart System
Failing a level triggers the restart system:Visual Feedback
The game provides several visual indicators:- Stamina Bar - Green bar showing remaining movements (source/main.c:809-814)
- Animated Sprites - Player, NPCs, and enemies have 2-frame animations
- HUD Display - Bottom screen shows game information and restart button
- Dialog Screens - Full-screen images for questions and cinematics
Key Success Metrics:
- Efficient movement usage
- Strategic box placement
- Enemy elimination
- Quiz accuracy
- Level completion time