2 पॉइंट द्वारा GN⁺ 2024-04-05 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Mario Kart 8 में build का प्रदर्शन driver, body, tire और glider के combination के अनुसार बदलता है, इसलिए इतने सारे विकल्पों में सबसे अच्छा build चुनना मुश्किल होता है
  • सिर्फ speed देखें तो Bowser या Wario अच्छे लग सकते हैं, लेकिन असली race selection speed और acceleration को साथ देखकर की जाने वाली multi-objective optimization के ज्यादा करीब है
  • Koopa जैसे विकल्प, जो समान acceleration पर अधिक धीमे हों या समान speed पर जिनका acceleration कम हो, dominated choices के रूप में हटाए जा सकते हैं
  • बचे हुए विकल्प Pareto front बनाते हैं, लेकिन उनमें से क्या सबसे अच्छा है यह play style और stats weighting पर निर्भर करता है
  • जब preference स्पष्ट न हो, तो Pareto front एक ही सही जवाब देने के बजाय साफ तौर पर कमजोर combinations को हटाकर प्रयोग की सीमा कम कर देता है

Mario Kart 8 build को Pareto front से छोटा करना

  • Mario Kart 8 का build driver, body, tire, glider इन चार तत्वों से बनता है, और हर तत्व में speed और acceleration जैसे performance stats होते हैं
  • हर तत्व में दर्जनों विकल्प हैं, और कुछ केवल style का फर्क हैं जिनके stats एक जैसे हैं, लेकिन duplicates हटाने के बाद भी हजारों combinations बचते हैं
  • अगर केवल एक stat देखें तो चयन आसान हो जाता है
    • उदाहरण के लिए, अगर drivers को सिर्फ speed के आधार पर rank करें, तो Bowser या Wario स्वाभाविक विकल्प लगते हैं
  • लेकिन speed और acceleration को साथ देखें तो हर विकल्प के अपने फायदे-नुकसान होते हैं, और केवल simple ranking से सबसे अच्छा विकल्प तय करना कठिन हो जाता है
  • अगर कोई विकल्प, दूसरे विकल्प की तुलना में, सभी महत्वपूर्ण stats में समान या बदतर हो, तो वह dominated choice बन जाता है
    • उदाहरण में Koopa, Cat Peach की तुलना में समान acceleration पर कम speed देता है, और Toadette की तुलना में समान speed पर उसका acceleration कम है
    • ऐसे विकल्पों को जीतने के लक्ष्य के लिए उम्मीदवारों की सूची से हटाया जा सकता है
  • जो efficient विकल्प dominated नहीं होते, वे मिलकर Pareto front या Pareto frontier बनाते हैं
  • Pareto efficiency, वस्तुनिष्ठ रूप से कमजोर विकल्पों को हटाने का एक मानदंड है, लेकिन frontier पर मौजूद सभी विकल्प एक जैसे अच्छे नहीं होते
    • अगर आपको संतुलित speed और acceleration चाहिए, तो frontier के extremes पर मौजूद drivers से बचना चाह सकते हैं
    • अंतिम चयन play style, skill, और आप किन stats को ज्यादा महत्व देते हैं, इस पर निर्भर करेगा

Mario Kart के बाहर भी बार-बार दिखने वाले trade-offs

  • इसी तरह की trade-off संरचना गेम के बाहर भी अक्सर दिखाई देती है
  • अगर आपको हर dimension को दिए जाने वाले सही weight, यानी utility function, का पता हो, तो कई dimensions को एक value में जोड़कर इसे single-objective optimization में बदला जा सकता है
  • जब utility function ज्ञात न हो या अनिश्चित हो, तब Pareto front साफ तौर पर inefficient विकल्पों को हटाने में उपयोगी होता है
  • Pareto front शुरुआत से ही एकमात्र सबसे अच्छा विकल्प नहीं बताता; बचे हुए efficient विकल्पों को आपको खुद आज़माकर अपने लिए उपयुक्त विकल्प चुनना होता है

सरल मान्यताएँ और data sources

  • इसमें असली in-game calculations से अलग कुछ सरल मान्यताएँ शामिल हैं
    • stats को game के derived stats में बदला जाता है, और उनका base stats से संबंध हमेशा linear नहीं होता
    • driver को छोड़कर equipment में 4 speed stats और 4 handling stats होते हैं, लेकिन लेख में इन्हें simple average कर दिया गया है
    • utility function का ठोस रूप छिपा हुआ है, जबकि असली चयन में यह बड़ी भूमिका निभा सकता है
  • data के लिए Mario Kart 8 Deluxe in-game statistics और Mario Kart and the Pareto Frontier का संदर्भ लिया गया है

