Zynga’s first foray into WebGL, and how it runs on IE10
code.zynga.comSo ZyGL is basically the software rasterizer we all had to write in college graphics algorithms? So ZyGL is basically nothing more than Three.js, sans the option to render in SVG elements? And they want to patent this?
Sorry for the language, but seriously, fuck these guys. What complete trolls. This is completely unacceptable. Software rasterization fallback has been a thing forever. Actually, you know, longer than OpenGL of any flavor. Cuz that used to be the only way you could do graphics.
Is there any way I can help to get this patent blocked? And how do we go about shaming young developers into not joining Zynga just because it's a "game" company? This isn't the first unethical thing they've done.
Yes; please join the "Ask Patents" stackexchange site:
http://patents.stackexchange.com/
This site is exactly for this reason: raising patent questions with the goal of identifying bad patents.
"Ask Patents is a question and answer site for people interested in improving and participating in the US patent system. It's built and run by you as part of the Stack Exchange network of Q&A sites. With your help, we're working together to find Prior Art on dangerous and overly broad US Patent Applications before they become issued Patents. "
It's been said before, but I'll say it again:
The USPTO does not and will not look at nor use an end-user forums like "Ask Patents" for the basis of any decision.
At least in this case they did
This is Joel puffing a new StackExchagne product... nothing more.
Ask Patents is actually explicitly supported by the USPTO, who help to create it:
http://blog.stackoverflow.com/2012/09/askpatents-com-a-stack...
No they did not.
The blog post is a puff piece for a new (at the time) StackExchange product and basically just talks about how they felt there was a need for something like this and how they felt the timing was good.
"Helped create it" might be an exaggeration, but they definitely had a hand in its creation and have trumpeted its use: http://www.uspto.gov/news/pr/2012/12-60.jsp
From the Stack Exchange blog post, "[USPTO director Kappos] came–twice!–to the Stack Exchange office in New York City to encourage us to open a Stack Exchange site that would generate heaps of prior art to help the patent examiners do their jobs."
Last year, then-acting USPTO director Rea said in a speech, "We consulted on a private-sector initiative called Ask Patents." http://www.uspto.gov/news/speeches/2013/rea_Managing_Ip.jsp Elsewhere they refer to a "partnership" with Ask Patents.
No, this doesn't mean that prior art submitted to Ask Patents is automatically read by the USPTO. But USPTO promotes it as a way to gather information which can then be submitted through their new public comment process.
Your comments may be true about most end-user forums, but it seems that "Ask Patents" really is different.
Firstly, from the help page:
"Ask Patents blocks dangerous applications by alerting the US Patent Examiner of record when good Prior Art is found for an application that he or she is examining."
Secondly, the site contains examples of patents that were rejected with the site's help. You can search for questions with the [rejected] tag:
"The rejected tag is used on patent applications and patents which have been successfully narrowed or rejected by the USPTO after having been the subject of a prior-art-request on Ask Patents."
When we search for questions with this tag, we see text like "This Patent Application received a Final Rejection by the US Patent Office! The rejection was based in part on prior art found by Ask Patents community below!"
Ask Patents has some good information, but also a lot of bad information or just plain wrong claims by rando's on the internet.
The USPTO has their own internal databases they look to for research information.
Which works oh so very well.
Ugh: 'we developed a patent-pending solution called “ZyGL”.'
While there are a bunch of people working to make stuff performant on browsers, Zynga comes in from behind and starts patenting barely-novel stuff on top of it.
Relevant patent I think: https://www.google.com/patents/US20130088491
If the emscripten lot had decided to patent "Method to reconstruct flow structures from binary machine code" then Zynga would not have the privilege of porting their game to the web in the first place.
Actually, that's not the relevant patent. That patent is for a technique for hardware-accelerated 2D animations using 3D meshes on the GPU, and was used for the game Dream Zoo.
Hopefully they will be able to extend and extinguish as well, so that the so called "open web" (that is actually pretty much closed to different languages and technologies, unless you are willing to use crap-trans-pilation crutch like Emscripten) or at least WebGL will die as it should. All the best to Zynga!
Unfortunately, a successful patent here could block my non-web work in this area :(
Not to mention IE10 is already Old.
I lost a little more respect for Zynga today.
You had any left?
I don't want to spoil their great "innovation patent" but Three.js has implemented this years ago (http://threejs.org/docs/#Reference/Renderers/CanvasRenderer).
Does that reconstruct quads as the Zynga post described? From the source code, it seems to just draw the triangles individually:
https://github.com/mrdoob/three.js/blob/1769fbfc6c994b51a54c...
I also don't see any heuristic processing of shaders as described for ZyGL.
three.js removed support for quads to reduce renderer complexity.
https://github.com/mrdoob/three.js/blob/master/src/core/Face...
https://github.com/mrdoob/three.js/blob/88092284cbe07723fe2b...
And the relevant issue: https://github.com/mrdoob/three.js/issues/3663
Even before that change, I don't see any code that automatically reconstructs construct quads from pairs of triangles. But maybe I'm missing something?
(I've been working on OpenGL platform translation for years)
Reconstructing quads from pairs of triangles is just about doable in a one-liner. The harder part in my opinion is applying texture mapping to the resulting triangle, but it's not unreasonably difficult.
The only things I think are interesting here are their heuristics on shaders to apply color maps, and the fact they shipped a game with it.// this depends on your winding triangles = [1, 2, 4, 2, 3, 4] quads = [] for i in xrange(len(triangles), 6): t = triangles[i:i+6] quads += [t[0], t[1], t[4], t[2]]No, you're right, there's no quad reconstruction. I imagine you could have just used quads in both the WebGL and Canvas renderers to achieve a similar effect.
I don't know what exactly is being patented. As I read it, the novel part is this:
So, what about that arbitrary shader code? In practice, the shaders used in 2D games tend to be fairly simple. ZyGL applies a series of heuristics to the shader code to try to infer its intent. It then uses these heuristics to map the draw calls through to some approximations of common shader code that we wrote in JavaScript.
I'm not aware of any prior art that is (a) a polyfill for WebGL using canvas that also (b) reconstructs triangle strips into canvas quads and (c) attempts to mimic shader effects by scanning the shader code for common techniques.
This is the first time someone's announced a patent for a space I'm in. I have no idea what implications this has for me, but I may have some prior art on "software rasterization of OpenGL code that only uses it for 2D", including quad recovery.
Pixi.js ( http://www.pixijs.com ) supports WebGL with an automatic canvas fallback as well (and is also used as the renderer by Javascript game frameworks like Phaser.io and Panda.js).
>"today we wanted to share some of what we learned in the process" >"To tackle this issue we developed a patent-pending solution"
At first I was surprised, it looked like Zynga was doing something nice for a change. In the end, it seems all they're sharing is the bad news.
This is all kinds of gross. Way to stay relevant, Zynga.
As a side note, the August cumulative update for IE11 has improved WebGL support. I hope they are testing their games with it.
Zynga? Whats a Zynga?
It's a word that you say when you're not kidding.
Zynga! Yes, I really am trying to patent the obvious, with loads of prior art.
Its opposite is "bazinga", which means "I was kidding".
I asked a patent office employee about this. Apparently, a thing is only prior art if it is patented itself, or is published in an accepted academic journal, and then only if such things can be found in the ten hours the examiner is given per patent application.