Apakah menurut Anda secara teknis dimungkinkan untuk menulis klien MMO 3D sepenuhnya dengan JavaScript Browser - WebGL untuk grafik, dan WebSocket untuk Jaringan?
- Apakah menurut Anda MMO masa depan (dan game umumnya) akan ditulis dengan WebGL?
- Apakah kinerja JavaScript hari ini memungkinkan ini?
- Katakanlah tim pengembangan Anda adalah Anda sebagai pengembang, dan pembuat model lainnya (artis). Apakah Anda menggunakan perpustakaan seperti SceneJS untuk game, atau menulis WebGL langsung? Jika Anda akan menggunakan perpustakaan, tetapi tidak SceneJS, harap tentukan yang mana.
UPDATE (September 2012): RuneScape, yang merupakan MMORPG berbasis browser 3D yang sangat populer yang menggunakan Java Applets sejauh ini telah mengumumkan akan menggunakan HTML5 untuk klien mereka ( sumber ).
Java (kiri) dan HTML5 (kanan)
UPDATE (Juni 2013): Saya telah menulis prototipe MMO berbasis WebGL / WebSocket: https://github.com/alongubkin/xylose
Jawaban:
Ya, tentu saja. Tidak ada alasan teknologi WebGL atau WebSocket akan mencegah Anda membuat klien MMOG 3D, atau klien game apa pun.
Iya nih. Saya percaya dalam lima tahun ke depan, sebagian besar game browser 3D akan ditulis menggunakan WebGL. Alasannya sederhana - WebGL adalah satu-satunya teknologi 3D standar yang akan memiliki implementasi yang tersedia di setiap browser web utama (Chrome 9, Firefox 4, Safari 6, dan Internet Explorer melalui Chrome Frame).
Iya nih. Kinerja JavaScript di browser modern telah meningkat ke titik di mana pengembangan game 3D layak. Misalnya, lihat proyek Three.js .
Gunakan perpustakaan untuk menghemat waktu. Tidak ada alasan untuk menulis kode grafis WebGL Anda sendiri kecuali perpustakaan yang ada kehilangan fitur yang Anda butuhkan. Bahkan dalam kasus itu, mungkin akan lebih efisien waktu untuk memperluas perpustakaan yang ada.
Untuk proyek saya, saya menggunakan GLGE karena mendukung banyak efek grafis yang berbeda dan terus diperbarui dengan yang baru.
sumber
Sudah ada beberapa MMO berbasis Browser di luar sana. Mereka biasanya tidak menggunakan grafik 3D.
Saya agak skeptis ketika datang ke WebGL. Pangkas browser saat ini tidak mendukung WebGL dalam versi rilis normalnya. Anda harus mendapatkan bangunan khusus atau mengacaukan file konfigurasi, yang lebih rumit bagi pengguna rata-rata daripada mengunduh plugin.
Berbicara tentang plugin: Beberapa orang menyebut Unity, tetapi jangan lupa Flash. Rilis berikutnya dari pemutar Flash (nama kode molehill ) akan memiliki akselerasi GPU-3D. Dugaan saya adalah, flash itu akan memberikan akselerasi grafik 3D perangkat keras di browser sebelum WebGL lepas landas.
sumber
Secara teknis mungkin? Iya nih. Tapi mengapa repot ketika solusi web seperti Unity tersedia?
MMO masa depan ditulis dalam WebGL? Tidak. Ok mungkin tapi ada plugin berbasis web seperti Unity yang baik-baik saja sekarang.
Kinerja JavaScript hari ini memungkinkan ini? Tidak. Ok ya jika Anda menjaga gim Anda tetap sederhana.
Apakah Anda menggunakan perpustakaan seperti SceneJS [...] atau menulis WebGL langsung? Tidak juga. Saya akan menggunakan aplikasi pihak ketiga seperti Unity.
sumber
Ini tidak layak sekarang (awal 2011). Anda tidak dapat membuat MMO 3D real-time dalam teknologi browser asli (artinya tanpa plugin).
Saya tidak akan berspekulasi tentang masa depan. Beginilah tampilannya sekarang. Dengan asumsi Anda hanya menargetkan browser modern (IE9, FF4, dll). Jika Anda berencana untuk mendukung IE7 maka Anda gila. Itu tidak akan pernah berhasil.
Hal-hal yang hilang:
Area / solusi dengan masalah serius:
sumber
Ya, tetapi dengan peringatan utama.
Anda tidak akan memiliki kontrol keyboard penuh, dan bagi banyak orang aneh kontrol, ini bisa menjadi pemecah kesepakatan. Tombol-F misalnya mungkin akan tetap di luar jangkauan untuk beberapa waktu.
Anda juga tidak akan bisa mengenai sebagian besar browser. WebGL belum benar-benar didukung dengan baik, dan dukungan websocket sangat populer saat ini, dengan beberapa vendor browser mengaktifkannya untuk satu versi, kemudian menonaktifkannya untuk yang berikutnya.
Tapi Anda bisa mengumpulkan sesuatu yang sederhana, tentu saja. Lemparkan ke dalam gameplay yang menarik dan tidak masalah grafisnya sedikit rendah. Runescape dimulai dengan sangat sederhana, dan tumbuh menjadi MMO yang kompleks, menyenangkan, sangat populer, ketika semua orang mengatakan bahwa MMO yang dibuat dalam plug-in browser adalah mimpi pipa.
MMO yang dibangun dengan batas saat ini untuk peramban yang beradaptasi ketika segala sesuatunya berubah pasti akan meningkat pada saat peramban cukup jauh untuk mendukung MMO "AAA".
sumber
Pastinya ya.
WebGL termasuk dalam build malam di WebKit (Chrome / Safari) dan Gecko (Firefox). WebSockets saat ini dinonaktifkan karena masalah keamanan, tetapi tidak ada alasan mengapa itu tidak harus diaktifkan kembali setelah masalah diselesaikan. Sementara itu selalu ada HTTP.
Apakah semua game akan ditulis dengan cara ini? Tidak, tetapi jumlah yang signifikan adalah. Setelah WebGL berada di versi final Chrome dan Firefox, penetrasi akan lebih tinggi daripada plug-in asli seperti Unity.
Kinerja JavaScript sepenuhnya tergantung pada permainan menulis. Anda mungkin tidak akan melihat level grafik Crysis untuk sementara waktu, tetapi ingat dengan WebGL, angka-angka diturunkan ke GPU.
Untuk tim kecil yang terdiri dari 2 orang, Anda perlu bersiap untuk melakukan banyak pengkodean yang pernah Anda gunakan. Saat ini tidak ada mesin WebGL / JavaScript yang benar-benar mencakup banyak kode game. SceneJS, three.js dan sejenisnya adalah pembungkus di atas lapisan grafik, tetapi tidak memberikan apa pun untuk tabrakan, fisika, audio, pemuatan sumber daya, jaringan atau alat yang membentuk sebagian besar produk seperti Unreal Engine, atau Unity.
Ini hari-hari awal saat ini, saya berharap akan melihat lebih banyak middleware muncul pada tahun depan.
sumber
Saya tidak berpikir banyak MMO masa depan akan ditulis dengan teknologi browser sisi klien karena sebagian besar pengembang MMO ingin menggunakan bahasa yang sama di seluruh klien dan server, dan sebagian besar pengembang game fasih dalam bahasa non-web seperti C ++. Terlalu banyak kode klien yang terlibat sehingga sangat praktis dalam Javascript, kecuali untuk simulasi yang sangat sepele. Ada juga batasan lain yang diberlakukan dengan menjalankan di browser yang tidak baik untuk pengembang game biasa.
Saya yakin akan ada beberapa game seperti ini. Mereka hanya tidak akan mengambil alih dari WoW atau game serupa untuk sementara waktu. Mereka mungkin akan dibuat lebih banyak oleh pengembang web masuk ke game daripada pengembang game masuk ke web.
sumber
Pertanyaan yang harus Anda tanyakan pada diri Anda adalah mengapa pengembang game ingin bergantung pada teknologi web yang tidak mereka kuasai dan tidak memiliki kendali atas, bahasa saat ini memungkinkan Anda bahkan di browser web untuk membuat game yang luar biasa?
sumber
Ya, tetapi teknologinya masih perlu stabil dan kemungkinan akan ada trade-off kinerja vs aplikasi asli.
sumber
Persatuan itu baik. Lihat juga Siwa dan Mesin Utama.
sumber