Semana de la tecnología retro En 1984, las noticias nacionales británicas informaron sobre el lanzamiento de un juego de ordenador. ¿La supuesta razón? Al parecer, el editor de noticias entró después del almuerzo y descubrió que todo el personal lo estaba reproduciendo. Un BBC Micro Modelo B con Elite. Foto: Richard Speed ​​Ese juego era el legendario simulador de comercio y combate espacial Elite. Commander Jameson era el nombre del primer personaje que el jugador podía controlar y, a medida que pasaban los días, miles de Commander Jameson se lanzaron a explorar ocho galaxias y 2048 planetas mediante gráficos tridimensionales alámbricos, un motor de física realista y sorprendentes. Como se Juega. El código utilizaba sólo 22 kilobytes de memoria y los jugadores podían obtener el juego por correo. Sophie Wilson, quien diseñó la computadora de la BBC en la que se ejecutaba el juego, describió a Elite como «el juego que no podría haberse escrito». Su diseño era muy inusual. Por un lado, era posiblemente el primer sistema de universo abierto y, por otro, no dependía de objetivos tradicionales como las puntuaciones altas. Los jugadores podrían comerciar entre planetas, intentar cazar recompensas o matar comerciantes para obtener carga, contrabandear artículos ilegales o extraer asteroides, si les apeteciera pasar un rato muy lento. Escrito por Ian Bell y David Braben mientras estudiaban en la Universidad de Cambridge en el Reino Unido, Elite fue lanzado con gran alboroto por Acornsoft, se envió con un magnífico manual de usuario e incluso una novela corta para explicar el universo. El Elite original acabó vendiendo aproximadamente un millón de unidades. (Eso es alimento para gallinas hoy en día, pero en la informática de la década de 1980 esa era una cantidad enorme). Hubo dos secuelas populares y en 2012 Braben lanzó un Kickstarter para reiniciar un Elite equipado para el siglo XXI. Funcionó, Elite Dangerous vendió más de tres millones de copias y ganó una base de seguidores leales, muchos de los cuales no habían nacido cuando se lanzó el primer software. Luego, en 2021, el desarrollador web Martin Moxon finalmente logró ensamblar el código original en un formato reproducible (gracias en parte al bloqueo de COVID) y lo puso a disposición de quienes deseen probar el original. Explicó a The Register cómo se hizo esto, que puede leer más adelante en el artículo. Pero primero, Ian Bell, quien desde entonces pasó de los juegos al diseño asistido por computadora, nos habló sobre los primeros días de Elite y cómo se generó este juego legendario. The Register: «Elite era inusual para la época ya que era un esfuerzo de colaboración, ¿cómo funcionó eso en la práctica?» Bell: «No había ningún correo electrónico; solíamos enviarnos disquetes de cinco pulgadas y cuarto por correo. No teníamos impresoras en ese momento. Finalmente, ambos conseguimos impresoras. Así que básicamente me enviaba la tienda. «Listados en cola, archivos de texto, el ensamblaje 6502, que luego importaría y convertiría a la BBC. Creo que así es como lo hicimos. Todo esto sucedió inicialmente durante las vacaciones de verano, pero luego, cuando ambos estábamos juntos de regreso en Jesus College, , luego íbamos a las habitaciones del otro para trabajar en las cosas. Hice la mayor parte de la codificación. David hizo el trazado original del barco. Luego hizo la generación del universo y el comercio. Así que se unieron y finalmente llegaron a la BBC». The Register: «La naturaleza abierta del juego fue una revelación. ¿Cómo lo hiciste?» Bell: «Con Elite utilizamos un universo generado procedimentalmente. Nos establecimos en una galaxia de 256 planetas, pero originalmente no teníamos el límite de ocho galaxias. Porque normalmente, una vez que estás generando procedimientos, no hay razón para limitarlo. «Se genera procedimentalmente alrededor de una secuencia de números aleatorios que esencialmente arroja planetas. Y una vez que tienes eso, tienes esencialmente un número infinito de planetas, siempre y cuando tu generador de números aleatorios no realice ciclos. Originalmente la galaxia La cuenta comenzó en uno y siguió subiendo. «Pero David Johnson Davies [founder of Acornsoft] dijo que no, que deberíamos limitar esto: sólo deberíamos tener ocho. Y tenía toda la razón. Si hubiéramos tenido cien de ellos, la gente se daría cuenta de que no había forma alguna de que estas cosas se almacenaran en la computadora. «Pero, por supuesto, se generó aleatoriamente. Quiero decir, hubo disfunciones. Había planetas que están a más de siete años luz de combustible permitido. Agregar tanques de combustible adicionales es probablemente algo que hubiéramos hecho, si no lo hubiéramos hecho». No te quedes sin memoria.» The Register: «En términos de jugabilidad, había muchas trayectorias profesionales diferentes que la gente podía tomar. ¿Qué inspiró eso?» Bell: «Me gustó la idea de que el jugador pudiera elegir su propio camino moral. Y si quisieras intentar tomar un camino de no violencia y simplemente comerciar en rutas comerciales seguras y huir de los piratas en lugar de contraatacar, entonces podrías hacer eso.» En cuanto a los Thargoides, David [Braben] Los diseñé para que se vieran diferentes de toda la artesanía. Entonces decidimos que queríamos tener extraterrestres y se suponía que eran intrínsecamente malvados. La idea era que fueran personas a las que el jugador pudiera matar sin ningún tipo de culpa. Esa era la idea de ellos. «Elite buscaba inspirar a la gente. Tanto en términos de espacio como en términos de lo que podrían ser los juegos en tres dimensiones y ese tipo de jugabilidad abierta también». The Register: «¿Sigues jugando?» Bell: «Hace mucho tiempo que no juego Elite». The Register: «Entonces, ¿qué haces ahora?» Bell: «Tenía como hobby pintar el cuerpo con luz ultravioleta en raves, pero no he ido a ninguna desde hace más de diez años. Solía ​​gustarme mucho la música, pero hace años que no escucho ninguna. «Estoy Ahora estoy trabajando en diseño asistido por ordenador. Hay mucho de álgebra geométrica en ello; todo vuelve a depender de las rotaciones. Para mí, parte de Elite eran las matemáticas y ahora estamos intentando introducir matemáticas de dimensiones superiores en CAD. «Estamos en el siglo XXI y, sin embargo, CAD todavía utiliza la geometría del siglo XVII. Ni siquiera utilizan la geometría del siglo XVIII; es ridículo. Disfruto trabajando en eso, así que ahora estoy codificando en C++ en grandes PC modernas. «Es un conjunto de habilidades diferente: sigue siendo matemática y optimización, pero es muy diferente. «Creo que la noción de programación de bajo nivel con recursos extremadamente finitos puede regresar en términos de nanotecnología, pero todavía no hemos llegado a ese punto». La llama de Elite aún arde El desarrollador Mark Moxon, ex editor de la revista Acorn User y parte clave del proyecto HG2G, se enganchó a Elite desde la primera vez que lo jugó, y recientemente logró recrear el juego en su totalidad desde el principio. base de código original. El trabajo fue un trabajo de amor para Moxon, quien dijo que estaba fascinado por el juego en 1984 y continuó jugando durante muchos años. Bell había lanzado el código fuente en noviembre de 1999, lo que llevó a una pelea con el cocreador Braben, pero cuando Moxon se topó con él unos años más tarde, era «completamente ininteligible», dijo a The Register en una extensa entrevista. «Lo miré y pensé ‘No puedo entender la palabra'», explicó. «Aproximadamente en 2014, Paul Brink realizó un análisis de la versión en disco, lo que supuso un verdadero paso adelante. Y entonces se produjo el bloqueo». The Register: «¿Entonces el encierro te dio tiempo para hacer el trabajo?» Moxon: «Sí. Y fue perfecto para todos esos proyectos en los que estacionas. Pensé que sería bueno tener tiempo para hacer eso. Y, de repente, estás sentado allí y el gobierno te dice que te ocupes». y no salir. Entonces, para alguien con una oficina llena de proyectos a medio terminar, era perfecto. Siempre pensé que sería una gran cosa que hacer, pero nunca pensé que sucedería en ese momento. «Durante el encierro tropecé en este repositorio de GitHub de 2017 donde un tipo llamado Kieran [Kieran Connell of the BBC vintage code hacking group Bitshifters Collective] Había tomado el código fuente y creado los scripts de Python para abordar toda la protección contra copia y el cifrado. Pensé que esto era simplemente magia arcana, créanlo porque significaba que podía crear una versión en mi Mac, ejecutarla, jugar con ella y explorar el código». The Register: «Ahora que analizó completamente el código, ¿hay algo allí que usted encuentre que sea aplicable en la codificación del día a día en términos de simplificación y reducción de la sobrecarga?» Moxon: «Sólo en el sentido de que es algo bastante bueno de hacer. Pero, para ser honesto, trabajar en un negocio nunca es una alta prioridad. Creo que si estuvieras trabajando en sistemas integrados, habría mucho que aprender de los enfoques que utilizaron estos chicos, ya que los sistemas integrados utilizan microcontroladores mucho más simples. «Cuando estás eliminando el back-end de un sitio web, nadie te pide que bloquees las cosas tan estrictamente; esa es la realidad de los negocios. Además, hoy en día las cosas no tienen que estar terminadas cuando se publican. ¿Cuándo? «Estás enviando algo en una cinta de casete, realmente tienes que hacerlo bien. Tenía un par de errores cuando se lanzó y tuvieron que retirarlo, pero para un código tan sofisticado es algo bonito». asombroso.» The Register: «Entonces, para resolver un argumento clásico: ¿qué tamaño tiene Elite exactamente en términos de codificación?» Moxon: «Entonces, con el Elite clásico son alrededor de 22 kilobytes. El código en realidad tiene solo 21.906 bytes de memoria principal, dejando 66 bytes libres en toda la máquina. Así que prácticamente es el límite superior. «Supongo que también depende de cuántos características que tienes, gracias a la versión Acorn Electron. Y tuvieron que eliminar los Thargoids y algunas otras características realmente importantes. Fue una reducción del 10 por ciento, comprimiéndolo en el Acorn Electron». The Register: «Cuando examinaste el código, ¿cuáles fueron tus impresiones clave?» Moxon: «Es realmente interesante comparar los estilos de codificación de las personas. Debido a que Elite fue escrito por dos personas, generalmente se puede saber quién escribió qué secciones, sobre todo porque los nombres de las variables son diferentes. Esto se debe a que David Braben escribió su código en un Acorn Atom antes de obtener una BBC, por lo que para el código posterior no es una ciencia exacta. «Élite está escrito por dos personas diferentes y en cierto modo agrupados. Y muestra que hay una gran cantidad de rutinas masivas duplicadas y demás, que si lo hiciera una sola persona, probablemente escribiría una rutina de multiplicación general más, en lugar de «Hay más de 10 diferentes con diferencias sutiles. Incluso tenían espacio para un par de duplicaciones dentro de ese código». The Register: «¿Errores en una base de código tan pequeña?» Moxon: «Así es. Sí. Y afortunadamente, pude descubrirlo, arreglarlo y usar ese espacio para agregar algunas modificaciones a Elite, que siempre son muy divertidas. Esa fue solo de unos pocos bytes. Pero permitió Me pidió que respaldara un algoritmo sin parpadeo que estaba en una versión posterior para BBC Master. Y eso no necesitó muchos bytes adicionales». The Register: «Era un juego asombrosamente complejo, aunque los días de la estructura de alambre requerían algo de imaginación». Moxon: «Tuviste que usar tu imaginación, pero incluyeron en la caja un manual fantástico, y eso hizo que la gente pensara». «Hay algo interesante sobre Elite, y espero que lo encuentres en la sección de comentarios de tu artículo. La gente jurará absolutamente a ciegas que han encontrado cosas en Elite que simplemente no están en el código en absoluto. La gente continúa hablando de cómo recuerdan haber encontrado barcos de generación o haber sido abordados por la policía. Lo cual tampoco sucede. «Hay tantas cosas que simplemente no existen en este juego que la gente juraría que les suceden. E incluso cuando dices: ‘Mira, lo siento mucho, no está en el código’, dicen: ‘ Bueno, debo haber tenido una versión a la que se agregó'». The Register: «Y hubo muchas versiones, así como dos seguimientos y un reinicio, Elite Dangerous». Moxon: «Bueno, de hecho. No jugué las siguientes dos versiones en el lanzamiento porque eran juegos de PC y entonces estaba usando una Mac. Los probé varias veces, pero el motor de física newtoniano era muy complicado para alguien criado en el Original. «Sin embargo, Elite Dangerous es encantador. Cuando iniciaron el reinicio, hice una pequeña contribución, por lo que hay una estación con mi nombre en el juego. Me dejó alucinado, ya sabes, ese factor sorpresa en la realidad virtual era difícil de superar. Sigue siendo impresionante. Realmente lo es.» ®

Source link