Cómo RuneScape de 2004 logró un RPG multijugador con módem de 56k

2004 RuneScape fit a multiplayer RPG into 56k dial-up

Cómo RuneScape de 2004 logró un RPG multijugador con módem de 56k

En 2004, RuneScape permitía a miles de jugadores compartir un mundo 3D en el navegador con una conexión de 5 kilobytes por segundo. Este artículo desmenuza el protocolo de red del cliente descompilado de 2004: desde el cifrado ISAAC de los opcodes hasta la compresión de paquetes de movimiento, pasando por el ciclo de servidor de 600 ms y las actualizaciones de jugadores empaquetadas en bits. Una lección de frugalidad digital que demuestra cómo Jagex convirtió la escasez de ancho de banda en un diseño elegante.

La respuesta, sin embargo, es un ejercicio sostenido y casi obsesivo de no desperdiciar bytes.
  1. akersten

    Ojalá el autor hubiera profundizado más en el anti-trampas y cómo evolucionó con el tiempo. Jagex ya estaba baneando bots basándose en heurísticas de movimiento del ratón en 2005. Veinte años después, hay algún framework de JavaScript en la portada aquí alabando ese mismo tipo de análisis como un enfoque revolucionario. Solo puedo imaginar lo que implica el motor anti-trampas moderno, especialmente en la era de los LLM que pueden emular de manera fiable a un jugador humano. (Algunos incluso pueden escribir publicaciones de blog bastante técnicas que casi escapan a la detección ;)

  2. saejox

    Ultima Online salió en 1997 y solo requería un módem de 28k. También argumentaría que era un juego más complejo.

  3. dofm

    Oh, tío. El culto de jugadores en torno a RuneScape era tan hardcore y evangelista en 2004 que fue entonces cuando adquirió el apodo de "¡Run! ¡Escape!" (¡Corre! ¡Escapa!). Nunca caí en el culto y me alegro de no haberlo hecho. El culto de Dofus en los años siguientes fue pequeño y divertido, y afortunadamente la economía de ese juego lo hacía un poco menos divertido más allá de cierto nivel, como en el mundo real, así que podías salir antes de perder la cabeza.

  4. stux

    > Antes de que ocurra cualquier networking, el cliente ejecuta una búsqueda en amplitud usando el mapa de colisión local para construir una ruta desde donde estás hasta donde has hecho clic, y luego escribe el paquete para que el servidor lo lea. [...] El paquete contiene la posición absoluta del primer waypoint de la ruta, seguida del delta de cada waypoint respecto al primero.

    ¿Cómo es que el cliente envía waypoints en lugar de solo el destino? Ingenuamente parece que enviar menos datos sería mejor. ¿Es la búsqueda de caminos tan cara que querrías evitar hacerla en el servidor? Supongo que funciona siempre que sea barato validar/corregir la ruta del cliente.

  5. NDlurker

    Phantasy Star Online en la Sega Dreamcast funcionaba muy bien con conexión por marcación.

Más de este día

2026-09-01