Thursday, July 5, 2018

Browser-based MMOs (WebGL, WebSocket)



Do you think it is technically possible to write a fully-fledged 3D MMO client with Browser JavaScript - WebGL for graphics, and WebSocket for Networking?




  • Do you think future MMOs (and games generally) will be written with WebGL?

  • Does today's JavaScript performance allow this?

  • Let's say your development team was you as a developer, and another model creator (artist). Would you use a library like SceneJS for the game, or write straight WebGL? If you would use a library, but not SceneJS, please specify which.


UPDATE (September 2012): RuneScape, which is a very popular 3D browser-based MMORPG that used Java Applets so far has announced that it will use HTML5 for their client (source).


Runescape HTML5


Java (left) and HTML5 (right)


UPDATE (June 2013): I have wrriten a prototype of a WebGL/WebSocket based MMO: https://github.com/alongubkin/xylose



Answer





Do you think it is technically possible to write a fully-fledged 3D MMO client with Browser JavaScript - WebGL for graphics, and WebSocket for Networking?



Yes, absolutely. There is no reason WebGL or WebSocket technology would prevent you from making a 3D MMOG client, or any game client for that matter.



Do you think future MMOs (and games generally) will wrriten with WebGL?



Yes. I believe within the next five years, most 3D browser games will be written using WebGL. The reason is simple - WebGL is the only standardized 3D technology that will have implementations available in every major web browser (Chrome 9, Firefox 4, Safari 6, and Internet Explorer via Chrome Frame).



Does today's JavaScript performance allow this?




Yes. JavaScript performance in modern browsers has increased to the point where 3D game development is feasible. For example, see the Three.js project.



Let's say your development team was you as a developer, and another model creator (artist). Would you use a library like SceneJS for the game, or write straight WebGL? If you would use a library, but not SceneJS, please specify which. Thanks!



Use a library to save time. There is no reason to write your own WebGL graphics code unless an existing library is missing features that you need. Even in that case, it would probably be more time efficient to extend the existing library.


For my project, I am using GLGE as it supports many different graphics effects and is constantly being updated with new ones.


No comments:

Post a Comment

Simple past, Present perfect Past perfect

Can you tell me which form of the following sentences is the correct one please? Imagine two friends discussing the gym... I was in a good s...