Prueba estrés La Prisión

Resultados de la prueba de estrés

Buenas familia. Quizá este no sea el post que estabais esperando, lo sé, pero os prometo que muy pronto tendremos noticias interesantes 😉

Se nos pasó por alto publicar por aquí el resultado de la prueba.

En primer lugar: GRACIAS, gracias de verdad a todos los que asististeis. Los que no pudisteis, pronto intentaremos hacer otra.

La prueba fue genial, el servidor aguantó como un campeón y pudimos recopilar todos los datos que necesitábamos. Al final metimos casi 100 jugadores concurrentes y el servidor ni se despeinó. Buenas vibraciones en este sentido.

Lo dicho, muy pronto tendremos novedades del equipo de arte y podremos ver algún detallito de la futura Prisión 😉

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

¡Llegó la hora! Prueba de estrés

Al fin tenemos listo el servidor para realizar la famosa prueba de estrés.

¿Qué es y en qué consiste?

Es una prueba para poder conocer los límites del servidor que alojará el juego.

Consiste en conectar toda la gente posible simultáneamente al servidor. Esto nos permite analizar parámetros de carga del servidor y tráfico de red.

No es el juego

Creo que es obvio, pero aún así lo comentamos por aquí.

Es un servidor light, con una sola habitación, un escenario simple y sin decoración. Los personajes son «dummys», nada de skins.

Recordemos que en esta prueba queremos conocer los límites del servidor, nada más.

Aún así, el equipo de programación ha trabajado para traer una característica que seguro nos gusta a todos: el chat. Así que, una vez dentro, podremos hacer los malotes un poco 😛

Un chat muy básico, aún sin colores, pero que seguro nos da la vida a mas de uno.

¿Cuándo y cómo?

El próximo viernes 21 de agosto a las 22:00 horas.

Ya podéis descargar el cliente de la prueba. Ese día, a la hora indicada, anunciaremos la forma de conectar, con un usuario y contraseña. ¡ESTAD ATENT@S!

Para una comunicación rápida, entrad al grupo de Telegram: @LaPrision.

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

La Prisión Reloaded

¡Feliz aniversario!

¡Muy buenas a todos prisioneros!

Hoy es un día muy especial, hace justo un año nació este proyecto.

Ahí estaba yo, en Telegram, con un canal recién creado en el que estaba sólo. Las intenciones eran buenas, pero la realidad era otra historia. Estamos hablando de un proyecto enorme, de proporciones bíblicas.

Ha pasado mucha gente, con muy buenas intenciones y no tanta perseverancia. Afortunadamente en todo este año hemos conseguido hacer un equipazo, ahora sí, perseverante y con las ideas claras.

Hoy somos 192 miembros en el canal (¡y subiendo!). 192 personas a las que nos une un sentimiento común, revivir La Prisión.

Además tenemos a una persona muy especial, se encuentra con nosotros SoNNy, o Juanga como prefiere que le llamen ahora. Aparte de las increíbles anécdotas que nos cuenta de la antigua prisión, nos está dando muy buenos consejos para el desarrollo del proyecto junto con Sobakus.

Suponemos que los conocéis, SoNNy se encargaba de la programación del cliente (entre otras muchas cosas) y Sobakus de la programación del servidor (también entre otras muchas cosas). Por lo tanto, todo lo que nos dicen es oro para nosotros. ¡Gracias!

Las novedades

No voy a dar mucha chapa técnica, solo deciros que recientemente hemos decidido migrar el proyecto con Unreal Engine (antes estábamos con Unity). Este cambio nos abre un montón de posibilidades y tendremos una estructura robusta sobre la que trabajar.

Hemos avanzado mucho en todos los aspectos del juego, así que podemos anunciar…

La sorpresa

¿No creeríais que me iba a marcha sin daros una pequeña sorpresa no?

Muy pronto realizaremos una stress proof. Esta prueba consiste en conectarnos todos a un servidor, que tendrá una habitación de la cárcel (para aliviar un poquito el mono), y verificaremos el comportamiento de los servidores para conocer a fondo como responden.

