3 पॉइंट द्वारा GN⁺ 2024-04-17 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • 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 टिप्पणियां

 
GN⁺ 2024-04-17
Hacker News की राय
  • मुझे यह गेम सच में बहुत पसंद था। मैं हमेशा नहीं समझ पाया कि यह concept एक अलग genre के रूप में क्यों स्थापित नहीं हो पाया
    इसमें असल में कोई ऊपर की दिशा नहीं थी, 360-degree free movement संभव था, और दुश्मन इतने smart थे कि वे snipe तक करते थे। पहले मैंने इसमें बेहिसाब समय लगाया था, और अब भी इसे जरूर आज़माना चाहूंगा

    • किसी ने पूछा नहीं, लेकिन modern games में इसी control scheme का इस्तेमाल करने वाला popular game असल में लगभग सिर्फ Outer Wilds है। यह shooter नहीं है, लेकिन काफी शानदार adventure game है
      https://store.steampowered.com/app/753640/Outer_Wilds/
      हालांकि इस sub-genre का सीधा successor Overload है
      https://store.steampowered.com/app/448850/Overload/
    • Elite Dangerous 6-degrees-of-freedom piloting का मज़ा ठीक से देता है
      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
    • 2009 में Shattered Horizon नाम का एक zero-gravity multiplayer shooter game आया था: https://www.youtube.com/watch?v=xWsHxTFPxSE
      इसमें एक दिलचस्प feature था कि आप suit की power बंद करके stealth mode में जा सकते थे; तब सभी HUD elements बंद हो जाते थे, और explosions या गोलियों के पास से गुजरने की आवाज़ जैसी ज्यादातर gameplay sounds भी बंद हो जाती थीं
      lore के हिसाब से वे सारी आवाज़ें suit computer बनाता था, और space शांत होता है
    • Freespace अनौपचारिक हो या नहीं, काफी हद तक successor जैसा था। Freespace 2 कमाल का था और मुझे लगता है आज भी चल जाएगा
      आजकल Elite Dangerous का modern version है, लेकिन इसकी flight dynamics aircraft flight dynamics के बहुत करीब हैं, इसलिए Descent से तुलना करना मुश्किल है
    • “दुश्मन इतने smart थे कि वे snipe तक करते थे” वाला हिस्सा याद है
      मैंने 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 का शुक्रिया

    • कई सालों तक सिर्फ पढ़ने के बाद आखिरकार यह लिखने के लिए account बनाया। मुझे याद है जब आपकी और Drakona की शादी हुई थी। फिर से बधाई
      Descent community में आखिरी बार active हुए 15 साल से भी ज्यादा हो गए। PlanetDescent email खत्म होने के साथ ICQ account का access भी चला गया, और अब online DCrazy नाम भी इस्तेमाल नहीं करता। उस दौर के अपने early-teen self से दूरी बनाने की वजह भी है
      फिर भी Descent, खासकर D3, ने मुझे software engineering में आने पर बड़ा असर डाला, और उन यादों के लिए मैं हमेशा आभारी हूं
    • KoolBear, Jediluke, Mark392—ये बच्चों के नाम हैं?
    • Kali पर खेलने वाले दिनों का KoolBear याद है। अच्छी यादें ताज़ा हो गईं
    • यह सोचकर बहुत अच्छा लग रहा है कि बच्चों में से एक का नाम सचमुच “koolbear” है
  • 12 साल की उम्र में Descent FAQ पढ़ते हुए मुझे IRC के बारे में पता चला, और 14.4k modem पर IHHD set करके खेलने की कोशिश की। DEVIL से levels भी बनाए
    अब मैं engineer और game developer हूं। Descent को दुनिया में लाने के लिए धन्यवाद। मुझ पर इसका निजी तौर पर बहुत बड़ा असर रहा

    • मैं अक्सर सोचता हूं कि पहले games चलाने की कोशिश करते-करते सचमुच बहुत कुछ सीखने को मिलता था। game चलाने के लिए problems fix करना बहुत बड़ा motivation था, और अगर game ज्यादा memory मांगता था तो MS-DOS memory optimization जैसी चीजें भी करनी पड़ती थीं
      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 mouse से खेला? हम तो दोनों हाथ keyboard पर रखकर खेलते थे। number pad से view movement, strafing और rotation करते थे, और बाईं तरफ की keys से movement और fire करते थे
      क्या सिर्फ हम ही ऐसे खेलते थे?
    • Y-axis inversion players, एकजुट हो जाओ!
      Descent ने Flight Simulator 95 के साथ मिलकर मेरे दिमाग को बिगाड़ने में अपना हिस्सा डाला। Y-axis inversion के बिना मैं खेल ही नहीं सकता
    • Y-axis inversion की इतनी आदत हो गई है कि कोई भी FPS default settings में नहीं खेल पाता, इसलिए game settings में सबसे पहले यही बदलता हूं
      काश सभी games में default Y-axis inversion होता। कब इसकी आदत पड़ी, पता नहीं, लेकिन शायद X-Wing खेलते समय या Quake खेलते समय हुआ होगा
    • पुराने games में सबमें वही default था जिसे आज Y-axis inversion कहते हैं
      लगता है यह aircraft control से आया था, जहां खींचने पर nose ऊपर जाता है। stick, joystick, yoke—सबमें ऐसा ही है। Counter-Strike ने सब बिगाड़ दिया :)
    • सोचता हूं कि क्या gamepad पर third-person game खेलते समय दोनों axes invert करना चाहने वाला मैं अकेला था
      आखिर में मुझे लगा कि असल में दोनों 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...

    • जहां तक मुझे पता है, ऐसी ही चीज कई shooters में संभव थी। sideways move करते हुए forward जाकर diagonal run करने पर शायद design की लापरवाही की वजह से sqrt(x^2 + y^2) speed मिलती थी, क्योंकि हर direction में movement speed समान थी
      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 ने उसे bug या feature नहीं माना था; ज्यादा सही यह है कि उन्होंने इसके बारे में खास सोचा ही नहीं था
      पता चलने के बाद कुछ 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 डाला गया
    • 2D में 1x1 square का diagonal side से लंबा होता है
      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 बनी
    • calculations देखने पर लगता है कि component inputs जोड़ने के बाद final thrust vector को फिर normalize नहीं किया जाता। 2D game में simplify करें तो यह ऐसा है
      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();
      }
    • competitive ladder में top players में से कुछ trichording करते समय rotation का इस्तेमाल करके curved path में “steer” करते थे
      पीछे से 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 करता लगता है

  • यह जानने की जिज्ञासा है कि पर्दे के पीछे मंज़ूरी पाने के लिए क्या-क्या करना पड़ा। क्या निर्णय लेने की प्रक्रिया के बारे में थोड़ा बता सकते हो? यह अच्छी बात है, लेकिन आजकल यह बहुत दुर्लभ है

    • इतने समय से कोड मेरे पास ही था, और लगभग 15 साल पहले मैं कुछ पुराने bugs ठीक करने पर काम कर रहा था
      उस समय भी 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

    • काफ़ी पागलपन भरा काम है। moth को VR machine में fixed करके pheromone sprayer और electrodes तक लगा दिए गए—Clockwork Orange जैसा scene
      “यह 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 देखने पर भी वही एहसास होता है