1 puntos por GN⁺ 2023-07-14 | 1 comentarios | Compartir por WhatsApp
  • Código fuente robado en 2003 y parcialmente organizado de The Simpsons: Hit & Run, con publicación del código del videojuego para PS2, Xbox y PC
  • La descarga de la versión de desarrollo/depuración compilada del juego está en la pestaña de releases
  • Hay demasiados archivos para subir todo a GitHub de una sola vez, así que el resto del repo está en MEGA
  • La carpeta de MEGA incluye assets y scripts adicionales para compilar/construir el juego directamente
  • La carpeta documents/ contiene información personal del equipo de desarrollo de Radical en 2003, notas del proyecto, calendarios de vacaciones, etc., por lo que no está incluida en el repo

1 comentarios

 
GN⁺ 2023-07-14
Opiniones en Hacker News
  • Se siente como ver una vida pasada. En esa época trabajaba en Relic Entertainment y, si no recuerdo mal, las oficinas de Relic y Radical estaban ambas en Yaletown, Vancouver. Radical después se mudó a Main & Terminal.
    En ese tiempo trabajé en Company of Heroes y Dawn of War, y el código me resulta muy familiar. Es C++ del mismo estilo y también se parece mucho al código de Homeworld.
    https://github.com/HomeworldSDL/HomeworldSDL
    Estudié en SFU, y Neall Verheyde, que era programador en Radical, dio clases un semestre. Lamentablemente, parece que falleció hace unos años.
    https://www.dignitymemorial.com/obituaries/west-vancouver-bc...

    • Company of Heroes era el juego favorito entre mis amigos de la universidad. Le metimos cientos de horas cuando deberíamos haber estado haciendo tareas :)
      "Ready ze panzerfaust"
    • Es una verdadera lástima cómo se arruinó la serie Company of Heroes. El más reciente, CoH3, se siente sin alma, codicioso y simplemente roto, casi como si se burlara de su base de jugadores.
      Algo parecido está pasando con la franquicia Men of War, que es similar pero más realista. La enshittification avanza por todos lados y nada mejora.
    • Creo que siempre voy a recordar Company of Heroes con cariño. Lo jugué muchísimo con amigos, y era un juego muy bien hecho, con gran atención al detalle y sentido del humor. Lamentablemente, esa magia desapareció en las versiones nuevas.
    • Dawn of War me metió en la larga y oscura espiral de plástico y desesperación por pintar que es Warhammer 40k. Era un juegazo.
  • Si eres fan de este juego, Reubs[0] en YouTube está rehaciendo el juego completo y todos sus assets con un motor y herramientas modernas.
    Claramente, y por desgracia, no se lanzará al público, pero es divertido ver lo que pudo haber sido posible.
    [0] https://youtube.com/@reubs

  • Creo que es el código C++ más limpio, fácil de entender y legible que he leído hasta ahora.
    Cuando leo proyectos open source en C++ de áreas que no son videojuegos, la mayoría me parecen montones de sintaxis imposibles de descifrar.
    Me pregunto si el código de este juego está excepcionalmente bien escrito, o si normalmente solo estoy viendo codebases equivocadas.

    • Me uní a Radical Entertainment unos años después de Hit & Run, y había muchísimos ingenieros y artistas excelentes, además de procesos de contratación y liderazgo sólidos. No era perfecto, pero era un gran lugar tanto para desarrolladores junior como experimentados.
      Al final, podría decirse que el gran salto en valores de producción y dificultad con la generación 360/PS3 fue lo que hundió a la compañía; o, según a quién le preguntes, que Radical, al ser propiedad de Vivendi, quedó atrapada en la fusión con Activision.
    • Muchas convenciones de C++ son a) muy antiguas, vienen desde la época de C++98 y han cambiado lentamente con cada versión, y b) extremadamente conservadoras. Ideas valoradas en lenguajes más modernos, como KISS o “sin magia”, se aplican menos, especialmente en desarrollo de sistemas y embebido, donde la eficiencia pesa más.
      Es muy probable que esos codebases que mencionas no les parezcan tan sucios ni arcaicos a desarrolladores que usan principalmente C++. Se ven así desde afuera, aunque por supuesto también hay muchos codebases realmente desordenados. El desarrollo de juegos tiene sus propios paradigmas y convenciones, y en general tiende a estar estructurado de forma más independiente y modular.
      Dicho eso, un codebase moderno posterior a C++11 puede verse mucho más “limpio” incluso para alguien que no desarrolla en C++.
    • También hay mucho código de juegos muy hacky y feo :)
      Aun así, recomiendo leer código como el de Quake y Doom. Si empiezas por las primeras versiones, son mucho más simples, fáciles de leer y buenos para experimentar modificándolos.
      Aquí hay una lista de codebases que vale la pena leer: https://github.com/albertz/wiki/blob/master/coding.md#recomm...
    • También vale la pena echarle un vistazo a KDE. Siempre me pareció que la mayoría de sus proyectos están bien escritos.
    • Los comentarios eran sorprendentemente buenos. Pero aunque el codebase sea fácil de entender, lo es en el sentido de que cada línea es simple; la estructura es frágil.
      No digo que sea un gran problema. Si es código que solo tocarán unas pocas personas, un codebase frágil puede estar bien. Pero es menos adecuado para código que usarán y modificarán miles de personas durante décadas, como sistemas operativos, compiladores o navegadores.
      [1]
      Hay suposiciones no verificadas por todas partes, #ifdef con código específico de plataforma por todos lados, y singletons por todos lados. Solo lo revisé por 5 minutos, así que seguramente hay más ejemplos.
  • https://github.com/Svxy/The-Simpsons-Hit-and-Run/blob/main/g...

  • Es código “filtrado” de hace 20 años, que aparentemente ya se había filtrado una vez antes, pero al principio nadie se dio cuenta :) Aun así, en su momento me encantaba este juego

    • Parece que por fin terminó la subida por conexión dial-up ;) Era un juego sorprendentemente divertido para la premisa. Hasta antes de este juego, pensaba que la familia Simpson vivía en Illinois, no en Oregon
  • https://github.com/search?q=repo%3ASvxy%2FThe-Simpsons-Hit-a...
    En todo el repositorio, la palabra "fuck" aparece solo 50 veces

  • Simpsons Hit and Run fue realmente un regalo cuando salió. En cada rincón del juego se notaba cuánto amaba Radical la franquicia de The Simpsons. Está lleno de pequeñas referencias al show y diálogos ingeniosos, y jugarlo era divertido

    • A mí también me encantaba. Por la misma razón jugué mucho Tapped Out durante años. Tiene casi todo lo que apareció en Simpsons, y es muy divertido construir el mundo y ver a los personajes pasearse por ahí
      A menudo pienso en buscar una forma de extraer los assets y crear un clon open source, por si EA algún día termina cerrando el servicio y nos lo arrebata del mundo
  • Me gusta que los comentarios del código mantengan el tono del juego y de The Simpsons en sí
    “””
    // Synopsis: Blahblahblah
    “””
    Me gustaría trabajar en un lugar donde se permitiera o se fomentara algo así

    • Este tipo de cosas se pueden commitear y luego hacerse cargo hasta el final. Una vez terminé una reunión diciendo: “Lo escribí así porque era tan obvio que no valía la pena poner un comentario más detallado, y con esta reunión acaban de invalidar ese punto. Si de verdad no lo entienden, pídanle a uno de los juniors que se los explique”
      Pero tienes que tener razón, y tener tanta razón que ni siquiera una objeción forzada pueda sostenerse. Si no, mejor empieza a preparar un nuevo CV
    • Ni mi jefe, ni el jefe de mi jefe, ni el jefe por encima de él han leído mi código. Escribe los comentarios que quieras
  • Pensé que, considerando que este juego tiene popularidad de culto, iba a haber una avalancha de actividad. Según GitHub, se filtró el 1 de junio, y me pregunto si hay alguien trabajando para hacerlo correr en computadoras modernas. Es realmente interesante.

  • Fue entretenido de leer gracias a los excelentes comentarios y nombres de variables y métodos.
    Todos hemos tenido alguna vez una variable así: https://github.com/Svxy/The-Simpsons-Hit-and-Run/blob/eb4b34...
    Y lo mismo con comentarios como este: https://github.com/Svxy/The-Simpsons-Hit-and-Run/blob/eb4b34...

    • Muy gracioso. A veces me hace pensar si la ingeniería de software no se toma demasiado en serio.