2 poin oleh GN⁺ 2024-10-23 | 1 komentar | Bagikan ke WhatsApp
  • Counter-Strike: Football adalah game FPS multipemain kompetitif di mana dua tim penggemar sepak bola bersaing memperebutkan jumlah kemenangan ronde
  • Tim dibagi menjadi Attackers dan Defenders, dan Defenders harus melindungi fan base sanctuary dari graffiti bomb ball milik Attackers
  • Syarat menang ronde ditentukan oleh eliminasi, pemasangan bom, penjinakan, atau bertahan hidup sampai waktu habis; jika bom dipasang, hitung mundur ronde diatur menjadi 40 detik
  • Berkas eksekusi dapat diunduh sebagai aset per OS dari rilis terbaru, dan untuk membangun langsung dari source, klien Electron dan server PHP harus dijalankan secara terpisah
  • Proyek ini menerima pull request dari kontributor untuk html/css/js/php serta pemodelan 3D, teksturing, dan animasi

Ikhtisar game

  • Counter-Strike: Football adalah game FPS multipemain kompetitif di mana dua tim penggemar sepak bola bertarung dengan tujuan memenangkan lebih banyak ronde daripada lawan
  • Unduhan game tersedia di Download game
  • Berdasarkan badge di bagian atas README, ditampilkan status pengujian, Code coverage 100%, dan Mutation score 100%

Tim dan tujuan ronde

  • Tim terdiri dari Attackers dan Defenders
  • Tujuan Defenders di setiap ronde adalah mencegah Attackers merusak fan base sanctuary dengan graffiti bomb ball

Kondisi kemenangan

  • Defenders memenangkan ronde dalam kondisi berikut
    • Mengeliminasi semua pemain Attackers sebelum bom dipasang
    • Menjinakkan bom sebelum meledak
    • Saat waktu ronde habis, setidaknya 1 orang masih hidup dan bom belum dipasang
  • Attackers memenangkan ronde dalam kondisi berikut
    • Mengeliminasi semua pemain Defenders sebelum waktu ronde habis
    • Memasang bom sebelum waktu ronde habis dan mencegah Defenders menjinakkannya
  • Jika Attackers menempatkan graffiti bomb sebelum waktu ronde berakhir, hitung mundur ronde diatur menjadi 40 detik
    • Defenders memerlukan 30 detik untuk menjinakkan bom
    • Jika menggunakan defuse kit, waktu penjinakan adalah 35 detik

Instalasi dan menjalankan

  • Berkas eksekusi per OS dapat diunduh dari latest release
  • Klien dijalankan dengan perintah npm dari folder electron/
    cd electron/
    npm install
    npm run dev
    
  • Server dijalankan dengan PHP CLI setelah memasang dependensi Composer
    composer install -a --no-dev
    php cli/server.php 2 # will start server waiting for 2 players to connect
    

Cara berkontribusi

  • Proyek ini mencari kontributor yang memahami html/css/js/php
  • Orang dengan kemampuan pemodelan 3D, teksturing, dan animasi juga dapat ikut meningkatkan game melalui pull request

