Loading repository data…
Loading repository data…
TonioDominguez / repository
Particular adaptación de juegos de rol basados en texto con tecnología NLP para ofrecer una experiencia más dinámica e inmersiva

"Dungeons & Pythons: Embedding Edition" es una particular versión de los clásicos juegos RPG basados en texto (text-based RPG), donde la narrativa se desarrolla a través de las decisiones del jugador.
Lo que distingue a esta versión es su sistema de interacción basado en NLP: las decisiones del jugador se realizan mediante texto libre que es transformado en vectores mediante tecnología de embeddings, permitiendo una interpretación precisa por parte del sistema.
El motor del juego analiza la similitud cosenoidal entre los vectores generados por el input del usuario y un conjunto de respuestas narrativas predefinidas, también vectorizadas. Por ejemplo, cuando un jugador introduce "Quiero echar un vistazo alrededor", el modelo de embeddings identifica la similitud semántica con la acción predefinida "explorar el bosque", permitiendo una progresión narrativa más natural.
"Dungeons & Pythons: Embedding Edition" es un proyecto bastante especial para mí, ya que es una idea que parte para mejorar mi primer proyecto de Python "Dungeons & Pythons". Con "Dungeons & Dragons: Embedding Edition" incorporo tecnología de procesamientode lenguaje natural a la mecánica original para crear una experiencia más inmersiva.
│
├── images/ # Imágenes utilizadas en el juego
│ ├── scene(n).jpg # Diferentes escenas
│ └── [nombre_raza]_[nombre_profesión].jpg # Combinación de personaje
│
├── notebook/ # Contenedor prueba
│ └── test_game.ipynb # Notebook tester
│
├── .gitattributes # Atributos de Git
├── .gitignore # Archivo que ignora Git
├── README.md # Documentación del proyecto
├── app.py # Ejecutar la aplicación
├── game_engine.py # Motor del juego
├── initial_functions.py # Funciones creación personajes
├── main.py # Iniciar el juego en terminal
└── requirements.txt # Dependencias del proyecto
└── scene_function.py # Funciones con escenas y respuestas

Abre la terminal y ejecuta el comando para clonar el repositorio en local
git clone https://github.com/TonioDominguez/dungeons_and_pythons_embeddings.git
Navega al directorio de Dungeons and Pythons
cd dungeons_and_pythons_embeddings
Instala las dependencias
pip install -r requirements.txt
Ejecuta el juego con el siguiente comando
python main.py
También puedes ejecutar el juego en la app de Streamlit de forma local. Instálalo en la terminal si aún lo tienes
pip install streamlit
Navega al directorio (como se indica en el punto 2 del apartado anterior) y carga la siguiente línea
streamlit run app.py
O juega directamente en el deploy público de la aplicación: https://dungeonsnpythons.streamlit.app/
"Dungeons & Pythons: Embedding Edition" es una versión que está lejos de ser la definitiva. Lanzo este prototipo como una demo que muestra el potencial que puede desarrollarse con más tiempo y dedicación. Hay aspectos que me gustaría mejorar en un futuro, como son los de desarrollar un sistema de combate dinámico adaptado a NLP, construir una estructura más robusta para transicionar entre escenas o generar muchas más opciones de respuesta.
Si crees que puedes aportar a "Dungeons & Pythons: Embedding Edition" con una sugerencia de código o alguna idea, te animo a contactes conmigo antonio.d.ambunan@gmail.com o conectemos directamente por linkedin