Real Time Multiplayer in HTML5
buildnewgames.com
buildnewgames.com
Anyways, I think this is a super interesting line of research and development, I wish I would not be tied up doing other stuff for the next 12 months. I'd love to just take the Quake 1 engine and (try to) implement it in Javascript with WebGL and see what happens. I estimate that's the level of graphics that's ambitiously doable in the browser in 1-2 years, by the time something like this would ship.
EDIT: As helpful commenters point out below, Quake 3 seems doable.
Also see yesterday's post on this topic:
:)
FF17 on Linux.
That's just in one browser.
If Opera signed a deal with Steam and bundled it in their browser, would all the Steam games now "run in the browser"? Technically in some boring sense perhaps, but it wouldn't be on the web.
My point is that Skids is a quite high-end 3D game written in JS&WebGL that is playable today. It's a big step up from the dozens of "spinning teapot"-style demos most people have seen come out of WebGL so far. Technically, in some boring sense, it's not "on the web". But, it's great progress and a showcase of what can be done very soon, if not today, in Chrome, FF, Opera and Safari if people start trying. Maybe it'll never be possible in IE or Lynx. But, I'll take what I can get.
No idea. But they literally list Chrome as the only supported browser, so this looks pretty Chrome-specific.
There are lots of other impressive 3D JS&WebGL apps out there that are not specific to one browser, most however are tech demos and not fully finished products - I expect that to change before the end of the year though.
It's a little inefficient and a little ugly, but I think it's pretty cool.
The question remains; When do I have the time to learn this stuff? I was thinking about this for a while. Besides working/planning/coding on my own project, I feel like I don't have much time for this.
I think I'm going about this all wrong though. I should divi up my week into departments. That is, have a few hacking days, a planning day, a maintenance day and a R&D day.
Having one day a week to study new techniques doesn't sound like much, but at least it gets the juices flowing. Its all about balance.
For example, why not try to write a HTML5 game? Even if its something relatively simple like a platformer, you will have opportunity to learn a bunch of technologies and actually have an end product (if you have the stamina)
I should figure out how to incorporate this html5 game dynamic into the site somehow. Perhaps as a chat-game project. Who knows what cool things I can learn from this.
Exposure is the greatest thing a developer can have. It helps spur up innovations. Kinda like a kid with an Erector set.
It seems like there's so many places to watch. Its really a coin flip. You can either choose to look one way, or look the other. That is, focus on what you know, or go on a technological safari. I think having a R&D day will help balance this out.
I'm always using new techniques and technologies, but they are only logical progressions in my current scope of knowledge. What I need to really do is to go from A to Epsilon to Z and then to B. At least for one day a week. I just want to be a bit more well rounded and beef up my "bag O' tricks".
This is just another example of fighting through a gross kludgey mess to do something relatively trivial that we already knew how to do, much more robustly and performantly, in other systems.
Any time you see an article titled "X in HTML5" you know you are about to ride the short bus. I recommend learning some computer science.
See also Alan Kay's comments about the Web vs the Internet, recently linked on HN...
If the defining property of your activity is that you are trying to negotiate messes that other people have made in order to make things happen, where the things you are making happen are not novel in themselves, that is pretty much what working in a bureaucracy is like. So you can think of it as "working in a vast decentralized computer bureaucracy" rather than "working in tech".
There's no such thing as working in "tech". You are always working in "tech", whether it is using Excel or WebGL. When newspapers call the latter "tech", what they really mean is "new tech".
Programming a 3D multiplayer game in a browser is a re-combination of existing technologies, and therefore not "new tech". (Though of course, new, compared to Excel, but only by a few years.)
I agree whole heartedly, learning the science is key.
http://www.tc.umn.edu/~tmisa/reviews/Latour_Aramis.pdf
Any technologist who believes they're not working in a vast bureaucracy (both of the political kind and the technology itself) is not paying enough attention.
Does that mean that my Android phone is not a part of technology since, well, a phone existed long before a mobile phone was made? The GUI OS was "perfected" decades ago. So, the Android OS isn't part of the technology club either? What about using the internet on said device? I gather that it was/is very trivial to just hook up a phone and an OS and the internet and whatever other components of these mobile devices does not constitute it as technology because it should have been straight forward to just hook these things up together.
Basically all Computer Science really is is a collections of 0s and 1s thrown together to make things happen. I guess our minds and imaginations just doesn't compare to a room full of monkeys randomly typing 0s and 1s on a typewriter and having it go through a compiler. I'm sure they'll launch astronauts to the moon fairly soon.
Wikipedia defines technology as "...the making, modification, usage, and knowledge of tools, machines, techniques, crafts, systems, methods of organization, in order to solve a problem, improve a preexisting solution to a problem, achieve a goal or perform a specific function."
But, who knows, Wikipedia isn't always accurate, right?
As for you statement, I guess I'll just deal with riding the short bus. This bus has a lot of fascinating things that are just simply mind-blowing to me. Yes, a lot of concepts existed before. Perhaps even better than what's presented in the blog. But the fact that someone did think of a really cool/elegant way to solve this "gross kludgely mess" and present to us for free is alright by me. I love this type of stuff, no matter how trivial it is. Its really a celebration of the human mind and spirit that we can overcome faults in existing problems. shrugs
Hey, make your own choice about what you want to do with your life and what you want to consider cool.
In addition, the "connected" nature of the web, real time communications aspect of it is exciting. Sure this could be done in C, but the cost of doing it in this type of environment is far less.
So while on a technical level it is not impressive, I wouldn't dismiss it.
e: reading jblow's other comments makes me realize he's not talking about this at all. So treat the above as my personal issue with the article.
It uses the Cometd javascript and java libraries. In my opinion, you can get very "real-time" feeling games on the web with these technologies.
(Also, I know it's a Microsoft-funded thing, but the animation in the background of the main page runs very poorly on Firefox.)
Looking at the source, reveals:
<link href="/atom.xml" rel="alternate"
title="Build New Games" type="application/atom+xml">
With any decent RSS reader you should be able to plug in the blog post URL and let it auto-discover: http://www.rssboard.org/rss-autodiscovery/Chrome: https://chrome.google.com/webstore/detail/nlbjncdgjeocebhnmk...
Firefox: https://addons.mozilla.org/en-US/firefox/addon/rss-icon/
One thing we've done you didn't mention was using Redis for the game state, instead of writing to the HD most things are handled in RAM. We run the risk of losing the last ~five seconds of data on all running games if the server goes down or something but that's a small price to pay for being able to process most game actions faster than the eye can perceive them.
Our game: real time multiplayer HTML5 version of Risk http://warsocial.com
https://chrome.google.com/webstore/detail/ppelffpjgkifjfgnba...