Hablemos de ID Software (PARTE 1)

Hexa, Violeta, and others trace id Software's origins through John Romero and John Carmack's early years on Apple II and university computers. Carmack invented horizontal scrolling with tiles, a technique that became the foundation for Doom. The episode covers their first games, including Romero's Dangerous Dave at age 16, and their time at Softdisk before founding id Software.
Chapters
En la última votación hubo un momento en el que ID Software y Matemáticas quedaron empatados.
Tampoco fue durante mucho tiempo.
Es necesario para decantarme por hablar en este capítulo sobre ID Software.
¿Otra empresa? ¿Seguro? Aunque hay suscriptores que votan por ver estos vídeos, a los hechos me remito. Ni Microsoft ni IBM han tenido un gran impacto.
Han causado estragos y aunque quiero hablar de ID Software porque así podré centrar la conversación en Doom, estoy de acuerdo con Violeta.
Os doy la razón en que quizás no vaya bien. Me apetece hablar de ID Software desde el punto de vista de la magia en la programación.
¿Te refieres a la magia negra como decíamos en el capítulo de Elixir o el de Rubí?
No, se refiere a la magia como ilusionismo. Cuando el mago tiene un conocimiento tan extenso del elemento que consigue engañarte y hacerte creer que el scroll horizontal que estás viendo existe, pero no.
¿Cómo no?
Ahí, tirando al bajo nivel. Sabes que no hace falta bajar a ensamblador para hacer cosas que se perciban como magia, ¿no?
Lo sé, pero cuando se hace de esta forma es como ver a un auténtico mágico ilusionista y no a un tahúr de barrio.
Empieza fuerte la temporada. Supongo que serás tú quien nos cuente la historia.
Totalmente.
Antes de continuar, si nos dais un buen me gusta y os suscribís al canal, nos ayudaréis mucho a crecer y a seguir haciendo este contenido que tanto disfrutamos. Y además, si os queréis hacer miembros del canal, ya sea como historiador o cronista, Recibiréis contenido exclusivo, como por ejemplo un vídeo al mes especial. Muchas gracias a quien se anime y por supuesto también a los miembros recién llegados. Y ahora sí, ¡dale Hexa!
Los dos John.
Esto me recuerda a los dos Steve, ya sabéis, Steve Jobs y Steve Wozniak, los fundadores de Apple.
Algo similar. Por un lado, John Romero, quien descubrió la programación muy joven y se apodó a sí mismo el as de la programación.
Un poco arrogante.
Ambos lo fueron. John Carmack escribió a sus profesores en el 4º grado porque consideraba que debía ser pasado directamente al 6º grado para no hacerle perder el tiempo.
¿Cierto? Bastante arrogantes ambos.
¿Y lo pasaron de curso?
Totalmente. Eran arrogantes, pero también genios, y ambos tenían en mente que hacer videojuegos era su destino.
Supongo que no se equivocaron mucho, visto lo visto.
En sus inicios, Romero vivía con su familia en Tucson. Con un padrastro militar que consideraba su obsesión por los videojuegos insana.
¿No le dejaba jugar? ¿Le castigaba?
Físicamente.
¡Esos tiempos!
Pero Romero era lo suficientemente cabezota como para volver a las andadas.
¿Cómo consiguió hacerse con un acceso a un computador si en su casa no le dejaban?
La sala de ordenadores de la universidad parece que no estaba vigilada por profesores, sino por alumnos, y a ellos les daba igual que los adolescentes fuesen allí a aprender.
¿No les hacía tener menos puestos para usar los computadores?
No, porque la mayoría de adolescentes como Romero hacían cosas muy llamativas. De hecho, esos computadores se programaban con tarjetas perforadas.
¡Todo un desafío!
Pero al igual que Kemeny y Kurz, hubo un punto de inflexión y necesidad de cambio.
Se cansaría de tanta tarjeta.
Sí, sobre todo cuando un día conduciendo en su bici hasta casa, en un bache las tarjetas que llevaba atadas con una cuerda en la parte trasera de la bici Salieron volando y terminaron desparramadas por el suelo mojado.
¡Qué desastre! ¿Qué hizo?
Pues coincidió que en la Universidad de Sierra fueron adquiridos unos cuantos Apple II.
En lo que llevo aprendido aquí, sé que tanto Atari, Commodore y los primeros Apple eran computadores para jugar. ¿Qué hacían en una universidad?
Chip, que un computador pueda usarse para jugar no lo convierte en una videoconsola. El Apple II era barato y tenía gran potencia gráfica, así que era muy estimado en el entorno universitario.
Totalmente. Romero también se enamoró del Apple II e iba de forma continua para ver qué juegos podía jugar en esos computadores.
¿Ves cómo se usaba para jugar?
Seguramente sin que los profesores se enterasen.
La vida de Carmack fue similar. Sus padres se divorciaron y pasaba temporadas con su padre en Kansas City y otras temporadas, que detestaba, junto a su madre.
¿No le gustaba donde vivía?
No, para su madre la informática se reducía a estudiar mucho en el MIT. Sacar las mejores notas y presentar el currículum a IBM.
Nada de dedicarse a programar videojuegos. ¡Qué mal! Aunque siempre le quedaría jugar en sus ratos libres.
No era suficiente. No obstante, en el colegio un profesor consiguió un Apple II, y fue cuando Carmack comenzó a volcarse más en la programación. Eso sí, sin descuidar los estudios para evitarse problemas con su madre.
¡Vaya, qué buen hijo!
Más o menos. Creo que uno de los puntos en común entre Romero y Carmack es que ambos son unos cabezotas. Programando videojuegos.
Entonces, aún en desacuerdo con su padrastro por un lado y con su madre por el otro, ambos se dedicaron a programar videojuegos.
Totalmente. En 1984, la revista Insider, una revista para usuarios de Apple, decidió publicar uno de los juegos de Romero ¡Con tan solo 16 años! Romero recibió $100 y había posibilidad de que le publicaran más.
¡Buen comienzo! Aunque vendiendo y cobrando juego a juego no debería ser muy lucrativo.
Al parecer, su plan era programar juegos en 30 minutos e intentar venderlos a una u otra publicación.
¿Publicaciones? ¿No habrás querido decir más bien distribuidores?
No, en aquellos tiempos la distribución de programas para ordenadores domésticos se realizaba mediante revistas. Cada revista incluía un disquete y en él programas, juegos o ambos.
¿Entonces tenías que comprar una revista para poder comprar un programa?
¡Chip! Al principio el software no se comercializaba como tal y no había internet.
¿Estáis hablando de tiempos anteriores a internet? ¿De las BBS?
¿Eso qué es?
El Bulletin Board System, o sistema de tablón de anuncios. Era la base de la comunicación para muchas personas de la década de 1980.
Y existiendo las BBS, ¿por qué entonces distribuir por una revista?
Los módems llegaron a transmitir en su momento más alto 56 kilobits por segundo, es decir, 7 kilobytes por segundo. Mantener la línea ocupada para transmitir un contenido tan voluminoso no era factible. Era muy probable que se cortase la transmisión o hubiese errores, además del coste de la llamada.
Vamos, que la gente prefería tener el disquete.
Totalmente. Además, Softdisk en su momento cumbre con Apple II tenía 100.000 suscriptores. Imagina un camión con 100.000 disquetes a 1,4 megabytes. No había ancho de banda que superara eso.
Buen chiste, pero ¿quiénes son Softdisk?
Softdisk. Big Al vio en la distribución de software a través de revistas una solución para consumidores domésticos que no estaba cubierta por grandes corporaciones.
¡Ah!
Ese era el motivo. El software desarrollado por grandes corporaciones no era accesible.
Muy caro.
O imposible de adquirir, porque mucho software se escribía para arquitecturas concretas y no podías tener un computador para cada software.
Totalmente. Muchas empresas sí podían hacerlo, o incluso pagar a la empresa que vendía sus computadoras para que les hicieran el software a medida, pero los paquetes de software genéricos para cualquier plataforma no era lo típico.
Entonces vio este hueco en el mercado y comenzó a publicar una revista para propietarios domésticos de Apple II. ¿Y fue rentable?
Mucho. Tanto que cuando se comenzó a popularizar el PC, principalmente a través de sus clones, Big Al vio ahí un campo verde y fértil que nadie estaba explotando.
¿Le fue muy difícil comenzar? Me suena que PC y Apple II son arquitecturas muy diferentes.
Son abismalmente diferentes.
Pro, ¿estás con nosotros? Veo que estás yendo y viniendo.
Tengo algo entre manos. Hexa, sigue tú. Comenta las diferencias del hardware.
Totalmente. Apple II en la década de 1980 tenía un modo llamado Hi-Res que permitía al programador de BASIC desarrollar usando resoluciones de hasta 560 x 192 píxeles con una paleta de hasta 16 colores.
No suena muy rompedor.
Pues espera a ver lo que podía dar el PC.
El 386 podía ofrecer modos mucho mejores, pero ese modelo era muy caro, así que la mayoría adquiría procesadores más modestos. Y usaban para los juegos el modo CGA, de hasta 640x200 píxeles, usando una paleta de 2 a 4 colores, o el modo EGA, de hasta 640x350 píxeles, usando una paleta de 16 colores.
Un momento, a nivel de prestaciones el modo SGA le gana al Apple II, muestra más píxeles con los mismos colores.
El problema era la abstracción, los drivers y el acceso al vídeo. Apple II era directo, no había variedad de hardware. Vendías tu máquina con un hardware concreto y es el que había. Sin embargo, en PC... ¡Sí!
Con tanto clon y fabricante, el presentar un dibujo en la pantalla se convertiría en toda una odisea.
Totalmente. Es por ese motivo que Apple II, aun siendo menos potente, parecía tener mayor potencia. Porque su mezcla entre software y hardware estaba más pulida y eso gustaba a muchos programadores.
¿Gustaba a más programadores? ¿Eso quiere decir que en Softdisk la gente prefería Apple II?
Esto hay que ponerlo en perspectiva. ¿En qué lenguaje hacían todo?
Pues el libro no lo dice, pero los lenguajes populares de Apple II eran BASIC y Pascal, y en PC el lenguaje de moda era C. Comienzo a entender.
¡Pobres! Yo tampoco cambiaría, y mira qué PC me gusta.
Romero probó su valía aprendiendo en muy poco tiempo a programar en C y convertir aplicaciones hechas en Apple II a PC, y poco a poco le iban pidiendo ayuda, y él se prestaba.
¿Estaba necesitado de atención?
¡Es posible! Tuvo una infancia traumática según parece.
Totalmente. Era maltratado por su padrastro, al que no le gustaba que pasara tanto tiempo con los videojuegos. Tanto era así que escribía un cómic llamado Melvin, Donde la dinámica siempre era el padre pidiéndole algo a Melvin, a Melvin se le olvidaba o no lo hacía y el padre pegaba brutalmente a Melvin.
¿Brutalmente?
Esto concuerda con el estilo de videojuegos que harían más tarde.
Y con su humor. Aunque como decía, cuando se dio cuenta de que estaba trabajando como portador de programas de Apple a PC, fue a hablar con el jefe a reclamar que quería programar videojuegos.
¿Amenazó con irse?
Yo lo habría hecho también.
¡Pero tú no programas videojuegos!
Aún.
Todo se andará.
Big Al aceptó. Incluso creó una publicación bimensual solo para publicar videojuegos para PC.
¡Cómo recuerdo esas publicaciones! Llegabas con emoción al quiosco de prensa, habiendo comprado la revista que menos machacada estaba para asegurar que el disquete aún funcionase, y lo insertaba en la unidad y comenzaban a agregar los directorios y ejecutar comandos.
El problema es que el resto de la empresa comenzó a quejarse de las estrellas de rock, Porque hasta el momento el entorno había sido muy soso.
Como cualquier oficina, ¿no? ¿Qué hicieron?
Compraron una nevera, radiocasete, microondas, una Nintendo y arrancaron los fluorescentes del techo porque mantenían que necesitaban un ambiente más acogedor. Pizzas congeladas y Coca-Cola para poder trabajar de forma ininterrumpida.
¿Una videoconsola?
Para documentarse.
Recuerda a los futbolines y otros beneficios de las grandes empresas de Silicon Valley. ¿No os da la sensación de que los estadounidenses tienen una obsesión insana con el trabajo?
Tendría una fecha de entrega ajustada.
En el momento de hacer eso, no.
¿Ves? ¿Quién en su sano juicio se quedaría más de 12 horas en su puesto de trabajo?
¿Alguien que le guste obsesivamente lo que hace?
¡Exacto! Obsesión.
El caso es que las quejas llegaron a Big Al, y para que demostraran su valía les dijo que debían tener la primera entrega en 4 semanas.
¿Un juego en solo un mes? ¿Para PC? ¿Y en lenguaje C? No sé... depende del juego... suena demasiado ajustado.
Lo era, pero aún hubo más. Para la primera entrega debían tener preparados 2 juegos. ¿2 juegos?
¿Lo consiguieron?
Totalmente. Tomaron juegos que ya habían programado con anterioridad, uno de Romero, uno de Carmack, y los portaron de Apple II a PC con algunos cambios para hacerlos más novedosos.
Entonces en verdad lo tenían controlado.
Sí, pero el problema era que Carmack, que había tomado el papel de hacer los engines, la base donde se ejecutan los juegos, quería desafíos. Dangerous Dave. Dangerous Dave era un personaje creado por Romero y ya habían lanzado algunos juegos donde aparecía el personaje, pero Carmack tenía algo en mente: quería hacer un Super Mario Bros. 3 en PC.
¿Hacer una copia? No creo que a Nintendo le gustara mucho la idea.
Ya te digo, tal y como son. Pero, ¿qué tiene que ver Dangerous Dave aquí? ¿Era quien sustituía al fontanero italiano?
Totalmente. El problema del PC, como he dicho, es su rendimiento. Hasta el momento nadie había hecho un juego de scroll horizontal ni vertical porque no era fluido.
Pero en la máquina de Nintendo sí que aparece ese tipo de juegos y no tiene mayor problema.
Carmack, como buen ilusionista, pensó en qué quería conseguir. Si cuando un personaje anda solo se mueve lo que cambia, en lugar de mover toda la escena, Usando conjuntos de píxeles o tiles podría conseguir fluidez.
¡Qué ingenioso!
Aún sigo sin ver qué tiene que ver con Dangerous Dave. Según dijiste, el personaje era de Romero y no estaba en ese momento.
No estaba, pero Carmack quiso replicar la primera pantalla de Super Mario Bros. Y con la ayuda de Tom, que se encargó de crear los tiles mientras iban jugando y pausando en cada momento del juego en la televisión para ir replicando cada nube, cada piedra, cada—
¡Y lo pillamos! Replicaron el juego de Super Mario y usaron a Dangerous Dave. Tom se dedicó a copiar las imágenes y Carmack supongo que iría haciendo el código para manejar la idea que tuvo en mente.
Totalmente, Chip.
No sé por qué, pero suenas como pro.
Nunca sé si es un insulto o un halago.
Tom y Carmack trabajaron durante toda la noche y dejaron un disquete sobre la mesa de Romero con un post-it que decía Ejecuta Dave 2.
Romero quedaría asombrado.
No era capaz de decir nada. Solo movía al personaje una y otra vez, intentando encontrar un fallo.
Parece que el ilusionista hizo bien su trabajo.
Cuando llegó unas horas más tarde Carmack, Romero se acercó a él y dijo algo como: ¡Lo tenemos! ¡Nos vamos de aquí!
¿Se iba?
El plan de Romero, como el de un gran emprendedor estadounidense, sería hacerse rico. Dudo que lo consiguiera siendo empleado.
Totalmente. La combinación de Romero haciendo niveles y utilidades para crearlos junto con las historias y Carmack haciendo las engines de base para ejecutar los juegos, se convirtió en un dúo muy poderoso.
Conclusiones. ¡Bro!
¡No hemos hablado de Doom!
Estamos aún en el principio de id Software. ¿Sabes lo que tardaríamos hasta llegar ahí?
Podríamos hacer un vídeo hablando solo de Doom y su código en C.
Hexa, podemos hablar del juego, su dinámica, y no meter nada de C ni ensamblador. Que te veo venir.
Sería lo mejor.
Anda, dejad las peleas. Yo creo que ha sido interesante ver los inicios de id Software y conocer dos programadores tan talentosos.
No solo eso, dos programadores que revolucionaron cómo se hacían los juegos para PC. Carmack publicó su ID Tech, que sirvió para muchos juegos de la época.
Pues nos quedamos con eso. ¿Y ahora?
Ahora toca que mováis vuestros dedos y llenéis de forma responsable la caja de comentarios.
¿Creéis que la industria de videojuegos en PC hubiese sido la misma si Romero y Carmack que hubiese optado por seguir apoyando a Apple II?
¿A que se puede hablar de Doom sin tener que hablar de C y mucho menos de ensamblador?
¡Déjanos tu comentario!
Pro, has estado algo ausente. ¿Algo que comentar?
Todavía no. Estoy aprovechando para programar y terminar algo.
¡Qué misterioso! ¿Tiene relación con el curso ese?
Es algo que os va a gustar.
Un momento. ¿Hexa te está ayudando? Ahora comienzo a tener miedo.
Continuará.
More from Manuel

Historia de los Lenguajes de Programación: años 1960-1969 #basic #apl #simula #lisp #logo

¿Compilador o intérprete? La historia de una rivalidad que comenzó en los años 40