1 komentar

 
GN⁺ 2024-10-23
Komentar Hacker News
  • Klien Electron dengan server PHP sungguh luar biasa. Sudah lama sekali saya tidak menyentuh PHP sejak masa ketika bahkan namespace yang layak pun belum ada, jadi ini benar-benar mengejutkan
    Usaha yang luar biasa, dan membuat saya ingin membantu proyek ini di waktu luang. Harus ada lebih banyak proyek gila seperti ini

    • Ini mengingatkan saya pada ungkapan: buatlah game yang menyenangkan untuk dibuat
    • Saya juga merasakan hal yang mirip. Server game real-time yang ditulis dengan PHP benar-benar menarik
      Saya hanya mengenal PHP lama dan PHP di beberapa CMS, jadi saya tidak pernah membayangkan proyek real-time, sungguh mengejutkan
    • Kalau Electron, saya lewat
    • Sebenarnya ini sudah bisa dibuat 15 tahun lalu. Waktu kecil saya cuma tahu PHP dan sedikit Visual Basic, jadi saya dulu sering membuat server CLI dengan PHP
      Dengan socket_select() kita bisa membuat server asinkron, dan fungsi ini ditambahkan di PHP 4.1
      https://www.php.net/manual/en/function.socket-select.php
      Bahkan 15 tahun lalu sudah ada ekstensi pihak ketiga untuk menambahkan thread ke PHP, meski bug-nya banyak
  • Sebagai referensi, sisi klien ada di bawah www/assets. https://github.com/solcloud/Counter-Strike/tree/master/www/a...
    Tidak ada dependensi selain threejs, juga tidak ada TypeScript atau build pipeline. Asyik dibaca begitu saja

  • Kalau melihat statistik bahasa di GitHub, PHP 82%, JS 15% dengan sedikit HTML/CSS, saya jadi penasaran kliennya sebenarnya dibuat dengan apa
    Apakah ada di repositori lain, atau semuanya diimplementasikan dengan PHP? Kalau iya, itu mengesankan
    Deskripsi “game dengan kekerasan rendah” terasa lucu untuk game yang berisi menembak wajah, memasang/menjinakkan bom, dan bertahan hidup sambil ditembaki
    Tambahan lagi, saya juga penasaran apakah OP pernah melihat lapangan sepak bola. Ada cukup banyak garis yang tidak cocok dengan tanda silang itu, tapi karena sepak bolanya bukan inti utama, mungkin tidak terlalu penting

    • Tidak ada aturan bahwa harus menembak. Anda bisa mengambil jalur karisma dan meyakinkan teroris untuk membatalkan pemasangan bom
    • Saya tidak menentang video game kekerasan secara moral, tetapi saya berharap ada lebih banyak kreativitas di game beranggaran besar
      Ini salah satu medium paling interaktif yang dimiliki masyarakat, tetapi setiap tahun puluhan miliar dolar kembali masuk ke “tembak-menembak pria bersenjata: edisi senjata” lainnya
      Saya jadi sedikit melenceng, tetapi proyek ini tetap sangat mengesankan, dan karena saya bermain CS selama ribuan jam, melihat hal seperti ini terasa keren
    • Kode klien bisa dilihat di www: https://github.com/solcloud/Counter-Strike/tree/master/www
      Kliennya banyak menggunakan JavaScript, dan grafisnya memakai Three.js
    • Betul, semua kodenya ada di satu repositori ini
      Saya memang agak terbawa soal deskripsi penghancuran hewan itu
      Saya suka komentar soal tanda silang. Mungkin selera humor saya agak aneh, atau mungkin karena saya tumbuh di Eropa sambil menonton film Amerika dengan pemain football Amerika berhelm
      Kalau mau lebih ke arah bercanda, ada juga antarmuka PHP CLI (https://github.com/solcloud/Counter-Strike/blob/master/cli/c...)
      Hanya saja, kalau emulator terminal Anda tidak punya font bergaya Matrix yang keren, kemungkinan besar Anda tidak akan bisa melihat wanita berbaju merah yang terbaring di lapangan
  • Sangat keren. Sebagai tambahan, setidaknya screenshot-nya sangat mengingatkan pada game PC 90-an Extreme Paintbrawl
    Saya sangat menyukainya waktu kecil, lalu beberapa tahun kemudian baru tahu bahwa game itu dinilai sebagai “salah satu video game terburuk sepanjang masa”
    https://en.wikipedia.org/wiki/Extreme_PaintBrawl

    • Teman saya punya game itu, dan kami benar-benar bersenang-senang memainkannya bersama
    • Cinta itu emosi yang sangat spesifik, jadi saya selalu siap berdebat soal posisi nomor satu itu
  • Kode open source memang bagus, tetapi yang benar-benar dibutuhkan game adalah open art. Kebanyakan game open source kesulitan dari sisi tampilan dan nuansa

    • Setuju. Tapi bisa jago pemrograman dan seni sekaligus adalah kemampuan yang cukup langka, lalu masih ada ranah audio dan animasi juga
  • Bisa tambahkan file lisensi?

    • Bisa saja, tapi saya bukan pengacara dan saya tidak ingin berkencan dengan Gaben dan para pengacaranya
      Kencan dengan Gabe, gooseman, dan Jess tidak masalah. Kalau ada usulan, saya akan senang kalau dibagikan
  • Sudah beberapa jam sejak banyak orang menyuruh menambahkan lisensi, tapi ini masih bukan open source
    Menyebut sesuatu yang bukan open source sebagai open source itu benar-benar tidak baik, dan merugikan perangkat lunak bebas dan open source

    • Ini memang open source. Sumbernya langsung ada di repositori agar siapa pun bisa membacanya
      Sesuatu tetap bisa open source meski bukan perangkat lunak bebas, dan tetap bisa open source meski tidak ada lisensi. Jika pemiliknya membuka kode ke dunia untuk dibaca, itu open source
    • Jadi seharusnya disebut apa? source-available?
    • https://github.com/solcloud/Counter-Strike/blob/master/LICEN...
    • Cukup katakan, “Pembuat, lisensi yang tepat penting untuk perangkat lunak terbuka. Kalau tidak, bisa timbul masalah hukum”
    • Ya ya, jadi saya rupanya sedang merugikan open source. Saya minta maaf kepada open source
  • Keren juga ini dirilis sebagai open source. Ini bisa jadi titik awal yang bagus bagi orang-orang yang ingin mencoba pengembangan game 3D

  • Akan menyenangkan kalau ada versi Counter-Strike 1.6 dengan aset open source
    Rasanya seperti OpenArena untuk Quake, tapi untuk CS 1.6
    https://github.com/Velaron/cs16-client tampaknya bisa jadi dasar untuk membuatnya

  • Ada cukup banyak game open source yang benar-benar mengesankan. Berkat kelompok teman yang suka game, tahun lalu saya mengenal BAR (Beyond All Reason), dan itu sangat mengesankan dari sisi kedalaman, grafis, dan optimisasi
    Saya suka masa depan seperti ini

    • Saya baru mengenal BAR beberapa minggu lalu, dan sekarang meski saya sudah bukan gamer berat lagi dan tidak pernah terlalu menyukai game strategi real-time, waktu bermain saya sudah melewati 50 jam
      Saya sangat kagum pada tingkat detail dan implementasinya yang teliti. Tingkat kontrol dan kemungkinan otomatisasinya tinggi, jadi rasanya sangat cocok untuk orang yang berorientasi teknis
      Kalau ada yang ingin main bareng, nama pengguna saya di dalam game adalah [ZWD]_jaan. Tambahkan saja sebagai teman, saya bisa memperkenalkan konsep dasarnya, dan meski saya masih pemula, kita bisa main co-op atau mencari lobi pemula
    • BAR memang hebat. Kalau Anda suka game seperti Total Annihilation/Supreme Commander, ini benar-benar layak dicoba
      Game ini mudah dimodifikasi dengan Lua, dan untuk game bebas/open source, komunitasnya juga tampak cukup besar