Vacatures & stages in de gamesindustrie: Control-online.nl/JOBS | Alles over gamesopleidingen: Werken in de Gamesindustrie.nl
  • Monetize that Game! 3 handige scenario’s

    Voor wie verder wil met zijn gamejam- of afstudeer-game.
  • Maestro, muziek! Serie over gamesmuziek

    Een serie van 8 artikelen over gamesmuziek.
  • Control's Serious Games Special 2012

    Presenteer uw bedrijf aan honderden opdrachtgevers
  • Wallpaper van Millenaar’s Control Cover

    Download de cover ontworpen door Karel Millenaar
  • Storytelling in Games

    Lees nu de 5-delige serie over Storytelling in Games

HTML5 is een grabbelton vol technologie

In het huidige nummer van Control staat een artikel over HTML5 – wat zijn de mogelijkheden hiervan voor games en vormt het een bedreiging voor de alleenheerschappij van Flash? Voor het artikel interviewde Niels ‘t Hooft de Italiaan Francesco Cottone, de maker van Akihabara, een framework voor het maken van (2D)-games. Aangezien niet alle citaten een plekje vonden in het artikel, en het interview  interessant is voor ontwikkelaars van webgames, vind je na de klik het hele gesprek (in het Engels).

Niels: First of all, can you tell me who you are?
Cottone: “I’m Francesco Cottone and I work as a senior programmer in a company in Milan, for boring things like application servers: Asterisk PBX and other funny acronyms. I’m that guy that never wanted to play soccer with schoolmates because playing The Great Giana Sisters on his Commodore 64 was better. That guy that skipped the beer out with friends just because he had to install the next cool Linux distribution and that guy that thinks that a cool game is not Metal Gear but Noitu Love 2. The usual nerd.”

How did Akihabara come about?
“I wrote Akihabara in my spare time, with the purpose of helping me develop some proof-of-concept on the Mac I use at work, the Windows laptop and my personal Linux laptop I use on the train, without installing a cross compiler: just open the notepad and starting prototyping.”

What everyone is calling ‘HTML5′ is really a grab bag of technologies, including CSS and Javascript. How would you describe it?
“You’re right. HTML5, CSS and Javascript are a bunch of technologies: the fun starts when the technologies works together. Many of them are already doing their thing during our everyday browsing, without us noticing it (Facebook, many of the Google services). As with all technologies, they are just funny names – Java and Script are actually the names of two pirate robots I invented for my nephew – but what makes them cool is how they are used. Chatting in a web page is now an old thing, but this happened when Javascript, HTML and CSS started working nice together.”

Which parts of HTML5 technologies do you depend on for your framework?
“I’ve used just a small part of HTML5, that is the tag. Canvas is just like, well, an artist’s canvas: you can draw anything on it, from lines to copying frames of an animation. Working with canvas is really like working with the famous SDL library – just in the browser. What makes everything move is massive JavaScript code, that I’ve tried to optimize for speed, sacrificing a little something in readability. ”

Can you explain how your framework works?
“Akihabara uses the good old ‘blit the image / render the frame’ approach on creating videogames, mixed with the flexibility of JavaScript in terms of object structure. In Akihabara there aren’t ‘sprites’ but raw objects: it’s like having many small robots that do some math and draw together on the screen. One will calculate the position of the hero and draw it on the screen (adding the annoying fairy that follows him, if this hero is heavily licensed, because a robot can do many things in sequence) and another one will move a goblin and check if it is going to hit the player. If this happens, it will ask the player’s robot to gently ‘kill’ himself. It is a mix of classic C-like SDL programming with modern object oriented programming. I’m not sure that this is the best approach for games, but it simply works.”

For what types of games does it work best?
“Akihabara was built with 2D games in mind, so 2D platformers (classic, stage-based or with exploration), adventures, puzzles, beat ‘em up and so on should be doable. The Solitude demo shows some bullets, but I don’t know if a bullet-hell game (a genre I love) is doable without lagging on slower devices. It is still in its infancy, so I don’t know what is really doable. Probably the best thing to do is just try, as I did with the demos.”

What do you feel are its limitations?
“For now, for making games with Akihabara, programming skills are required. Nowadays that is some sort of drawback. There are no visual tools for designing a game at the moment, but keeping with the metaphor I’ve used before, there’s a number of ‘presets of robots’ that can help you in Akihabara. Another big problem is the lack of documentation but I’m seeing tutorials and contributions popping around.

I noticed you’re not supporting audio yet. Do you think audio is possible with the current technology?
“I played with Gimp for years, so I can produce some graphics by myself, but I’m really the negation of music. So, since I didn’t need that, I simply didn’t work on audio. I’ve started working on audio in the past few weeks because I think that – as I read in a forum – audio can be half a game. And I’m facing a lot of technical problems: browsers aren’t providing something that ensures realtime performance of audio. I don’t mean that audio is impossible – I hope to commit my changes to Akihabara in the next few weeks, which will add music and sound effects support as an experimental feature on many browsers. I’ve added sound effects and music to all the demos, but I’m awaiting responses from some chiptune artists about using their music. Some of them are really happy to work on the project – I’ll never stop to thank them for their work.”

What did you achieve during development that you’re really proud of?
“After having coded most of the engine in JavaScript, I figured out that there was a big performance problem on desktop browsers when the game screen was ‘stretched’: the higher the zoom was, the slower the game became. The performance degraded because I was using a surface as big as the stretched screen as framebuffer. Then I discovered that, applying a doubled height and width to the canvas tag using the ‘style’ attribute of the tag (a classic practice when creating a site) and keeping the original frame at this smaller size, the slowdown vanished, since the ‘charge’ of stretching the frame was moved from JavaScript to the browser (which is faster). With this change, games started to run at full speed on 20x zoomed displays (not useful, but it shows very cool big pixels) on desktop browsers but, more important, at full speed on iPhone 3GS (and sometime also on older iPhones).”

