HN’de öne çıkanlar: açık kaynaklı Counter-Strike benzeri oyun
(github.com/solcloud)- Counter-Strike: Football, iki futbol taraftarı takımının daha fazla round kazanmak için mücadele ettiği rekabetçi çok oyunculu bir FPS oyunudur
- Takımlar Attackers ve Defenders olarak ayrılır; Defenders, Attackers’ın graffiti bomb ball ile fan base sanctuary’yi hedef almasını engellemelidir
- Round kazanma koşulları oyuncuları eleme, bombayı kurma, etkisiz hale getirme ve süre sonunda hayatta kalmaya göre belirlenir; bomba kurulduğunda round geri sayımı 40 saniyeye ayarlanır
- Çalıştırılabilir dosyalar en güncel sürümde işletim sistemine göre asset olarak indirilebilir; kaynaktan derlemek için Electron istemcisi ile PHP sunucusunu ayrı ayrı çalıştırmak gerekir
- Proje, html/css/js/php bilen katkıcıların yanı sıra 3D modelleme, tekstürleme ve animasyon alanlarında katkı verecek kişileri de pull request ile bekliyor
Oyun özeti
- Counter-Strike: Football, iki futbol taraftarı takımının rakibinden daha fazla round kazanmak amacıyla savaştığı rekabetçi çok oyunculu bir FPS oyunudur
- Oyun indirme bağlantısı Download game sayfasında sunulmaktadır
- README’nin üst kısmındaki rozetlere göre testler, Code coverage 100% ve Mutation score 100% gösterilmektedir
Takımlar ve round hedefleri
- Takımlar Attackers ve Defenders olarak oluşur
- Defenders’ın hedefi, her roundda Attackers’ın graffiti bomb ball ile fan base sanctuary’ye zarar vermesini engellemektir
Kazanma koşulları
- Defenders şu koşullarda roundu kazanır
- Bomba kurulmadan önce tüm Attackers oyuncularını etkisiz hale getirirse
- Bomba patlamadan önce etkisiz hale getirirse
- Round süresi bittiğinde en az 1 oyuncu hayattaysa ve bomba kurulmamışsa
- Attackers şu koşullarda roundu kazanır
- Round süresi dolmadan tüm Defenders oyuncularını etkisiz hale getirirse
- Round süresi dolmadan bombayı kurup Defenders’ın etkisiz hale getirmesini engellerse
- Attackers, round süresi bitmeden graffiti bomb’ı yerleştirirse round geri sayımı 40 saniyeye ayarlanır
- Defenders’ın bombayı etkisiz hale getirmesi için 30 saniye gerekir
defuse kitkullanılması durumunda etkisiz hale getirme süresi 35 saniyedir
Kurulum ve çalıştırma
- İşletim sistemine göre çalıştırılabilir dosyalar latest release sayfasından indirilebilir
- İstemci,
electron/klasöründe npm komutlarıyla çalıştırılırcd electron/ npm install npm run dev - Sunucu, Composer bağımlılıkları kurulduktan sonra PHP CLI ile çalıştırılır
composer install -a --no-dev php cli/server.php 2 # will start server waiting for 2 players to connect
Katkı verme yöntemi
- Proje, html/css/js/php bilen katkıcılar arıyor
- 3D modelleme, tekstürleme ve animasyon becerilerine sahip kişiler de pull request ile oyunun geliştirilmesine katkıda bulunabilir
1 yorum
Hacker News yorumları
PHP sunucuya Electron istemcisi gerçekten harika. Düzgün namespace’lerin bile olmadığı dönemlerden beri PHP’ye uzun zamandır dokunmamıştım; bu gerçekten şaşırtıcı
Muazzam bir emek ve boş zamanımda bu projeye yardım etmek istiyorum. Böyle çılgın projelerden daha çok olmalı
Eski PHP’yi ve bazı CMS’lerdeki PHP’yi biliyordum ama gerçek zamanlı bir proje aklıma gelmezdi; şaşırtıcı
socket_select()kullanınca asenkron sunucu yapılabiliyordu; bu fonksiyon PHP 4.1’de eklenmiştihttps://www.php.net/manual/en/function.socket-select.php
15 yıl önce PHP’ye thread ekleyen üçüncü taraf bir eklenti de vardı ama çok hatalıydı
Bilgi olarak, istemci tarafı
www/assetsaltında. https://github.com/solcloud/Counter-Strike/tree/master/www/a...threejs dışında bağımlılığı yok, TypeScript ya da build pipeline da yok. Kodu okumak başlı başına keyifli
start.js’den bakmak iyi olur (https://github.com/solcloud/Counter-Strike/blob/master/www/a...)Sunucu tarafı başlangıç noktası
server.php(https://github.com/solcloud/Counter-Strike/blob/master/cli/s...)GitHub dil istatistiklerine bakınca %82 PHP, %15 JS ve biraz HTML/CSS görünüyor; gerçek istemcinin neyle yapıldığını merak ediyorum
Başka bir depoda mı, yoksa her şey PHP ile mi uygulanmış? Öyleyse etkileyici
“Düşük şiddetli oyun” açıklaması; yüzlere ateş edilen, bomba kurulup imha edilen ve vurulurken hayatta kalmaya çalışılan bir oyun için komik
Ayrıca OP’nin hiç futbol sahası görüp görmediğini de merak ediyorum. Artı işareti ve pek uymayan çizgiler epey göze çarpıyor ama futbol asıl konu olmadığı için çok önemli değildir herhalde
Toplumun sahip olduğu en etkileşimli mecralardan biri ama her yıl milyarlarca dolar yine başka bir “silahlı adamın ateş etmesi: silahlar edisyonu”na gidiyor
Biraz konu dışına çıktım ama bu proje yine de son derece etkileyici ve CS’yi binlerce saat oynadığım için böyle bir şeyi görmek harika
wwwaltında görebilirsiniz: https://github.com/solcloud/Counter-Strike/tree/master/wwwİstemci ağırlıklı olarak JavaScript ve grafikler için Three.js kullanıyor
Hayvan yok etme açıklamasına biraz fazla kapıldım
Artı işaretiyle ilgili eleştiri hoşuma gitti. Mizah anlayışım biraz tuhaf olabilir ya da Avrupa’da büyürken kasklı Amerikan futbolu oyuncularının çıktığı Amerikan filmlerini izlememden kaynaklanıyor olabilir
Şakayı daha da ileri götürürsek PHP CLI arayüzü de var (https://github.com/solcloud/Counter-Strike/blob/master/cli/c...)
Ancak terminal emülatörünüzde havalı Matrix tarzı bir yazı tipi yoksa sahada yatan kırmızı elbiseli kadını görememe ihtimaliniz yüksek
Çok güzel. Yan not olarak, en azından ekran görüntüleri bana 90’ların PC oyunu Extreme Paintbrawl’u çok hatırlattı
Çocukken gerçekten severdim; birkaç yıl sonra “tüm zamanların en kötü video oyunlarından biri” olarak değerlendirildiğini öğrendim
https://en.wikipedia.org/wiki/Extreme_PaintBrawl
Açık kaynak kod iyi ama oyunların gerçekten ihtiyaç duyduğu şey açık sanat varlıkları. Çoğu açık kaynak oyun görünüm ve his konusunda zorlanıyor
Lisans dosyası ekleyebilir misiniz?
Gabe, gooseman, Jess ile randevu olur. Öneriniz varsa paylaşırsanız iyi olur
Birkaç kişi lisans eklenmesini söyleyeli saatler geçmesine rağmen hâlâ açık kaynak değil
Açık kaynak olmayan bir şeye açık kaynak demek gerçekten doğru değil ve özgür/açık kaynak yazılıma zarar veriyor
Özgür yazılım olmasa da açık kaynak olabilir; lisans olmasa da açık kaynak olabilir. Sahibi kodu dünyaya açıp okunabilir hale getirdiyse açık kaynaktır
Bunu açık kaynak olarak yayımlamak harika. 3D oyun geliştirme denemek isteyenler için mükemmel bir başlangıç noktası
Açık kaynak varlıklara sahip bir Counter-Strike 1.6 sürümü olsa güzel olurdu
Quake’in OpenArena’sına benzer ama CS 1.6 için olan bir şey gibi
https://github.com/Velaron/cs16-client üzerine de yapılabilir gibi
Gerçekten etkileyici açık kaynak oyunlar var. Oyun seven arkadaş grubum sayesinde geçen yıl BAR’ı (Beyond All Reason) öğrendim; derinlik, grafikler ve optimizasyon açısından gerçekten etkileyici
Böyle bir gelecek hoşuma gidiyor
Detay düzeyi ve özenli uygulama beni çok etkiledi. Kontrol seviyesi ve otomasyon imkânı yüksek olduğu için teknik eğilimli insanlara oldukça iyi uyacak gibi
Birlikte oynamak isterseniz oyun içi kullanıcı adım
[ZWD]_jaan. Arkadaş eklerseniz temel kavramları tanıtabilirim; ben de hâlâ acemiyim ama co-op oyun oynayabilir ya da acemi lobisi bulabilirizLua ile oyunu kolayca değiştirebiliyorsunuz ve özgür/açık kaynak bir oyuna göre topluluğu da epey büyük görünüyor