2 poin oleh GN⁺ 2025-02-19 | 2 komentar | Bagikan ke WhatsApp
  • Commit Add Team Fortress 2 SDK di ValveSoftware/source-sdk-2013 adalah perubahan besar yang menambahkan Team Fortress 2 SDK ke repositori Source SDK 2013, dengan cakupan luas mencakup file game, client, dan shader
  • Pohon file menampilkan konfigurasi dan file proyek khusus TF seperti game/mod_tf, src/game/client/tf, client_tf.vpc, dan game_shader_generic_*_tf.vpc
  • Cakupan kode client terbagi luas berdasarkan unit sistem game seperti HUD, senjata, proyektil, NPC bot, Halloween, Mann vs. Machine, PASS Time, replay, serta UI econ dan toko
  • Binary Steam API, konfigurasi task VS Code, skrip build, konfigurasi VPC/Xcode/make, DLL utilitas DirectX SDK, dan tool build shader juga ikut disertakan
  • Informasi yang dapat diverifikasi terutama berpusat pada daftar file dan sebagian diff di halaman commit besar GitHub, sehingga sebagian besar sulit memastikan perubahan implementasi aktual atau apakah tiap file ditambahkan maupun dimodifikasi

Cakupan yang termasuk dalam commit TF2 SDK

  • Targetnya adalah commit Add Team Fortress 2 SDK di repositori publik ValveSoftware/source-sdk-2013
    • Judul halaman GitHub adalah Add Team Fortress 2 SDK · ValveSoftware/source-sdk-2013@0759e2e · GitHub
    • Metrik repositori yang ditampilkan adalah Fork 3k dan Star 9.8k
  • Di root dan sisi game, terdapat file dasar dan konfigurasi mod yang diperlukan untuk distribusi SDK
    • File tingkat root yang terlihat mencakup .gitattributes, .gitignore, CONTRIBUTING, LICENSE, README.md, dan README
    • game/bin mencakup binary Steam API seperti linux64/libsteam_api.so dan x64/steam_api64.dll
    • game/mod_tf berisi resource konfigurasi dan UI seperti gameinfo.txt, steam.inf, logo TF2, resource/mod_tf_english.txt, dan MatchMakingDashboard.res
  • Di bawah src/game/client/tf, banyak file yang tampaknya merupakan kode client Team Fortress 2 tercantum
    • Pemain dan tim: c_tf_player.cpp/.h, c_tf_team.cpp/.h, c_tf_playerresource.cpp/.h
    • Senjata dan proyektil: c_tf_projectile_arrow, c_tf_projectile_rocket, c_tf_stickybolt, c_tf_weapon_builder
    • Bangunan Engineer: c_obj_dispenser, c_obj_sentrygun, c_obj_teleporter, c_obj_sapper
    • Mode dan event: file terkait PASS Time, Halloween, Mann vs. Machine, dan PvE disertakan
  • UI dan elemen game live-service juga tercakup luas dalam daftar file
    • Direktori econ berisi file UI untuk inventory, equipment, trading, market, dan item
    • econ/store berisi file terkait tampilan toko
    • File HUD terbagi untuk akun, achievement, notifikasi, amunisi, chat, crosshair, indikator damage, health bos, status Mann vs. Machine, dan lainnya

Shader dan tool build

  • Daftar perubahan terkait shader sangat besar
    • Berbagai format disertakan, seperti .fxc, .psh, .vsh, .inc, .cpp, .h, .bat, .vpc, dan .pl
    • Varian berdasarkan profil shader seperti ps11, ps14, ps20, ps20b, ps30, vs11, vs20, dan vs30 muncul berulang
    • File terkait air, post-processing, bloom, motion blur, cloak, eye, flashlight, lightmapped generic, HDR dan tone mapping, serta particle disertakan
  • Lingkungan pengembangan dan build juga ikut masuk
    • src/.vscode/tasks.json, src/buildallprojects
    • createallprojects, creategameprojects
    • Konfigurasi Xcode, POSIX makefile, dan definisi make Source SDK di src/devtools
    • ShaderCompile2.exe, vpc.exe, vpc_linux, vpc_osx, serta skrip Perl/Python/PowerShell di src/devtools/bin

