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! 🎉
Contenido
Versión web
Accede a la versión web oficial que hospedo en este servidor:
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:
Seguimos los pasos oficiales de su web (primer enlace del post):
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'
Añade la clave pública para hacerlo confiable: wget -qO - https://hub.unity3d.com/linux/keys/public | sudo apt-key add -
Actualiza tus repositorios: sudo apt update
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.
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
Clicka o toca un punto del mapa para disparar a ese lugar.
Cada bala usada resta 1 punto (-1).
Disparar a partes del cuerpo (verde claro) suma 1 punto (+1).
Disparar a la cabeza (verde oscuro) suma 10 puntos (+10).
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