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

 
GN⁺ 2024-10-23
Hacker News की राय
  • PHP server के साथ Electron client — कमाल है। उस दौर के बाद से, जब ढंग के namespaces भी नहीं थे, मैंने PHP को ज्यादा नहीं छुआ; यह सच में चौंकाने वाला है
    बहुत बड़ा effort है, और खाली समय में इस project में मदद करने का मन करता है। ऐसे पागलपन वाले projects और होने चाहिए

    • याद आता है कि ऐसा game बनाओ जिसे बनाने में मज़ा आए
    • मुझे भी कुछ ऐसा ही लगा। PHP में लिखा real-time game server सच में दिलचस्प है
      मैं पुराने PHP और कुछ CMS में इस्तेमाल होने वाले PHP को ही जानता था; real-time project का ख्याल नहीं आया था, इसलिए यह हैरान करने वाला है
    • Electron है तो मैं पास
    • असल में यह 15 साल पहले भी बनाया जा सकता था। बचपन में मुझे PHP और Visual Basic ही कुछ-कुछ आता था, इसलिए PHP में CLI server बनाया करता था
      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 पढ़ने में मज़ा आता है

  • 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 नहीं करता

    • ऐसा तय नहीं है कि गोली चलानी ही पड़े। charisma route लेकर terrorists को bomb लगाने का इरादा छोड़ने के लिए मना भी सकते हैं
    • हिंसक videogames का मैं नैतिक रूप से विरोध नहीं करता, लेकिन चाहता हूं कि big-budget games में creativity ज्यादा हो
      यह समाज के सबसे interactive media में से एक है, फिर भी हर साल अरबों dollars एक और “gun-shooting man की gun-shooting: gun edition” में चले जाते हैं
      थोड़ा tangent हो गया, लेकिन यह project फिर भी बेहद impressive है, और मैंने CS हजारों घंटे खेला है, इसलिए ऐसा कुछ देखना अच्छा लगता है
    • client code www में देखा जा सकता है: https://github.com/solcloud/Counter-Strike/tree/master/www
      client में JavaScript काफी है, और graphics के लिए Three.js इस्तेमाल हुआ है
    • सही, सारा code इसी single repository में है
      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

    • मेरे दोस्त के पास यह game था, और हमने साथ में इसे खूब मज़े से खेला था
    • प्यार बड़ी specific feeling है, उस नंबर 1 spot के लिए मैं कभी भी लड़ सकता हूं
  • open source code अच्छा है, लेकिन games को सच में जिस चीज़ की जरूरत होती है वह open art है। ज्यादातर open-source games look and feel में संघर्ष करते हैं

    • सहमत। लेकिन programming और art दोनों में अच्छा होना काफी rare skill है, और उसके ऊपर audio और animation भी अलग domains हैं
  • क्या license file जोड़ सकते हैं?

    • कर तो सकता हूं, लेकिन मैं lawyer नहीं हूं और Gaben और उनके lawyers के साथ date पर नहीं जाना चाहता
      Gabe, gooseman, Jess के साथ date ठीक है। कोई सुझाव हो तो share करें
  • कई लोगों ने license डालने को कहा है और कई घंटे बीत चुके हैं, फिर भी यह अभी open source नहीं है
    जो open source नहीं है उसे open source कहना सच में ठीक नहीं है, और free/open-source software को नुकसान पहुंचाता है

    • यह open source है। source repository में सीधे मौजूद है ताकि कोई भी पढ़ सके
      free software न होने पर भी यह open source हो सकता है, और license न होने पर भी open source हो सकता है। अगर owner ने code दुनिया के लिए खोल दिया है ताकि लोग पढ़ सकें, तो वह open source है
    • तो फिर इसे क्या कहें? source-available?
    • https://github.com/solcloud/Counter-Strike/blob/master/LICEN...
    • बस इतना कहा जा सकता है, “creator, open software के लिए proper license जरूरी है। नहीं तो legal problems हो सकती हैं”
    • हां हां, मैं open source को नुकसान पहुंचा रहा हूं। 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 मुझे पसंद है

    • कुछ हफ्ते पहले मुझे BAR के बारे में पता चला, और अब मैं खास gamer भी नहीं हूं और real-time strategy games मुझे कभी पसंद भी नहीं रहे, फिर भी game time 50 घंटे से ऊपर हो चुका है
      detail के level और बारीक implementation से मैं बहुत प्रभावित हूं। control का level और automation की संभावना ज्यादा है, इसलिए technical लोगों को यह काफी suit कर सकता है
      अगर साथ खेलना चाहें तो game में username [ZWD]_jaan है। friend add करें तो basic concepts introduce कर सकता हूं, और भले ही मैं अभी beginner हूं, co-op game खेल सकते हैं या beginner lobby ढूंढ सकते हैं
    • BAR सच में बेहतरीन है। अगर आपको Total Annihilation/Supreme Commander जैसे games पसंद हैं, तो जरूर देखना चाहिए
      Lua से game को आसानी से modify किया जा सकता है, और free/open-source game के हिसाब से community भी काफी बड़ी लगती है