Crear tu propio simulador de vuelo en C++ (1996)
(archive.org)- Material en inglés de 1996 sobre programación de juegos para DOS, que aborda el proceso de implementar por cuenta propia un simulador de vuelo en C++
- Las etiquetas temáticas se centran en MS-DOS, 3D, Gamedev, tutorial, Retrogaming y C++
- No es solo un documento: también incluye una imagen de CD-ROM con código de ejemplo, preservando junto con el material el entorno de desarrollo de la época
- Se puede descargar desde Internet Archive en varios formatos, como PDF, EPUB, Full Text, ISO Image y Torrent
- Para quienes buscan recursos sobre desarrollo de juegos retro y programación en DOS, es una copia preservada que reúne el libro y sus materiales complementarios en un solo lugar
Material registrado en Internet Archive
- El material registrado en el ítem de Internet Archive es Build Your Own Flight Sim In C++ (DOS GameDev)
- Sus autores son Michael Radtke, Chris Lampton, y es un material en inglés publicado en 1996
- El ISBN es 1-57169-022-0
- Sus temas están clasificados como MS-DOS, Programming, 3D, Gamedev, tutorial, Retrogaming y C++
Alcance de desarrollo que cubre el libro
- El objetivo es escribir por cuenta propia un simulador de vuelo en C++
- Es un recurso utilizado en el contexto de la programación de juegos para el entorno DOS, 3D y desarrollo de juegos retro
- El simulador de vuelo incluye sonido SB16
- Se proporciona también una imagen de CD-ROM con código de ejemplo
Contexto del registro
- Cuando Retro City Rampage fue portado a DOS, el desarrollador comentó con pesar que había desechado todos los libros de programación para DOS y desarrollo de juegos que tenía antes, y que también eran difíciles de encontrar en línea
- Este material se presenta, en ese contexto, como un libro de desarrollo de juegos para DOS registrado en Internet Archive
Formatos disponibles para descargar
- Internet Archive ofrece varios formatos de descarga
- PDF: 308.9M
- EPUB: 768.5K
- Full Text: 1.1M
- ISO Image: 11.5M
- Single Page Processed JP2 ZIP: 321.7M
- Torrent: 32.5K
- También se ofrecen archivos relacionados con OCR, como CHOCR, HOCR, OCR Page Index y OCR Search Text
Preservación y metadatos
- El tamaño del ítem aparece como 706.7M
- Está incluido en CD-ROM Software Library, CD-ROM Software Collection y The Vintage Software Collection de Internet Archive
- El OCR fue procesado con tesseract 5.0.0-alpha-20201231-10-g1236, y el idioma detectado es inglés
1 comentarios
Opiniones en Hacker News
Ah, ¡este libro! Me recuerda a la época en que jugaba Wolfenstein, Ken's Labyrinth y Doom, y me preguntaba cómo demonios habían hecho eso.
Trabajaba en una “tienda de computadoras” que no podía o no quería pagar salarios, y me dijeron que, como pago por el trabajo de ese día, podía llevarme cualquier libro de la tienda; así que agarré este por impulso.
En el autobús de vuelta a casa me pasé de mi parada, porque aunque era un libro sobre simuladores de vuelo, los algoritmos y técnicas que tenía adentro eran justo el contenido de programación 3D que me daba curiosidad.
No hice un simulador de vuelo, pero con el conocimiento que saqué de este libro sí hice un juego 3D bastante rudimentario. No tenía colisiones con paredes, los ítems basados en sprites se corrompían aleatoriamente con el tiempo, y nunca terminé de agarrarle bien la mano a usar multiplicación de matrices en vez de transformaciones geométricas; pero fue el libro que consolidó mi cariño por la programación justo cuando, sin un proyecto profundo, quizá ya no habría seguido empujando.
El profesor no sabía matemáticas, y cuando enseñaba matrices en Álgebra II tampoco podía responder bien cómo se usaban las matrices en el “mundo real”.
Pero de algún modo encontré en una revista Byte de unos años antes un artículo sobre gráficos 3D, que hablaba de usar matrices y puntos para rotaciones y cosas así.
Con eso hice rotar un cubo en una PET 2001. En toda la majestuosidad de una pantalla de 40x24. En realidad eran 8 puntos y, si entrecerrabas los ojos en la oscuridad, parecía un cubo.
Más adelante, en la universidad, pude usar una microcomputadora con tubo de almacenamiento Tektronix. A diferencia de una terminal, era autónoma, y podía renderizar un cubo bastante bien. También ingresé laboriosamente, con sentencias DATA del BASIC integrado, un auto que había diseñado con mucho cuidado en papel cuadriculado.
Por esa época, el primer libro de Foley-Van Dam era el libro de gráficos que todos codiciaban.
En la universidad saqué una C en “Survey of Physics”, y las matemáticas para modelar fenómenos físicos me costaban muchísimo. Me iba bien en cálculo y en todo lo abstracto, pero no sé qué dice eso de mí.
Si esto te interesa, quizá también te parezca interesante el curso en línea que estoy tomando ahora: https://pikuma.com/courses/learn-3d-computer-graphics-progra...
El instructor enseña esto en una universidad de Londres, y se nota claramente que tiene mucha experiencia enseñando. Hasta ahora el ritmo ha sido perfecto y el curso es exactamente lo que dice la descripción. Cuando termine el curso de gráficos, pienso tomar uno o dos cursos más de este instructor.
Enseña a programar gráficos desde cero en C, y la única dependencia es SDL2. Al principio se crea una abstracción de SDL2 que permite definir el color de píxeles individuales, y el resto del curso se construye sobre eso. La estructura es: si puedes definir el color de un solo píxel, entonces aprendes si puedes dibujar todo lo demás hasta llegar a un búho 3D con texturas.
Yo estoy siguiendo el curso en Rust usando solo los bindings SDL2 de Rust. Lo estoy disfrutando; me parece una oferta honesta y un buen curso, así que quería compartirlo. No he visto que se hable mucho de estos cursos en otros lugares.
Recuerdo haber tenido este libro. Debía tener unos 14 o 15 años, y acababa de tomar mi primera clase de vuelo, justo cuando me estaba metiendo de lleno en la aviación.
También tenía MS Flight Simulator y había aprendido C++ por mi cuenta, pero el contenido del libro era un poco demasiado para mi nivel de entonces. Aun así, me gusta volver a recordar la emoción que sentí cuando conseguí este libro, con la expectativa de poder hacer mi propio simulador de vuelo. Eso sí, si no recuerdo mal, el simulador que se construía en el libro era casi injugable.
Este libro y “The Black Art of 3D Game Programming” eran mis dos favoritos de la infancia.
https://archive.org/details/BlackArt3DEBook
Curiosamente, abrí al azar la página 216 y apareció un método algo básico pero sólido para mapear coordenadas de un mundo 3D sobre una esfera, y justo hace poco había leído sobre la solución completamente distinta de generación de mundos de No Man's Sky.
https://www.polygon.com/2017/3/2/14790028/no-mans-sky-was-fl...
Ojalá hoy en día salieran más textos como este. Es realmente genial
Pero el enlace de ePub no se puede descargar:
https://ia904505.us.archive.org/epub/index.php?id=build-your...
No valid doc name could be determinedQué lástima, habrá que conformarse con el PDF. También es una pena que el visor web de Internet Archive sea bastante malo
Enlace al PDF que sí funciona: https://archive.org/download/build-your-own-flight-sim-in-c-...
Todavía conservo los programas que escribí siguiendo este libro. La experiencia de darle vida a un mundo 3D se sentía mágica. Empiezas con una pantalla negra, dibujas unas cuantas líneas y, si las mueves justo de la manera correcta, de pronto aparece un mundo dentro de la pantalla. Hoy en día es difícil obtener esa misma sensación
Creo que recibí este libro como regalo de cumpleaños número 13, así que parte de las matemáticas se me hacía un poco difícil en ese momento. Aun así, aprender ensamblador y meterme en algoritmos más complejos como el recorte de polígonos fue un entrenamiento excelente para un programador principiante
Me impresiona la cantidad de páginas que este libro dedica a crear un universo. En esa época no bastaba con activar una biblioteca OpenGL e inicializar el stack
El libro empieza con cosas como qué registros hay que configurar para poner la tarjeta VGA en el modo correcto, cómo leer bitmaps y paletas desde el disco, cómo escribir tu propio codificador run-length para ahorrar memoria de bitmaps, y qué registros configurar en el puerto del joystick
Seguí este libro hasta el final. Tuve que hacer modificaciones porque trabajaba en Mac, pero implementé el algoritmo de Bresenham, recorte de polígonos, eliminación de caras posteriores y demás
Normalmente me habría trabado con matemáticas como matrices, producto punto y producto cruz, que veía por primera vez, pero por suerte estaba tomando álgebra lineal en un curso de verano en la universidad, así que el contenido del libro encajó bastante bien con las clases
Si no recuerdo mal, este libro venía con un disquete de 5,25 pulgadas que incluía un simulador en el que podías volar alrededor de montañas con forma de pirámide. Me trae muy buenos recuerdos