Batasan yang dapat diverifikasi dan catatan diff

  • Input saat ini adalah rangkuman pohon file dan sebagian informasi diff dari halaman commit, dan sebagian besar berupa daftar file yang berubah, bukan isi kode aktual
  • Karena ini adalah halaman commit besar GitHub, sebagian konten secara default disembunyikan, dan ada petunjuk bahwa kotak pencarian dapat digunakan untuk menemukan konten yang disembunyikan
  • Halaman juga menampilkan pesan error “There was an error while loading. Please reload this page.”
  • Diff .gitattributes ditampilkan sebagai 5 penambahan dan 11 penghapusan
    • README text dihapus dan README.md text ditambahkan
    • *.dll binary, buildallprojects text, dan vpc binary ditambahkan
    • mod_*_english.txt binary dihapus dan *_english.txt binary ditambahkan
    • Beberapa entri seperti creategameprojects, createallprojects, vpc_linux, dan vpc_osx ditampilkan sebagai dihapus
  • Komentar commit ditampilkan 0

Cakupan yang tidak tercermin

  • Menurut catatan input, sebagian chunk sumber dihilangkan karena batasan panjang dan biaya
  • Karena itu, rangkuman ini hanya mencerminkan daftar file commit dan sebagian diff dalam cakupan catatan sumber yang diberikan, dan tidak mencakup semua file maupun perubahan dari keseluruhan commit

2 komentar

 
honglu 2025-02-19

