EDİT; Youtube data api v3 ile chatten mesajları vesaire çekiyoruz ve yaptığım yeni güncelleme ile apinin kota sorununu aşmış bulunmaktayım. İsteyen, arzu eden olursa yönlendirmesini yapabilir, dosya paylaşımını da yapabilirim.

Herkese merhabalar,

ücretsiz olarak sunulan bir projenin ücretli olarak satılması garibime gittiği için projeyi açık kaynak haliyle burada paylaşmak istedim.
Projemizin amacı youtube üzerinde canlı yayındayken chate yazılan mesajlar ile etkileşim oluşturarak bunları oyuna yansıtması ve insanların canlı yayınınıza yaptığı yorumlarla öne çıkarması gibi gibi...
Proje python dilinde yazılmış olup, gayet geliştirilmeye açık bir proje (: Kendi yaptığım geliştirmeleri eklemeden paylaşıyorum, üzgünüm.
Oyuna ait görsel;


Projeyi çalıştırmak için gerekli adımları aşağıda anlatacağım, takıldığınız yapamadığınız bir adım olursa seve seve yardımcı olurum.
Gerekli kurulum talimatı ve detaylar aşağıda.


Projeyi çalıştırmak için aşağıdaki Python paketlerinin yüklü olması gerekir:
  • pygame==2.6.1
  • pymunk==6.11.1
  • google-api-python-client==2.165.0
  • google-auth==2.38.0
  • google-auth-oauthlib==1.2.1
  • google-auth-httplib2==0.2.0
  • python-dateutil==2.9.0.post0
Kurulum

1. Python Kurulumu


Python 3.7 veya daha yeni bir sürümün sisteminizde yüklü olduğundan emin olun.

2. Bağımlılıkları Yükleme


Terminal veya komut istemcisinde proje klasörüne gidin ve aşağıdaki komutu çalıştırın:

pip install -r requirements.txt

3. Konfigürasyon Dosyası


Proje ilk çalıştırıldığında default.config.json dosyası otomatik olarak config.json olarak kopyalanacaktır.
YouTube entegrasyonu kullanmak istiyorsanız config.json dosyasını düzenleyin:

{

"CHAT_CONTROL": true,

"API_KEY": "YOUR_YOUTUBE_API_KEY",

"CHANNEL_ID": "YOUR_CHANNEL_ID",

"LIVESTREAM_ID": "YOUR_LIVESTREAM_ID"

}
Çalıştırma

Yöntem 1: Python ile Doğrudan Çalıştırma



python src/main.py

Yöntem 2: PowerShell Script ile Çalıştırma (Windows)


Windows'ta otomatik yeniden başlatma özelliği ile çalıştırmak için:

.run.ps1
Bu script, oyun kapandığında otomatik olarak yeniden başlatır. Durdurmak için Ctrl+C tuşlarına basın.
Oyun Kontrolleri
  • T Tuşu: TNT yerleştirme
  • M Tuşu: Mega TNT yerleştirme
  • Bunun dışında chat üzerinde yazılan tnt, fast, slow, big, wood, stone, iron, gold, diamond, netherite mesajları ile tnt yerleştiriyor, kazmanın görünümünü değiştiriyor ve kazmanın vuruşunu hızlandırıp yavaşlatıyor.
YouTube Entegrasyonu

YouTube canlı yayın entegrasyonu için:
  1. Google Cloud Console'da bir proje oluşturun
  2. YouTube Data API v3'ü etkinleştirin
  3. API anahtarı oluşturun
  4. config.json dosyasında gerekli bilgileri doldurun

YouTube Özellikleri

  • Canlı chat mesajlarını okuma
  • Super Chat'lere özel TNT patlamaları
  • Abone sayısı takibi
  • Chat komutları ile oyun kontrolü
Konfigürasyon Seçenekleri
  • CHAT_CONTROL: YouTube chat kontrolünü etkinleştirir
  • TNT_SPAWN_INTERVAL_SECONDS_MIN/MAX: TNT spawn aralığı
  • TNT_AMOUNT_ON_SUPERCHAT: Super Chat başına TNT sayısı
  • SAVE_PROGRESS_INTERVAL_SECONDS: Otomatik kaydetme aralığı
  • FRAMERATE: Oyun FPS'i (constants.py'de)

Açık kaynak olduğu için virüs total vesaire eklemedim, gerekli ise eklerim. Teşekkürler ^^ herkese iyi bir bayram ve mutlu bir gün geçirmesini dilerim.

Google Drive (İndirme linki güncellendi)

EDİT: Amacım kimsenin işini baltalamak vesaire değil. Sadece ücretsiz olarak internet/forum/github gibi yerlerde paylaşılan dosyaların, ücretli olarak satılması ve ben yazdım, ben ettim diyerek paylaşılmasına karşıyım.