La aventura de texto o aventura conversacional es un género de videojuegos, más común de ordenadores que de consola o arcades, en el que la descripción de la situación en la que se encuentra el jugador proviene principalmente de un texto. A su vez, el jugador debe teclear la acción a realizar. El juego interpreta la entrada -normalmente- en lenguaje natural, lo cual provoca una nueva situación y así sucesivamente. A veces existen gráficos en estos juegos, que sin embargo son tan sólo situacionales o que ofrecen ayuda complementaria en algunos casos, al estilo de las ilustraciones de un libro.
Crea un videojuego de texto basado en una historia que se desenvuelve y expande, en la cual el/la usuari@ tenga que tomar decisiones, y cada una de ella tenga resultados (o consecuencias) que conforman una historia. La idea es crear un mundo de ficción interactiva donde l@s usuari@s sientan que la historia se desenvuelve en base a las decisiones que vayan tomado. En este desafío, la temática del videojuego es completamente libre, así como el uso de objetos (items), peleas (RPG battles) y/o relaciones entre personajes. Para este desafío tendrán que investigar sobre gamification, qué tipos de temas son los más jugados en los Text-based games, qué mecánicas o dinámicas son las que l@s gamers más valoran y qué enseñanza/experiencia o conclusión sacan al terminar la historia.
Diseñar tu propio videojuego, tratando de satisfacer las necesidades de l@s jugador@s y dándoles una experiencia enriquecedora.
A continuación puedes ver los objetivos de aprendizaje de este proyecto:
- Investigación centrada en el usuario y definición de Personas
- Diseño de interacción a través de User Flow
- Definición de KPI y revisión de impacto de la propuesta
- Testeo e iteración de la propuesta (Prototyping mindset)
- Definición de guía de estilos
- Uso de HTML semántico
- Uso de selectores de CSS
- Respetar guía de diseño
- Flexbox, Grid u otro
- Uso de condicionales
- Uso de bucles y ciclos
- Uso de funciones
- Manipulación de Arrays
- Manipulación de Objects
- ES Modules
- Autentificación
- Almacenamiento de data
- Conexión con Firebase (u otra BBDD)
- Ruteo de componentes
- Uso de ESLint
- JSX
- Events
- Lists
- Render
- Manejo del estado a través de Hooks o Redux
- Components/Modules
- React-router
- Component life cycle
- Components y templates
- Directivas ngIf y ngFor
- @input y @output
- Routing Module
- Observables
- Services
- Component life cycle
- Patrón MVC
- Organización de código en módulos
- Uso de identificadores descriptivos
- Testeo unitario (70% de la app como mínimo)
- Repositorio Git
- Colaboración a través de Github
- Push/Pull Requests
- Issues y Github Project
-
Este proyecto se debe desarrollar en equipo multidisciplinario (UX + FE).
-
Deberán decidir cómo acompañar el texto, si con imágenes, GIFs, pixel art, etc...
-
El juego debe poder guardar el avance de un@ usuari@ por si quiere volver a retomar el juego luego de haber salido.
-
Los tests unitarios deben cubrir un mínimo del 70% de statements, functions, lines y branches. Te recomendamos explorar Jest para tus pruebas unitarias.