Valve merilis kode game Team Fortress 2
(github.com/ValveSoftware)- Commit
Add Team Fortress 2 SDKdiValveSoftware/source-sdk-2013adalah 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, dangame_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 SDKdi repositori publikValveSoftware/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
- Judul halaman GitHub adalah
- 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, danREADME game/binmencakup binary Steam API sepertilinux64/libsteam_api.sodanx64/steam_api64.dllgame/mod_tfberisi resource konfigurasi dan UI sepertigameinfo.txt,steam.inf, logo TF2,resource/mod_tf_english.txt, danMatchMakingDashboard.res
- File tingkat root yang terlihat mencakup
- 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
- Pemain dan tim:
- UI dan elemen game live-service juga tercakup luas dalam daftar file
- Direktori
econberisi file UI untuk inventory, equipment, trading, market, dan item econ/storeberisi file terkait tampilan toko- File HUD terbagi untuk akun, achievement, notifikasi, amunisi, chat, crosshair, indikator damage, health bos, status Mann vs. Machine, dan lainnya
- Direktori
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, danvs30muncul berulang - File terkait air, post-processing, bloom, motion blur, cloak, eye, flashlight, lightmapped generic, HDR dan tone mapping, serta particle disertakan
- Berbagai format disertakan, seperti
- Lingkungan pengembangan dan build juga ikut masuk
src/.vscode/tasks.json,src/buildallprojectscreateallprojects,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 disrc/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
.gitattributesditampilkan sebagai 5 penambahan dan 11 penghapusanREADME textdihapus danREADME.md textditambahkan*.dll binary,buildallprojects text, danvpc binaryditambahkanmod_*_english.txt binarydihapus dan*_english.txt binaryditambahkan- Beberapa entri seperti
creategameprojects,createallprojects,vpc_linux, danvpc_osxditampilkan 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
Valve memang benar-benar keren.
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
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
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
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
previous2021yang masih menyimpan file SDK lamaSepertinya nama gamenya berubah menjadi Frog Fortress 2
https://github.com/ValveSoftware/source-sdk-2013/blob/0759e2...
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
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
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
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
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
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
Setidaknya dalam arti x86-64 yang lebih baik didukung Apple Silicon lewat Rosetta 2, tampaknya ini akan hadir
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
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
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
Siklus rilis Valve hampir berhenti, dan mereka bergantung pada sapi perah. Gabe berusia 62 tahun dan tampaknya lebih tertarik pada pesaing Neuralink
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
Repositori Half-Life juga begitu. Saat pekerjaan terkait ulang tahun ke-25 dipublikasikan, itu pun di-push sebagai satu patch raksasa