आलसी Tetris
(lazytetris.com)- Lazy Tetris पारंपरिक Tetris से अलग एक auto-progress गेम है, जिसमें उपयोगकर्ता को खुद pieces नहीं चलाने पड़ते
- उपयोगकर्ता सिर्फ एक क्लिक से गेम शुरू कर सकता है
- algorithm सबसे अच्छी position ढूंढकर pieces को अपने-आप place करता है
- उपयोगकर्ता की दखल को न्यूनतम रखते हुए observation-केंद्रित अनुभव देता है
- पारंपरिक Tetris से अलग इसकी खासियत passive play है
Lazy Tetris परिचय
Lazy Tetris एक automatic Tetris game है, जिसमें उपयोगकर्ता को हर बार सीधे controls संभालने की ज़रूरत नहीं होती।
विशेषताएँ
- न्यूनतम उपयोगकर्ता नियंत्रण
- गेम शुरू होने के बाद उपयोगकर्ता को direction keys चलाने की ज़रूरत नहीं होती और गेम अपने-आप चलता रहता है
- automatic algorithm का उपयोग
- अंदरूनी algorithm हर Tetris block की सबसे अच्छी position तय करके उसे place करता है
- सहज interface
- "Start" बटन पर एक बार क्लिक करके गेम शुरू किया जा सकता है
- observation experience पर फोकस
- उपयोगकर्ता को गेम के अपने-आप आगे बढ़ने की प्रक्रिया देखने का अनुभव मिलता है
पारंपरिक Tetris से अंतर
- सामान्य Tetris गेम्स के विपरीत block को सीधे move या rotate करने का input आवश्यक नहीं है
- पूरा gameplay automated है, इसलिए algorithm के decision-making process को आसानी से समझा जा सकता है
उपयोग के दृष्टिकोण से
- यह algorithm optimization और automation की अवधारणाओं को एक सरल गेम के माध्यम से अनुभव करने का प्लेटफ़ॉर्म है
- programming और game design सीखने वाले शुरुआती लोगों के लिए automation concepts समझने में उपयोगी है
2 टिप्पणियां
यह बात है या बकवास?
Hacker News राय
आप सब की वजह से इसे खेलना मज़ेदार रहा, और अच्छे सुझाव व टिप्पणियाँ पाकर खुशी हुई। इस वीकेंड बहुत से सुझाव जोड़ने का प्लान है। जैसे कई bag सिस्टम, game over पर auto-clear बंद करना, game reset पर hold clear करना, और गेम का नाम बदलकर LAZY PUBLIC DOMAIN BLOCK GAME रखना। लगता है UX को और बेहतर करना चाहिए। कई फीचर पहले से बने हुए हैं, लेकिन दिखते नहीं हैं। उदाहरण: ghost पर क्लिक करने से ghost piece on/off होता है (मुझे ghost piece पसंद नहीं, इसलिए default off है), बाएँ-दाएँ दबाने पर बाएँ-दाएँ rotation, keyboard के ↑ और Shift से भी बाएँ-दाएँ rotation, Delete key से UNDO, Enter से HOLD, touch या drag से block move, कहीं से भी drag किया जा सकता है, two-finger tap से DROP (यह सबसे ज़्यादा संतोषजनक है), three-finger tap से HOLD, iOS home screen पर save करने पर fullscreen app mode। Tetris (एक साथ 4 लाइन) बनाने पर एक secret gift button आता है, जो असल में मेरी किताब का link है (थोड़ा बेमन monetization मज़ाक)। डेवलपमेंट मैंने सोफ़े पर rosebud.ai और ChatGPT के साथ किया, और सिर्फ performance optimization के लिए laptop इस्तेमाल करना पड़ा, इसलिए वह हिस्सा थोड़ा मुश्किल था। यह गेम मैंने अपनी पसंद के हिसाब से बनाया है, इसलिए अगर दूसरे लोग भी इसे enjoy करें तो वही सबसे अच्छी बात लगेगी
multi bag थोड़ा ज़्यादा complex लगता है। TGM से idea लिया जा सकता है। आख़िरी आए n blocks (आमतौर पर 4) की window रखी जाती है, फिर m बार (आमतौर पर 6) तक random चुनते हैं, और अगर चुना गया block उस window में पहले से नहीं है तो उसे इस्तेमाल करते हैं। यह तरीका implement करना भी आसान है और single bag की तरह predictable भी नहीं होता। और शुरुआत में S और Z के 2-2 block पहले से डाल देने पर शुरुआती phase में इनके लगातार आने की संभावना भी कम हो सकती है
ghost piece को default में off रखना मुझे पसंद आया। अपना खुद का गेम बनाने का अंदाज़ अच्छा लगा। HOLD फीचर (Enter key) के बारे में भी मुझे Home screen तक जाने के बाद पता चला। mouse से HOLD पर क्लिक करने पर कुछ न होना थोड़ा confusing था। स्क्रीन पर कहीं key list दिखा दी जाए तो अच्छा होगा। Tetris हासिल करने पर secret gift का किताब का link निकलना भी मज़ेदार है। sample देखकर लगा कि यह card game की तरह भी काम कर सकता है। मुझे भी यह बच्चों के साथ खेलने लायक गेम लगा। बीच में कभी भी रोक सकते हैं, इसलिए सुविधाजनक है
यह ऐसा लगता है जैसे MS Excel को फिर से बनाने की इच्छा हो, और वही एहसास काफ़ी मज़ेदार है
तुम्हारा बनाया हुआ वाकई बहुत मज़ेदार है। इससे मिलता-जुलता एक और भी है: https://passwordbasket.com
मैंने कभी सोचा भी नहीं था कि password generator मज़ेदार हो सकता है। अब तो वह अनुभव भी मुझे आनंददायक लगने लगा है
अगर बना हुआ password सीधे basket में चला जाए तो और मज़ेदार होगा। और यह site मुझे The Password Game की याद दिलाती है: https://news.ycombinator.com/item?id=36493715
सच में बहुत बढ़िया है। मैं "passwordpassword" को जैसा है वैसा generate करने की कोशिश करते हुए मज़े ले रहा हूँ। default setting में Pa.s तक पहुँच जाता हूँ, और उसके बाद हर तरह के cipher और गुस्से के बीच reset दोहराने का अनुभव होता है
जब मैंने password "generate" किया तो मैं अनायास ज़ोर से हँस पड़ा। यह बहुत शानदार काम है
इस तरह का आभार भरा feedback सच में बहुत हौसला देता है
मैंने थोड़ी देर खेला, लेकिन एक बार भी L block नहीं आया। लगता है यह पूरी तरह random selection वाला तरीका है। अगर stress और कम करना हो तो single bag system भी इस्तेमाल किया जा सकता है, जिसमें हर block एक-एक बार आता है। संदर्भ: Tetris L piece विवरण
मुझे यह शानदार idea लगता है। धन्यवाद। multi bag feature जोड़ने का प्लान है
मेरे साथ भी I block नहीं आया, तो मैं एक column खाली छोड़कर लाइनें जमाता रहा और उसी का इंतज़ार करता रहा। आखिर जब I block आया तो बहुत ही संतोषजनक अनुभव था
गेम खेलते हुए मुझे startup के काम से इसकी समानता दिखी। समय, gravity की पाबंदियों और UNDO feature के बावजूद, हम ऐसे चुनाव कर बैठते हैं जिनसे structure में ऐसे hole रह जाते हैं जिन्हें आसानी से भरा नहीं जा सकता। ये चीज़ें residue की तरह बची रहती हैं और बाद में संभालना मुश्किल बनाती हैं। अगला block क्या होगा इसका अंदाज़ा होने के बावजूद, इंसानी मनोविज्ञान के कारण हम यह जाने बिना भी कि वह कब आएगा, उम्मीद के साथ structure बनाते रहते हैं। यह किसी अनिश्चित audience के लिए product बनाती startup की स्थिति जैसा है। अनुकूल परिस्थितियों में भी आसानी से भटक सकते हैं या fail हो सकते हैं। समय लेकर देखें तो इस गेम से बहुत कुछ सीखा जा सकता है
Tetris के कई अलग implementation हैं, लेकिन मेरे पास Braille display users के लिए बना cosmopolitan libc आधारित Tetris clone है। इसमें blocks आड़े दिशा में "गिरते" हैं, और blocks के लिए Unicode Braille characters का उपयोग होता है। https://github.com/mlang/betris cosmo library की बड़ी खूबी यह है कि यह cross-platform TUI बनाने में बहुत मदद करती है
feature suggestion: इसे और भी <i>lazy</i> feel देने के लिए एक ghost image होनी चाहिए जो पहले से दिखाए कि block नीचे जाकर कहाँ टिकेगा
मैं "full screen" Tetris implementation बनाने की कोशिश में फिर फँस गया। किसी न किसी तरह मैं हर बार stress को फिर से ढूँढ ही लेता हूँ
मुझे उत्सुकता है कि वह stress क्यों है। मेरे लिए तो स्क्रीन भरने वाले puzzle सुलझाना उल्टा मज़ेदार और आरामदेह है। हाँ, कुछ सुधार हो सकते हैं: block के सबसे ऊपर की cell छूते ही तुरंत game over न हो, बल्कि जब तक रखने की जगह हो तब तक खेल जारी रह सके (कभी-कभी ऐसा होता भी लगा, शायद game तभी खत्म होता है जब अगले block के लिए जगह न हो)। जब और जगह बची हो लेकिन बाकी लाइनें साफ़ करने से पहले ही खेल खत्म हो जाए, तो थोड़ा अधूरा लगता है। game तभी खत्म हो जब सच में कुछ भी करना संभव न रहे, और auto-clear की जगह result को थोड़ी देर देखने के लिए manual reset button भी हो। reset पर hold भी initialize हो जाए, और hold space थोड़ा बड़ा हो तो अच्छा होगा। score support भी अच्छा रहेगा। आराम और competition साथ-साथ हो सकते हैं। मुझे time limit का दबाव stressful लगता है, लेकिन puzzle चाहे जितना कठिन हो, अगर आराम से सोच सकूँ और गलती होने पर भी progress न रुके, तो वह ज़्यादा सहज लगता है। संदर्भ के लिए, मैंने बिना एक भी line clear किए 17 lines तक stack कर लिया था। अगर अंत तक luck साथ दे तो शायद इससे भी बड़ा record बन सकता है
यह जीवन का काफ़ी उचित रूपक लगता है
Tetris का board game version भी है। मैं भी अपने बच्चे के साथ कुछ वैसा ही low-stress तरीका अपनाता हूँ। यह multiplayer है, और अगला आने वाला block card draw से तय होता है। एक कमी यह है कि block को ज़मीन छूने से ठीक पहले side में slide करके फिट करने वाली तकनीक संभव नहीं है। फिर भी मैं इस गेम की सिफारिश करूँगा
मैं block को सीधे drag करके मनचाही जगह रखना पसंद करता हूँ, और जब वह पहले से सबसे नीचे हो तब भी 'drop' button फिर से दबाना intuitive नहीं लगा और थोड़ा असुविधाजनक था। अगर block नीचे पहुँचने के बाद drag छोड़ते ही अपने आप drop हो जाए तो ज़्यादा सुविधाजनक होगा। फिर भी कुल मिलाकर यह मज़ेदार और healing जैसा लगा
"lazy" नाम उतना फिट नहीं बैठता। शायद low stress ज़्यादा उपयुक्त नाम है। मैंने इसे सच में बहुत मज़े से खेला