2 puntos por GN⁺ 2023-12-22 | 1 comentarios | Compartir por WhatsApp

Motor de juegos Moddio 2

  • Moddio es un motor de juegos enfocado primero en el multijugador.
  • Incluye código de red con autoridad del servidor, interpolación de snapshots y funciones de reconciliación del lado del cliente.
  • Soporta más de 50 jugadores concurrentes o más de 300 objetos en movimiento en una VM de 5 dólares al mes.

Demo

  • Incluye en la caja: motor de física Box2D, código de red con autoridad del servidor, sistema de inventario y objetos, atributos integrados (HP, energía, etc.) y tasas de regeneración, sistema de diálogo, tienda, control de unidades, proyectiles con predicción del lado del cliente y movimiento de unidades, IA de unidades y pathfinding A*, controles móviles y más.

Cómo ejecutar el juego

  • Se requiere Node 18 o superior.
  • Después de configurar el repositorio, ve al directorio /src, cambia el nombre de game-sample.json a game.json, vuelve al directorio raíz y ejecuta el servidor.
  • Ahora puedes jugar en http://localhost:80.

Cómo crear un juego nuevo desde cero

  • Los juegos de Moddio se crean y editan usando el editor de juegos Moddio disponible en https://www.modd.io.
  • Después de crear un juego, puedes exportar un game.json para usarlo en una instalación local.
  • Cambia el nombre del JSON exportado a game.json y muévelo al directorio ./src.

Cómo contribuir

  • Moddio es completamente gratuito y de código abierto bajo la licencia MIT.
  • Para saber cómo convertirte en colaborador, visita la página de contribución.

Créditos

  • Se usan el motor de juegos Isogenic, Phaser, PlanckJS, uWebsocket, Box2D, recursos de Kenney, Hero Icons y más.

Opinión de GN⁺

  • El motor de juegos Moddio está especializado en el desarrollo de juegos multijugador y ofrece funciones potentes para soportar muchos jugadores con bajo costo.
  • Es de código abierto y sigue evolucionando gracias a las contribuciones de la comunidad, por lo que también es accesible para ingenieros de software principiantes.
  • Incluye una amplia variedad de funciones necesarias para el desarrollo de juegos, lo que brinda a los desarrolladores un entorno para crear y probar prototipos rápidamente.

1 comentarios

 
GN⁺ 2023-12-22
Opiniones de Hacker News
  • Preocupación por pedir en la página de registro de la app de Android que el usuario ingrese su nombre de usuario y contraseña de Google en un lugar que parece un formulario web dentro de la app

    • El usuario no puede saber si la app está espiando la contraseña
    • Pregunta sobre si es difícil implementar el patrón habitual de ir a la página de inicio de sesión y luego volver, o si hay problemas de compatibilidad entre plataformas
  • Conseguir usuarios para un motor de juegos no es fácil, y más aún si es de código cerrado

    • Pregunta sobre cómo se ha mantenido tan bien mediante la galería de juegos del sitio, y si son trabajos de algunos amigos o el resultado de una comunidad activa
  • Sorpresa al saber que modd.io es un framework/plataforma popular para crear juegos IO

  • Una de las formas seguras de no terminar un juego es empezar escribiendo primero el motor

    • Se puede crear tecnología propia, pero esa tecnología debe estar adaptada al proyecto y no ser una plataforma de juegos general
  • Curiosidad por la experiencia de unos 50 jugadores al entrar al servidor de Brains

    • Inestabilidad en el movimiento causada por los WebSocket
    • Dudas sobre la compresión de red, especialmente si la compresión con LZ-string es suficiente
    • Los costos de ancho de banda en la nube pueden ser altos, así que hay bastante margen de mejora en la parte de red
  • Pregunta sobre la motivación para crear un motor nuevo

    • Por qué se integraron ciertas funciones en el motor, como sistema de armas, tienda, proyectiles con predicción del lado del cliente y movimiento de unidades
    • Duda sobre si esas funciones son necesarias en un motor de juegos o si se trata de un motor para un género específico
  • Ventajas de un editor interactivo y de bajo código que parece adecuado para proyectos por hobby

    • Interés por la generación de mapas y mundos
    • Pregunta sobre si la mejor manera es exportar el juego como JSON, editarlo de forma programática y luego volver a importarlo
    • Inquietud sobre cómo entender y modificar JSON, y sugerencias sobre el enfoque
  • Señalamiento de que un backend multijugador basado en Node.js puede volverse cada vez más lento a medida que aumenta el número de conexiones

    • Pregunta sobre cómo se resolvió este problema y sobre alternativas como Go
  • Expresión de agradecimiento por el proyecto de código abierto y plan de revisar el código en detalle durante las vacaciones de fin de año

  • Podría ser útil para crear agentes de IA como NPC, y agradecimiento por haber publicado el trabajo como código abierto