Sistema de Localización y Bases de datos

¡Saludos prisioneros!

Hoy vamos hablar de los avances en el sistema de traducción que queremos implementar en el juego. La entrada que nos acontece en esta ocasión es, como muchas de las cosas que aun faltan por llegar, una de las bases que cimentará el futuro juego de La Prisión.

Siempre he creído que la traducción de un juego es importante, y que el idioma mínimo que cada juego debe llevar siempre es el ingles. Es un idioma muy importante, hablado por la mayoría, y que permite al mundo conocer obras que, de otra manera, se relegarían a los pocos que compartieran su lengua original.

Pero también he creído siempre que un juego debe respetar su raíces y el país donde se produjo, y eso incluye añadir el castellano como lenguaje al juego. Por ende, no hay otra solución que garantizar un sistema que permita añadir toda lengua al juego, y ofrezca, frente a otras soluciones más clásicas, una verdadera ayuda en el día a día entre los muros de La Prisión.

Herramienta para Unity

Estamos desarrollado una herramienta para ser usada internamente en Unity con la finalidad de acelerar y acomodar el proceso de la localización.

Estas son las carateristicas <ironia>del original nombre: Localization Editor </ironia>:

  • Serialización binaria del contenido en UTF-16 para permitir lenguajes complejos como el japones o, quien sabe, futuros lenguajes alienigenas más complejos de lo que hoy podamos imaginar :P.
  • Importación y exportación en formato CSV, un formato muy conocido en el área de la traducción.
  • Sistema de traducción estática y dinámica, esto es: Textos que no se modifican y textos solicitados por el código en tiempo de ejecución.
  • Sistema de rutas de recurso: Utilidad para assets y elementos de contenido binario como imágenes o sonidos.
  • Sistema de duplicación: Un problema típico en sistemas de traducción es duplicar entradas innecesarias, como crear dos claves con el mismo contenido en espacios de nombre distintos. Nuestra herramienta detectará y avisará de dichas duplicaciones.
  • Algunos bugs por arreglar: Esta es una característica muy común en cualquier herramienta…

No todas las características están aun acabadas, pero si las suficientes como para considerar que puede usarse en el repositorio principal del juego.

Cambiar lenguaje ingame

Reconozco que esto es quizá más un capricho mio que una necesidad real del juego, y es que nuca podré olvidar lo ingenioso que me resultó, en su momento, esta posibilidad en un addon del que jamás podré recordar el nombre en World of Warcraft.

La Prisión es, por su propia naturaleza, un juego español con pocos recursos, y eso significa que, si en un futuro, una persona de distinto idioma quisiera saber el nombre original que tal o cual objeto tiene en castellano, le permitirá buscar información por internet que, poniendo el nombre traducido, no podría encontrar tan facilmente.

Es cierto que uno siempre puede ir a opciones, idiomas, y cambiarlo. Pero, ¿por qué no permitir un atajo de teclado que lo haga en tiempo real? ¿no es más cómodo para esa gente, mirar por unos segundos el nombre original, dentro del propio juego, y luego volver a su idioma? Yo creo que sí, y creo que alguien le terminará por encontrar la utilidad.

Como podéis ver en el vídeo de a continuación no todos los textos están implementados a falta de depurar algunas características de la herramienta.

Buscando inspiración en Asheron’s Call para la base de datos

El 31 de enero de 2017, no mucho antes de que lo hiciera La Prisión, el juego multijugador masivo Asheron’s Call cerraba sus puertas de forma definitiva. La comunidad que hubo alrededor de ese juego, vivió lo mismo que, en estos días, nuestra comunidad esta viviendo, y aunque desconozco si con ayuda o sin ella del staff original, la comunidad creó un emulador del servidor, de forma libre, disponible en github:

https://github.com/ACEmulator/ACE

Gracias a su aportación, nuestro equipo a podido examinar el funcionamiento de este, incorporando a nuestra base de datos técnicas que han sido usadas para este juego tan famoso en su momento.

Si sois desarrolladores os invito a que le echéis un vistazo, esta escrito en un sano y moderno C# fácil de entender y con muy buenas ideas dentro.

Un saludo a todos!
El nuevo equipo de La Prisión

Equipo de Contenidos

¡Muy buenas prisioneros!

En 1999 empezó una nueva aventura, la aventura de sobrevivir en una cárcel donde si no te labrabas un nombre, no eras nadie… ¡La aventura de La Prisión!

A principios de 2018 y después de casi 20 años funcionando, apagaron los servidores de juego para no arrancar nunca más.

En agosto de 2019, un grupo de jugadores nos unimos para ver de qué manera podíamos recuperar ese juego que tanto echábamos de menos. Nos pusimos en contacto con el equipo de desarrollo de la antigua Prisión, se les ofreció recuperar el proyecto, y la respuesta siempre fue negativa.

Pues bien, después de varios meses intentando montar un equipo de gente dispuesta a trabajar en un nuevo proyecto, podemos decir que ¡lo hemos conseguido!

