tech explorers, welcome!

Categoría: D.Gaming

endleZZ v0.2: actualización de aniversario

Hace un año que surgió endleZZ en una sala de espera sin cobertura, como una forma de desarrollar un juego offline que no requiriese nada especial: solo un navegador y un fichero .html en tu móvil.

La idea es genial, me ha servido muchas veces para matar el tiempo, pero se merecía una mínima actualización visual y funcional.

Así que aquí está la versión 0.2: actualización de aniversario! 🎉

Versión web

Accede a la versión web oficial que hospedo en este servidor:

https://theroamingworkshop.cloud/endlezz

Versión local

O juega en local (y offline) descargando el código fuente del anterior enlace, o bien el fichero .html de github:

https://github.com/TheRoam/endleZZ

Registro de cambios

Nuevas características:

  • menú de opciones
  • controles de tiempo: pausa, restaurar y salir
  • nuevos elementos del mapa (árboles y rocas) que se generan aleatoriamente en cada partida
  • concepción inicial de sistema climático: añadida generación de nubes aleatorias

Corrección de errores:

  • las balas ahora alcanzan el final del mapa, a pesar de donde se pulse
  • ajustes del cálculo del tiempo en las pausas
  • mejoras generales de rendimiento e interacción

Instalar UnityHub en Ubuntu 22

Si has actualizado a Ubuntu 22 y has intentado instalar UnityHub siguiendo los pasos de su web:

https://docs.unity3d.com/hub/manual/InstallHub.html#install-hub-linux

Todo va aparentemente bien, hasta que al ejecutar el programa te aparece esto:

>> unityhub
This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
ConnectionLost: Timeout! Cannot connect to Licensing Client within 60000ms
    at Function.fromType (/opt/unityhub/resources/app.asar/node_modules/@licensing/licensing-sdk/lib/core/ipc/licensingIpc.js:51:16)
    ...

Por suerte, surfeando por la web sueles encontrar la solución, y en el propio forum de Unity han dado con una:

https://forum.unity.com/threads/installing-unity-hub-on-ubuntu-22-04.1271816/#post-8136473

Veamos toda la instalación paso a paso:

Instalar UnityHub para Linux

Seguimos los pasos oficiales de su web (primer enlace del post):

  1. Añade el repositorio de Unity a la lista de fuentes de paquetes de Linux:
    sudo sh -c 'echo "deb https://hub.unity3d.com/linux/repos/deb stable main" > /etc/apt/sources.list.d/unityhub.list'
  2. Añade la clave pública para hacerlo confiable:
    wget -qO - https://hub.unity3d.com/linux/keys/public | sudo apt-key add -
  3. Actualiza tus repositorios:
    sudo apt update
  4. Instala UnityHub:
    sudo apt-get install unityhub

Todo debería ir bien, a pesar de un error al abrir una supuesta carpeta «chrome-sandbox». Aun así, ese no es el error, al ejecutar unityhub desde el terminal nos aparece el error de arriba.

Instalar libssl1.1

El problema está en que Ubuntu 22 usa una versión más reciente del paquete libssl, pero podemos descargar la versión utilizada por Ubuntu 20.

  1. Accedemos a la página de paquetes de Ubuntu 20, donde encontramos libssl1.1
    https://packages.ubuntu.com/focal/amd64/libssl1.1/download
  2. Hacemos click derecho -> guardar como… sobre el enlace al fichero que empieza por security.ubuntu.com/ubuntu… (o haz click al enlace de abajo; descargarás el paquete instalador en formato .deb)
    http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.16_amd64.deb
  3. Hacemos doble-click en el fichero descargado e instalamos el paquete.
  4. Ahora ejecutamos unityhub en el terminal y todo listo!

🐦 @RoamingWorkshop

endleZZ: un minijuego javascript de supervivencia zombi infinito y aleatorio

endleZZ es un minijuego desarrollado en javascript, haciéndolo disponible para cualquier dispositivo con un navegador web.

A pesar de ello, se puede jugar sin conexión, ejecutando localmente el archivo .html que encontrarás en github desde cualquier lugar.

https://github.com/TheRoam/endleZZ

La versión v0.1 es un lanzamiento de prueba-de-concepto con las principales funciones habilitadas para probarlas.

La última versión online siempre se publicará oficialmente en este servidor:

https://theroamingworkshop.cloud/endlezz

TIP! Descarga siempre los ficheros de la fuente oficial que enlace yo, su autor. No ejecutes un fichero compartido por teceros. El código javascript puede ser fácilmente manipulable con fines maliciosos.

Descripción

Eres un superviviente con munición ilimitada rodeado de zombis, cuánto aguantarás?

La aleatoriedad hace cada partida única: enemigos zombi aparecen aleatoriamente por los límites del mapa, con atributos aleatorios (velocidad y nivel), haciéndolos impredecibles.

Hay 4 niveles de zombi, haciéndolos más grandes y difíciles de matar (1×1, 2×2, 3×3, 4×4).

El juego es infinito siempre y cuando puedas seguir matando zombis.

Eso sí! Malgastar balas resta puntuación, así que mantén tus disparos certeros!

Instrucciones

  1. Clicka o toca un punto del mapa para disparar a ese lugar.
  2. Cada bala usada resta 1 punto (-1).
  3. Disparar a partes del cuerpo (verde claro) suma 1 punto (+1).
  4. Disparar a la cabeza (verde oscuro) suma 10 puntos (+10).
  5. El tiempo de supervivencia sumará puntos en futuras versiones.

Características

  • Multi-platforma.
  • Portable (fichero .html ejecutable)
  • Ultraligero: 20 KB.
  • Sin-conexión: descarga y juega localmente.
  • Supervivencia infinita.
  • Aparición de enemigos aleatoria.
  • Tiempo de aparición aleatorio.
  • Atributos de enemigos aleatorios.
    • Velocidad
    • Nivel
  • Enemigos modulares (multi-parte)
    • Cuerpo (verde claro)
    • Cabeza (verde oscuro)
  • Sistema de puntuación
    • (Hit) Disparo al cuerpo +1
    • (Kill) Disparo a la cabeza +10
    • (Bullet) Bala usada -1
    • (Time) Tiempo de supervivencia [No implementado]
  • Animaciones

Futuros lanzamientos

Lluvia de ideas de características para futuras versiones:

  • menu de opciones
  • página resumen de puntuación final
  • gráficos más complejos
  • ciclo día-noche
  • sistema climático: nubes, lluvia, relámpagos
  • objetos de mapa: árboles, muros
  • enemigos complejos
  • saqueo de enemigos (balas, puntos)
  • poderes: ralentizar, matar todo el mapa, muerte a un disparo, etc

Desarrollo

Visita la página de desarrollo del juego en github

https://github.com/TheRoam/endleZZ

Si tienes ideas, preguntas o comentarios puedes dejarlos en 🐦 Twitter!

🐦 @RoamingWorkshop