Así que nos vemos muy pronto dentro de la futura prisión. Solo nos podremos mover por una zona, pero espero que os guste y os de una impresión de lo que estamos preparando.

Estad atentos, lo anunciaremos por todos los canales oficiales, estableciendo el día y la hora y los pasos a seguir para poder conectaros.

Desde aquí, agradeceros a todos vuestra presencia y comentarios en el canal y, sobre todo, a los equipos de Programación, Contenido y Arte que están trabajando como si la vida les fuera en ello. Sin ellos esto sería imposible.

La parte técnica (DEV: Javier Castro)

Añado esta parte, desde un punto de vista más técnico, para las personas que quieran conocer un poco los motivos que se encierran detrás de algunas decisiones, como cambiar de motor, lo que significan y lo que nos dará.

El primer cambio más notorio ha sido el cambio de motor, pasando de Unity a Unreal Engine. Las ventajas son muchas, las desventajas, pocas.

Entre las ventajas, contamos con un engine mucho más robusto que Unity, pensando y preparado para videojuegos en High-end para PC, aprovechando todo el potencial que las maquinas de hoy en día, y las gráficas de hoy en día, pueden ofrecer.

También hemos ganado robustez en la parte más importante de un MMO: El networking.

Sin embargo, estas ventajas, entre otras (mejor sistema de colaboración, mejor sistema de materiales, mejor sistema de control de versiones, etc…) ha tenido el coste de empezar de cero, lo que, en pocas palabras, significa que todo el trabajo anterior ha quedado invalidado y obsoleto.

Otro de los cambios técnicos, debido a la naturaleza del propio motor, ha sido el sistema de render. La primera prueba de concepto que hemos enseñado durante estos meses en el blog se basaba en el mismo sistema de render que tenia el juego original: Fondos pre-rednerizados con elementos 3D por encima.

Los problemas que provocó esto fueron múltiples, siendo uno de los más importantes, la resolución que los monitores actuales tienen de hoy en día. Para que los fondos no se vieran «pixelados» hacia falta crear imágenes de dimensiones tan grandes que multiplicaban el tamaño del binario final (el .exe) de forma desproporcionada, a la vez, que consumían la VRAM mucho más de lo deseable. En pocas palabras: Si queríamos que se viera nítido, necesitábamos una maquina mucho más potente de lo que el juego original pidió jamás. Era eso, o bajar la resolución de los fondos.

La solución ha sido olvidarse de los fondos pre-renderizados y optar por un entorno totalmente en 3D. Quiero calmar al lector asegurandole que la esencia no se va a perder, las cámaras seguirán siendo estáticas y el estilo de juego y movimiento, seguirá siendo el mismo. El único cambio, es que ahora los fondos serán totalmente dinámicos, y donde antes cuestiones como hacer ciclos de día y noche eran un problema, ahora son un detalle menor.

Faltarían muchas cosas que comentar, pero la entrada del blog ya ha quedado bastante grande, por lo que, como suele decirse, lo dejaremos para otro día.

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

Estado actual y rumbo futuro

¡Muy buenas a todos prisioneros!

En primer lugar, desearos que todos estéis bien, ya queda menos para salir adelante de esta. Juntos lo conseguiremos.

Dado las últimas conversaciones en el canal de Telegram, hemos querido explicar en este post el estado actual del proyecto y el rumbo al que nos dirigimos.

ESTADO ACTUAL Y RUMBO

El desarrollo no está ni mucho menos parado, es cierto que la crisis sanitaria nos ha hecho perder un poco de tiempo, porque, al contrario de lo que podéis pensar, los informáticos trabajamos mucho más ahora que antes. El teletrabajo es una auténtica locura, creedme. Tenemos muy poco tiempo libre.

Recientemente se han incorporado 3 nuevas personas al equipo, que nos aportan nuevos puntos de visión y nuevas ideas que nos ayudan mucho.

Desde el equipo de contenido han logrado completar una base de datos con todos los objetos del anterior juego y nos va a ayudar enormemente en la creación del nuevo contenido. También se están creando misiones, bots, etc.

EL MAYOR DILEMA AL QUE NOS ENFRENTAMOS

