Descent 3 का source code सार्वजनिक
(github.com/kevinbentley)- Descent 3 open source engine को GPL-3.0 लाइसेंस के तहत सार्वजनिक किया गया है, और इसे इस्तेमाल करने के लिए अलग से game files स्वयं तैयार करनी होंगी
- इस सार्वजनिक संस्करण में Kevin Bentley और Jeff Slutter द्वारा पहले लिखा गया ‘1.5’ patch शामिल है
- इस patch को Descent community ने स्थिर स्थिति तक पहुँचाया है
- इंस्टॉलेशन की जानकारी के लिए USAGE.md और build प्रक्रिया के लिए BUILD.md का पालन करने को कहा गया है
- build या रन के दौरान आने वाली समस्याएँ GitHub tracker पर रिपोर्ट करें, और contribution patches GitHub पर submit करें
सार्वजनिक engine और लाइसेंस
- Descent 3 open source engine सार्वजनिक किया गया है
- लाइसेंस GPL-3.0 है
- इस engine में Kevin Bentley और Jeff Slutter द्वारा कुछ वर्ष पहले लिखा गया ‘1.5’ patch शामिल है
- इस patch को Descent community ने स्थिर स्थिति में पहुँचाया है
उपयोग और build
- engine का उपयोग करने के लिए उपयोगकर्ता को अपनी game files उपलब्ध करानी होंगी
- इंस्टॉलेशन से जुड़ी जानकारी USAGE.md में है
- game build प्रक्रिया के लिए BUILD.md में दी गई build instructions का पालन करने को कहा गया है
समस्या रिपोर्ट और contribution
- build या रन के दौरान आने वाली समस्याएँ GitHub tracker पर रिपोर्ट करें
- कोई भी योगदान दे सकता है
- development community, Discord के Descent Developer Network में है
- patches को GitHub पर submit करना होगा
1 टिप्पणियां
Hacker News की राय
मुझे यह गेम सच में बहुत पसंद था। मैं हमेशा नहीं समझ पाया कि यह concept एक अलग genre के रूप में क्यों स्थापित नहीं हो पाया
इसमें असल में कोई ऊपर की दिशा नहीं थी, 360-degree free movement संभव था, और दुश्मन इतने smart थे कि वे snipe तक करते थे। पहले मैंने इसमें बेहिसाब समय लगाया था, और अब भी इसे जरूर आज़माना चाहूंगा
https://store.steampowered.com/app/753640/Outer_Wilds/
हालांकि इस sub-genre का सीधा successor Overload है
https://store.steampowered.com/app/448850/Overload/
https://youtu.be/T2-IHgNYaKA
https://old.reddit.com/r/EliteDangerous/comments/16xi20a/dua...
https://youtu.be/9U0KNVQmlcM
मुझे यह game याद आता है
जहां तक यह बात है कि समझ नहीं आता यह concept genre क्यों नहीं बना, मेरा मानना है कि इसकी वजह यह है कि space flight simulators दुर्भाग्य से हमेशा niche genre रहे हैं। Flight simulators से भी ज्यादा niche
इसमें एक दिलचस्प feature था कि आप suit की power बंद करके stealth mode में जा सकते थे; तब सभी HUD elements बंद हो जाते थे, और explosions या गोलियों के पास से गुजरने की आवाज़ जैसी ज्यादातर gameplay sounds भी बंद हो जाती थीं
lore के हिसाब से वे सारी आवाज़ें suit computer बनाता था, और space शांत होता है
आजकल Elite Dangerous का modern version है, लेकिन इसकी flight dynamics aircraft flight dynamics के बहुत करीब हैं, इसलिए Descent से तुलना करना मुश्किल है
मैंने PS1 पर Descent 1 खेला था, और मुझे याद है कि box पर लिखा था कि enemies play style के हिसाब से adapt करते हैं। उम्र बढ़ने के बाद machine learning और कुछ AI techniques पढ़ीं, तो मैं हमेशा सोचता रहा कि इसका ठीक-ठीक मतलब क्या था
मेरा PS1 तो gradient descent नहीं चला रहा होगा, तो enemies के player से सीखने और adapt करने वाले दावे के पीछे कौन-सी trick रही होगी?
मेरी पत्नी और मैं Descent forums पर मिले थे, और हमारे तीन बेटों के नाम Descent friends KoolBear, Jediluke, Mark392 से लिए गए हैं। Descent friends की शादियों में भी गए, और दुख की बात है कि अंतिम संस्कारों में भी; JinX को शांति मिले
D3 को मैं Descent series की सबसे कमजोर कड़ी मानता था, लेकिन यह खबर सचमुच खुशी देती है। Kevin का शुक्रिया
Descent community में आखिरी बार active हुए 15 साल से भी ज्यादा हो गए। PlanetDescent email खत्म होने के साथ ICQ account का access भी चला गया, और अब online DCrazy नाम भी इस्तेमाल नहीं करता। उस दौर के अपने early-teen self से दूरी बनाने की वजह भी है
फिर भी Descent, खासकर D3, ने मुझे software engineering में आने पर बड़ा असर डाला, और उन यादों के लिए मैं हमेशा आभारी हूं
12 साल की उम्र में Descent FAQ पढ़ते हुए मुझे IRC के बारे में पता चला, और 14.4k modem पर IHHD set करके खेलने की कोशिश की। DEVIL से levels भी बनाए
अब मैं engineer और game developer हूं। Descent को दुनिया में लाने के लिए धन्यवाद। मुझ पर इसका निजी तौर पर बहुत बड़ा असर रहा
game हासिल करना अपने-आप में अक्सर एक सफर होता था
आजकल बच्चों के फोन में games की भरमार है। नीचे के system से उनका लगभग कोई connection नहीं बनता, और मेहनत भी नहीं लगती। बस download करो और अगला ठीक-ठाक game खेल लो
मुझे लगता है यह generation कुछ miss कर रही है
Descent का control scheme मेरे लिए first-person games में mouse की Y-axis inversion को हमेशा के लिए पक्का करने वाला मौका था
मेरा दिमाग 6 degrees of freedom वाली सोच से बिल्कुल फिट बैठ गया, और उसके बाद हर FPS game को उसी के हिसाब से होना पड़ा, चाहे वह flight-based न भी हो
क्या सिर्फ हम ही ऐसे खेलते थे?
Descent ने Flight Simulator 95 के साथ मिलकर मेरे दिमाग को बिगाड़ने में अपना हिस्सा डाला। Y-axis inversion के बिना मैं खेल ही नहीं सकता
काश सभी games में default Y-axis inversion होता। कब इसकी आदत पड़ी, पता नहीं, लेकिन शायद X-Wing खेलते समय या Quake खेलते समय हुआ होगा
लगता है यह aircraft control से आया था, जहां खींचने पर nose ऊपर जाता है। stick, joystick, yoke—सबमें ऐसा ही है। Counter-Strike ने सब बिगाड़ दिया :)
आखिर में मुझे लगा कि असल में दोनों control schemes बराबर ही non-intuitive हैं, और शायद तब तक इंतजार करना पड़ेगा जब तक कोई modern Zelda को mouse के साथ ठीक से चलने लायक न बना दे
मेरे कुछ दोस्त Descent competitive तरीके से खेलते थे, और तथाकथित trichording के बारे में जानकर मैं हैरान रह गया। speed maximize करने के लिए कई keys एक साथ दबाकर तीन axes पर एक साथ move करना पड़ता है। जैसे forward/right/up का combination
सबसे अच्छे players map में diagonal रूप से बिजली की तरह घूमते थे
मुझे हमेशा लगा कि यह Tribes की skiing जैसा मामला था, जहां bug feature बन गया। अभी repository देखते हुए clue ढूंढा, लेकिन आखिरकार जिस code line के आसपास यह होता है वहां कोई relevant comment नहीं मिला
https://github.com/kevinbentley/Descent3/blob/142052a67d4318...
Descent में up/down axis भी जुड़ गया, जिससे सिर्फ forward जाने की तुलना में करीब 1.7x speed हो गई
Descent 2 और 3 में forward speed बढ़ाने वाला afterburner भी था, जिसकी energy सीमित थी लेकिन काफी जल्दी recharge होती थी, और 100% energy पर boost effect सबसे बड़ा होता था, जबकि बची हुई energy 0% की ओर गिरने पर efficiency घटती जाती थी
इसलिए लोगों ने इसे प्रति सेकंड कई बार बहुत थोड़ी देर के लिए on/off करना सीखा, ताकि बहुत छोटे uses के बीच recharge हो जाए और low value तक गिरने के बजाय हमेशा करीब 95% पर बना रहे
सच में तेज जाना हो तो 3D diagonal में move करते हुए afterburner को प्रति सेकंड कई बार pulse की तरह दबाना पड़ता था
पता चलने के बाद कुछ designers ने इसे negative माना, कुछ ने positive, और Descent छोड़ने के कई साल बाद जब team Overload बनाने के लिए फिर इकट्ठी हुई तब भी यह debate का विषय था
मेरी पत्नी और मैंने D1 को mod करके कुछ alternatives test किए, और Mike/Matt/Luke/Dan तथा उस दिन studio में मौजूद लोगों के सामने demo उड़ाकर दिखाया। आखिर में हम इस नतीजे पर पहुंचे कि “vector independence बस अच्छा feel होता है”, इसलिए Overload में normalized flight mode, जिसमें 1D flight तेज होती है, और trichording mode के बीच switch करने का feature डाला गया
x और y vectors को बस जोड़ देने वाला naive implementation resultant vector बनाता है, और diagonal length जितनी यानी 1.41x ज्यादा speed मिलती है। 3D में यह और बढ़ जाता है
यह कई पुराने games में बहुत common bug और feature है
Quake ने walking के दौरान इस bug को ध्यान में रखा, लेकिन jump के दौरान नहीं, और नतीजतन speed बढ़ाने की ज्यादा complex technique strafe jump बनी
var playerX_input = Input.GetHorizontal(); // float in range -1 to 1
var playerY_input = Input.GetVertical(); // float in range -1 to 1
var playerVelocity = new Vector2(playerX_input, playerY_input);
अब player X में 1 unit/frame और Y में 1 unit/frame move कर सकता है, और diagonal move करने पर velocity vector की length (1,1) vector की length यानी sqrt(2), करीब 1.41 हो जाती है
इसे ठीक करने के लिए मोटे तौर पर ऐसा कर सकते हैं
if(playerVelocity.length > 1)
{
playerVelocity = playerVelocity.normalized();
}
पीछे से chase करते समय उन्हें hit करना सच में बहुत मुश्किल हो जाता था
मैंने कुछ ladder players के खिलाफ खेला था, और skill का level बिल्कुल अलग था, यह देखकर हैरान रह गया
उन original games के मेरे लिए इतने आकर्षक होने की एक वजह यह थी कि असल में उनका skill ceiling नहीं था
अगर उन matches को streaming platforms पर देखा जा सकता, तो वाकई कमाल होता
“किसी ने हाल ही में पूछा था कि Descent 3 का source code release होगा या नहीं” वाले हिस्से का reference link: https://news.ycombinator.com/item?id=40009248
सच में शानदार, धन्यवाद
“Interplay की proprietary sound और video libraries के कुछ हिस्से हटा दिए गए हैं। ये ACM और MVE formats हैं। अगर कोई पुराने cutscenes चलाने के लिए converter बनाने में मदद करना चाहे, तो वह code मेरे पास है। उसे compile करने लायक बनाने के लिए stub करने में थोड़ी मेहनत लगेगी” वाले हिस्से को देखते हुए, संदर्भ के लिए FFMPEG इन formats को support करता लगता है
यह जानने की जिज्ञासा है कि पर्दे के पीछे मंज़ूरी पाने के लिए क्या-क्या करना पड़ा। क्या निर्णय लेने की प्रक्रिया के बारे में थोड़ा बता सकते हो? यह अच्छी बात है, लेकिन आजकल यह बहुत दुर्लभ है
उस समय भी code release करने की बात हुई थी, लेकिन पहले मैं patch निकालना और MVE decoder का कोई विकल्प ढूँढना चाहता था
कुछ दिन पहले यहाँ किसी दूसरे पोस्ट के comments देखकर मैंने owner को mail भेजा और पूछा कि क्या non-releasable code हटाकर बस आगे बढ़ सकते हैं, तो उसने जवाब दिया, “कर सकते हो”
Wikipedia page पर यह नगीने जैसी जानकारी मिली[0]
“2002 में प्रकाशित एक study ने hawk moth की उड़ान गतिविधि का अध्ययन करने के लिए Descent 3 का उपयोग किया। game के editing module का उपयोग करके researchers ने आयताकार स्तंभों वाले सपाट plane से बना एक virtual environment बनाया, और जानवर ने उसके अंदर सफलतापूर्वक navigation किया”
[0] https://en.wikipedia.org/wiki/Descent_3#Other_uses
“यह paper एक नए insect flight simulator design का वर्णन करता है, जो realistic और interactive visual environment को mechanosensory तथा olfactory stimuli के साथ जोड़ता है, और latest multi-channel neurophysiological recording techniques के साथ इस्तेमाल करता है। यह system currently available computer technology और MEMS fabrication techniques का लाभ उठाता है, और hawk moth Manduca sexta की realistic closed-loop flight के दौरान कई central nervous system neurons की गतिविधि को parallel में जांचने के लिए इस्तेमाल किया जाता है”
https://www.sciencedirect.com/science/article/abs/pii/S01650...
सुना है बहुत से लोग Descent को पसंद करते हैं, और देखने में भी यह शानदार लगता था। कुछ-कुछ X-Wing और Quake का mix जैसा
लेकिन मैं इसे कुछ मिनट से ज़्यादा नहीं खेल पाया, और मेरे लंबे player career में शायद यह पहला game था जिसे मैंने इतनी जल्दी छोड़ दिया। इसमें कुछ ऐसा है जो बेचैन कर देता है, जैसे boxing gloves पहनकर magnets को handle करना। gameplay video देखने पर भी वही एहसास होता है