HN प्रस्तुति: ओपन सोर्स Counter-Strike जैसा गेम
(github.com/solcloud)- Counter-Strike: Football एक प्रतिस्पर्धी मल्टीप्लेयर FPS गेम है, जिसमें फुटबॉल फैन की दो टीमें राउंड जीतों में मुकाबला करती हैं
- टीमें Attackers और Defenders में बंटी होती हैं, और Defenders को Attackers की graffiti bomb ball से fan base sanctuary की रक्षा करनी होती है
- राउंड जीतने की शर्तें elimination, bomb plant, defuse, और समय तक जीवित रहने पर आधारित हैं; bomb plant होने पर राउंड काउंटडाउन 40 सेकंड पर सेट हो जाता है
- executable फाइलें नवीनतम release में OS-वार assets के रूप में मिल सकती हैं, और source से सीधे build करने के लिए Electron client और PHP server को अलग-अलग चलाना होगा
- प्रोजेक्ट html/css/js/php और 3D modeling·texturing·animation में योगदान देने वालों से pull request स्वीकार कर रहा है
गेम अवलोकन
- Counter-Strike: Football एक प्रतिस्पर्धी मल्टीप्लेयर FPS गेम है, जिसमें फुटबॉल फैन की दो टीमें प्रतिद्वंद्वी से अधिक राउंड जीतने के लक्ष्य के साथ लड़ती हैं
- गेम डाउनलोड Download game पर उपलब्ध है
- README के शीर्ष badge के अनुसार test, Code coverage 100%, Mutation score 100% दिखाया गया है
टीमें और राउंड के लक्ष्य
- टीमें Attackers और Defenders से मिलकर बनी हैं
- Defenders का लक्ष्य हर राउंड में Attackers को graffiti bomb ball से fan base sanctuary को नुकसान पहुँचाने से रोकना है
जीत की शर्तें
- Defenders निम्न शर्तों में राउंड जीतते हैं
- bomb plant होने से पहले सभी Attackers खिलाड़ियों को eliminate कर दें
- bomb फटने से पहले उसे defuse कर दें
- राउंड समय समाप्त होने पर कम से कम 1 खिलाड़ी जीवित हो और bomb plant न हुआ हो
- Attackers निम्न शर्तों में राउंड जीतते हैं
- राउंड समय समाप्त होने से पहले सभी Defenders खिलाड़ियों को eliminate कर दें
- राउंड समय समाप्त होने से पहले bomb plant कर दें और Defenders उसे defuse न कर सकें
- यदि Attackers राउंड समय समाप्त होने से पहले graffiti bomb तैनात कर देते हैं, तो राउंड काउंटडाउन 40 सेकंड पर सेट हो जाता है
- Defenders को bomb defuse करने के लिए 30 सेकंड चाहिए
- defuse kit का उपयोग करने पर defuse समय 35 सेकंड होता है
इंस्टॉलेशन और रन करना
- OS-वार executable फाइलें latest release से प्राप्त की जा सकती हैं
- client को
electron/फोल्डर में npm कमांड से चलाया जाता हैcd electron/ npm install npm run dev - server को Composer dependencies इंस्टॉल करने के बाद PHP CLI से चलाया जाता है
composer install -a --no-dev php cli/server.php 2 # will start server waiting for 2 players to connect
योगदान का तरीका
- प्रोजेक्ट html/css/js/php जानने वाले contributors की तलाश में है
- 3D modeling, texturing, animation कौशल वाले लोग भी pull request के जरिए गेम सुधारने में भाग ले सकते हैं
1 टिप्पणियां
Hacker News की राय
PHP server के साथ Electron client — कमाल है। उस दौर के बाद से, जब ढंग के namespaces भी नहीं थे, मैंने PHP को ज्यादा नहीं छुआ; यह सच में चौंकाने वाला है
बहुत बड़ा effort है, और खाली समय में इस project में मदद करने का मन करता है। ऐसे पागलपन वाले projects और होने चाहिए
मैं पुराने PHP और कुछ CMS में इस्तेमाल होने वाले PHP को ही जानता था; real-time project का ख्याल नहीं आया था, इसलिए यह हैरान करने वाला है
socket_select()इस्तेमाल करके async server बनाया जा सकता था, और यह function PHP 4.1 में जोड़ा गया थाhttps://www.php.net/manual/en/function.socket-select.php
15 साल पहले भी PHP में threads जोड़ने के लिए third-party extensions थे, लेकिन उनमें बहुत bugs थे
जानकारी के लिए, client side
www/assetsके नीचे है। https://github.com/solcloud/Counter-Strike/tree/master/www/a...threejs के अलावा कोई dependency नहीं है, और TypeScript या build pipeline भी नहीं। बस code पढ़ने में मज़ा आता है
start.jsसे देखना अच्छा रहेगा (https://github.com/solcloud/Counter-Strike/blob/master/www/a...)server-side entry point
server.phpहै (https://github.com/solcloud/Counter-Strike/blob/master/cli/s...)GitHub language stats देखें तो PHP 82%, JS 15% और थोड़ा HTML/CSS मिला हुआ है; सोच रहा हूं कि actual client किससे बना है
क्या यह किसी दूसरे repository में है, या सब PHP में implement किया गया है? अगर ऐसा है तो impressive है
“low-violence game” वाला description, चेहरे पर गोली मारने, bomb plant/defuse करने और गोली खाते हुए बचने वाले game के लिए काफी मज़ेदार है
साथ ही, यह भी जानना चाहूंगा कि OP ने कभी football field देखा है या नहीं। cross mark और मेल न खाने वाली lines काफी दिखती हैं, लेकिन football core चीज़ नहीं है, तो शायद ज्यादा matter नहीं करता
यह समाज के सबसे interactive media में से एक है, फिर भी हर साल अरबों dollars एक और “gun-shooting man की gun-shooting: gun edition” में चले जाते हैं
थोड़ा tangent हो गया, लेकिन यह project फिर भी बेहद impressive है, और मैंने CS हजारों घंटे खेला है, इसलिए ऐसा कुछ देखना अच्छा लगता है
wwwमें देखा जा सकता है: https://github.com/solcloud/Counter-Strike/tree/master/wwwclient में JavaScript काफी है, और graphics के लिए Three.js इस्तेमाल हुआ है
animal destruction वाले description पर मैं थोड़ा ज्यादा excited हो गया था
cross mark वाली बात अच्छी लगी। शायद मेरा sense of humor थोड़ा अजीब है, या शायद इसलिए कि Europe में बड़ा होते हुए मैंने helmet पहने American football players वाली अमेरिकी movies देखी हैं
और अगर मज़ाक को और आगे ले जाएं तो PHP CLI interface भी है (https://github.com/solcloud/Counter-Strike/blob/master/cli/c...)
हालांकि अगर आपके terminal emulator में कोई शानदार Matrix-style font नहीं है, तो field में लेटी लाल dress वाली महिला शायद दिखाई न दे
बहुत बढ़िया। साइड नोट के तौर पर, कम से कम screenshots मुझे 90s के PC game Extreme Paintbrawl की बहुत याद दिलाते हैं
बचपन में मुझे वह बहुत पसंद था, लेकिन कुछ साल बाद पता चला कि उसे “अब तक के सबसे खराब videogames में से एक” माना जाता है
https://en.wikipedia.org/wiki/Extreme_PaintBrawl
open source code अच्छा है, लेकिन games को सच में जिस चीज़ की जरूरत होती है वह open art है। ज्यादातर open-source games look and feel में संघर्ष करते हैं
क्या license file जोड़ सकते हैं?
Gabe, gooseman, Jess के साथ date ठीक है। कोई सुझाव हो तो share करें
कई लोगों ने license डालने को कहा है और कई घंटे बीत चुके हैं, फिर भी यह अभी open source नहीं है
जो open source नहीं है उसे open source कहना सच में ठीक नहीं है, और free/open-source software को नुकसान पहुंचाता है
free software न होने पर भी यह open source हो सकता है, और license न होने पर भी open source हो सकता है। अगर owner ने code दुनिया के लिए खोल दिया है ताकि लोग पढ़ सकें, तो वह open source है
इसे open source के रूप में release करना बढ़िया है। 3D game development आज़माना चाहने वालों के लिए यह शानदार starting point है
open-source assets वाला Counter-Strike 1.6 version हो तो अच्छा रहेगा
Quake के OpenArena जैसा, लेकिन CS 1.6 के लिए
https://github.com/Velaron/cs16-client के ऊपर भी बनाया जा सकता है
सच में impressive open-source games काफी हैं। game पसंद करने वाले दोस्तों के group की वजह से पिछले साल मुझे BAR (Beyond All Reason) के बारे में पता चला, और depth, graphics, optimization के मामले में यह वाकई impressive है
ऐसा future मुझे पसंद है
detail के level और बारीक implementation से मैं बहुत प्रभावित हूं। control का level और automation की संभावना ज्यादा है, इसलिए technical लोगों को यह काफी suit कर सकता है
अगर साथ खेलना चाहें तो game में username
[ZWD]_jaanहै। friend add करें तो basic concepts introduce कर सकता हूं, और भले ही मैं अभी beginner हूं, co-op game खेल सकते हैं या beginner lobby ढूंढ सकते हैंLua से game को आसानी से modify किया जा सकता है, और free/open-source game के हिसाब से community भी काफी बड़ी लगती है