Valve memang benar-benar keren.

 
GN⁺ 2025-02-19
Komentar Hacker News
  • Ini kabar bagus untuk modding, tetapi jangan sampai keliru: ini tetap kode khusus TF2 yang berada di atas engine Source, yang masih tertutup
    Misalnya, dengan ini saja Anda tidak bisa mem-porting TF2 ke platform baru; itu baru mungkin setidaknya setelah mengimplementasikan ulang Source atau memaksanya cocok dengan salah satu codebase Source yang bocor, lalu menanggung konsekuensi hukumnya

    • Sikap Valve yang tetap mempertahankan Source sebagai tertutup sulit dipahami. Engine itu juga bukan sesuatu yang sangat menarik untuk dikerjakan sekarang, dan sudah ada setidaknya tiga alternatif open source besar yang jauh lebih kuat dan lebih mudah ditangani, seperti O3DE, Godot, dan Wicked
      Karena ada komunitas aktif yang sangat memahami kekurangan workflow Source, jika dibuka dengan GPL seperti yang dilakukan Carmack terhadap id tech, proyek kreatif indie bisa meledak jumlahnya. Mereka juga tidak perlu lagi terikat kontrak yang tidak transparan
    • Sudah pernah ada kebocoran, sudah lebih dari 10 tahun sejak game besar terakhir yang memakai Source 1 dirilis, dan di Source 2 sebagian besar kode rendering kemungkinan sudah ditulis ulang agar sesuai dengan perkembangan baru grafis game, jadi saya bertanya-tanya apakah masih ada alasan untuk merahasiakannya
      Apakah suatu saat akan dibuka? Mungkin ada masalah lisensi karena mereka tidak memegang seluruh haknya sehingga tidak mudah menjadikannya open source, atau mungkin masih banyak teknologi rahasia yang layak dipertahankan
    • Sayang sekali, saya berharap ini membuat TF2 kembali berjalan di Mac. Sejak Apple menghapus dukungan 32-bit, kami tidak bisa mengadakan LAN party yang layak di kantor
    • Saya masih bingung kenapa Source tetap tertutup meski Valve sudah beralih ke Source 2 lebih dari 10 tahun lalu. Mungkin ada sebagian elemen dasar yang tumpang tindih, tetapi tampaknya mereka menganggap source game aman untuk dibuka
    • Kabar baik! Seseorang sudah berhasil melakukan reverse engineering terhadap engine Source untuk TF2 sampai tingkat tertentu
      https://www.youtube.com/watch?v=09CvpQrnTEY
  • Sebagai orang yang dulu membuat mod TF2 sisi server, ini benar-benar fantastis. Saya menghabiskan waktu tak terhitung banyaknya menganalisis binary dengan IDA, dan sekarang cukup membuka GitHub
    Komunitas akan bisa membuat fitur baru dan perbaikan bug jauh lebih cepat. Sebenarnya ini memang seharusnya sudah dilakukan sejak lama; source code TF2 sudah bocor dua kali, dan ada kelompok yang bahkan membuat klon game dengan versi engine yang lebih lama. Dukungan komunitas untuk game ini masih sangat besar

  • Semoga ini kabar baik untuk TF2 Classic
    Menurut pengumuman di Discord TF2C, karena pembaruan SDK besar dan dibukanya kode Team Fortress 2, TF2 Classic mungkin tidak bisa dijalankan untuk sementara waktu. Mereka katanya sudah menyiapkan pekerjaan porting dan potensi rilis di Steam, dan kini dapat menjalankannya secara legal. Jika ingin tetap bermain untuk sementara, Source SDK Base 2013 Multiplayer harus diganti ke branch beta previous2021 yang masih menyimpan file SDK lama

    • Karena sudah dinyatakan jelas bahwa karya turunan dari game asli diperbolehkan, dan karya semacam itu bisa dirilis sebagai game baru di Steam, jalan untuk TF2 Classic jadi terbuka
    • TF2 Classic itu apa?
  • Sepertinya nama gamenya berubah menjadi Frog Fortress 2
    https://github.com/ValveSoftware/source-sdk-2013/blob/0759e2...

    • Sepertinya itu agar saat kodenya dibangun dan diinstal, jika namanya tidak diganti, bisa dibedakan dari TF2 resmi
    • Sepertinya semacam lelucon internal. Lihat saja siapa committernya
      Katak dan pemrograman grafis adalah teman baik
  • Tulisan blog resmi: https://www.teamfortress.com/post.php?id=238809
    Di dalamnya juga ada tautan ke pembaruan terbaru game Source engine lainnya

  • Wah… wah, wow. Saya tidak menyangka akan melihat ini di HN. Saya sudah lama menantikannya, tetapi kalau saya Valve, saya sudah jauh-jauh hari merilis update konten peringatan “terakhir”, mem-porting game ke Vulkan, lalu membuka codebase sebagai open source sambil tetap mengikat hal-hal seperti server item ke server Valve
    Saya tidak tahu apakah ini awal dari akhir TF2, atau akhir dari awalnya. Dulu memang pernah ada kebocoran, tetapi kali ini benar-benar berita besar

    • Kalau disebut awal dari akhir, rasanya game ini sudah berada dalam kondisi berakhir selama beberapa tahun. Sekarang ini diserahkan ke komunitas, dan memang itu langkah yang tepat
      Tim TF2 kemungkinan sekarang paling banyak hanya belasan orang, dan gamenya juga sudah hampir 18 tahun, jadi sudah waktunya menyerahkan pengembangan berkelanjutan kepada komunitas luar
    • Pada tahun 90-an, id menghasilkan uang dari Doom selama beberapa tahun lalu merilis source code-nya, dan melakukan hal yang sama untuk Quake. Salah satu alasan perusahaan seperti Valve bisa ada hari ini juga karena game-game awal mereka memakai engine hasil modifikasi dari Doom dan Quake
      Kini Valve melanjutkan tradisi yang sudah berlangsung lebih dari 25 tahun itu. Orang-orang masih membuat dan memainkan map Doom baru. Kalau sejarah bisa dijadikan patokan, kita mungkin masih akan memainkan TF2 dalam suatu bentuk bahkan setelah tahun 2050-an
    • “Woah... woah WOAH”, saya mengerti apa yang dimaksud
    • Saya penasaran kenapa Anda tidak menyangka akan melihat ini di HN
  • Fakta bahwa mereka melakukan ini bahkan sebelum mengompilasi ulang untuk Mac 64-bit menunjukkan banyak hal. Valve jelas tampaknya tidak menganggap Apple sebagai mitra yang baik untuk berbisnis
    Bisa dimengerti jika melihat Apple berusaha mengurung pengembang game di App Store

    • Membuat game untuk Mac tampaknya merupakan tantangan besar. Kombinasi arsitektur CPU yang relatif tidak standar, API grafis proprietary, jumlah perangkat yang sedikit, layar bawaan dengan resolusi terlalu tinggi, serta GPU yang paling banter hanya “cukup”
      Apple dengan bangga mengumumkan grafis Tomb Raider 2 kelas menengah pun tidak memberi banyak harapan bagi pengembang game yang tidak mendapat dukungan kampanye promosi Apple. Apalagi ini adalah platform yang, dari jumlah pemain, bahkan lebih kecil daripada Linux
      Kecuali yakin akan ada basis pemain yang layak, mengoptimalkan game untuk Mac tampaknya tidak terlalu masuk akal secara bisnis bagi perusahaan game. Pengguna yang mampu membeli Mac kemungkinan besar juga mampu membeli konsol
      Game bisa dipaksa berjalan dengan wrapper dan workaround yang dipakai untuk bermain di Linux, tetapi di Mac alatnya kurang matang sehingga harus dioptimalkan langsung. Gaming di Linux saja punya banyak masalah kompatibilitas DRM/anti-cheat, dan memakai alat yang kurang matang hanya akan memperburuknya
      Apple juga tampaknya tidak terlalu peduli pada kompatibilitas mundur. Mereka menghapus 32-bit tanpa alasan jelas selain “tidak mau mempertahankan kompatibilitas”, dan kita juga tidak tahu berapa lama API pengganti saat ini akan dipertahankan. Linux juga punya masalah serupa, sehingga cara utama bermain game di Linux adalah menjalankannya di lingkungan Windows yang diemulasi
      Perusahaan game sepertinya akan mengompilasi ulang game untuk Snapdragon lebih dulu daripada untuk Mac. Pada saat library x86 32-bit bisa dibuat berjalan di ARM tanpa emulasi, Apple mungkin sudah beberapa kali lagi mengubah API dan persyaratannya, jadi tidak ada alasan kuat untuk melakukannya
    • Dari berbagai wawancara industri game, Apple secara historis cukup bermusuhan dalam bekerja sama dengan perusahaan game, dan tampaknya sedikit melunak setelah iPhone App Store
      Orang-orang mengejek “devs devs devs”-nya Balmer, tetapi dia cukup benar. Microsoft menghabiskan banyak uang untuk menarik developer, dan hasilnya mereka mendapatkan posisi dominan di gaming PC
    • Menurut sumber aslinya, ini diumumkan di situs resmi TF2, dan https://www.teamfortress.com/post.php?id=238809 menyebutkan bahwa banyak peningkatan akan ditambahkan ke game lama multiplayer berbasis Source engine seperti TF2, DoD:S, HL2:DM, CS:S, dan HLDM:S, termasuk dukungan binary 64-bit, HUD/UI yang dapat diskalakan, perbaikan prediksi, dan lainnya
      Setidaknya dalam arti x86-64 yang lebih baik didukung Apple Silicon lewat Rosetta 2, tampaknya ini akan hadir
    • Pengguna Mac 1,4%, 25% lebih sedikit daripada Linux
      Lebih banyak dari yang saya kira, tetapi kalau tidak ada game yang kompatibel, hampir tidak ada alasan untuk memasang Steam. Apple juga baru belakangan mulai berubah menjadi lebih ramah game, jadi tidak mengherankan kalau mereka mencoba mem-porting game berusia 20 tahun
    • Ada video yang menjelaskan mengapa game Valve tidak di-port ke Macintosh, tetapi saya tidak bisa menemukannya. Intinya Apple tidak ingin perangkatnya dipakai untuk game, lalu menolak memublikasikan game setelah pekerjaan portingnya dibuat sia-sia
      Pernyataan Gabe pada 2007 adalah yang paling mirip. Katanya, ketika bertemu Apple, orang-orang di sana akan berkata “game itu sangat penting, jadi kita harus melakukan sesuatu”, lalu ketika Valve berkata “kalau begitu lakukan tiga hal ini, hasilnya akan lebih baik”, mereka menjawab mengerti lalu tidak pernah terlihat lagi. Setelah orang di internal Apple berganti, siklus yang sama dimulai lagi
  • Di riwayat diff juga ada beberapa file HL3 kecil: https://github.com/ValveSoftware/source-sdk-2013/commit/0759...

  • Valve terus menang
    Saya takut pada hari ketika Gaben meninggal atau mundur. Saya berharap Valve menemukan penerus yang hebat, tetapi bukan hal langka perusahaan kehilangan arah setelah generasi pendirinya pergi

    • Ini benar-benar keren, begitu juga banyak hal yang dilakukan Valve, tetapi karena Valve menghasilkan pendapatan besar dari perjudian dan perjudian oleh anak di bawah umur, sulit untuk menganggapnya sebagai perusahaan yang sepenuhnya hebat
    • Bagi saya, Valve sebagai pengembang game sudah lama kehilangan arah. Apa yang mereka rilis belakangan ini? CS 2 pada 2023? IP itu pun berasal dari mod yang mereka beli 25 tahun lalu, dan begitu juga game-game lain yang mereka rilis setelah Half-Life. Satu-satunya hal “baru” di pipeline hanyalah MOBA FPS
      Meski begitu, berkat Steam saya bisa menjalankan game Windows di Linux tanpa rasa sakit dan tidak perlu berurusan lagi dengan Microsoft dalam kehidupan pribadi, dan untuk itu saya akan selamanya berterima kasih. Sebagai distributor game mereka luar biasa, dan distribusi game memang hal yang paling dikuasai Valve
    • Menurut saya justru Gabe sebaiknya pensiun. Kalau bisa, semoga Robin Walker yang meneruskan
      Siklus rilis Valve hampir berhenti, dan mereka bergantung pada sapi perah. Gabe berusia 62 tahun dan tampaknya lebih tertarik pada pesaing Neuralink
    • Saya tidak mengerti mengapa orang menganggap Gabe sebagai pengaruh terbesar. Sebagian besar tim awal yang membuat Half-Life sudah pergi, dan orang membeli produk bukan karena Steam, melainkan karena game
    • Menurut saya Valve sudah kehilangan arah. Hanya saja enshittification mereka hadir dalam bentuk loot box yang mendekati perjudian
      Orang lupa bahwa TF2 adalah salah satu contoh awal game Barat yang memperkenalkan loot box jauh sebelum Overwatch muncul. Portal 2 pun memaksakannya masuk ke mode co-op. Karena itulah mereka berhenti merilis pengalaman single-player. Meski Half-Life: Alyx bisa dianggap pengecualian
      CS:GO adalah yang terburuk. Ada situs pihak ketiga untuk berjudi dengan skin senjata, dan mereka secara terang-terangan menargetkan anak-anak. Pada dasarnya seluruh scene pro CS:GO disponsori oleh ini
      Situs judi skin memang tidak secara resmi disetujui Valve, tetapi mereka praktis tidak melakukan upaya untuk menghentikannya
  • Saya penasaran apakah sekarang mereka akan mulai menerima pull request. Ada banyak bug di gim yang saya harap diperbaiki
    Sudah hampir 10 tahun saya kesal dengan masalah sinar Medigun yang tidak sejajar dengan model

    • Ini sepertinya cuma dump ke GitHub dan sama sekali tidak terhubung dengan repositori internal
      Repositori Half-Life juga begitu. Saat pekerjaan terkait ulang tahun ke-25 dipublikasikan, itu pun di-push sebagai satu patch raksasa
    • Bug-bug di issue tracker GoldSrc juga hampir semuanya diabaikan selama bertahun-tahun
    • Kemungkinannya benar-benar, benar-benar, benar-benar bukan begitu. Meski begitu, semoga ada seseorang yang memimpin fork komunitas dari gim yang berjalan di Steam