3 puan yazan GN⁺ 2024-11-24 | 1 yorum | WhatsApp'ta paylaş
  • Rebels in the Sky, şirketlerin dünyayı ele geçirdiği 2101 yılında geçen; oyuncunun bir uzay korsanı ekibi kurup galakside basketbol rakipleri aradığı bir terminal oyunu
  • Oyun aktif geliştirme aşamasında olduğu için sık sık breaking change geliyor; eski kayıt dosyaları geçersiz hale gelirse yeni oyun başlatmak ya da kayıt dosyası migrasyonunun mümkün olup olmadığını issue açarak kontrol etmek gerekiyor
  • Hemen denemek için ssh frittura.org ile frittura-hub’a bağlanabilir veya web hub’da rebels seçilebilir
  • Çalıştırmak için terminalde ./rebels komutu kullanılıyor; önerilen minimum terminal boyutu 160x48 ve bazı terminaller renkleri iyi göstermeyebilir
  • Varsayılan olarak yerel bot takımları oluşturuluyor; -f bayrağıyla devre dışı bırakılabiliyor ve gelecekte daha fazla oyuncu olduğunda varsayılan değer yalnızca çevrimiçi takımlar olacak

Oyun kurgusu ve mevcut durum

  • Rebels in the Sky, 2101 yılında geçiyor
    • Şirketler dünyayı ele geçirmiş durumda
    • Özgürleşmenin yolu bir korsan ekibine katılıp galaksiyi yağmalamak
    • Hayatta kalmanın yolu ise basketbol
  • Oyuncu kendi ekibini kuruyor ve değerli basketbol rakipleri bulmak için galakside dolaşıyor
  • Oyun heavy development durumunda ve sık sık breaking change’ler ekleniyor
    • Eski kayıt dosyaları geçersiz hale gelip oyuna devam etmeyi imkânsız kılabilir
    • Bu durumda yeni oyun başlatmak veya kayıt dosyasının migrate edilip edilemeyeceğini öğrenmek için issue açmak gerekiyor
  • Trailer on youtube ve Wiki sunuluyor

Hemen denemek

  • SSH ile frittura-hub’a bağlanıp oyunu deneyebilirsiniz
    • Komut: ssh frittura.org
  • Web üzerinden de hub’a bağlandıktan sonra rebels seçilebilir

Kurulum ve derleme

  • Kendiniz derlemek için platforma göre bağımlılıklar gerekiyor
    • Linux: libasound2-dev, cmake
    • MacOs: cmake
    • Windows: cmake
  • Rust toolchain gerekiyor; depoyu klonladıktan sonra şu komutla derleniyor
    • cargo build --release
  • cargo ile kurulabilir
    • cargo install rebels
  • En son release asset’leri indirilerek de kurulabilir
    • Release asset’leri https://rebels.frittura.org adresinden platforma uygun şekilde indirilir
    • Çalıştırılabilir dosyaya chmod +x rebels ile çalıştırma izni verilir
  • Dağıtım paketleri de sunuluyor

Çalıştırma ortamı ve oynama koşulları

  • Oyun bir terminal uygulaması olarak çalışıyor
    • Çalıştırma komutu: ./rebels
  • Önerilen minimum terminal boyutu 160x48
  • Her terminal oyunun renklerini iyi desteklemeyebilir; bu yüzden farklı bir terminal denemek gerekebilir
  • Test edilen terminaller şunlar
  • Şu anda oyunu daha keyifli hale getirmek için yerel bot takımları varsayılan olarak oluşturuluyor
    • Çalıştırılabilir dosyaya -f bayrağı verilirse bu davranış devre dışı bırakılabilir
    • Gelecekte oyuncu sayısı arttığında varsayılan değer yalnızca çevrimiçi takımlar olacak

Müzik ve veri

  • Müzik internet radyosu üzerinden stream ediliyor
  • Daha fazla radyo istasyonu eklemek için bunlar assets/data/stream_data.json içine dahil edilebilir

Katkı ve hata bildirme

  • Oyunun henüz sabit bir yol haritası yok
  • Fikirleriyle katkı vermek isteyenler discord’a katılabilir
  • Yolculuk sırasında hata ile karşılaşma olasılığı çok yüksek
    • Hata oluşursa issue açıp ne olduğunu açıklamak gerekiyor
  • Geliştirici olarak katkı vermek için pull request açılabilir

