C++ में खुद अपना फ्लाइट सिम्युलेटर बनाना (1996)
(archive.org)- 1996 की यह अंग्रेज़ी DOS game programming सामग्री C++ में खुद फ्लाइट सिम्युलेटर implement करने की प्रक्रिया को कवर करती है
- विषय टैग MS-DOS, 3D, Gamedev, tutorial, Retrogaming, और C++ पर केंद्रित हैं
- यह सिर्फ़ एक दस्तावेज़ नहीं है, बल्कि example code CD-ROM image भी शामिल करती है, जिससे उस समय का development environment भी साथ में संरक्षित रहता है
- Internet Archive से इसे PDF, EPUB, Full Text, ISO Image, Torrent आदि कई फ़ॉर्मैट में डाउनलोड किया जा सकता है
- retro game development और DOS programming सामग्री खोजने वालों के लिए, यह किताब और उससे जुड़ी सामग्री को एक ही जगह पर देखने योग्य संरक्षित प्रति है
Internet Archive पर दर्ज सामग्री
- Internet Archive प्रविष्टि में दर्ज सामग्री Build Your Own Flight Sim In C++ (DOS GameDev) है
- लेखक Michael Radtke, Chris Lampton हैं, और यह 1996 में प्रकाशित अंग्रेज़ी सामग्री है
- ISBN 1-57169-022-0 है
- विषयों को MS-DOS, Programming, 3D, Gamedev, tutorial, Retrogaming, और C++ के रूप में वर्गीकृत किया गया है
किताब में कवर किया गया development scope
- लक्ष्य C++ में खुद फ्लाइट सिम्युलेटर लिखना है
- यह DOS environment में game programming पर केंद्रित सामग्री है, जिसे 3D और retro game development के संदर्भ में इस्तेमाल किया जा सकता है
- फ्लाइट सिम्युलेटर में SB16 sound शामिल है
- example code वाली CD-ROM image भी साथ में दी गई है
पंजीकरण का संदर्भ
- जब Retro City Rampage को DOS पर port किया गया था, तब डेवलपर ने अफ़सोस जताया था कि उसने अपने पुराने DOS programming और game development की सारी किताबें फेंक दी थीं, और वे ऑनलाइन भी मुश्किल से मिलती हैं
- उसी संदर्भ में इस सामग्री को Internet Archive पर दर्ज DOS game development किताब के रूप में पेश किया गया है
डाउनलोड के लिए उपलब्ध फ़ॉर्मैट
- Internet Archive पर कई download formats उपलब्ध हैं
- PDF: 308.9M
- EPUB: 768.5K
- Full Text: 1.1M
- ISO Image: 11.5M
- Single Page Processed JP2 ZIP: 321.7M
- Torrent: 32.5K
- OCR से संबंधित फ़ाइलों में CHOCR, HOCR, OCR Page Index, और OCR Search Text भी उपलब्ध हैं
संरक्षण और metadata
- item size 706.7M के रूप में दिखाया गया है
- यह Internet Archive की CD-ROM Software Library, CD-ROM Software Collection, और The Vintage Software Collection में शामिल है
- OCR को tesseract 5.0.0-alpha-20201231-10-g1236 से प्रोसेस किया गया था, और detected language अंग्रेज़ी है
1 टिप्पणियां
Hacker News की राय
आह, यह किताब! Wolfenstein, Ken's Labyrinth, Doom खेलते हुए जब सोचता था कि आखिर ये चीज़ें बनाई कैसे गई होंगी, वे दिन याद आ गए
मैं एक “कंप्यूटर स्टोर” में काम करता था, जहाँ कभी मजदूरी नहीं दे पाते थे या देते ही नहीं थे, और एक दिन कहा गया कि उस दिन के काम के बदले दुकान की कोई भी किताब ले जा सकता हूँ, तो मैंने आवेग में यह किताब उठा ली
घर लौटते समय बस में अपना स्टॉप चूक गया, क्योंकि भले ही यह flight simulator की किताब थी, अंदर के algorithms और techniques बिल्कुल वही 3D programming वाली चीज़ें थीं जिनके बारे में मैं उत्सुक था
मैंने flight simulator तो नहीं बनाया, लेकिन इस किताब से मिले ज्ञान से एक भद्दा-सा 3D game जरूर बनाया। दीवारों से collision नहीं था, sprite-based items समय के साथ random तरीके से टूट जाते थे, और geometric transformations की जगह matrix multiplication इस्तेमाल करने की समझ भी कभी ठीक से नहीं बन पाई, लेकिन यह किताब ऐसी थी जिसने programming के लिए मेरा लगाव उस समय पक्का कर दिया जब किसी गहरे project के बिना शायद मैं आगे नहीं बढ़ता
शिक्षक को maths नहीं आती थी, और Algebra II में matrices पढ़ाते समय भी matrices “real world” में कैसे इस्तेमाल होते हैं, इसका ठीक जवाब नहीं दे पाते थे
लेकिन किसी तरह मुझे कुछ साल पुरानी Byte magazine में 3D graphics पर एक article मिल गया, जिसमें rotations वगैरह के लिए matrices और points इस्तेमाल करने की बात थी
उससे मैंने PET 2001 पर एक cube rotate कराया। 40x24 screen की भव्यता में। असल में वे 8 points थे, और अंधेरे में आँखें सिकोड़कर देखने पर cube जैसा लगता था
बाद में college में मुझे Tektronix storage-tube microcomputer इस्तेमाल करने को मिला। terminal के उलट यह standalone था, और cube को काफी ठीक render कर सकता था। मैंने graph paper पर मेहनत से बनाई हुई car को built-in BASIC के DATA statements में एक-एक करके enter भी किया
उस दौर में शुरुआती Foley-Van Dam किताब वह graphics book थी जिसकी सबको चाहत थी
University में “Survey of Physics” में मुझे C मिला था, और physical phenomena को model करने वाली maths मेरे लिए सचमुच कठिन थी। Calculus और abstract चीज़ों में मैं अच्छा था, लेकिन यह मेरे बारे में क्या बताता है, पता नहीं
अगर इसमें दिलचस्पी है, तो अभी जो online course मैं सुन रहा हूँ वह भी रोचक हो सकता है: https://pikuma.com/courses/learn-3d-computer-graphics-progra...
instructor London की एक university में यह विषय पढ़ाते हैं, और साफ महसूस होता है कि उनके पास teaching का काफी अनुभव है। अब तक pace भी बिल्कुल सही है, और course description जैसा ही है। graphics course खत्म करने के बाद मैं इस instructor के कुछ और courses भी एक-एक करके लेने का सोच रहा हूँ
यह C में graphics को बिल्कुल नीचे से program करना सिखाता है, और dependency सिर्फ SDL2 है। शुरुआत में वे SDL2 abstraction बनाते हैं जिससे individual pixels का रंग set किया जा सके, और फिर पूरा course उसी के ऊपर build होता है। structure यह है कि अगर आप एक pixel का रंग तय कर सकते हैं, तो क्या बाकी सब बनाकर 3D textured owl तक draw कर सकते हैं—यही सीखते हैं
मैं सिर्फ Rust की SDL2 bindings इस्तेमाल करके इस course को Rust में follow कर रहा हूँ। इसे enjoy कर रहा हूँ, और यह ईमानदार deal और अच्छा course लगता है, इसलिए share करना चाहता था। दूसरी जगहों पर इन courses की चर्चा ज्यादा नहीं देखी
मुझे याद है कि मेरे पास यह किताब थी। शायद मैं 14–15 साल का था, पहली flying lesson ली थी और अभी-अभी aviation में डूब रहा था
मेरे पास MS Flight Simulator भी था और C++ भी खुद सीख रहा था, लेकिन उस समय मेरे level के लिए किताब की सामग्री थोड़ी भारी थी। फिर भी अपना flight simulator बना सकने की उम्मीद में जब यह किताब हाथ लगी थी, उस excitement को फिर याद करना अच्छा लगा। हालांकि अगर याद सही है, तो किताब में जो simulator बनता था वह लगभग खेलने लायक नहीं था
यह किताब और “The Black Art of 3D Game Programming” बचपन में मेरी सबसे पसंदीदा दो किताबें थीं
https://archive.org/details/BlackArt3DEBook
मजेदार बात यह है कि मैंने random तरीके से page 216 खोला तो sphere पर 3D world coordinates map करने का थोड़ा बुनियादी लेकिन robust तरीका मिला, और संयोग से हाल ही में No Man's Sky के बिल्कुल अलग world generation समाधान के बारे में पढ़ा था
https://www.polygon.com/2017/3/2/14790028/no-mans-sky-was-fl...
आज भी ऐसे लेख और ज़्यादा आएँ तो अच्छा होगा। वाकई शानदार है
लेकिन ePub लिंक डाउनलोड नहीं हो रहा:
https://ia904505.us.archive.org/epub/index.php?id=build-your...
No valid doc name could be determinedअफसोस है, लेकिन PDF से ही संतोष करना पड़ेगा। Internet Archive का वेब व्यूअर भी खास अच्छा नहीं है, यह भी अफसोस की बात है
काम करने वाला PDF लिंक: https://archive.org/download/build-your-own-flight-sim-in-c-...
इस किताब को follow करते हुए जो programs लिखे थे, वे अब भी मेरे पास हैं। 3D दुनिया में जान डालने का अनुभव जादू जैसा था। काली स्क्रीन से शुरुआत करके कुछ line खींचो, और उन्हें बिल्कुल सही तरीके से move करो तो अचानक screen के अंदर एक दुनिया बन जाती है। आजकल वही एहसास पाना मुश्किल है
शायद मुझे यह किताब 13वें जन्मदिन के gift के रूप में मिली थी, इसलिए उस समय मेरे लिए कुछ maths थोड़ी कठिन थी। फिर भी assembly सीखना और polygon clipping जैसे ज़्यादा complex algorithms में उतरना एक beginner programmer के लिए बेहतरीन training था
यह impressive है कि यह किताब एक universe बनाने में कितने pages लगाती है। तब ऐसा दौर नहीं था कि OpenGL library चालू की, stack initialize किया और काम खत्म
यह किताब VGA card को सही mode में डालने के लिए कौन-से registers set करने हैं, disk से bitmaps और palettes पढ़ने का तरीका, bitmap memory बचाने के लिए खुद run-length encoder लिखने का तरीका, joystick port पर कौन-से registers set करने हैं—ऐसी चीज़ों से शुरू होती है
मैंने इस किताब को अंत तक follow किया। Mac पर काम कर रहा था इसलिए modifications की जरूरत पड़ी, लेकिन मैंने Bresenham algorithm, polygon clipping, back-face culling वगैरह implement किए
आम तौर पर पहली बार मिलने वाली matrices, dot product, cross product जैसी maths पर मैं अटक जाता, लेकिन किस्मत से university में summer term में linear algebra ले रहा था, इसलिए किताब की content lectures से काफी अच्छी तरह match हो गई
अगर मेरी याद सही है, तो इस किताब के साथ 5.25-inch floppy आती थी जिसमें pyramid जैसी पहाड़ियों के आसपास उड़ सकने वाला simulator था। अच्छी यादें ताज़ा हो गईं