A día de hoy, tenemos un equipo consolidado de gente dispuesta a trabajar por un sueño, crear un videojuego basado en nuestra amada prisión, manteniendo toda su esencia, pero renovando todo el entorno gráfico y contenidos.

Como bien habéis podido ver en publicaciones anteriores de este blog, el equipo de desarrollo está trabajando muy duro para conseguir algo funcional, y aunque todavía estamos en una etapa muy temprana, están avanzando a pasos agigantados teniendo en cuenta que todos disponemos de tiempo limitado para poder dedicar al proyecto.

Ahora mismo, desde el Equipo de Contenidos llevamos bastantes objetos del juego preseleccionados, y en colaboración con el equipo de desarrollo, nos estamos encargando de elaborar todas las tablas que contendrán las bases de datos, tanto de los bots que formarán parte del escenario, como los objetos que podremos encontrar en el juego y las armas que podremos usar en nuestras peleas. A la hora de crear ítems en el juego, hay una dificultad añadida, que es encontrar un equilibrio en los parámetros de cada ítem del juego.

*Antiguo inventario extendido Prisonserver

A día de hoy, ya están prácticamente definidos los delitos por los cuales se cumplirá condena, varios bots de misiones, y los clanes de bots que encontraremos por la cárcel (algunos os vais a llevar una grata sorpresa). Además, también estamos empezando a trabajar en la lista de misiones y textos que cuadren con la historia del juego y todo tenga sentido. De momento lo que os puedo avanzar, es que la nueva cárcel dispondrá de un solo modulo (por el momento) y que se irá ampliando gradualmente.

Recordad que vuestro apoyo es importante para que esto siga adelante, y os animo a que dejéis vuestras sugerencias a través de los canales de comunicación habilitados.

¡Próximamente os adelantaremos más novedades!

¡Saludos a /all! 😉

ZiKoPaTa
El nuevo equipo de La Prisión

Cliente / Servidor (Primeros pasos)

En la anterior entrada habéis podido echar un vistazo a cual es el estado de desarrollo actual del cliente. En este post os vamos a contar en que estado se encuentra el desarrollo del servidor.

Multiplayer y Bots

En este momento hemos conseguido que múltiples jugadores se conecten a una zona y cada uno de ellos pueda ver los movimientos de los demás.

Si bien es cierto que de momento no pueden interactuar entre ellos, este es un gran paso adelante para nosotros ya que esto constituye la base para todo lo que venga después.

Además hemos logrado incluir un primer paso en cuanto a NPCs y su control mediante el servidor.

En el siguiente vídeo podéis ver mas o menos todo lo anteriormente mencionado. Veréis que en ocasiones los PJs dan saltos, pero no es por lag, ya que el NPC Crazy Bar Pardillo se mueve de forma fluida, si no porque aún debemos mejorar mucho el modo en que se transmiten las posiciones a los jugadores remotos y las animaciones de esos movimientos.

Sistema de combate

Todos recordamos los combates en la prisión, ya fuera contra bots o en «bullas», su sistema de combate era amado y odiado a partes iguales. Y para no perder ni el amor ni el odio que se le profesaba, hemos decidido conservarlo lo mas fielmente posible.

Recordad en todo momento que estamos en una fase muy muy temprana de desarrollo y todo lo que os enseñamos está en pañales.

Una vez mencionado esto, por el momento ya hemos hecho avances en el «timing» de los turnos y hemos comenzado a implementar los ataques.

A continuación veréis un vídeo en el que en primer lugar, se consume un turno al agotarse el tiempo, y otro turno en el que el oponente ataca. Todo esto es gestionado por el propio servidor.

Siguientes pasos

Estos avances han sido una pequeña parte de la base que debemos crear para que el desarrollo siga adelante y tenemos que mejorar y pulir muchísimo todo lo mostrado. Pero haber llegado hasta aquí, nos da ánimos para seguir trabajando.

Uno de los siguientes objetivos que pretendemos alcanzar en cuanto al servidor, es implementar un sistema de chat igual de bueno que el de la prisión.

Espero que el artículo haya sido de vuestro interés y recordad que vuestras opiniones y comentarios son importantes, ¡cualquier idea puede ayudar a mejorar el juego!

Un saludo a todos!
El nuevo equipo de La Prisión

Las primeras bases (Programación)

¡Hola a todos! Bienvenid@s al blog oficial del proyecto: Revive La Prisión.

Resultado de imagen de la prision dinamic multimedia

Como muchos sabreis, en el año 2018, los servidores del juego cerraron definitivamente, provocando que un grupo de antiguos jugadores crearan un grupo con la esperanza de volver a jugar algun día.

Ese día, cada vez está más cerca.

En el momento de escribir estas lineas, somos dos programadores, por lo que el trabajo a repartir es titánico. Pero no es algo que nos importe, para nosotros es un placer dedicarle el tiempo que necesita un proyecto así, que estimo, no será menor a un año. Con suerte, en el 2021, podremos empezar con una beta abierta.

Tecnología usada

Han sido muchos los debates sobre qué tecnologías usar en el desarrollo, pero al final, las ganadoras, fueron las siguientes:

  • Smartfoxserver 2X: Servidor principal
  • Unity 2019.X: Engine principal