What are the greatest remaining limitations of HTML5, that you would like to see fixed in, say, HTML6?
“HTML5 is still in draft, as you can see on the specifications page, so it is still improving. 2D support is already good, from raster graphics to vectors (which I’ve not explored enough). 3D support is on the HTML5 schedule, but it still needs standards and solid implementations.”

“What is probably missing is more clarity and strictness on audio specifications – sometimes I suspect that this feature was added just for putting some background music on sites. Probably something like but for audio should be the best solution for videogames (i.e. not samples-based but with raw audio support – Firefox is trying to implement something like that, but it’s not a standard specification). Another important fact is that HTML5 only defines how some things should be done but not how these should be implemented. That means, for example, that responsiveness of audio elements is very different from browser to browser, since it’s not defined by standards. Browsers have to work still a bit for better implementing these specifications, with high-performances solutions.”

How far along is full support of HTML5 in all browsers? Do you see Microsoft supporting the tag in IE9?

“Microsoft says, ‘HTML5 is the future’, so I hope that all the features will be implemented in their browser. You probably want me to say something about commercial things, agreements and the market, but I’m too much of a user for this. As a player, I’ve bought a Nintendo Wii for playing Zelda. I’ll use [insert cool browser name here] if a cool game will be available for that. It’s easy if I don’t have to pay a buck for this. And even easier if I don’t have to pay a buck for making that game. Without stealing, obviously. Long story short: the next Cave Story will need a browser that supports ? I’ll use a browser that supports . It is like the console war, but with browsers.”

Do you see HTML5 replacing Flash as the platform of choice for developers of web games?
“I think that what ‘rides’ the technologies are ideas. So when more good games / sites / geek things will be done using HTML5, we will probably see less things in Flash. It’s the king of obvious. I really love Pac-Man Championship for Xbox 360 and iPhone. I purchased a game from 1980 twice, so probably it’s not the technology they have used to convice me about choosing the product. Akihabara mimics the old-age games, trying to pay tribute to indie gaming, but after a quick look at the code, you will see that the 2x zoom and the 320×240 resolution are just default values. Ideas are the things that HTML5 (or Flash) need to win.”

Do you think it would (theoretically and practically) be possible to create HTML5 authoring software to make creating games as easy as it is in Flash?
“The tendency of the internet is to reproduce desktop-like experiences in browsers: Google provides free word processors, document viewers, chat, mail applications and spreadsheets. So, a GUI is doable for sure.
Blockbuster game creator tools are commercial, so probably just need more attention from the market – probably companies are discouraged by mixed performances of browsers and the lack of details of the specifications. Meanwhile some ‘nothing to lose’ solution can progressively fill the gap. Time has the answer. (I always feel old when I say such things.)”



5 reacties to “HTML5 is een grabbelton vol technologie”

  • Michiel van den anker:

    HTML5 is cool stuff and Francesco Cottone is a good hacker.

    However, if you want to understand the HTML5/CSS/JavaScript landscape you shouldn’t overlook the cross-compilers.

    Take for instance Google Web Toolkit (GWT). In a nutshell; you write Java and CSS rules, hit compile, and out comes a set of optimized, obfuscated JavaScript files (one for each browser).

    Francesco Cottone said:
    “…with the purpose of helping me develop some proof-of-concept on the Mac I use at work, the Windows laptop and my personal Linux laptop I use on the train, without installing a cross compiler: just open the notepad and starting prototyping.”

    GWT is best coded from Eclipse, which supports all three platforms mentioned.

    It is my belief that Adobe is also working on a cross-compiler to convert AS3 to JavaScript.

    See Adobe show HTML5 support in Illustrator (on 4:22)
    http://www.youtube.com/watch?v=Sqw3nrTV92c&feature=related

    Francesco Cottone’s role could very well be to test out the various hardware API’s as they come out. But I think that games development gets the needed push from cross-compilers.

    Think of all the pre-written AS3 game-code that could be used instantaneously (there would be exceptions). This same benefit applies to Java/GWT and business-application code.

  • Well, I’ve talked for myself in the interview – obviously if you want to do something on the go on a machine that isn’t yours, you can’t neither install/download something big (in size) like Eclipse or GWT. And is also obvious that my problems aren’t the same problem of industry or indies – was just the answer to the question “How did Akihabara come about?”
    The funny thing is that is a different approach to the game development that I’ve put together for solving a private problem and someone else thought that Akihabara could be useful. Was thought for being a solution, not a better (subjective) solution :)

    Thank you for the congrats… Nobody called me a “hacker” for real :)

  • Last week i downloaded Tom Clancy’s Rainbow Six Vegas Torrent from http://www.games-iso.com and, despite the fact its not really a new game, its simply the best PC game ever made in my opinion…

  • Alot more consumers ought to realize what this is and how it can help, I thoroughly enjoyed this post and I really hope that others did aswell. BTW I hope you don’t my if I link this to my site, becuase i know my readers would want this, Thanks. Thanks

  • Hiya, I’m really glad I have found this info. Today bloggers publish only about gossip and net stuff and this is actually frustrating. A good web site with interesting content, that is what I need. Thank you for making this site, and I’ll be visiting again. Do you do newsletters? I Can not find it.

Reageer

You must be logged in to post a comment.

Steun Gamundo
Steun Triangle Studios
Kalender
June 2010
M T W T F S S
« May   Jul »
 123456
78910111213
14151617181920
21222324252627
282930