Actualmente necesitamos encontrar un sistema de reglas para poder programar la base del juego. En este sentido, si conocéis a alguien que juegue a juegos de rol de mesa y que los conozca muy a fondo, quizás nos pueda echar una mano. Estamos abiertos a cualquier tipo de colaboración en este aspecto.

TEMA DONACIONES

Estamos encantados de que estéis deseando colaborar económicamente en el desarrollo del juego, pero tenemos que ser realistas.

Actualmente necesitamos avanzar un poco más (¡tema reglas!) para programar una base sólida sobre la que poder seguir adelante en programación.

Ahora mismo las donaciones no nos ayudarían mucho y preferimos dejar esto para cuando sea realmente necesario.

CONCLUSIONES FINALES

Lo más importante ahora mismo es encontrar un sistema de reglas que se adapte lo mejor posible al juego que queremos. Ayuda bienvenida.

Las donaciones de momento ni son necesarias, ni nos ayudarían demasiado. Todo a su debido tiempo.

Seguimos trabajando en el proyecto. Vamos al ritmo que podemos, pero… ¡seguimos aquí!

Una última cosita. Cuando llevamos todo el día liados con temas de trabajo y encontramos unos minutos para entrar a Telegram, lo último que nos apetece ver son comentarios negativos, porque estamos poniendo todo nuestro esfuerzo para que esto salga adelante. Espero que lo entendáis.

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

Novedades Equipo de Contenidos

¡Muy buenas Prisioneros!

Como todos sabéis, estamos pasando por momentos complicados a nivel mundial debido al virus COVID-19, aún así, puedo decir que por el momento no ha afectado a ninguno de los miembros del equipo. Si miramos el lado positivo de todo esto, es que podremos dedicarle un poco más de tiempo a todo esto (los que no tenemos que trabajar) …

Ya son muchas semanas de duro trabajo logrando grandes avances, como han comentado mis compañeros en anteriores blogs y me gustaría aprovechar este momento para agradecer a todos y cada uno de los miembros que formamos parte de este proyecto, ya que están dedicando su tiempo libre de manera desinteresada para que todo siga adelante. Sin la ayuda de todos, esto no sería posible.  

Desde el Equipo de Contenidos, es bastante complicado daros avances significativos, ya que es un trabajo que no se verá hasta que no salga el juego a la luz, pero por ahora, puedo avanzar que se ha creado una aplicación que será la encargada de crear todos los ítems del juego en el servidor, y ya estamos empezando a introducir algunas armas y objetos para poder testear cuando llegue el momento.

Además, seguimos trabajando en las tablas de objetos del juego (armas, protecciones, etc…). Es un trabajo titánico que seguramente se alargará varias semanas, ya que, si recordáis, en la antigua Prisonserver, habían cerca de 4.000 objetos. En la actualidad, estamos casi a medio camino para tener completada la lista completa de objetos.

Gracias por vuestra atención, y quiero recordaros que vuestros ánimos nos dan fuerza para tirar adelante, así que os invito a que dejéis vuestros comentarios y nos hagáis llegar vuestras sugerencias a través del grupo de Telegram, por Discord, o aquí mismo.

¡Próximamente más novedades!

Saludos a /all 😉


Edu – (ZiKoPaTa)
El nuevo equipo de La Prisión
EQUIPO DE CONTENIDOS

Novedades

¡Saludos prisioneros!

Esta semana hemos avanzado en varios aspectos de esta fase de estructura y elementos básicos en la que nos encontramos, y nos encontraremos durante un buen tiempo.

La semana pasada hablábamos de la nueva herramienta Room Editor y su funcionalidad a la hora de crear animaciones. Esta semana ya hemos perfilado algunos bugs que se crearon en la anterior build, donde las animaciones ya funcionan entre distintas cámaras y continúan desde el fotograma que hubiese usado la ultima cámara antes de la transición.

Cursores

Hemos implementando una primera versión de cursores animados, para empezar a ofrecer un feedback sobre qué elemento se encuentra bajo nuestro cursor, esto es: una puerta, una zona de transición, un objeto interactuable, etc…