1 टिप्पणियां

 
GN⁺ 2024-04-05
Hacker News की राय
  • यह विज़ुअलाइज़ेशन/लेख आजकल के game design में मेरी निजी नापसंद वाली choice for the sake of choice समस्या को अच्छी तरह दिखाता है
    लगता है designers “7 लाख से ज़्यादा builds!” जैसे वाक्यों को जरूरत से ज्यादा महत्व देने के जाल में फंस जाते हैं। वे इस combinatorial explosion का बोझ player पर डाल देते हैं, और अगर ये choices core game experience को खास मजबूत नहीं करतीं, तो यह बस समय बर्बाद करवाना है। खासकर तब, जब skilled player choice space के ज्यादातर हिस्से को सुरक्षित रूप से हटा सकता है; और इंटरनेट है ही, तो कोई न कोई calculation कर ही लेगा। समझ नहीं आता कि competitive element को convex optimization problem के पीछे क्यों छिपाया जाता है, और इसे मज़े के लिए मानना मुश्किल है
    FPS में loadout configuration भी इसी trend का उदाहरण है। एक gun में भी optic, barrel, underbarrel attachment, magazine, ammunition जैसी trade-offs जुड़ जाती हैं, और उससे पहले ही class/weapon चुनना पड़ता है। अगर FPS का core tactical positioning और aiming है, तो ये options playtime थोड़ा और खींचने वाली cheap trick लगती हैं। Halo और Battlefield जैसी franchises भी इस जाल में फंसकर अपनी reputation खराब कर चुकी हैं
    Counter-Strike की round economy जैसी core play में जुड़ने वाली choices अब भी संभव हैं। अगर player को दी जाने वाली सारी choices सिर्फ menu के अंदर ही होती हैं, तो इसे warning sign मानना चाहिए। game design industry को statistics/combinatorics की तुलना में play और narrative को ज्यादा महत्व देना चाहिए

    • यह इस पर निर्भर करता है कि आप क्यों खेल रहे हैं। combinatorial explosion का बोझ केवल तब समस्या है जब आप min-max optimization करना चाहते हैं; मज़े के लिए खेल रहे हों तो यह “कौन सा character पसंद है” या “कौन से wings सुंदर हैं” जैसा है
      सबसे जरूरी बात है कि दूसरों पर खेलने का तरीका न थोपें। जब तक साफ तौर पर पूछा न जाए, “X सबसे अच्छा है, इसलिए वही चुनना चाहिए” न कहें; हर किसी को अपने तरीके से खेलने दें
    • play और narrative “unlockable हर चीज़” जितनी अच्छी तरह collecting urge और gambling tendencies को नहीं छू पाते
      आम तौर पर मैं सहमत हूं कि यह तरीका cheap trick है और बहुत आम हो गया है। फिर भी content unlocks की तरह player को “कुछ करने को” देने में इसका अर्थ है। यह experience में “मैं अभी भी यह game क्यों खेल रहा हूं” वाला एहसास जोड़ता है
    • इससे भी बुरी बात यह है कि यह कुछ players को आसान शिकार बना देता है। serious player अब सिर्फ experience और skill से ही नहीं, बल्कि ऐसे character से भी शुरू कर सकता है जिससे वह beginner को एक हाथ बांधकर भी हरा सके
      हम सब जानते हैं कि साथ खेलते समय ऐसा कोई व्यक्ति होता है जो सबका मज़ा चूस लेता है। game seller के नजरिए से यह सिर्फ बुरा ही नहीं, बेवकूफाना design भी है
    • ARPG/Diablo genre में Path of Exile सबसे खराब उदाहरणों में से एक है। हर character 1,300 से ज्यादा passive skill nodes वाले regionally connected 2D graph के साथ grow करता है, जिनमें से करीब 100 ही चुने जा सकते हैं, और वापस बदलना महंगा या असंभव है
      हालांकि overwhelming choices की वजह से experts और build creators की एक परत बनती है, जिस पर सामान्य players निर्भर कर सकते हैं। अच्छा होगा अगर game खुद इन्हें explore करने के लिए और tools दे, जैसे in-game build guide system
    • Mario Kart जैसे game में दो modes होने चाहिए। एक party mode, जहां सब समान शर्तों पर खेलें, और एक expert mode, जहां macro strategy बड़ी भूमिका निभाए
      party में भी अलग-अलग characters की attributes game को ज्यादा dynamic बनाती हैं और आखिरकार ज्यादा मजेदार करती हैं। समस्या तब है जब कोई पूरे पिछले हफ्ते सारे numbers Excel में डालकर आता है और जानता है कि सबको optimally कैसे हराना है। लेकिन line कहां खींचें? क्या यह किसी track की पूरे हफ्ते practice करने से ज्यादा unfair है?
      हमें यह स्वीकार करना होगा कि game हमेशा fair नहीं हो सकता। sports भी ऐसे ही हैं। अगर आप tournament experience वाले व्यक्ति के साथ tennis खेलें, तो casual player pro को बहुत खराब racket देने पर भी एक ball ठीक से hit नहीं कर पाएगा
      casual और pro को समान शर्तों पर compete करा सकने वाला balance बनाना बहुत मुश्किल है, और गलत दिशा में जाने पर game को सिर्फ dice roll पर निर्भर बेहद simple चीज़ बना सकता है। कम से कम यह साफ दिखाना चाहिए कि यह Excel game है या reflex game, तभी यह थोड़ा ज्यादा fair होगा
  • मैं हमेशा जानता था कि लाल छोटे tires सबसे अच्छे हैं। अफसोस, यह analysis मेरे लिए सबसे जरूरी style और Zelda के प्रति प्रेम को miss कर रहा है। इसलिए निजी तौर पर मुझे इसे पूरी तरह ignore करना होगा

    • आप बस दूसरे outcome को optimize कर रहे हैं। वही सोच लागू करें, बस Zelda adjacency को main metric बना दें
    • original MK8 में Triforce tires और Hylean glider काफी अच्छे थे, लेकिन MK8 Deluxe में उनकी stats उतनी अच्छी नहीं हैं
    • मैं हमेशा Koopa चुनता हूं, और अब पता चला कि शायद वह सबसे खराब है। फिर भी दोस्तों में मैं भारी अंतर से सबसे ज्यादा जीतता हूं
      fairness बनाए रखने के लिए मैं Koopa ही चुनता रहूंगा :)
  • सचमुच impressive presentation थी। Pareto efficiency/Pareto frontier के बारे में पहले से जानता था, लेकिन अब लगता है कभी नहीं भूलूंगा, और हर बार Mario Kart और बेचारे dominated Koopa की याद आएगी

    • Koopa से खेलना MK का hard mode है, और जीतने पर ज्यादा संतोष मिल सकता है। training के समय weights पहने Piccolo या Rock Lee जैसा एहसास ;)
    • अगर Koopa Pareto efficient होता तो वह भी बेहतर करता
    • सोचता हूं कि क्या Koopa किसी दूसरे customization में बेहतर होगा
    • ऐसे लेख ही वह new media form हैं, जिसका सपना कई news sites और digital publications venture investors को pitch करते समय देखते हैं। लेकिन मेरी राय में सबसे persuasive digital presentations आम तौर पर spontaneous होती हैं
      इसे target बनाकर design करना संभव नहीं, और यह अक्सर बनावटी और चिढ़ाने वाला लगता है। मगर कभी-कभी, इस बार की तरह, इतना शानदार होता है कि मन करता है, “ठीक है, मेरी scroll ले लो”
  • design के बारे में मैं असहमत हूं। मेरे लिए यह presentation जानकारी ढूंढने के लिए video देखने जैसा था—बहुत धीमा और लगातार frustrating। उस लिहाज से original notebook format कहीं बेहतर था
    हर section के अंदर का layout सुंदर है, लेकिन animations और scroll-responsive layout static charts के समूह की तुलना में पढ़ने में मुश्किल थे
    content शानदार था और characters व karts के differences कैसे सामने आते हैं, यह देखना दिलचस्प था

    • मैं पूरी तरह सहमत हूं कि animations और scroll-responsive layout पढ़ने में मुश्किल बनाते हैं। समझ नहीं आता HN इस तरह की sites पर इतना मोहित क्यों हो जाता है
      असल में यह समझ को आसान या बेहतर नहीं बनाता, बस design के लिए over-designed जैसा लगता है
  • अच्छा लेख है। नतीजे में निकला Pareto frontier अच्छी तरह दिखाता है कि game design कितना मुश्किल है। संभावित combinations लाखों में हो सकते हैं, लेकिन असली competitive माहौल में इस्तेमाल होने वाले combinations बेहद कम ही होते हैं

    • इसका मतलब यह नहीं कि बाकी combinations की कोई value नहीं है। visual customization की भी value हो सकती है, और कई dimensions में builds बनाने और optimize करने वाली puzzle-like quality भी है
      निश्चित रूप से हर combination की competitive उपयोगिता और game में जोड़े गए मज़े के बीच balance में भी कोई meta Pareto frontier होगा
    • यह ध्यान रखना चाहिए कि Pareto frontier कोई 2D line नहीं, बल्कि किसी higher-dimensional vector space में एक surface है। हर game में min-max optimize किए जा सकने वाले पहलू बहुत सारे होते हैं। जैसा कि दूसरों ने कहा, Mario Kart को भी सिर्फ speed और acceleration तक reduce नहीं किया जा सकता
      पर्याप्त रूप से complex game में हर build को किसी खास cost function को optimize करने वाला माना जा सकता है, इसलिए उसे Pareto frontier पर समझा जा सकता है
    • सहमत। लेकिन यह game के goal पर भी निर्भर करता है। min-max optimization खेलने का इकलौता तरीका नहीं है, और हर कोई बेहद competitive भी नहीं होता
  • “कम risk और high return वाला portfolio? [...] बेशक, अगर आपको exact weights पहले से पता हों” कहा गया था, लेकिन इस case में problem structure की वजह से यह 1-dimensional optimization तक घट जाता है
    portfolio selection में optimize की जाने वाली चीज़ किसी single investment का return नहीं, बल्कि पूरी ज़िंदगी में investment returns हैं। compounding की वजह से यह risk और return का function बन जाता है। इसलिए बिना किसी trade-off के optimal allocation पाया जा सकता है: https://two-wrongs.com/the-misunderstood-kelly-criterion.htm...

    • ज़रूरी नहीं। बड़े inputs में से एक निवेशित राशि और annual savings का ratio है। ज़िंदगी के बाद के हिस्से में बड़ा drawdown बुरा है, लेकिन शुरुआत में यह इतनी बड़ी समस्या नहीं है
      Kelly criterion bankruptcy risk वाले काफी profitable bets को रोकता है। क्योंकि wealth 0 हो जाए तो future compounding opportunities खो जाती हैं। लेकिन अगर आप युवा हैं और portfolio आपकी income की तुलना में छोटा है, तो यह ज़रूरत से ज़्यादा conservative है
      लेख में भी future salary के discounted sum को current wealth का हिस्सा बताकर इसका संकेत दिया गया है। यह सही बात है, और अगर आप युवा हैं तो कई orders of magnitude के अंतर से सबसे अहम variable भी है। दिलचस्प है कि लेखक इसे समझते हुए भी इसकी परवाह नहीं करते लगते
  • इसे design tool की तरह इस्तेमाल करने के बारे में सोचकर उत्साह होता है। ऐसे games design करने में यह useful लगता है जिनमें मज़ेदार और viable builds का Pareto frontier ज़्यादा चौड़ा हो

  • title से जितना लगा था, उससे कहीं ज़्यादा दिलचस्प लेख था। अच्छी तरह बनाया गया

    • original submission title कहीं ज़्यादा descriptive था, लेकिन rules के हिसाब से उसे article के title से match करने के लिए बदला गया
  • सचमुच शानदार analysis और visualization है। हालांकि Mario Kart 8 + 200cc में एक दिलचस्प variable है। ज़्यादातर players एक certain level से ऊपर speed नहीं चाहते, क्योंकि वह इतनी तेज़ होती है कि control करना मुश्किल हो जाता है
    इसलिए absolute speed stat को maximize करने के बजाय, आप शायद अपने लिए सही optimal speed stat से difference minimize करना चाहें

    • यह असली racing car बनाने से बहुत अलग नहीं लगता। अगर आपको corner पर overtake होने जितना जल्दी brake लगाना पड़े, तो बड़े engine का कोई मतलब नहीं। ऊपर से इतने brake इस्तेमाल करने पर brakes overheat हो जाते हैं
      अक्सर top speed कम हो लेकिन slow down करने की ज़रूरत न पड़े, तो वह बेहतर होता है
    • सही। 200cc में handling और acceleration सबसे important factors हैं
      acceleration इसलिए important है क्योंकि जब आप hit होते हैं या crash करते हैं—और यह “अगर” नहीं बल्कि “कब” का मामला है—तो आपको जल्दी catch up करना पड़ता है
  • अब तक देखे visualizations में सच में सबसे impressive है। लेखक ने इसे किस tool से बनाया होगा?