- Vim Racer एक ऑनलाइन गेम है जिसमें Vim movement commands का उपयोग करके टेक्स्ट में लक्ष्य बिंदुओं तक तेज़ी से पहुँचना होता है, और यह commands में दक्षता का अभ्यास रिकॉर्ड-प्रतिस्पर्धा के रूप में करने देता है
- हर बार लक्ष्य तक पहुँचने पर अगला target दिखाई देता है, और
w,3jजैसे Vim movement commands को मिलाकर 12-target race खेली जाती है - relative lines सेटिंग चालू करने पर relative line numbers के आधार पर movement का अभ्यास करना आसान हो जाता है, जिससे बड़े files में लंबे absolute line numbers टाइप करने की ज़रूरत कम होती है
- leaderboard, manual navigation क्षमता को मापने के लिए 1 सेकंड से कम के रिकॉर्ड स्वीकार नहीं करता, और username बदलने को भी 1 घंटे में एक बार तक सीमित करता है
- high scorers के key inputs और हर race के tips देखे जा सकते हैं, इसलिए यह सिर्फ एक गेम नहीं बल्कि Vim movement learning resource के रूप में भी उपयोगी है
Vim movement commands से मुकाबले का speed game
- Vim Racer का लक्ष्य सभी targets तक जितनी जल्दी हो सके पहुँचना है
- target तक पहुँचते ही अगला target दिखाई देता है
- target को
Aजैसे चिह्न से दिखाया जाता है - सभी Vim movement commands का उपयोग किया जा सकता है, इसलिए तेज़ रिकॉर्ड काफी हद तक इस बात पर निर्भर करता है कि movement commands का चुनाव कितना कुशल है
- race शुरू करने के लिए reset पर क्लिक करें
- क्लिक करने के बाद browser focus editor पर चला जाता है, इसलिए आप तुरंत
wजैसे Vim movement commands इस्तेमाल कर सकते हैं
- क्लिक करने के बाद browser focus editor पर चला जाता है, इसलिए आप तुरंत
- वर्तमान स्क्रीन पर
Race Level: 12 Targets (Burn Detector),Race Mode: Standard,Navigations: 0/12दिखते हैं - feedback Reddit community के माध्यम से लिया जाता है
सेटिंग्स और संचालन संबंधी सीमाएँ
- relative lines को editor के ऊपर बाएँ कोने में gear icon settings से चालू किया जा सकता है
- यह तब उपयोगी है जब आप
3jकी तरह command से पहले relative movement count लगाना पसंद करते हैं - बड़े files में यह
1230ggटाइप करने से तेज़ हो सकता है - local setting का एक उदाहरण यह है कि केवल cursor line पर absolute line number दिखे और बाकी पर relative line numbers इस्तेमाल हों
- यह तब उपयोगी है जब आप
- donations फिलहाल vim-racer server और database upgrade के लिए उपयोग की जा रही हैं
- वर्तमान database DynamoDB है
- DynamoDB में छोटे site की शुरुआत के लिए free tier उपयोगी है, लेकिन cost efficiency के बजाय feature limitations होती हैं
- मौजूदा मुख्य लक्ष्य SQL database में upgrade करना है, और सबसे छोटे instance की लागत लगभग 100 डॉलर प्रति वर्ष है
- पहले के donations को vim-racer की recurring revenue source में फिर से निवेश किया जा रहा है
- पहले donor ThePrimeagen थे
leaderboard और learning में उपयोग
- leaderboard 1 सेकंड से कम के रिकॉर्ड स्वीकार नहीं करता
- user
howदिखाता है कि 2 सेकंड से कम के रिकॉर्ड भी वैध हो सकते हैं - गेम का उद्देश्य यह मापना है कि उपयोगकर्ता टेक्स्ट में manually कितनी अच्छी तरह navigate करता है
<20msरिकॉर्ड Vim proficiency तो दिखाते हैं, लेकिन गेम के उद्देश्य से मेल नहीं खाते- आगे चलकर target variations के साथ-साथ अलग game types या capped/uncapped leaderboards भी आ सकते हैं
- फिलहाल development resources सीमित हैं, इसलिए pure navigation से हासिल स्कोर ही leaderboard पर रखने की दिशा है
- user
- पूरा account system बनाने की जगह username को 1 घंटे में केवल एक बार बदला जा सकता है
- यह सीमा leaderboard को अनावश्यक रूप से भरने से रोकने के लिए है
- Vim Racer का उपयोग Vim movement learning के लिए भी किया जा सकता है
- हर race type, targets तक कुशलता से पहुँचने के रास्ते सीखने के लिए tips देता है
- हर leaderboard entry में high scorer द्वारा इस्तेमाल किए गए key inputs शामिल होते हैं
- उपयोगकर्ता उन key sequences का विश्लेषण करके नए Vim movement commands सीख सकते हैं और navigation skill बेहतर कर सकते हैं
1 टिप्पणियां
Hacker News की राय
jpeg लेवल 17 सेकंड में पूरा करके leaderboard में अपना नाम डाला, और competitive game के तौर पर यह वाकई मज़ेदार था
बिना optimization के, request की गई position तक instinctively move करते हुए खेला, फिर भी मज़ा आया; खासकर leaderboard play की movement process दिखाने वाला feature learning material के तौर पर भी उपयोगी लगता है
हालांकि top ranks में 1 सेकंड का record है, जो प्रति move 0.05 सेकंड से कम है, इसलिए मानवीय रूप से संभव नहीं लगता। लगता है script input का इस्तेमाल हो रहा है, और इस interface में इसे रोकना मुश्किल होगा; इसलिए elapsed time के बजाय key input count से ranking की जाए तो सबसे तेज़ व्यक्ति नहीं बल्कि सबसे efficient व्यक्ति ऊपर आएगा, और script cheating का मतलब भी कम हो जाएगा
%इस्तेमाल किया गया था या नहीं। मैं कच्चे तरीके से भी 6.5 सेकंड तक आ गया थावाकई शानदार
speed के बजाय key input count minimize करने वाला mode हो तो अच्छा होगा। तब तेज़ hjkl spam नहीं, बल्कि Vim golf-style optimal solution competition का विषय होगा
एक छोटा bug: leaderboard में character
`“Unsupported” के रूप में दिखता है। marks इस्तेमाल करने वाले Duff's device को follow करते समय यह खास तौर पर दिखता हैशायद allow list based handling है, इसलिए उसमें add करने से काम हो जाएगा
शुरू कर दें तो रुक नहीं सकते ऐसा game
:qeaster egg डालना पड़ेवाकई मज़ेदार। ऐसे और Vim games पता हैं क्या, यह जानना चाहूँगा
हमेशा Vim इस्तेमाल करना चाहता था, लेकिन Emacs evil mode user होने की वजह से अभी तेज़ नहीं हूँ
site कहीं टूटी हुई लगती है। कुछ भी करूँ कोई response नहीं, Chrome और Firefox दोनों में try किया
पहले smooth transition होता था, लेकिन अब cache manually invalidate करना पड़ता है। लगता है सिर्फ कुछ deployments में होता है
वाकई बढ़िया। लेकिन बाद के stage में target बनने वाली line delete कर दी तो crash हो गया
फिर भी बताने के लिए धन्यवाद, priority तय करने में मदद मिली
leaderboard के ज़रिए यह देख पाना कि दूसरों ने कैसे किया, बहुत useful है
खेलकर देखना चाहता हूँ, लेकिन line numbers cursor के पीछे-पीछे चलते हैं। bug जैसा लगता है, या क्या मैं कुछ miss कर रहा हूँ? Vim बहुत ज़्यादा इस्तेमाल नहीं किया है, लेकिन आम तौर पर slow ही सही, move तो कर पाता हूँ
Chrome और Firefox में try किया
feedback की वजह से इस काम की priority बढ़ गई
set rnu5jया12kजैसे relative movements के लिए वाकई सुविधाजनक है :)मज़ेदार है। key input count display और ऐसा mode add हो जाए जिसमें तेज़ जाने के बजाय key input count minimize करना हो, तो शानदार होगा
game description में “target” क्या है, यह भी और साफ़ किया जाए तो अच्छा होगा
key input count पर दुविधा है। क्योंकि इस game का focus सच में speed पर रखना चाहता हूँ। VimGolf ऐसे puzzles और scenarios पहले से अच्छी तरह handle करता है, और यहाँ की खासियत speed है
इसके बजाय key input data analyze करना चाहता हूँ। उदाहरण के लिए यह result आ सकता है कि
wwwfसे तेज़ है। मेरी initial hypothesis थी किfऔरFसे search करनाw,e,h,jजैसे common movements से efficient नहीं है, लेकिन वह पहले ही गलत दिख रही है। हालांकि शायद इसे “top ranks में काफी लोगfऔरFइस्तेमाल करते हैं” तक ही कहना चाहिए, और इसका मतलब हो सकता है कि वे तेज़ हैं या कम से कम वे keys बड़ा नुकसान नहीं हैंभले ही यह pure speed जैसा न हो, दूसरी editors से तुलना में usage comfort देता है और typing experience के लिए बहुत महत्वपूर्ण है
बेकार game है, लेकिन एक बात अच्छे से दिखाता है। Easymotion के बिना Vim movement race car नहीं, बल्कि पैदल race करने जैसा है