Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411807 Posts in 69416 Topics- by 58462 Members - Latest Member: Moko1910

May 29, 2024, 01:06:34 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)What about HTML5?
Pages: [1] 2 3
Print
Author Topic: What about HTML5?  (Read 8280 times)
Lehooo
Level 0
*


LEHOism--Logical yet Eclectic while Heeding Ockham


View Profile WWW
« on: September 13, 2010, 05:51:05 AM »

Hello there indie gamers and developers! I'm completely new here so this is my first post. I'm not sure if I chose the right forum for this discussion but I picked the one that seemed to fit best.

The topic is HTML5. I'm seeing lots of great experiments and demos using the technology these days, but the interest among game developers seems to be less than one would hope. Sure there are some games out there, and I see some of them have been mentioned here before, but most seem to be demonstrations of the technology or the results of trying to learn how to use it. So far, I've yet to see any really good indie game developed with HTML5 that has gotten attention simply for being a good game. All I've seen so far have gotten attention for being examples of what one can do with HTML5 these days (but maybe I've simply missed out, please point my in the right direction if that is the case).

I suspect there are lots of people in these forums who have experience developing great indie games that have gotten lots of attention (Derek Yu hangs around here doesn't he?), so I guess my question is mainly for these people. Have you any plans of starting to really use HTML5 seriously for future games? It seems to me that it is the best possible choice for those who want to support as many platforms as possible. I should admit that the question gets extra attention from me since I've been using Linux exclusively for a few years now and I've noticed that most indie games seem to be made for Windows. There are emulators of course, but they rarely work in my experience.

Anyway, I hope this can start an interesting discussion. I tried to find out if it had been brought up here before, but failed to find anything other than discussion of specific HTML5 games and the possibilities of the technology. I didn't find any thread dealing with the question of why the technology isn't used more seriously, which is what I wanted to discuss here.
Logged

LEHOism - Logical yet Eclectic while Heeding Ockham
Skofo
Level 10
*****



View Profile
« Reply #1 on: September 13, 2010, 09:57:36 AM »

I tried to use it before. While there are advantages to using HTML5 for game development, I don't think they outweigh the disadvantages. I've never actually released a game before, but I have a fair amount of experience programming games, so I feel that I should put in my two cents.

Here's a list of some reasons why HTML5 doesn't appeal to me as an indie game developer:

Forced anti-aliasing - As you may know, pixel art is pretty common in indie gaming. Modern screens often have much higher resolutions than the resolutions of pixel art games, so those games need to be magnified to be played comfortably. However, since there is no standard way to turn off HTML5 canvas anti-aliasing, magnified canvas games have this fuzzy look, which is especially apparent and unwelcome in games featuring pixel art. Firefox is the only browser that offers a way to turn it off, as far as I know. EDIT: Apparently there is an easy workaround for this that I didn't know of before.



Poor audio support - HTML5 browsers do not have a common audio format that they all support.



Chrome has trouble playing many short sounds in succession, which can be observed here. HTML5 Audio does not feature 3D audio or even panning. Only Firefox has an audio data API, which can be used to implement said panning/3D audio, as well as the ability to play tracker music and support for games that use music to dynamically control gameplay such as Audiosurf and Beat Hazard.

JavaScript - It's a pretty peculiar language that I could never quite get the hang of, particularly because of its prototype-based nature. Also, Firefox's JavaScript performance is pretty bad, so developers are severely limited in the potential complexity of their games if they want to support 30% of web users.

Lack of hardware acceleration - A significant bottleneck.

Lack of code concealment - Any software can potentially be reverse engineered, but it is particularly easy with JavaScript.

Inconvenient distribution - It is very easy to upload a Flash game and show it to thousands of people in a very short amount of time with all the popular Flash game websites out there. This does not apply to HTML5 games.

Lack of Internet Explorer support - I don't like Internet Explorer, but many people are forced to use it in their workplace, and it is pretty common for people to play web games at work.

Lack of mouse locking - I realize the possible security implications of implementing this, but it would really help me out with the types of games I want to make.

There is a workaround or compromise for each of these, but it is more practical to just use another technology for games.
« Last Edit: September 14, 2010, 04:21:11 AM by Skofo » Logged

If you wish to make a video game from scratch, you must first invent the universe.
Melly
Level 10
*****


This is how being from "da hood" is like, right?


View Profile
« Reply #2 on: September 13, 2010, 11:03:06 AM »

Skofo brings out several good points. HTML5 still seems to be a ways off from being a preferrable game development platform, and Flash still offers more than it in terms of browser game development, even if that one also has its share of annoying issues.

For hardware accelerated games, especially 3D, Unity offers another good alternative.

And I'm hearing interesting things about that Google sandbox app in development that allows you to play executables in a browser.

HTML5 just doesn't seem to be ready for serious game development yet, but may be in the near future.
Logged

Feel free to disregard the above.
Games: Minus / Action Escape Kitty
moi
Level 10
*****


DILF SANTA


View Profile WWW
« Reply #3 on: September 13, 2010, 11:05:27 AM »

I don't particularly like playing games in a browser, that's what.
Logged

subsystems   subsystems   subsystems
Skofo
Level 10
*****



View Profile
« Reply #4 on: September 13, 2010, 12:19:41 PM »

Ha, I didn't notice this: http://forums.tigsource.com/index.php?topic=14791.0

It might actually be more practical to make HTML5 games than I had thought. Smiley
Logged

If you wish to make a video game from scratch, you must first invent the universe.
st33d
Guest
« Reply #5 on: September 13, 2010, 12:44:49 PM »

A few things I disagree with:

Quote
JavaScript - It's a pretty peculiar language that I could never quite get the hang of, particularly because of its prototype-based nature. Also, Firefox's JavaScript performance is pretty bad, so developers are severely limited in the potential complexity of their games if they want to support 30% of web users.

JavaScript is an ECMAScript language. That means it shares a lot in common with Actionscript. Although the compiler blocks from a lot of the behaviour, you're actually able to do much of JavaScript's weirdness in Actionscript if you know how ECMAScript behaves.

ECMAScript pretty much embodies the essence of programming at a high level. You can do meta-language things and begin to adapt the language into a new form. You can also make a fucking mess, but with power comes responsibility. To give you an idea of the interesting things you can do:





The JavaScript engine on the iPad and iPhone runs even worse than it does in Firefox, so we're always going to be thinking a bit old-school when it comes to HTML5 games.

Quote
Lack of hardware acceleration - A significant bottleneck.

The famous Quake HTML5 demo has hardware acceleration thanks to WebGL

http://en.wikipedia.org/wiki/WebGL

Something that Flash doesn't enjoy.

Quote
Lack of code concealment - Any software can potentially be reverse engineered, but it is particularly easy with JavaScript.

JavaScript can be obfuscated and minified, making reverse-engineering it very difficult.

Quote
Lack of mouse locking - I realize the possible security implications of implementing this, but it would really help me out with the types of games I want to make.

I was wondering how HTML5 Quake deals with this, because I though it would be a strong counter argument:

http://code.google.com/p/quake2-gwt-port/wiki/FAQ

Badly apparently!  Cheesy

Issues aside...

If the Rocket and Aves Engines are actually as good as they're making out, then we should see some interesting stuff in the future. Impact Already looks pretty sweet too. The ability to easily use Ajax means that we'll see quite a few multiplayer games as well.

But still, there's limitations to what you can do. Today for example I finished a pixel art app in my game that saves and loads pngs to your computer - in Flash. You can't do that in JavaScript over the web.
Logged
Skofo
Level 10
*****



View Profile
« Reply #6 on: September 13, 2010, 02:31:37 PM »

Regardless of JavaScript's relation to ActionScript and its ability to do meta-language things, I do not really enjoy using it. I'm not saying that nobody should use it, I just personally don't like it. I tried really hard to like it. And JavaScript performance on the iPhone and iPad is so abysmal that people shouldn't even concern themselves with trying to make JavaScript games support them.

As for hardware acceleration, I was talking about 2D canvas in particular. Sorry that I didn't make this clear. WebGL is interesting indeed, although it has issues of its own that I won't get into.

JavaScript can be obfuscated and minified, but reverse engineering it is easy compared to languages that compile to bytecode like ActionScript 3. Public obfuscation methods are particularly easy to circumvent with public de-obfuscators.
Logged

If you wish to make a video game from scratch, you must first invent the universe.
mirosurabu
Guest
« Reply #7 on: September 13, 2010, 04:00:04 PM »

Somewhat related is this Spil Games hosted HTML5 mobile contest.

Looking forward to see what comes out of that, but as far as I'm concerned I don't like JS and programming environments cannot compare to those of Flash, so I can't bother myself trying HTML 5 yet.
Logged
yesfish
Guest
« Reply #8 on: September 13, 2010, 05:45:53 PM »

Lack of hardware acceleration - A significant bottleneck.

Lack of Internet Explorer support - I don't like Internet Explorer, but many people are forced to use it in their workplace, and it is pretty common for people to play web games at work.

You should see what IE9 has in store for html5: A fully hardware accelerated canvas.

What I think of canvas though... a horrible mess on top of the horrible mess that is html. You're better off using flash or silverlight.

I'm taking it back right now because I know in like, a month, I'll do a u-turn and end up praising it. That's what usually happens.
« Last Edit: September 14, 2010, 06:04:30 PM by yesfish » Logged
Lehooo
Level 0
*


LEHOism--Logical yet Eclectic while Heeding Ockham


View Profile WWW
« Reply #9 on: September 13, 2010, 05:54:34 PM »

Very interesting points here. (By the way, thanks to the moderator for moving the topic into a more fitting place, I should have thought about that from the beginning).

I have to say I don't see the issues people have with JavaScript. But maybe that's just because I prefer prototype-based object-orientation over class-based and also love highly dynamic languages. As I understand from this discussion, HTML5 is not ready to be used just yet, at least not if you want to reach out to a large audience. I do think however, that whatever the disadvantages, the advantages are very clear:
  • No proprietary plugin required. Although HTML5 is not a standard yet, it will be. That's always preferable to a format controlled by a single corporation, such as Flash.
  • Platform independence. Again, at the moment, this is not a reality as many browsers do not support it, but it is not relying on any specific platform. This is a huge advantage over native Windows applications and iPhone/Android apps.

I'm very intrigued by the aforementioned Google sandbox app but I'm having trouble finding any information on it right now. Do you have a link?
Logged

LEHOism - Logical yet Eclectic while Heeding Ockham
Skofo
Level 10
*****



View Profile
« Reply #10 on: September 13, 2010, 06:33:07 PM »

Pretty sure he's talking about Native Client.
Logged

If you wish to make a video game from scratch, you must first invent the universe.
Lehooo
Level 0
*


LEHOism--Logical yet Eclectic while Heeding Ockham


View Profile WWW
« Reply #11 on: September 13, 2010, 08:27:25 PM »

Thanks! That looks really cool, I'll look into it later.
Logged

LEHOism - Logical yet Eclectic while Heeding Ockham
namre
Guest
« Reply #12 on: September 13, 2010, 08:42:21 PM »

I have made an HTML5 game before and the points brought up by Skofo sums up everything that I noticed about the platform.

How about having Multiplayer HTML5 games? I've read before that since Javascript is client-based it would be easy to tamper with leaderboard scores and stuff.

I should also mention that Chrome and Firefox are already planning to have hardware acceleration with their next releases.
Logged
Dominic
Level 0
**



View Profile WWW
« Reply #13 on: September 13, 2010, 10:06:46 PM »

The scaling issue is really annoying. Luckily, doing nearest neighbor scaling by yourself in JavaScript is pretty easy. But you really shouldn't have to do this - I hope there will be a cross platform CSS attribute to switch to nearest neighbor some day.

JavaScript still has a bad reputation because of Internet Explorer's lackluster implementation. However, JavaScript performance has increased ten-fold in all modern browsers. By all means, it's not slow anymore.

The iPhone and iPad are also fast enough to easily "compute" 200 frames per second with my engine - the problem is the drawing performance. As soon as you enable drawing to the canvas, the framerate goes down. I expecting Apple to fix this in the future. There is no reason for it to be this slow.
   
The "Inconvenient distribution" you mentioned is unfortunate. I guess it's the price to pay when using "open" technology, instead of the black box that is Flash :/ That said, there was a proposal some time ago, to point to certain files inside a ZIP archive (something like http://example.com/game.zip,graphics/tilemap.png). Not sure what happened with it, though.

Thanks to Websockets, multiplayer is also possible. See WPilot. I guess, you're right about the easy tampering with scores and leaderboards, though. I really don't think this is easily fixable. Of course you can also tamper your scores in Flash games, but it's way more complicated than with JavaScript.


My 2 cents: It's still difficult to develop games for HTML5, but this will get easier, as browser vendors will fix their bugs.

I think the real benefit is the huge competition and arms race that is currently going on in the browser market. It's incredible how fast all the new standards got implemented. Soon all major browsers will have hardware acceleration for the 2D Canvas Context; Chrome has even enabled WebGL already in their current beta builds.

This competition is exactly was has been missing for Flash for a long time.
Logged
bateleur
Level 10
*****



View Profile
« Reply #14 on: September 14, 2010, 12:37:10 AM »

HTML 5 has a long, long way to go before it comes anywhere close to Flash as a portable platform. (I realise Flash doesn't run on iPhone/iPad, but as far as I'm concerned that's between the owners of those devices and Steve Jobs.)
Logged

st33d
Guest
« Reply #15 on: September 14, 2010, 01:16:28 AM »

I think that one of the exciting things about the Impact engine was the levels being javascript files.

That means just one level could mod an entire game and change it completely.

Being able to tamper with a game easily is as much an advantage as a disadvantage.
Logged
Lehooo
Level 0
*


LEHOism--Logical yet Eclectic while Heeding Ockham


View Profile WWW
« Reply #16 on: September 14, 2010, 02:45:32 AM »

Hm, I haven't thought about the issue of tampering with scores and such. That seems like a really hard problem to solve...

I think that one of the exciting things about the Impact engine was the levels being javascript files.

That means just one level could mod an entire game and change it completely.

Being able to tamper with a game easily is as much an advantage as a disadvantage.

That sounds really interesting! As I said before, I love highly dynamic programming and this sort of thing get me very excited. It gets me thinking about what HTML5/Javascript gaming could do for modding.
Logged

LEHOism - Logical yet Eclectic while Heeding Ockham
BorisTheBrave
Level 10
*****


View Profile WWW
« Reply #17 on: September 14, 2010, 02:18:54 PM »

I think the real benefit is the huge competition and arms race that is currently going on in the browser market. It's incredible how fast all the new standards got implemented. Soon all major browsers will have hardware acceleration for the 2D Canvas Context; Chrome has even enabled WebGL already in their current beta builds.

This competition is exactly was has been missing for Flash for a long time.
You're so right, here. But it's my opinion that the increased competition will also spur on Adobe - they are so damn lazy about Flash these days, but they'll eventually wake up. Don't think it'll alter the final outcome of JS vs Flash, but it will extend Flash's shelf life considerably beyond what a lot of people estimate.
Logged
Daniel X Moore
Level 1
*



View Profile WWW
« Reply #18 on: September 14, 2010, 03:02:51 PM »

I'm all about HTML5 these days.

I 100% agree with the concern about the poor audio support, Chrome has trouble playing short audio files and playing too many (~12) audio files simultaneously crashes the whole browser. It appears these problems will be solved in time, but it is aggravating to have little control over it.

As for the JavaScript language, as others have said, it is actually very powerful and concise, though the quality of tutorials and documentation available is poor. It's a high level language, but in order to use it well it requires the extreme discipline of a low level language.

I think the openness of the HTML5 platform is one of it's greatest benefits. It is incredibly easy to integrate sound and pixel editing tools together over the web. This enables sharing and building on the work of others as well as effortless collaboration.

Also, as far as distribution goes, it's incredibly easy in HTML5. On the Pixie platform you can edit code directly in the browser and your game is available for anyone to demo and test the moment you hit save.

It also sounds like the web is about to explode with tons of new JavaScript game engines, frameworks, and platforms... I very much look forward to all the new goodies!

Disclosure: I'm the author of the Pixie platform, I don't mean to soapbox, but HTML5 games are an issue very near and dear to my heart. The site is currently in beta, and pretty unstable, just an illustration of what is possible. I'd love to hear everyone's feedback on what issues are the biggest blockers to developing HTML5 games so I can overcome them with the Pixie Platform and enable better game creation.
Logged
mcc
Level 10
*****


glitch


View Profile WWW
« Reply #19 on: September 14, 2010, 06:26:21 PM »

The problem with HTML5 as I see it is a lack of tools. There are a couple of programming libraries for games, but there's no content creation tools I'm aware of analogous to the Flash application that target Canvas drawing or the HTML5 timeline. I'd be curious if this is likely to change at any point.
Logged

My projects:<br />Games: Jumpman Retro-futuristic platforming iJumpman iPhone version Drumcircle PC+smartphone music toy<br />More: RUN HELLO
Pages: [1] 2 3
Print
Jump to:  

Theme orange-lt created by panic