Would you play (and pay for) 2D adventure games in the browser?
First of all, this thread not meant to discuss the technological challenges a developer would encounter creating such a game. There are virtually none. In my 2nd year at university I created an engine for this purpose that ran on all then-current browsers fluidly using a 800x600 display window. It's just not an issue. Or at least not an issue that can't be overcome if a developer is willing to invest some time optimizing the engine.
A bit of background: An adventure game is at it's core simply a matter of layering images on top of each other and even InternetExplorer is very much capable of layerering the typical 4 full size layers and a number of splite-type layers without running into performance issues.
So here's a little FAQ about the technology first.
Q: Browsers are not able to render such a game fast enough
A: Browsers are very much optimized for the exact type of drawing an adventure game needs and can easily render most scenes even on slower computers.
Q: Browsers can't offer sound and video like a normal application
A: All current browsers include some form of video and audio playback. Sometimes this is in the form of a default video plugin that's available in the browser (Internet Explorer/Media Player plugin), sometimes it's a native engine (Firefox, Safari), but there's always something.
Q: You can't play these games offline
A: All modern browsers can by now via special offline storage (think Cookies on steroids). Internet Explorer needs the Gears Plugin in order to do it, though.
Q: Browser games can't run fullscreen
A: While web applications can't control fullscreen mode, all current browsers have one and applications can rearrange content accordingly when the user enters it.
The issue here is whether users would actually care about it and how it should be funded. (No I'm not planning on doing one right now, this is just scientific curiosity).
The benefits:
For me that would be enough to actually prefer it running inside the browser to a dedicated application, but that's because most of my work actually happens in the web browser.
So, what are your thoughts?
A bit of background: An adventure game is at it's core simply a matter of layering images on top of each other and even InternetExplorer is very much capable of layerering the typical 4 full size layers and a number of splite-type layers without running into performance issues.
So here's a little FAQ about the technology first.
Q: Browsers are not able to render such a game fast enough
A: Browsers are very much optimized for the exact type of drawing an adventure game needs and can easily render most scenes even on slower computers.
Q: Browsers can't offer sound and video like a normal application
A: All current browsers include some form of video and audio playback. Sometimes this is in the form of a default video plugin that's available in the browser (Internet Explorer/Media Player plugin), sometimes it's a native engine (Firefox, Safari), but there's always something.
Q: You can't play these games offline
A: All modern browsers can by now via special offline storage (think Cookies on steroids). Internet Explorer needs the Gears Plugin in order to do it, though.
Q: Browser games can't run fullscreen
A: While web applications can't control fullscreen mode, all current browsers have one and applications can rearrange content accordingly when the user enters it.
The issue here is whether users would actually care about it and how it should be funded. (No I'm not planning on doing one right now, this is just scientific curiosity).
The benefits:
- Zero launch time
- Quick switching to other applications
- Available everywhere
For me that would be enough to actually prefer it running inside the browser to a dedicated application, but that's because most of my work actually happens in the web browser.
So, what are your thoughts?
Sign in to comment in this discussion.
Comments
Bought it, actually. But it's not what I mean, both from a technological and a gameplay perspective. Samarost is a collection of independent puzzles and it's a standalone Flash game.
Scalable graphics plus video and 3D.
Compatibility, usability, integration, accessibility would be the key points.
(I should probably explain further)
Compatibility: Using Flash means that it will only run on Adobe certified platforms and that would directly conflict with one of the key benefits. You couldn't play it on the iPhone, not on Android, not on the Pre...
Usability: Flash applications well, they just feel horrible. There are excpetions, but for the most part any Flash app feels first and foremost like a Flash app. The right-click menu does the rest.
Integration: Flash doesn't include the behaviours your used to from applications. This ranges from text selection over font rendering to button designs. It just always feels wrong.
Accessibility: Well, it's Flash. What else do I have to say.
Is there a browser-based version of FR?
You can't run Free Realms without a browser.
I meant the game actually running inside the browser. Not just the launch page (TTG games actually only work with a browser to. The launcher is actually a InternetExplorer instance).
You should really try Free Realm out. It does run out of the browser. Quite unique for a MMORPG.
Having been a flash developer for 8 years, I disagree. Show me one non-flash browser application which doesn't "feel horrible".
What do you mean by button designs? Do you think there is some kind of limitation of the design of buttons in flash?
Text selection over font rendering? huh? Please explain.
I've actually tried it... the interface seemed quite forced, seeing as the real game would run outside the browser anyway. Quake Live made me feel similar (eventhough the game at least runs inside the browser WINDOW. If the game needs a client plugin anyway, there's little point to running it inside the browser window)
Look at how Flash renders text. It always looks different. Out of place. And the behaviour is different too: You can't select text (unless the developer actually implements his own behaviour).
And for text selection and other stuff your application simply won't feel like a "native" application. Same with buttons and other native widgets. Flash has its own widgets which don't match those of the hosting platform. Look at any webpage in comparison: A text input box matches the usual style of the host platform.
Have you ever used flash? Making text selectable requires a complicated procedure of checking the "selectable" checkbox...
Are you talking about anti-aliasing when you say text looks different? Again, just turn it off... or create a custom anti-aliasing scheme using different thickness and sharpness.
What kind of game do you want to create that has platform native widgets? A game that looks like it's part of Microsoft Office?
Very few developers, in any, use Flash's own "widgets" (By this I presume you mean interface components) as its very easy to create completely custom interface elements, which is surely what you would want for a bespoke game?
Admittedly, it's been a while. The point is that Flash apps don't integrate as well by default. If you wanted the AA scheme to match the host system, you'd have to implement them yourself, then sniff the system settings and select the scheme that matches it. Same with buttons. And I was talking about Flash apps in general, not just games.
Don't get me wrong, Flash does have its uses as a dedicated platform or as fallback behaviour, but while normal web pages can degrade gracefully across platforms and have sensible default behaviour, Flash does not. It's much easier to write a really bad Flash application, than a really bad webpage.
Thought it may have been a while, you should definately look at ActionScript 3 and Adobe Air - you will realise how blinkered you are being towards the technology.
As someone you comes from a design background, the idea of a webapp looking exactly the same across all platforms is benefit not a hinderance.
Not quite the same as it uses shockwave, but enjoy:
http://www2.rasterwerks.com/game/phosphor/beta1.asp
And coming from an application background, it's exactly the other way around: An application should feel native on all platforms. It's not ideal when your application is the only one that displays a "X" on the right for Mac users.
If the game was running in a browser, then the browser itself would be native. I just can't understand why you would want a game to look native.
I'm not trying to say desktop applications should be built in it, but thats not what this thread is about.
The only advantage a non-flash browser game would have is what you say about Adobe certified platforms. How many people would want to pay for a browser based game on the iPhone for example is extremely negligable considering how many other limitations you would have.
Look, can we get away from the visual appearance of Flash, because as you say, it's not terribly relevant in this case (eventhough I'd still get a mild heartattack if I did a rightclick).
But for a web game there are also other reasons to not use it. The compatiblity with other devices is one thing. The backwards compatiblity another. There was just a Shockwave game posted on this thread and there are dozens of Java games. Do any of these work anymore? Well, they do if you have the plugin, but few people do today. A few years ago I had the exact same discussion with a Shockwave developer and another time with a Java developer. Not so much in recent times, can you guess why?
Edit: what other restrictions on iPhone & Co? The browser is fully functional, just the Flash developers are out of luck.
Flash 9 has 98.8% browser pentetration in mature markets. Significantly higher than any other plug-in you would require.
Not so many discussions with Shockwave and Java developers is because they all use Flash now.
You are aware that the Flash right-click menu can be entirely removed and any custom behavior can be mapped to it? What will happen on a right-click in your browser game?
Show me a site that has seemlessly integrated animation, video and audio natively in a browser without using any plugins.
Do you have any examples of your engine online?
And the reason Apple dont want flash on the iPhone? Because anyone could make a free apps that run in browsers and they would lose a lot of iTunes revenue.
Strangely they are not worries about native browser apps, why do you think that is?
But here are few other things (not terribly polished yet, so it probably only works in FF3.5+ for now). There's other, more impressive stuff, but that's just a collection of stuff I have in my devel directory:
http://www.tapper-ware.net/stable/web.filter.voxels/index.xhtml
A simple voxel-like engine.
Or maybe a bit of MarioKart?
http://www.tapper-ware.net/stable/PerspectiveWith6LinesOfXML-CanvasEnhanced/index.xhtml
How about a 3D rendered car with realtime navigation & lighting?
http://www.tapper-ware.net/devel/js/JS.tinyDim/
Maybe a bit of audio visualization?
http://www.tapper-ware.net/devel/js/JS.VideoViz/index.xhtml
Obviously you can split and stream the whole dataset so that you don't have to download the whole package according to were you're continuing with your savegame but practically there is always some redundancy.
Today i think browser based web games are fine for smaller games.
Of course you don't need to invent your own technology as there exists plenty of middleware already which is able to generate executables for different platforms as well as enabling the game in a browser via some plugin, thinking of Flash, Shockwave, Unity, Shiva, Virtools and such.
Fullscreen as well as performance aren't the main issues as fullscreen is normally supported out of the box, the more modern plugins are hw accelerated but the games are slower to a small degree due to browser communication. The embedded part, depending on the quality of the plugin, can also result into some more trouble due to the increased complexity beneath.
Considering its been around since 1996 and that content created then still runs on the latest plug-in, combined with the success of Youtube and other uber popular sites that use the technology, I think its fair to say it will be around for some time yet.
To think that any game you produce will outlast the Flash plug-in is laughable arrogance.
I'm not going to discuss that last sentence.
The game would obviously only load the data that's immediately needed to display the current room. The browser cache would take care that that data wasn't reloaded needlessly.
I think not.
As i said it's no to a minor issue for smaller games but it can be annoying depending on how much data you have to stream each time, your internet connection and the distribution mehtod of the data.
Beside of this it obviously depends on the quality of the game and how well it's working. Let's say you're doing The DIG II as a online only version, the game is great and the service is working, then most likely i would go for it, although i still would prefer having a downloadable version just for the sake that something gets broken on your side, my internet connection has problems or that your service isn't available anymore. And to be honest if such a version is available again, then i would prefer playing that version.
Since cache problems like corruption (which is not a very common occurrence) are non fatal just reloading the data in that case is acceptable.
If you want it to be 100% safe, you can use the offline storage and implement your own system, but I don't think it would be worth the trouble in this case.
One thing you shouldn't forget is that all this flexibility in a system also brings in more complexity and so there are more bugs and issues to be taken care of. You'll have to ask yourself how much this feature is worth to you putting efforts in. If it's the core of your business then it might be worth it, if it's not then i would say, stay with a more simple approach. That's also the reason why most online games do a much simpler streaming or distribute even via download.
? That's exactly the point: A real browser game would be cross-platform. Anything from iPhone to Windows and beyond.
Of course it would be nice to do a universal engine and sublicense it. But the exact economics of producing a browser-based game are not really the topic here.
An adventure engine is a sufficiently simple matter that two persons can be done with the basic framework (rooms, items, moving, interaction) in a week or so. More exotic features would come later, but the basic logic is really quite simple.
A game consists of rooms and characters.
Rooms consist of floors, layers and items.
Characters and items consist of multiple states
Only if a browser really works the way it should or a certain plugin is available for that platform as well, and then you still can face those tiny but neat platform specific issues.
Beside of this you'll have to take care of things like different resolutions, different media support, diffferent donwload speeds, different input capabilities, legal restrictions, ...
But don't get me wrong, i don't want to discourage you, my point just is, there are things to be considered.
But this business also is strongly content driven.
Imagine TTG would have released TOMI as a pure online 3d game, which technically would have been possible, then i'm sure a lot of people still would have bought it. And if the service works, most probably more people would get used to it, just like with the episodic format.