Ability to use MMO 3D-games on HTML5 / WebGL

I don’t know if anyone thought about this, but games like World of Warcraft, Lineage II or Aion are possible with a browser interface via WebGL? What things will I have to consider if I want to make a full game with these new technologies? Also, what would be a good place to start?

+4
source share
6 answers

It may be too open, but I will take a hit.

Firstly, there are no modeling programs that will output what you expect as far as I know, since you will need javascript.

Some browsers will use hardware to speed up graphics, but this is not a guarantee, and you only get a little processor using other tabs, so it may not be as smooth as you like.

If you need to download a large amount of data to run your program, that will be a problem for the user.

I think that a simulation program is a real problem, since you will have to basically do everything manually, and the fact that it will not be very smooth will be a problem if you do not conceive it.

But for some game projects, WebGL should be a fantastic choice.

+4
source

I do not think it is possible if your game should go beyond the limits of some skittles cubes.

  • Large amounts of coding in JS multiplied by quirks of browsers. (Yes, I know jQuery, but this is not a panacea)
  • Large resources dependent on a tiny stream of browser cache.
  • Hack-ready client code susceptible to many browser tools like Firebug

Such a game is much more realistic for Flash, especially with the upcoming 11 version of the hardware 3D player.

+2
source

In fact, it is quite possible, and we will hold such games.

We can expect libraries like O3D to take care of browser quirks. We already have these problems on desktop platforms, and the libraries will take care of multi-platform portability there.

The browser cache may be a small problem, but not a big one. You can assign more cache to games, and we also have proxies like squid, which can cache very large resources. If a group of players on the local network shares a proxy server, they will also exchange large resource objects if the game is well developed (i.e., the Resource cannot have several generated names, but must have a common URL for all players.)

It also discusses the possibility of adding local storage capabilities for web applications. And "ready for hacking" is not the mayor’s question. There is nothing to stop hackers from manipulating Flash or C ++ applications; anti-cheat tools have already proved useless. Blizzard already relies on detecting "bot-like behavior", and then tries to take additional measures to combat hacking.

However, I do not think that WoW will be the first flash game. Actually it will be Quake (http://playwebgl.com/games/quake-2-webgl/), since there is already a Quake port for WebGL ... There will be web games that use WebGL, but do not rely on Blizzard support in the near future.

IE is the only browser that does not support WebGL, and frankly, it does not matter. All other browsers do, and users will not mind Chrome or Firefox. Or run both and choose the one that is faster for their game.

Who needs marginal browsers like IE and Opera. They are equally unimportant. If you do not count IE6, which will never support any of the material that we are discussing, because it is discontinued and not supported.

+2
source

To cache local files, you should look at the file system APIs that are now in Chrome. This gives you programmatic access to the virtual file system, allowing you to control what resources you store locally.

An application cache can help you with the static resources such as HTML, CSS and JavaScript needed for the game. However, you need to run as an “installed web application” (for example, through the Chrome Web Store) to get unlimited storage. Browsers are building quota management systems to facilitate this.

WebGL is great and libraries are appearing to help make this easier. There is no clear “winner”, but there are many options.

JavaScript is pretty fast these days, thanks to improvements like CrankShaft. To improve performance, you can use the Native Client to run C / C ++ code and send messages in JavaScript to JavaScript.

There are two big problems that I see. One of them helps middleware companies port their work to JavaScript or their own client. Secondly, the speed with which we can move data from JavaScript to WebGL is improving.

+1
source

Runescape - one of the most popular games in the browser for many years - has been rewriting its engine using WebGL ... (They currently use Java applets)

+1
source

"If you can find a way to minimize the cost of transporting huge amounts of (possibly concerts) resources" Actually, http already has a minimum cost of transporting concerts of static resources. With its own resource allocation scheme, URL, it has maximum caching capabilities. Not only do browsers know how to cache static resources by URL, but there are fast and efficient proxies that can handle terabytes of data.

The main secret of this is the HTTP HEAD request, where the proxy browser effectively checks to see if it has the latest version of the resource and re-synchronizes it. It is also possible for HTTP headers to mark the resource as eternal or very long-lived (immutable). resynchronization will not be possible; instead, the update will be performed by creating a new resource with a new name.

There is a myth that HTTP is somehow inefficient as a resource transport system when it was actually designed to be very efficient.

WoW and other clients using the proprietary protocol are notoriously inefficient compared to HTTP clients. These clients cannot be accelerated using proxies. Windows update, Apt and Yum have in common that they update OS resources using HTTP and were able to use Akamai's extensive global proxy networks: among other similar resources, to efficiently transfer URL resources at the scale of many gigabytes per second client.

-1
source

Source: https://habr.com/ru/post/1345966/


All Articles