3 puntos por GN⁺ 2024-06-17 | 1 comentarios | Compartir por WhatsApp

Micropolis en WebAssembly

Descripción general

  • Micropolis está basado originalmente en SimCity Classic, un juego diseñado por Maxis y creado por Will Wright.
  • Es una versión porteada a WebAssembly por Don Hopkins.
  • Actualmente sigue en desarrollo y se planea agregar más funciones.

Funciones principales

  • Desplazamiento y zoom: se puede desplazar arrastrando con el botón izquierdo del mouse y hacer zoom con la rueda.
  • Controles de teclado: se puede desplazar con las teclas de flecha y hacer zoom con las teclas coma y punto.
  • Carga de ciudades: presiona teclas de letras para cargar distintas ciudades, y la tecla Tab para generar una ciudad.
  • Control de velocidad: las teclas numéricas ajustan la velocidad, y la tecla 0 permite pausar.
  • Ajuste de impuestos: se pueden ajustar los impuestos con las teclas de corchetes.

Información adicional

  • GitHub: MicropolisCore
  • YouTube: "MicropolisWeb Demo 1" y "Space Inventory Cellular Automata Music 1"
  • Material de referencia: el libro de Chaim Gingold "Building SimCity" y "SimCity Reverse Diagrams"

Precauciones

  • Barra espaciadora: si presionas la barra espaciadora, se abrirá Space Inventory, así que ten cuidado.

Opinión de GN⁺

  • Punto interesante: resulta interesante poder disfrutar el SimCity Classic original en un navegador web.
  • Desafío técnico: implementar en la web un juego de simulación complejo usando WebAssembly representa un reto técnico.
  • Experiencia de usuario: mejora la experiencia del usuario mediante varios controles de teclado y una interfaz con mouse.
  • En desarrollo: como aún está en desarrollo, se esperan funciones adicionales y easter eggs.
  • Proyecto relacionado: entre proyectos similares están juegos de simulación de código abierto como OpenTTD.

1 comentarios

 
GN⁺ 2024-06-17
Opiniones en Hacker News
  • Portar juegos clásicos a la web es divertido. Muchos juegos son más pequeños que las páginas web modernas, cargan más rápido y funcionan bien.
  • Recuerdo haber jugado SimCity cuando era niño. Pero parece que no funciona correctamente en el navegador actual. Se puede cargar la ciudad y observarla, pero es raro que no se pueda construir una ciudad directamente.
  • No esperaba SimCity en móvil, pero esta página de hecho hizo que Firefox se colgara. Tuve que cerrar el proceso en Android. Como referencia, yo también tengo un juego pequeño que porté al navegador. Fue fácil hacerlo funcionar con Emscripten y SDL2, pero el mayor esfuerzo fue lograr que fuera totalmente jugable en el teléfono.
  • Tengo experiencia portando el cliente de RuneScape a la web. Usa Wasm, Typescript y WebGL.
  • Los controles no funcionan y el ventilador de la CPU se activa en cuanto el navegador carga algo. Sospecho que esto podría ser un minero de criptomonedas. Si no es así, me pregunto por qué publicar algo que no funciona.
  • Micropolis web demo 1: Micropolis es un SimCity de código abierto basado en navegador que usa WebAssembly, WebGL y SvelteKit. La versión inicial ejecuta el simulador en WebAssembly y anima los mosaicos con WebGL, pero la mayor parte de la interfaz de usuario todavía está en desarrollo.
  • En el sitio web de Micropolis y en el repositorio de GitHub se puede revisar el código fuente y la documentación.
  • Se puede obtener más información en el libro "Building SimCity" de Chaim Gingold.
  • Space Inventory Cellular Automata Music 1: el primer video de Micropolis web incluye música de Juho Hietala, Blamstrain, y presenta el autómata celular de inventario espacial realizado por Don Hopkins.
  • Sorprende lo que pasa al presionar la barra espaciadora. Aparece un fractal genial.
  • Me pregunto por qué casi todos los bloques de la ciudad tienen una estación de bomberos.
  • Me pregunto si un LLM podría portar este tipo de juegos al instante.