Valve, Team Fortress 2 oyun kodunu yayımladı
(github.com/ValveSoftware)ValveSoftware/source-sdk-2013içindekiAdd Team Fortress 2 SDKcommit’i, Team Fortress 2 SDK’yi Source SDK 2013 deposuna ekleyen büyük bir değişiklik; oyun, istemci ve shader dosyalarını geniş kapsamda içeriyor- Dosya ağacında
game/mod_tf,src/game/client/tf,client_tf.vpc,game_shader_generic_*_tf.vpcgibi TF’ye özel yapılandırma ve proje dosyaları görünüyor - İstemci kodu kapsamı HUD, silahlar, mermiler/projektiler, bot NPC’ler, Halloween, Mann vs. Machine, PASS Time, replay, econ ve mağaza arayüzü gibi oyun sistemi birimleri halinde genişçe ayrılmış
- Steam API ikilileri, VS Code görev ayarları, build script’leri, VPC/Xcode/make ayarları, DirectX SDK yardımcı DLL’leri ve shader build araçları da birlikte yer alıyor
- Doğrulanabilen içerik esas olarak GitHub’daki büyük commit sayfasının dosya listesi ve bazı diff’leri olduğundan, her dosyadaki gerçek uygulama değişikliklerini veya ekleme/düzenleme olup olmadığını çoğunlukla doğrulamak zor
TF2 SDK commit’inin kapsadığı alan
- Hedef,
ValveSoftware/source-sdk-2013açık deposundakiAdd Team Fortress 2 SDKcommit’i- GitHub sayfa başlığı
Add Team Fortress 2 SDK · ValveSoftware/source-sdk-2013@0759e2e · GitHub - Gösterilen depo metrikleri Fork 3k, Star 9.8k
- GitHub sayfa başlığı
- Kök dizin ve
gametarafında SDK dağıtımı için gereken temel dosyalar ve mod yapılandırması bulunuyor- Kök düzey dosyalar olarak
.gitattributes,.gitignore,CONTRIBUTING,LICENSE,README.md,READMEgörünüyor game/binaltındalinux64/libsteam_api.so,x64/steam_api64.dllgibi Steam API ikilileri yer alıyorgame/mod_tfiçindegameinfo.txt,steam.inf, TF2 logosu,resource/mod_tf_english.txt,MatchMakingDashboard.resgibi yapılandırma ve UI kaynakları bulunuyor
- Kök düzey dosyalar olarak
src/game/client/tfaltında Team Fortress 2 istemci kodu gibi görünen çok sayıda dosya listeleniyor- Oyuncu ve takım:
c_tf_player.cpp/.h,c_tf_team.cpp/.h,c_tf_playerresource.cpp/.h - Silahlar ve projektiler:
c_tf_projectile_arrow,c_tf_projectile_rocket,c_tf_stickybolt,c_tf_weapon_builder - Engineer yapıları:
c_obj_dispenser,c_obj_sentrygun,c_obj_teleporter,c_obj_sapper - Modlar ve etkinlikler: PASS Time, Halloween, Mann vs. Machine, PvE ile ilgili dosyalar dahil
- Oyuncu ve takım:
- UI ve canlı servis oyun unsurları da dosya listesinde geniş kapsamda yer alıyor
econdizininde envanter, ekipman, takas, pazar ve eşya UI dosyaları varecon/storeiçinde mağaza ekranıyla ilgili dosyalar bulunuyor- HUD dosyaları hesap, başarımlar, bildirimler, cephane, sohbet, nişangâh, hasar göstergesi, boss canı, Mann vs. Machine durumu gibi başlıklara ayrılmış
Shader’lar ve build araçları
- Shader ile ilgili değişiklik listesi çok büyük
.fxc,.psh,.vsh,.inc,.cpp,.h,.bat,.vpc,.plgibi çeşitli biçimler içeriyorps11,ps14,ps20,ps20b,ps30,vs11,vs20,vs30gibi shader profillerine göre varyantlar tekrar ediyor- Su, post-processing, bloom, motion blur, cloak, eye, flashlight, lightmapped generic, HDR/ton eşleme ve particle ile ilgili dosyalar bulunuyor
- Geliştirme ve build ortamı da birlikte eklenmiş
src/.vscode/tasks.json,src/buildallprojectscreateallprojects,creategameprojectssrc/devtoolsaltında Xcode ayarları, POSIX makefile’ları, Source SDK make tanımlarısrc/devtools/binaltındaShaderCompile2.exe,vpc.exe,vpc_linux,vpc_osx, Perl/Python/PowerShell script’leri
Doğrulanabilen sınırlar ve diff notları
- Mevcut girdi, commit sayfasındaki dosya ağacı ve bazı diff bilgilerini özetliyor; çoğunlukla gerçek kod içeriği değil, değişen dosyaların listesi
- GitHub’daki büyük commit sayfası olduğu için bazı içerikler varsayılan olarak gizlenmiş ve gizli içeriği bulmak için arama kutusunun kullanılabileceğine dair bir yönlendirme yer alıyor
- Sayfada “There was an error while loading. Please reload this page.” hata mesajı da gösteriliyor
.gitattributesdiff’i 5 ekleme ve 11 silme olarak görünüyorREADME textkaldırılmış,README.md texteklenmiş*.dll binary,buildallprojects text,vpc binaryeklenmişmod_*_english.txt binarykaldırılmış,*_english.txt binaryeklenmişcreategameprojects,createallprojects,vpc_linux,vpc_osxgibi bazı girdiler kaldırılmış olarak görünüyor
- Commit yorumu 0 olarak gösteriliyor
Kapsama alınmayan alan
- Girdi notlarına göre, orijinal metnin bazı parçaları uzunluk ve maliyet sınırları nedeniyle atlanmış
- Bu nedenle bu özet, yalnızca sağlanan kaynak notlar kapsamındaki commit dosya listesini ve bazı diff’leri yansıtıyor; commit’in tüm dosyalarını ve değişikliklerini kapsamaz
2 yorum
Gerçekten Valve harika görünüyor.
Hacker News yorumları
Modlama için iyi haber ama bunun hâlâ kapalı kaynak olan Source motoru üzerine oturan TF2’ye özel kod olduğunu karıştırmamak gerek.
Örneğin bununla TF2’yi yeni platformlara port edemezsiniz; en azından Source’u yeniden uygulamanız ya da sızdırılmış Source kod tabanlarından biriyle zorla uyumlu hâle getirip hukuki sonuçları göze almanız gerekir.
Source iş akışının eksilerini iyi bilen aktif bir topluluk var; Carmack’in id tech için yaptığı gibi GPL ile yayımlanırsa, bağımsız geliştiricilerin yaratıcı projelerinde patlama yaşanabilir. Artık belirsiz sözleşmelere bağlı kalmaları da gerekmez.
Bir gün yayımlarlar mı? Tüm haklara sahip olmadıkları için kolayca açık kaynak yapamadıkları lisans sorunları olabilir; ya da hâlâ saklamaya değer çok fazla gizli teknoloji kalmış olabilir.
https://www.youtube.com/watch?v=09CvpQrnTEY
Sunucu tarafı TF2 modları yapan biri olarak bu gerçekten harika. IDA ile ikilileri analiz etmeye sayısız saat harcadım; artık sadece GitHub’ı açmak yeterli.
Topluluk yeni özellikleri ve hata düzeltmelerini çok daha hızlı geliştirebilecek. Aslında bunun çoktan yapılması gerekirdi; TF2 kaynak kodu zaten iki kez sızdırılmıştı ve bir grup daha eski bir motor sürümüyle oyunun klonunu bile yapmıştı. Bu oyuna yönelik topluluk desteği hâlâ muazzam.
Bunun TF2 Classic için iyi haber olmasını umarım.
TF2C Discord duyurusuna göre, büyük SDK güncellemesi ve Team Fortress 2 kodunun yayımlanması nedeniyle bir süre TF2 Classic’i çalıştıramayabilirsiniz. Portlama çalışmasına ve olası bir Steam çıkışına şimdiden hazırlanıyorlarmış ve bunu yasal olarak ilerletebilir hâle geldiklerini söylüyorlar. Şimdilik oynamaya devam etmek için Source SDK Base 2013 Multiplayer’ı eski SDK dosyalarının bulunduğu
previous2021beta dalına geçirmeniz gerekiyor.Oyunun adı Frog Fortress 2 olarak değişmiş gibi görünüyor.
https://github.com/ValveSoftware/source-sdk-2013/blob/0759e2...
Kurbağalar ve grafik programlama iyi dosttur.
Resmî blog yazısı: https://www.teamfortress.com/post.php?id=238809
Yakın tarihli diğer Source motoru oyun güncellemelerinin bağlantıları da var.
Vay… vay, vay be. Bunu HN’de göreceğimi hiç düşünmezdim. Uzun zamandır bekliyordum ama Valve’ın yerinde olsam çok daha önce “son” bir anma içerik güncellemesi çıkarır, oyunu Vulkan’a port eder ve eşya sunucusu gibi şeyleri Valve sunucularına bağlı tutarak kod tabanını açık kaynak yapardım.
Bu TF2 için sonun başlangıcı mı, yoksa başlangıcın sonu mu bilmiyorum. Geçmişte sızıntılar olmuştu ama bu çok büyük haber.
TF2 ekibi artık olsa olsa on küsur kişi civarındadır; oyun da neredeyse 18 yaşında olduğuna göre, devam eden geliştirmeyi dış topluluğa bırakmanın zamanı geldi.
Valve şimdi 25 yılı aşkın süredir devam eden bir geleneği sürdürüyor. İnsanlar hâlâ yeni Doom haritaları yapıp oynuyor. Tarih ölçütse, 2050’lerden sonra bile TF2’yi bir şekilde oynuyor olabiliriz.
64 bit Mac için yeniden derlemeden önce bunu yapmış olmaları çok şey anlatıyor. Valve belli ki Apple’ı iş yapmak için iyi bir ortak olarak görmüyor
Apple’ın oyun geliştiricilerini App Store’a hapsetmeye çalıştığını düşününce anlaşılır
Apple’ın orta seviye Tomb Raider 2 grafiklerini gururla duyurması da, Apple’ın pazarlama kampanyası desteğini almayan oyun geliştiricilerine pek umut vermiyor. Üstelik oyuncu sayısına göre Linux’tan bile daha küçük bir platform
Kayda değer bir oyuncu tabanı oluşacağından emin olmadıkça, bir oyun şirketinin Mac için optimizasyon yapması ticari açıdan pek anlamlı görünmüyor. Mac alabilen kullanıcıların konsol da alabilme olasılığı yüksek
Linux’ta oyun oynarken kullanılan wrapper’lar ve dolambaçlı çözümlerle oyunları zorla çalıştırabilirsiniz, ama Mac’te araçlar daha az olgun olduğu için doğrudan optimizasyon yapmak gerekiyor. Linux oyunlarında bile DRM/anti-cheat uyumluluğu sorunu çokken, daha az olgun araçlar kullanmak bunu sadece daha da kötüleştirir
Apple’ın geriye dönük uyumluluğa da pek ilgi duymadığı görülüyor. “Uyumluluğu korumak istemiyorum” dışında belirgin bir neden olmadan 32 bit’i kaldırdı; mevcut yedek API’leri ne kadar süre koruyacağını da bilmiyoruz. Linux’ta da benzer bir sorun var; bu yüzden Linux’ta oyun oynamanın temel yolu, oyunu emüle edilmiş bir Windows ortamında çalıştırmak
Oyun şirketleri oyunlarını Mac’ten önce Snapdragon için yeniden derleyecek gibi görünüyor. 32 bit x86 kütüphanelerini emülasyon olmadan ARM’de çalışır hale getirdiklerinde Apple muhtemelen API’leri ve gereksinimleri birkaç kez daha değiştirmiş olacak; bu yüzden uğraşmaya değmez
Balmer’ın “devs devs devs” sözleriyle dalga geçiliyor ama oldukça haklıydı. Microsoft geliştiricileri çekmek için büyük para harcadı ve bunun sonucunda PC oyunlarında tekel sayılabilecek bir konum elde etti
En azından Apple Silicon’ın Rosetta 2 ile daha iyi desteklediği x86-64 anlamında gelecek gibi görünüyor
Düşündüğümden fazla, ama uyumlu oyun yoksa Steam kurmak için de pek sebep yok. Apple’ın oyun dostu olmaya başlaması da yeni sayılır; bu yüzden 20 yıllık bir oyunu port etmeye çalışmaları şaşırtıcı değil
2007’de Gabe’in söyledikleri buna en yakın olanı. Apple’la görüştüklerinde oradakilerin “oyunlar gerçekten önemli, bir şey yapmalıyız” dediğini; Valve “o zaman şu üç şeyi yaparsanız daha iyi olur” dediğinde tamam dediklerini ve sonra bir daha ortada görünmediklerini anlatmıştı. Daha sonra Apple içinde biri değişince aynı döngü yeniden başlıyormuş
Değişiklik geçmişinde küçük HL3 dosyaları da var: https://github.com/ValveSoftware/source-sdk-2013/commit/0759...
Valve kazanmaya devam ediyor
Gaben’in öldüğü ya da görevden ayrıldığı günden korkuyorum. Valve’ın harika bir halef bulmasını umuyorum ama kurucu nesil ortadan kaybolduktan sonra şirketlerin yönünü kaybetmesi nadir değil
Yine de Steam sayesinde Linux’ta Windows oyunlarını zahmetsizce çalıştırabildiğim ve kişisel hayatımda Microsoft’la tekrar uğraşmak zorunda kalmadığım için sonsuza kadar minnettarım. Oyun dağıtımcısı olarak harika; Valve’ın en iyi yaptığı iş de oyun dağıtımı
Valve’ın yayın döngüsü neredeyse durmuş durumda ve nakit ineğine yaslanıyor. Gabe 62 yaşında ve Neuralink rakibi tarafla daha çok ilgileniyor gibi görünüyor
İnsanlar TF2’nin, Overwatch çıkmadan çok önce Batı oyunları arasında loot box’ı erken benimseyen örneklerden biri olduğunu unutuyor. Portal 2’de bile bunu gereksiz yere co-op moda sıkıştırdılar. Bu yüzden tek oyunculu deneyimler yayımlamayı bıraktılar. Half-Life: Alyx’i istisna saysak bile
CS:GO en kötüsü. Silah skin’leri üzerine kumar oynatan üçüncü taraf siteler var ve açıkça çocukları hedefliyorlar. Fiilen CS:GO profesyonel sahnesinin tamamı bunlar tarafından sponsor ediliyor
Skin kumar siteleri Valve tarafından resmen onaylanmış değil, ama Valve bunları engellemek için de esasen hiçbir çaba göstermiyor
Artık pull request kabul etmeye başlayıp başlamayacaklarını merak ediyorum. Oyunda düzeltilmesini istediğim çok sayıda bug var
Medigun ışınının modelle hizalanmaması sorunu neredeyse 10 yıldır canımı sıkıyor
Half-Life deposunda da durum aynıydı. 25. yıl dönümüyle ilgili çalışmalar yayımlandığında bile tek bir devasa yama olarak push edilmişti