Chat

Entre las características actuales del chat podemos encontrar lo siguiente:

  • Rich text: Tags para colores y formatos de texto (negrita, cursiva y color)
  • Emoticonos: Actualmente hemos añadido los emojiis básicos en dos formatos: por referencia (algo que pretendemos eliminar en el futuro) y por código unicode (esto ayudará a usar teclados virtuales que incluyen estos iconos, como en macOS)

Otra característica del chat que pensamos puede ser interesante de cara al futuro, tanto por temas de debuging por parte del staff como para la futura creación de mods por entusiastas del juego, son los comandos de reflexión.

Esta herramienta permite ejecutar funciones por reflexión de elementos concretos del juego. La idea principal tras esto es incluir una forma temprana para modificaciones del juego ingame, uno de los pilares para permitir el modding.

El vídeo que os ponemos a continuación muestra un ejemplo de esto: Existiendo una clase especifica para el control de cursores e incluyendo la interfaz IGameCommand, esta herramienta permite llamar a cualquier función (como la función SetCursor en el ejemplo) desde el propio juego, sobreescribiendo su comportamiento, es este caso, cambiando al cursor «estándar» incluso cuando el comportamiento normal (sin haber usado este comando) es usar el cursor de desplazamiento de zona.

Para ello debemos indicar comandos con la siguiente sintaxis:

//<class> <func_name> [<(Type)param>]
Ejemplos:
//cursor setcursor (Carcel.UI.Cursor+ECursors)MoveTo
//roommanager loadroom (System.String)CorridorL_Auto_Room

Puertas

La última característica que hemos añadido a las habitaciones son las puertas y objetos interactuables. Fuera de la simpleza que puedan parecer, ha sido necesario plantearse algunas cosas:

  • Zona de área de uso para todos los interactuables. Esto incluye por supuesto a las puertas, y nos permite indicar la zona aleatoria donde un personaje debe encontrarse para poder ejecutar la acción del objeto.
  • Zona final de transición: Cuando cambiamos de sala, debemos dirigirnos a la puerta, esperar a que se abra una vez hemos llegado, y continuar andando hacia «el fondo» para comenzar la pantalla de carga. Todo esto esta incompleto y únicamente tenemos planteada la UI para automatizar y facilitar la creación de estas puertas.

Os dejamos un vídeo donde se muestran casi todas las características de las que hemos hablado hoy:

Estructura de servidores

Hemos replanteado la estructura de servidores para agilizar el uso que tenga cada uno y aumentar, en lo posible, el número de usuarios concurrentes sin tener que adquirir la versión profesional del framework que usamos para el netcode.

Hasta el momento teníamos un único servidor donde habíamos desplegado todos los elementos. Teniendo en cuenta que el limite de usuarios impuestos por el framework es de 100 usuarios, esto implicaba que si había 90 personas jugando, y 10 en la zona de login (selección de personaje y todo eso), significaba que nadie más podria conectarse ni al login.

Ahora hemos separado en tres servidores todo esto proceso: Uno para el login, otro para la base de datos y otro para cada cárcel. El servidor que utiliza la base de datos no tiene ningún tipo de limite a la hora de consultas concurrente (más allá de los propios limites técnicos) pero tanto el servidor de Login como los servidores de Cárcel, sí consumirán este limite de 100 usuarios, pero con esta nueva estructura, 100 cada uno. Es decir, 100 personas haciendo login a la vez que otras 100 personas juegan en una cárcel y otra 100 personas en otra cárcel distinta. Y todos a la vez.

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

Mejoras en RoomEditor

¡Saludos prisioneros!

Esta semana en programación hemos hecho algunos avances en el sistema de habitaciones y en la herramienta ‘Room Editor’ para automatizar todo este proceso.

La semana pasada hablábamos del proceso de automatizar los elementos básicos de una escena, es decir, la posición de las cámaras, la aplicación de los shaders y la asignación de zonas.

En esta ocasión hemos añadido un sistema aun en desarrollo de animaciones. Con esto, podremos recrear algunas partes del juego que sí contenían animaciones (¿alguien recuerda las moscas de la cocina?).