Relayer node ve SSH server

  • relayer node çalıştırmak, oyunun merkeziyetsiz kalmasına yardımcı olur
    • Çalıştırma komutu: rebels -n
    • Diğer oyuncular başlangıçta rebels -i <RELAYER-NODE-IP4-OR-IP6> ile bu relayer’a bağlanabilir
    • Bir relayer işletiyorsanız, adresinizi bilinen relayer listesine ekleyen bir PR açmayı düşünebilirsiniz
  • Relayer çalıştırmak için relayer özelliği etkinleştirilerek derleme yapılmalı
    • cargo build --release --features "relayer"
  • SSH server da çalıştırılabilir
    • Çalıştırma komutu: rebels -j
    • Diğer oyuncular ssh <USERNAME>@<SERVER-IP4-OR-IP6> -p 3788 ile bağlanabilir
  • SSH sunucusunu çalıştırmak için ssh özelliği etkinleştirilerek derleme yapılmalı
    • cargo build --release --features "ssh"

Lisans

  • Bu yazılım GPLv3 lisansıyla dağıtılıyor

1 yorum

 
GN⁺ 2024-11-24
Hacker News yorumları
  • Sunucum trafiğin tamamını kaldıramıyor ama bu, tam tersine, bu oyunun çalışmaya devam etmesi için merkezi bir otoriteye ihtiyaç olmadığını gösterme fırsatı gibi görünüyor
    85.214.130.204 üzerinde başka bir relay düğümü ve SSH düğümü oluşturdum; ssh 85.214.130.204 -p 3788 ile bağlanabilirsiniz. Ancak relay eski sunucuya bağlanmaya çalıştığı için çalışmayabilir
    Ya da yerel istemciyi rebels -i 85.214.130.204 bayrağıyla çalıştırarak alternatif relay düğümü IP adresini belirtebilirsiniz

  • Fragman bağlantısı çalışmıyorsa başka bir bağlantı var: https://rebels.frittura.org/demo_v1.0.18.mp4

    • Bu bağlantıların hiçbiri çalışmıyor. YouTube gibi bir yere yüklerseniz iyi olur
    • GitHub sayfasındaki video URL'si 404 veriyor
      https://github.com/user-attachments/assets/aaa02f04-06db-4da...
    • YouTube kopyası burada: https://youtu.be/5Lu9MSgmTBc
    • README'deki çalışmıyordu ama bu bağlantı çalışıyor
      Ayrıca thug boy şarkısı bana güçlü şekilde Fist of the North Star'ı hatırlattı; az kalsın boynum kırılacaktı. Harika seçim
    • Bu bağlantının yüklenmesi çok uzun sürüyor
  • Gezegen/uydu animasyonu gerçekten harika

  • FTL oynayan bir arkadaşım vardı, ben de onun sadece havalı bir terminal oyunu olduğunu sanıyordum

    • FTL'yi gerçekten seviyorum. Terminal grafikleriyle port edilse müthiş olurdu
  • Gerçekten eğlenceli! Windows Terminal'de de iyi çalışıyor. Fare, klavye, renkler; hepsi sorunsuz

    • Bunu bilmek güzel. Kendim test edemedim
  • Çok yaratıcı görünüyor ama alışması biraz göz korkutucu. Sonra denemeyi düşünüyorum
    Geri bildirim olarak, temalar fazla karışmış gibi; videoyu izleyince bile oynanışın tam olarak nasıl olduğunu anlamak zor. Örneğin ne zaman hareket edildiğiyle ekranın ne zaman kaydırıldığını ayırt etmek kolay değil

  • Tamamen P2P bir oyun olma fikri ilginç. Kullanıcılar birbirleriyle nasıl etkileşime girebiliyor?

    • Temelde kullanıcılar birbirleriyle basketbol maçı yapabiliyor veya oyuncu takası yapabiliyor
      Bu etkileşimlerin sonunda tutarlı bir durum garanti edilmeli, bu yüzden TCP handshake'e benzer bir şekilde ele alınıyor. Örneğin oyuncu takasının her iki tarafta da tutarlı biçimde yansıtılması gerekiyor
      Bu yüzden gerçek zamanlı etkileşim kolay değil. Birbirlerine meydan okuduklarında da oyuncular yalnızca oyunun başlangıç koşulları üzerinde anlaşıyor; sonrasında maç her iki istemcide bağımsız ve deterministik olarak simüle ediliyor
  • README'deki video tüm tarayıcılarda çalışmıyor gibi görünüyor. Benim durumumda Firefox'ta çalışmıyor

  • Bu oyun Godot ile mi yapılmış? itch'teki pixel planet generator asset'ini kullanmış gibi görünüyor
    https://deep-fold.itch.io/pixel-planet-generator

    • pixel planet generator ile düşük çözünürlüklü GIF'ler yaptım, sonra onları birleştirerek galaksi GIF'i oluşturdum