HTML5 Canvas as it stands now
Posted: Fri Jun 10, 2011 4:55 am
(I was going to post this in my Flash vs. HTML5 thread, but it became so long and really stood as its own topic)
This (my HTML5 Canvas endeavors) is not looking good so far. Canvas is sooo primitive, I can't imagine making the kind of games I want to make with it. Starting from scratch with nothing makes it look like I could get lost in trying to make my own engine for years. Animation is painful, although thorough. I am starting to understand why pretty much all you can find canvas-wise out there are tech demos. And I am also starting to see why the only serious game engine completed up to this point in HTML5 was made by John Resig, the author of jQuery and all-around Javascript super-genius, and then was immediately bought and made proprietary by Zynga, the creators of Farmville. HTML5 Canvas is so primitive I think they were worried it would be years until they saw an engine that complex again.
Not all is bad. There is a commercial game engine that has a couple of nice NES+ looking demos on it called ImpactJS. There is another engine out there, called Rocket Engine, but it looks like it may be quite expensive since it doesn't volunteer how much it costs and says it is "for professional developers". The site also does not really lend a ton of confidence considering that it is basically a single-page brochureware site with no forums and really no community services at all. However, probably the most promising engine right now is Isogenic Engine, an engine I am interested in knowing more about. However, it is not currently complete, is only selling its "premium" license to be part of the beta (which, at 65% off, is still $1000), and is under heavy NDA. If it makes it to 1.0 gold release, there will be a $200 basic license that would be more in my realm of purchasing. I say "if it makes it to 1.0" because they say on their site that the beta testers are helping to pay for development, which is kind of scary from an investment position. That same model was one of the reasons why RC got so bogged down and took years to get to a nearly usable state.
All in all, there are a few things I would love to see in the coming year for HTML5 Canvas-based game development:
1. More engines released in varying price ranges.
2. More frameworks released that handle the low-level plumbing of functions that are one-command in Flash (there isn't even a simple command to draw a circle; you have to make an arc and feed it a pi-based formula).
3. More hardware-accelerated Canvas support in browsers, and more people using them (animation or sprite-heavy games really start chugging along, while Flash just blasts straight by).
4. A Flash-like editor and IDE would be great. There are a couple of promising up-starts in the open-source and commercial spheres, but they are light-years away from the functionality of Flash. It would be nice if they could at least get in the same galaxy. All eyes have been on Adobe for some time on this one, but that won't happen until Flash starts going down, which doesn't look to be happening for at least a couple more years.
5. More books covering more complex game examples. I say books because most engine-less, complex games are likely to be far too long and involved for most free online tutorials. Skilled people want to be compensated for writing hundreds of pages of instructions, and that is understandable. There is a book I am looking forward to coming out in October called "Learning HTML5 Game Programming", which appears to be the first 100% game-related HTML5 book out there. While some write their books with a game slant, this will be the first total game-related book as far as I can tell.
I don't think this has been an unfair critique of the current state of HTML5 Canvas development. I want Canvas. I want open standards and total adoption of it. However, it isn't there yet, and may not be there for a while. But in almost every negative I mention, I have tried to show how things further up the pipe could drastically improve the landscape.
The future looks bright for HTML5, but I think we are still a few minutes before dawn for most game developers.
This (my HTML5 Canvas endeavors) is not looking good so far. Canvas is sooo primitive, I can't imagine making the kind of games I want to make with it. Starting from scratch with nothing makes it look like I could get lost in trying to make my own engine for years. Animation is painful, although thorough. I am starting to understand why pretty much all you can find canvas-wise out there are tech demos. And I am also starting to see why the only serious game engine completed up to this point in HTML5 was made by John Resig, the author of jQuery and all-around Javascript super-genius, and then was immediately bought and made proprietary by Zynga, the creators of Farmville. HTML5 Canvas is so primitive I think they were worried it would be years until they saw an engine that complex again.
Not all is bad. There is a commercial game engine that has a couple of nice NES+ looking demos on it called ImpactJS. There is another engine out there, called Rocket Engine, but it looks like it may be quite expensive since it doesn't volunteer how much it costs and says it is "for professional developers". The site also does not really lend a ton of confidence considering that it is basically a single-page brochureware site with no forums and really no community services at all. However, probably the most promising engine right now is Isogenic Engine, an engine I am interested in knowing more about. However, it is not currently complete, is only selling its "premium" license to be part of the beta (which, at 65% off, is still $1000), and is under heavy NDA. If it makes it to 1.0 gold release, there will be a $200 basic license that would be more in my realm of purchasing. I say "if it makes it to 1.0" because they say on their site that the beta testers are helping to pay for development, which is kind of scary from an investment position. That same model was one of the reasons why RC got so bogged down and took years to get to a nearly usable state.
All in all, there are a few things I would love to see in the coming year for HTML5 Canvas-based game development:
1. More engines released in varying price ranges.
2. More frameworks released that handle the low-level plumbing of functions that are one-command in Flash (there isn't even a simple command to draw a circle; you have to make an arc and feed it a pi-based formula).
3. More hardware-accelerated Canvas support in browsers, and more people using them (animation or sprite-heavy games really start chugging along, while Flash just blasts straight by).
4. A Flash-like editor and IDE would be great. There are a couple of promising up-starts in the open-source and commercial spheres, but they are light-years away from the functionality of Flash. It would be nice if they could at least get in the same galaxy. All eyes have been on Adobe for some time on this one, but that won't happen until Flash starts going down, which doesn't look to be happening for at least a couple more years.
5. More books covering more complex game examples. I say books because most engine-less, complex games are likely to be far too long and involved for most free online tutorials. Skilled people want to be compensated for writing hundreds of pages of instructions, and that is understandable. There is a book I am looking forward to coming out in October called "Learning HTML5 Game Programming", which appears to be the first 100% game-related HTML5 book out there. While some write their books with a game slant, this will be the first total game-related book as far as I can tell.
I don't think this has been an unfair critique of the current state of HTML5 Canvas development. I want Canvas. I want open standards and total adoption of it. However, it isn't there yet, and may not be there for a while. But in almost every negative I mention, I have tried to show how things further up the pipe could drastically improve the landscape.
The future looks bright for HTML5, but I think we are still a few minutes before dawn for most game developers.