Academic Project — SENA ADSO / Center for Technological Design and Innovation
NEXUS-9: Escape Laboratory is a 2D educational Escape Room game developed as an academic project for the Software Analysis and Development (ADSO) program at SENA.
The player controls K-9, a female Jack Russell Terrier who wakes up trapped inside a high-tech laboratory. To escape, she must explore different areas, interact with objects, and solve challenges involving sequences, instructions, conditionals, logic, and patterns.
The project is initially designed as a 3-level MVP, prioritizing a playable, clear, and functional experience.
Develop a 2D educational Escape Room game that allows players to learn and apply basic programming concepts through interactive challenges.
- Design an educational and interactive experience.
- Apply basic programming concepts through puzzles.
- Implement a level system.
- Implement object interaction.
- Implement an inventory, timer, hints, and scoring system.
- Implement victory and defeat conditions.
- Develop a cross-platform application using Flutter.
- Create a REST API using Node.js and Express.
- Use PostgreSQL as the database system.
- Use Git and GitHub for version control.
- Manage the project using Jira.
Genre: 2D educational Escape Room.
Style: science fiction, technological laboratory, mystery, programming, and logic.
Interaction: click/tap, buttons, interactive objects, answer selection, inventory, and panels.
Complex free character movement is not required for the MVP.
K-9 wakes up in an unknown laboratory. The lights are off and several alarms begin to sound.
A message appears on a screen:
NEXUS-9 CONTAINMENT PROTOCOL ACTIVATED
All doors are locked. K-9 must progress through different areas of the laboratory and solve the security systems to regain control of the facility.
Each area contains a different challenge. After completing all three levels, K-9 will be able to deactivate the containment protocol and escape.
K-9 is a female Jack Russell Terrier.
Characteristics:
- Intelligent.
- Curious.
- Brave.
- Resourceful.
K-9 represents the player throughout the entire experience.
Explore
↓
Interact
↓
Find clues
↓
Solve puzzle
↓
Obtain reward
↓
Open door
↓
Advance to the next level
MENU
↓
TUTORIAL
↓
LEVEL SELECTION
↓
LEVEL 1 → puzzle → reward
↓
LEVEL 2 → puzzle → reward
↓
LEVEL 3 → final puzzle → escape
↓
FINAL RESULT
Difficulty: Easy
Concept: Sequences and instructions
Objective: Restore power to the laboratory and obtain an access card.
- Main computer.
- Maintenance box.
- Electrical panel.
- Locked door.
1. Conectar energía.
2. Encender computador.
3. Activar sistema.
4. Revisar sistema.
Reward: Access Card
Score: +100
- The computer needs power before it can start.
- You must connect the power first.
Difficulty: Medium
Concept: If/else conditionals
Objective: Repair the logic system that controls the doors.
if code == 927:
openDoor()
else:
keepDoorClosed()
Reward: Master Code 927
Score: +200
- Think about what happens when the condition is true.
- If the code is correct, the door should open.
Difficulty: Hard
Concept: Logic and patterns
Objective: Deactivate the containment protocol and escape.
2 → 4 → 6 → 8 → ?
Answer: 10
1 → 3 → 5 → 7 → ?
Answer: 9
9 - 2 - 7
Puntuación: +300
Result: The protocol is deactivated, the emergency door is unlocked, and K-9 escapes.
- Interaction: select objects to obtain information or perform actions.
- Inventory: store obtained items.
- Doors: locked, unlocked, and opened.
- Hints: help the player and reduce the score.
- Timer: displays the remaining time for the level.
- Levels: completing the current level unlocks the next one.
INVENTARIO
[Access Card]
[Master Code]
| Acción | Puntos |
|---|---|
| Complete Level 1 | +100 |
| Complete Level 2 | +200 |
| Complete Level 3 | +300 |
| Finish quickly | +100 |
| Complete without hints | +50 |
| Use a hint | -25 |
| Incorrect answer | -10 |
Base maximum score: 600 points, before bonuses.
Includes:
- Main menu.
- Tutorial.
- Level selection.
- Three levels.
- Object interaction.
- Puzzle system.
- Basic inventory.
- Timer.
- Hints.
- Scoring.
- Doors.
- Linear progression.
- Victory and defeat screens.
- Basic backend.
- Database.
- REST API.
- Git/GitHub.
- Documentation.
The following will not be implemented initially:
- Multiplayer.
- Voice chat.
- Advanced online leaderboard.
- Complex AI.
- Advanced physics.
- 3D world.
- Complex animations.
- Advanced account system.
- Complex cloud saving.
- More levels.
- More characters.
- More puzzles.
- Achievement system.
- Global leaderboard.
- Player profiles.
- Cloud saving.
- Dynamic music.
- Advanced sound effects.
- Animations.
- New laboratory areas.
- New difficulty levels.
- Multiplayer.
- Statistics.
| Area | Technology |
|---|---|
| Frontend | Flutter / Dart |
| Backend | Node.js / Express |
| Database | PostgreSQL |
| API | REST |
| Design | Figma / Canva |
| Management | Jira Software |
| Version control | Git / GitHub |
| API Testing | Postman |
| IDE | Visual Studio Code / Android Studio |
┌──────────────────┐
│ User │
└────────┬─────────┘
↓
┌──────────────────┐
│ Flutter / Dart │
│ Frontend │
└────────┬─────────┘
↓
┌──────────────────┐
│ REST API │
│ Node + Express │
└────────┬─────────┘
↓
┌──────────────────┐
│ PostgreSQL │
│ Database │
└──────────────────┘
NEXUS-9/
├── frontend/
│ ├── lib/
│ ├── assets/
│ ├── android/
│ ├── ios/
│ ├── web/
│ └── pubspec.yaml
├── backend/
│ ├── controllers/
│ ├── middleware/
│ ├── models/
│ ├── routes/
│ ├── services/
│ ├── config/
│ ├── utils/
│ └── server.js
├── database/
│ ├── scripts/
│ ├── migrations/
│ └── backups/
├── docs/
│ ├── requirements/
│ ├── architecture/
│ ├── diagrams/
│ ├── levels/
│ ├── testing/
│ └── manuals/
├── mockups/
│ ├── menu/
│ ├── tutorial/
│ ├── level-01/
│ ├── level-02/
│ ├── level-03/
│ └── ui-components/
├── README.md
├── .gitignore
└── LICENSE
frontend/
├── lib/
│ ├── screens/
│ │ ├── menu_screen.dart
│ │ ├── tutorial_screen.dart
│ │ ├── level_select_screen.dart
│ │ ├── game_screen.dart
│ │ └── result_screen.dart
│ ├── levels/
│ │ ├── level_01/
│ │ ├── level_02/
│ │ └── level_03/
│ ├── systems/
│ │ ├── game_manager.dart
│ │ ├── level_manager.dart
│ │ ├── puzzle_manager.dart
│ │ ├── timer_manager.dart
│ │ ├── inventory_manager.dart
│ │ ├── score_manager.dart
│ │ └── hint_manager.dart
│ ├── models/
│ │ ├── player.dart
│ │ ├── level.dart
│ │ ├── puzzle.dart
│ │ ├── item.dart
│ │ └── score.dart
│ └── services/
│ ├── api_service.dart
│ ├── score_service.dart
│ └── progress_service.dart
└── assets/
├── images/
├── backgrounds/
├── characters/
├── objects/
├── buttons/
├── icons/
├── audio/
└── fonts/
Juan Esteban Montoya Marín
Leader: Thomas Vargas
- Thomas Vargas
- Daniela Tamayo
- Juan Esteban Villota
- Jhon Almario
Leader: Leandro Calvo
- Leandro Calvo
- Juan Felipe Marín
- Sebastián Tapasco
- Samuel Correa
Leader: Michael Isaza
- Michael Isaza
- Santiago Galindo
- Cristians Marmolejo
- Dylan Hernández
Leader: Luiyer Gamaiel
- Luiyer Gamaiel
- Karen Herrera
- Jhoan Marín
- Johan Esteban Lemus
Leader: Michael Ocampo
- Michael Ocampo
- Julián Valencia
- Sebastián Sánchez
Leader: Joseph Gómez
- Joseph Gómez
- Juan David Vinasco
- Stiven Sánchez
- Samuel León
Total: 24 members.
Node.js, Express, PostgreSQL, REST API, users, scores, progress, and integration.
Story, characters, levels, puzzles, objectives, difficulty, hints, rewards, and educational concepts.
Mechanics, interactions, inventory, puzzles, timer, scoring, doors, and progression.
Flutter architecture, menu, tutorial, level selection, GameScreen, Level 1, and UI integration.
Levels 2 and 3, navigation, final screen, responsive design, integration, and testing.
Figma, visual identity, colors, typography, wireframes, mockups, backgrounds, buttons, icons, K-9, objects, and HUD.
Scrum, Jira, planning, Daily Scrum, Review, retrospective, tracking, blockers, GitHub, integration, and delivery.
EPIC 1 — Design and Planning
EPIC 2 — UX/UI and Assets
EPIC 3 — Core Game Systems
EPIC 4 — Level 1
EPIC 5 — Level 2
EPIC 6 — Level 3
EPIC 7 — Backend and Database
EPIC 8 — Integration
EPIC 9 — Testing and Quality
EPIC 10 — Documentation and Delivery
EPIC — Level 1
TASK — Design Level 1
SUBTASK — Define story
SUBTASK — Define objective
SUBTASK — Define puzzle
SUBTASK — Define reward
TASK — UX/UI Level 1
SUBTASK — Create background
SUBTASK — Create objects
SUBTASK — Create interface
TASK — Implement Level 1
SUBTASK — Create scenario
SUBTASK — Add interactions
SUBTASK — Add puzzle
SUBTASK — Add reward
SUBTASK — Add door
main
└── develop
├── feature/menu
├── feature/tutorial
├── feature/level-01
├── feature/level-02
├── feature/level-03
├── feature/puzzle-system
├── feature/inventory
├── feature/timer
├── feature/score
└── feature/backend-api
Create branch → develop → test → commit → push
→ Pull Request → review → merge into develop
→ integration → testing → main
feat: add level 1 puzzle
fix: correct level 2 navigation
ui: update main menu
docs: update level 1 documentation
test: validate puzzle answers
refactor: improve level managerOfficial documentation will be available in the GitHub Wiki and docs/.
- Project charter.
- Requirements.
- Scope.
- User stories.
- Product Backlog.
- Sprint Backlog.
- Game Design Document.
- Story.
- Design de niveles.
- Design de puzzles.
- UX/UI.
- Arquitectura.
- UML diagrams.
- Database.
- API REST.
- Git/GitHub.
- Test plan.
- Installation manual.
- User manual.
- Maintenance manual.
- Evidence and deliverables.
| Day | Activities |
|---|---|
| Day 1 | Planning, Jira, GitHub, architecture, and levels |
| Day 2 | Core systems and base UI |
| Day 3 | Level 1 implementation |
| Day 4 | Level 2 and Level 3 implementation |
| Day 5 | Frontend/backend/database integration |
| Day 6 | Testing and bug fixing |
| Day 7 | Documentation, evidence, and delivery |
The following tests will be performed:
- Functional tests.
- Integration tests.
- API tests using Postman.
- UI tests.
- Navigation tests.
- Puzzle tests.
- Scoring tests.
- Landscape orientation tests.
- Platform tests.
Integration flow:
Flutter → REST API → Node.js → PostgreSQL
- Git.
- Flutter.
- Dart.
- Node.js.
- PostgreSQL.
- Visual Studio Code.
- Android Studio para Android.
- Xcode para iOS.
git clone https://github.com/ORGANIZACION/NEXUS-9.git
cd NEXUS-9cd frontend
flutter pub get
flutter runFor Web:
flutter run -d chromecd backend
npm install
npm run devor, depending on the configuration:
npm startCREATE DATABASE nexus9;Then execute the scripts in database/scripts/.
Create .env in the backend:
PORT=3000
DB_HOST=localhost
DB_PORT=5432
DB_NAME=nexus9
DB_USER=postgres
DB_PASSWORD=your_password
JWT_SECRET=your_secretDo not upload .env to GitHub.
Example .gitignore:
.env
node_modules/
build/
.dart_tool/
- The project builds successfully.
- The menu works.
- The tutorial works.
- A game can be started.
- All three levels are accessible.
- Each level has a puzzle.
- Correct answers allow the player to progress.
- Incorrect answers generate a penalty.
- The inventory works.
- The doors work.
- The timer works.
- The hints work.
- The scoring system works.
- Victory and defeat screens exist.
- The backend receives information.
- PostgreSQL stores the required information.
- The REST API works.
- The code is available on GitHub.
- Jira contains the tasks.
- The documentation is complete.
- Testing evidence exists.
- The game can be demonstrated.
Status: MVP in development.
- Finalize architecture.
- Configure repository.
- Configure Jira.
- Create Flutter structure.
- Implement core systems.
- Implement Level 1.
- Implement Level 2.
- Implement Level 3.
- Integrate backend.
- Test.
- Document.
- Prepare delivery.
Project developed for academic purposes for the program:
Software Analysis and Development — ADSO
SENA — Centro de Design Tecnológico e Innovación
Explore. Think. Solve. Escape.
Academic Project — SENA ADSO