Lewati ke konten
8 Agustus 2026 · Game

Game yang benar-benar bisa dimainkan bersama

Artikel ini mendeskripsikan produk pada saat penerbitan. Lihat AI Builder dan Agent Teams untuk kapabilitas terkini.

Game yang benar-benar bisa dimainkan bersama

Tiga cara yang pernah saya lihat sendiri membuat proyek game hobi berantakan, dan masing-masing mengajarkan seperti apa sebenarnya setup yang benar dengan meninggalkan kekacauannya.

Kesalahan satu: mempercayai browser untuk menyimpan skor

Yang paling umum, dan yang paling bisa dihindari. Seseorang membuat game leaderboard, memasang WebSocket untuk bagian multiplayer, dan membiarkan klien menghitung skor akhir sebelum mengirimnya (POST) ke server. Tidak ada validasi saat data masuk. Saya menyaksikan sendiri kejadian ini — hanya butuh sekitar empat menit bagi pemain yang bosan untuk membuka DevTools, menemukan tab network, dan mulai mengirim skor sembilan digit. Bukan karena dia seorang hacker. Tapi karena game itu sendiri yang memberinya pena dan memintanya menilai ujiannya sendiri.

Solusinya tidak rumit, hanya melelahkan: jangan pernah percaya klien, titik. Setiap aksi divalidasi ulang di sisi server, setiap tick fisika direkonsiliasi dengan apa yang diyakini server sebagai kebenaran, dan Anda menanggung biaya latensi round-trip status alih-alih merender secara lokal dan berharap tidak ada yang mengintip di baliknya. Itulah sebabnya otoritas sisi server bukan sekadar nilai tambah di sini — itu adalah standar minimum. Game yang bisa dikalahkan lewat konsol browser dianggap rusak, dengan tingkat keparahan sama seperti crash, karena secara fungsional memang begitu.

Kesalahan dua: elemen canvas dan bunyi bip, disebut sebagai game

Yang satu ini terlihat bagus saat demo dan berantakan dalam sembilan puluh detik permainan sungguhan. Beberapa transisi CSS, pemeriksaan tabrakan, gelombang sinus yang mewakili suara pukulan — hasilnya bagus di rekaman layar, lalu pemain pertama yang sungguhan bilang gerakannya terasa aneh tanpa bisa menjelaskan kenapa. Itu fisikanya. Kode buatan sendiri seperti "jika bertabrakan, pantulkan" tidak pernah benar-benar menangani massa, gesekan, dan respons tabrakan dengan tepat, dan pemain merasakan kesenjangan itu bahkan saat mereka tidak bisa menamainya.

Proyek game di sini menggunakan rendering engine sungguhan sebagai gantinya:

  • Fisika dan rendering — three.js dengan simulasi fisika sungguhan untuk versi web, dan Unity 6 asli di lab untuk yang lebih berat.
  • Seni visual — berasal dari direktur desain, bukan paket aset stok.
  • Audio — instrumen hasil sampling, bukan osilator yang berusaha meniru suara langkah kaki.

Penjelasan lebih lengkap mengapa ini bukan opsional ada di Real engines, real builds.

Rantai verifier menangkap kegagalan yang tidak terlihat lewat screenshot:

  • Menekan tombol.
  • Memeriksa apakah skor benar-benar berubah.
  • Mendengarkan keluaran audio.

Terdengar terlalu sederhana untuk berguna, sampai Anda sadar berapa banyak proyek yang merender frame pertama dengan sempurna lalu diam-diam macet karena event listener tidak pernah terpasang. Gambar statis tidak bisa memberi tahu Anda hal itu. Verifier yang harus bertahan tiga putaran permainan bisa.

Kesalahan tiga: membuat teman Anda harus menjalankan server hanya untuk main game Anda

Prototipe multiplayer yang bagus sering mati di tahap ini terus-menerus — bukan karena gamenya jelek, tapi karena "pertama, npm install server-nya, lalu atur tiga env var ini" terlalu merepotkan bagi orang di malam Selasa. Anda membuat sesuatu yang seru lalu menguburnya di balik panduan setup.

Game solo di sini dipublikasikan dengan cara yang sama seperti situs lainnya — satu klik ke subdomain live, tanpa alur terpisah yang perlu dipelajari. Multiplayer berbeda karena ada proses server sungguhan yang harus terus berjalan di suatu tempat, jadi itu dipublikasikan ke halaman main publik dengan hosting yang sudah diurus untuk Anda. Intinya sederhana: "mau main?" seharusnya cukup berupa URL yang ditempel di grup chat, bukan file README.

Yang tersisa dari perbandingan ini

Perhatikan apa yang hilang dari ketiga kesalahan di atas: dua pemain lokal. Satu keyboard, dua orang, biasanya WASD melawan tombol panah, siku saling bersenggolan — ini mode yang sering diremehkan karena tidak punya masalah distribusi sama sekali. Tidak perlu link, tidak perlu server, tidak perlu teman yang harus mengklik sesuatu jam 11 malam. Cukup seseorang duduk di sebelah Anda dan tiga puluh detik penjelasan "eh tunggu, kamu pemain dua, pakai tombol panah".

Dua pemain lokalMultiplayer online
Onboarding"Eh tunggu, kamu pemain dua, pakai tombol panah" — tiga puluh detikMatchmaking, layar kosong "menunggu lawan"
DistribusiNol — tanpa link, tanpa server, tak ada yang perlu mengklik apa pun pukul 11 malamButuh halaman main publik dan orang lain yang online di waktu yang sama
KonversiHampir 100% — friksinya hanya "putar kursimu"Batal karena menunggu lawan

Build air-hockey dan arena-brawler di showcase mengandalkan tepat hal ini.

Gabungkan tiga perbaikan — otoritas sisi server, engine sungguhan, halaman main publik yang di-hosting — plus keunggulan bawaan dari mode dua-pemain lokal, dan itulah rentang sebenarnya yang didukung alat ini:

  • Single-player — baseline-nya.
  • Dua pemain lokal — kemenangan gratis.
  • Multiplayer online — dirancang untuk tahan dari remaja bosan yang membuka DevTools.

Setiap game terkumpul di pustaka My Games dengan status publikasi per game, jadi kamu tidak perlu menggali thread chat lama untuk mencari build mana yang bagus. Dan jika kamu sudah mengemas sesuatu untuk Android, prosesnya lanjut langsung ke jalur toko tanpa harus memulai proses kedua dari nol.

Satu peringatan dari pengalaman: build dua-pemain lokal sering "diuji untuk tujuan verifikasi" jauh lebih lama dari yang sebenarnya diperlukan. Saya pernah melihat smoke test lima belas menit berubah menjadi rematch air-hockey empat puluh menit. Sisihkan waktu untuk itu — dan siap-siap karena relawan QA-mu kini akan punya opini kuat soal kecepatan paddle.
Games
BagikanXLinkedInFacebookRedditQuoraWhatsAppTelegramEmail
← Semua postingan