Las animaciones de momento funcionan a 24fps, aunque se esta barajando la posibilidad de usar un framerate má bajo (de unos 15) para aumentar la sensación de los juegos de aquella epoca, pues algo muy caracteristico era precisamente esa «falta de fotogramas» en las animaciones del fodo.

Os adjunto un vídeo de este sistema de animación en funcionamiento. Como podréis observar aun faltan depurar algunas cosas.

En términos de rendimiento, las animaciones son creadas extrayendo una región de pixeles de la imagen original (el render completo) y se guardan en archivos en formato RGB24. Esto nos esta dando una tasa de refresco en el juego de unos 1020 FPS, con todos los efectos activados.

Esta cifra sin embargo variará en el futuro, pues no estamos considerando escenarios con más personajes, más efectos y más recursos en acción. Sin embargo, sí nos permite ir comprobando que el futuro juego de La Prisión consuma los mínimos recursos posibles. En otras palabras: que funcione en la mayoría de ordenadores posibles.

La herramienta Room Editor también ha recibido una importante actualización, añadiendo una pestaña especifica para toda la creación de animaciones. Básicamente, indicando una ruta, un rectángulo, una velocidad y una curva de animación, Room Editor creará por nosotros todos los pasos de forma transparente.

Lamentablemente la herramienta aun no se encuentra completada en este momento, a falta de depurar algunas de sus características actuales y la implemención de algunas nuevas.

También hemos mejorado el shader de transparencias para elementos 3D, añadiéndole la posibilidad de utilizar una mascara, lo que nos permite crear verjas en el juego que ocultan la geometría de los elementos 3D tras ellos:

Os traeremos más novedades la semana que viene.

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

Novedades en programación

¡Saludos prisioneros!

A lo largo de esta semana hemos avanzado en más elementos esenciales para el desarrollo del juego. Uno de esos elementos es la automatización a la hora de crear habitaciones.

También hemos creado una wiki para ir documentando herramientas y mecánicas del juego.

Y hemos mejorado algunas cuestiones de seguridad en el servidor. Esperamos que estas medidas garanticen que nadie pueda explotar elementos importantes y borrar la base de datos.

Es difícil mostrar cosas de programación sin entrar en código puro, por lo que os dejo un par de screenshot de la base de datos actual por eso de ir rellenando un poco el post 😛

Room Editor

Room Editor es una herramienta desarrollada para facilitar la creación de habitaciones en Unity de forma automática.

Sin embargo es importante recalcar que aun faltan muchos elementos, por lo que este acercamiento es para agilizar el desarrollo en la parte de gráficos, permitiendoles experimentar sin necesidad de programar o tocar elementos del motor.

En el vídeo podéis observar su funcionamiento en acción. Algunos procesos aun deben ser hechos a mano, como la creación de campo de navegación.

La Prisión Wiki

Como mencionaba antes, hemos creado una wiki usando Mediawiki para ir documentando todos los elementos del juego. Si decides visitarla, ten en cuenta que estamos en los primeros días de haberla levantando, por lo que la mayoría de la información o es inexistente, o es incompleta o no esta verificada, por lo que recomiendo coger con pinzas cualquier cosa que leáis ahí en los próximos meses:

https://wiki.prisonserver.net/

Ruleset, ruleset!

Seguimos en la busqueda incansable de encontrar un sistema de reglas para aplicarlo al juego. En anteriores entradas hablabamos del problema en el que nos encontramos al no recibir nada de soporte por el equipo original, y no saber con exactitud las reglas que regian todo por detrás.

Hemos estamos mirando muchos juegos y consultando a muchas personas y seguimos sin tener una decisión clara al respecto. Si conoces a alguien que pueda ayudarnos con este tema, por favor contacta con nosotros en los comentarios o en el grupo oficial de Telegram.

A continuación os pongo la lista de juegos que estamos valorando:

  • Call of Cthulhu
  • Aquelarre
  • RuneQuest
  • Rolemaster
  • Dungeons & Dragons 3.5
  • Phoenix Command

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