¿Qué implica esto para el futuro del juego? Por un lado, ambas tecnologias no son libres ni gratuitas, aunque ambas ofrecen una solución gratuita, aunque limitada, en sus prestaciones. Es esta ultima parte en la que el juego vivirá, dentro de los limites impuestos por estas tecnologias.

Uno de esos limites, por ejemplo, es el número concurrente de usuarios que pueden conectarse a La Prisión, que rondará los 100 usuarios por cárcel.

El motivo principal de usar estas dos tecnologías son por temas de tiempo. Tanto Unity como Smartfoxserver ahorran, si no cientos, miles de horas, en el campo de desarrollo. El segundo motivo, es que ambas herramientas ofrecen la posibilidad de actualizarlas a un plan de pago, desbloqueando todos esos limites impuestos, y la tercera, que son las herramientas que a día de hoy, 2020, conocen la mayoría de los developers, lo que nos permitirá, en el futuro, ampliar nuestro personal técnico.

La «esencia» de un juego de 1999

Para mi, este es uno de los motivos principales por lo que me involucro en este desarrollo. Y es que los juegos que existen hoy en día, poco o nada tienen que ver con lo que fueron sus atávicos percursores.

Para lograr mantener esa esencia hemos tomado algunas decisiones tanto a nivel de mecánicas como gráficas.

A nivel mecánica será bastante parecido al juego original, esto es: movimiento por click & point, cámaras estáticas, combate en 3D por turnos, y un gran foco, en el chat.

A nivel gráfico es bastante difícil lograr algo parecido, sobre todo, siendo únicamente dos programadores en el desarrollo del día a día. Por lo que si eres una persona con ganas de colaborar y conocimiento en el área audiovisual, contacto con nosotros en Telegram (@jcastro3d, @Jontxus, @JOTACorso).

Hemos desarrollado una herramienta para simular los fondos pre-renderizados que respeta la esencia de aquella época, a la vez que añade ciertas mejoras gráficas que casan perfectamente con el estilo.

El funcionamiento que hay detrás es el siguiente: Cargamos una imagen pre-renderizada de fondo, encima de esta imagen, cargamos una simplificación del nivel y le añadimos un shader invisible.

Y la gracia de todo, radica en dicho shader. Pese a ser invisible, seguirá ocultando la geometría de otros elementos 3D que estén detrás, a la vez que será capaz de recibir proyecciones de sombras del resto de elementos.

Esto permite un comportamiento visual más rico y cercano a lo que los juegos modernos nos puedan ofrecer hoy en día, a la vez, que mantiene esa esencia de imagen pre-renderizada granulada y antigua que tan difícil es de lograr con 3D en tiempo real.

El vídeo de a continuación fue el primer ejemplo de esta tecnología cuando la usamos, y fue un vídeo que rondó por el canal oficial de Telegram durante un tiempo. Como imaginareis no es un entorno que se vaya a usar en el juego, al igual que el personaje.

Sistema de reglas

Todo juego de rol necesita un sistema de reglas sobre el que sustenta el progreso de los personajes, los combates y el entorno. Por desgracia, La Prisión usaba un sistema de reglas propio del que desconocemos casi por completo cómo funcionaba a nivel interno.

Aunque tenemos información cómo cuantos puntos disponía un crimen al empezar su creación, o la vida total según su constitución, nos faltan muchísimos datos para poder programar un sistema de reglas parecido.

Esto nos ha obligado a buscar una alternativa. En la actualidad estamos debatiendo sobre qué sistema usar, por lo que sería un buen momento para participar en los comentarios y exponer tu opinión al respecto.

Actualmente se esta barajando el sistema de reglas de D&D, en su variante OGL, la mismia que usa Pathfinder y que se trata de Open Source, lo que nos permitiría usarlas sin problemas legales, más la tranquilidad, de ser un sistema con más de 20 años de testeo a sus espaldas.

¿Qué opinas sobre esto? ¿Hay algún ruleset que conozcas y creas que encajaría como anillo al dedo para La Prisión?

Sistema de Persistencia

Existen muchos tipos de MMO, con muchas mecánicas distintas, pero todos ellos comparten el concepto de persistencia. Nuestro pequeño equipo ya tiene las bases para permitir la persistencia en cuentas y personajes (no aun en objetos u otros elementos).

Aunque puede parecer poco, son los primeros pasos sobre la que se sustentaran el resto de sistemas. 

  1. Registro de cuenta en nuestra base de datos
  2. Sistema de encriptación para los credenciales del usuario.
  3. Creación de personajes, tanto a nivel de stats como gráfico.
  4. Destruir un personaje (en la cuenta del propietario)

A continuación os dejo un vídeo con el último estado del juego. Tened en cuenta que hablamos de un prototipo, donde buscamos el funcionamiento y dejamos el arte, un poco de lado. Normalmente estas cosas no suelen enseñarse al publico en una empresa de videojuegos, pues es algo demasiado prematuro. Espero que os sea de interés aun así.

Un saludo a todos!
El nuevo equipo de La Prisión