Can Flash be used for PBBGs?

In short, I think the answer is yes and I will explain myself as I write this post.

This post is in response to a comment by jmucchiello on another post. He has suggested that I write this, and since I have been looking for topics, here it is.

Lets define what a PBBG is.

http://www.pbbg.org/

A persistent browser-based game, or PBBG, is a computer game that satisfies the following two criteria:
  1. It is browser-based. The game is played over the Internet using only a web browser.
  2. It is persistent. Progress in the game is achieved over multiple playing sessions.
PBBGs merge the depth and longevity of an application-based game with the accessibility and portability of a browser-based game. PBBG can be spoken as pee-bee for brevity.
There is the definition from The PBBG project. Now, this definition leaves a little room for interpretation on it’s first point; “It is browser-based. The game is played over the Internet using only a web browser.”
Is flash player part of the browser? While it is not an internal function of the browser it is still part of it through extensions in my thoughts. Without it a browser would be lacking some serious functionality when browsing the web.  It’s expected nowadays that flash is installed. And if Adobe isn’t lying, 98.8% of computers online have flash player installed.
So in my opinion flash part of the browser.  Its simply expected that you will have it.
Now, if you made it this far with reading jmucchiello comment on the other post, go do so since I will be touching on it now.
And by extension should not involve being continuously connected to the host system
This is where the main bit of confusing is araising I think. And while the majority of people know how flash works that read this blog, I will give a quick overview of it.
Flash player does not create a continous connection to a server by default. It simply requests a SWF from your server, downloads and caches it, and is ran in your browser like any other web page.  This is no different than you would expect an AJAX app or a Silverlight app.
So when it comes down it, Flash, AJAX and Silverlight all perform the the same basic functions but in different languages.  With all three you can create continuous connections, or at least mimic a continuous connection (Can an AJAX script make a continuous connection or does it relay on constantly requesting data?) though.
And let me clearify, sine this may be the point of confusion. When I talk about using Flash for PBBGs, I don’t mean to create something to similar to an MMO (Though I am looking into it), but instead to use Flash as an interface instad of just HTML/CSS or AJAX. The answer to why flash is simply I like flash. I’m good at it and it offers me a chance to do things in different ways.
I do still intend on using html/css/ajax for the majority of my work, but I kind of feel I need to make people realize flash is more than just for popup ads and streaming video.
So, I await counter arguements.  Just keep in mind this post is trying to convince everyone to drop everything and must start developing in Flash, but that Flash is an option and shouldn’t be dismissed.

18 Comments

  1. I can't give a counter argument, because I agree with you. Flash just allows for a, pardon the pun, flashier interface than what can reasonably be pulled of with strict html/css/javascript. The backend is still exactly the same. In fact, wouldn't Flash just be kicking off http requests to the server in the setup you describe? That's exactly the same.

  2. Flash, when used with a socket server can maintain a continuous connection like you experience with MMO's like WoW. I haven't tried this yet, but I will because of work soon.

    But you are correct, normally and most of the time, flash use submits HTTP requests to get information.

  3. Hmm

    Flash cannot be compared to AJAX, as AJAX is 'simply' a bunch of javascripts that use standard HTTP methods to send and receive data. Flash is an alternative interface to display images and receive input from the user. Flash by its very nature is divorced from the browser code as it is a plugin, a 'blob' in the middle of the HTML text.

    Don't get me wrong, flash is a great way to add that extra bit of spice to a website/game, but please don't confuse it with being part of a browser based game. That would be the same as saying that Java applets are also part of a browser based game.

    Of course, using flash allows you to ignore any browser specific issues that occur with HTML and CSS. There lies the problem though, HTML and CSS are code written for a browser to interpret and display, and Flash movies are created for the Flash application to display at the browsers request.

  4. I don't understand why you are saying that Flash can not be used for browser based games? Why not? A browser game relays on data coming or going into databases.

    Please explain why Flash fails at being a usable medium for PBBGs. The fact that it's a plugin matter. Pretty much everyone has it. Those that don't should. Flash is available for most platforms.

    I have heard several times (not just on here) from people that Flash can't be used, but no one can explain way. Can a reason other than it's a plugin be provide as to why it can't/shouldn't be use?

    I'm not going after you in particular Xalthorn. I am just lost as to way Flash is so shunned. Again, I'm not saying we should all switch to flash for interfaces. I'm not likely to create a flash interface until Adobe releases flash for linux.

    Cameron uses Silverlight, others use AJAX. How is using Flash so different?

  5. I sure hope Flash CAN be used for a PBBG, since I'm at planning stages for a game that should use Flash for all frontend needs.

    It really doesn't make much difference if you use HTML or Flash for end-user interface, as long as you keep in mind the usability issues that can arise from that (and plan for them), and always remember that all data should be validated at the server, never at the client.

    Other than that, Flash is only another method you can use to "fancy up" your game visuals, and a great one at that. With the new Flash 10 beta (Astro) 3D methods that should give a good performance boost for 3D engines made for Actionscript, I think Flash is about to become a much more powerful way to make streamlined PBBGs than even AJAX.

  6. The PBBG.org page actually says "PBBGs may be text-based, or they may take advantage of browser plug-ins such as Flash or Java to create a more dynamic game play environment." I think a PBBG is any game that's browser-based and consistent – regardless of the browser technologies involved.

    jmucchiello's point that if a game makes a socket connection, you've crossed the line over to MMO is pretty interesting. It's seems like a pretty good way to make a distinction. I don't know if making such distinctions is all that worth the effort though. I think if you can play a game in a browser without installing additional software (assuming plugins like Flash are already installed in most browsers), then you're at least talking BBG. There are a lot of blurred lines there. I use some "polling" in Aethora, so you can chat or watch a battle in "real time". If I did the exact same thing but with a socket rather than polling, and yet the effect to the player was indistinguishable, what's the difference?

    As an aside, I've seen many games I would consider PBBGs labeling themselves as MMOs…

    I'm actually kind of surprised we haven't seen many Flash-based PBBGs. There's AdventureQuest, of course, but not many others. In particular, I could see it's usefulness in certain sections of a game; combining Flash elements with HTML/CSS/JS can be tricky but when done well can result in a really smooth interface.

    I think Flash gets a bad rap mainly because the bulk of the Flash games all over the web are just unimaginative knock-offs of each other (not that you don't see the same thing in the PBBG world). They are very rarely "persistent" – sometimes they offer a "save game" feature which actually saves data locally, rather than on a server. And, of course, Flash games tend to suffer from the same issue that big-budget movies have – lots of special effects that wow you from the start, but soon enough you find the plot to be hollow and the writing weak.

  7. Sorry about the bottom half of the post being without line breaks… It gets angry when I add them…Anyways…

    I could agree with you more Ranger Sheck. I believe that maintaining a constant connection to the server pulls you out of the realm of PBBGs.

    You mentioned that Flash games are rarely persistent. This is true, but I just want to point out that Flash is capable of database manipulation through using server side scripts. It just hasn't been really done on the same scale as more traditional PBBGs.

    I think we should amend the definition of PBBGs to include that a socket that is used for something more complex than chat, like live movement, removes your game from the definition of PBBG.

  8. The thing is: is it really necessary to make a distinction between MMOs and PBBGs? At least for me, most PBBG are MMOs. They are mostly massive, are all multiplayer, and are online.

    When I need to explain to someone what are PBBGs, I say that they are a subclass of MMOs made to be played at browsers, and usually at a slower pace than common MMOs.

    I see no need to draw a line between them both. It doesn't make sense to me to have a game, browser-based, persistent, made with whatever technology works better (AJAX, Flash, Java, Silverlight), and call it a PBBG… but if I decide that for some performance reason I should keep a open socket, the exact same game it's something different.

    There's nothing at the definition of PBBGs (which was made after the fact) that implies, at least to me, that one cannot use a continuous connection.

  9. I didn't mean to say that Flash couldn't be used for PBBGs, but re-reading my post, I certainly gave that impression. It can, quite easily and successfully. What I was saying was that it is a different beast to Ajax in that Ajax is 'standard' browser code and Flash is something on top of it.

    I guess what I was trying to say (and failed) was that if you were to take a standard browser (any browser, any system) before any plugins or helper applications were considered, a browser based game should be able to function.

    Of course, the flip side to this argument is JavaScript, that's also not the same, or at least standardised, across browsers so to be pedantic, a 'pure' PBBG shouldn't use that either which would leave us with a little lost for many projects.

    The main worry with using Flash is that people tend to misuse it or at least not think properly how it can benefit their game.

    For example, you could quite easily create a few little flash mini games and put them in your PBBG as tavern games. Nothing wrong with this approach, but it's hardly integrating flash into your game.

    If, instead, you used Flash to display dynamic content based on previous responses and have it link to your database, you're starting to integrate it properly. Whether this is a menu system, an inventory, a map, or even the whole darn site, you're starting to use Flash properly.

    I'm sure that I read somewhere that both JavaScript and Flash are both available on 90% of browsers (the same ones?) but should we be bothered about the 10%?

    Personally I think not, I say go with the majority, and the majority have both JavaScript and Flash and run nice large resolution screens (at least gamers do and they are our target audience).

  10. @DivinoAG The person of a definition is so that people have a general idea of what or how the game is going to work. The difference between an MMO and a PBBG lays in the fact that your change experience is click based. You read, click and something happens. You leave and come back and things are pretty much the lay you left them.

    In a MMO, shit is happening around you no matter what you do. All players you encounter are online and expect you to be too.

    So by making a definition that constrains what a PBBG could possibly be not only gives us a stronger image, but allows users to easily know before hand what they are getting into. Or, thats what I think at least.

    @Xalthorn I agree that the majority of people misuse Flash, and it saddens me greatly, being a ActionScript developer. (Not a great one, but I'm pretty good 😉 ). But the same can be sad for any language.

    The point I was trying to make was that we can't just limit or dismiss a tech because it has a bad image or it's conventional. If it's the best for you and your game, use it .

  11. @bardicknowledge: I understand that the category needs to have a good definition. But I believe that you can simply define PBBGs as a sub-category of MMOs, like how you can say that MMORPGs are a sub-genre of MMOs, or how Valve's Portal belongs to a sub-genre of First-Person Shooters, something like a First-Person Puzzle.

    Both deal with the same basic mechanics (massive player base, online-only, can deal with many different genres), but PBBGs are more specific by dealing with browsers as their main engine, and commonly being aimed for more casual players, with slower pace and longer time-frames. You shouldn't need to say both are diametrically different simply because one deals with a particular feature differently.

    Green apples are still apples.

  12. Just my opinion:

    Flash is just the way to communicate with player. You can make three different interfaces if you like ( for example: one which uses flash, one who don't, and one without flash and adjusted for 600×800 screen resolution) but the game will still be the same just will look different.

    But If i can't play a game just with my browser ( e.g. i have no flash installed ), then it is not only browser based game – it is flash based too ( so you have to reckon with those who provide flash (just for consideration- what if adobe start asking money for flash player or change something you depend on, or some new better plugin is made? ). If i have lamer interface without flash than those who have, it is my problem, but i must have chance to do all what player supposed to do, even without flash (read – without any plugin) installed.

    @Xalthorn: even 10% from 10 000 000 is 1 000 000, if you have to split 90% with all others which is going after majority, then even 2% for you will seem great. Think about it.

    @DivinoAG: if PBBG is sub-category of MMO, then there have to be other sub-category where to put all "common MMOs" 🙂
    For example If i take your apple thing:
    Superclass: Aplles
    Class01: Green Apples
    Class02: Red Apples
    Class03: Apples – wtf???
    I think you get the point.

  13. @Baarabs: you're doing too much OOP. 🙂

    At least where I live, red apples are just called "apples". Green apples are slightly different kind of apples. So that's my reasoning, just trying to keep it simple.

  14. @Baarabs: True, 10% of a huge amount is still a huge amount. However, that's 10% of all browsers, no matter who the user is. We have the dubious benefit that we are creating games for gamers to play. Although 10% of global users don't have Flash installed, you have to wonder how many gamers don't have it installed, or wouldn't be prepared to install it.

    Personally, I'm taking the blinkered, denial approach and assuming that gamers are already set up to play all sorts of games and would already have the pretty plugins and stuff.

  15. I don't think 10% is very accurate for number of people without Flash. According to Google Analytics for my site, not a single person has shown up in the past year who did not have Flash installed.

    In any case, it's pretty much a non-issue. Unless you've got a big budget, I don't think it's wise to waste a lot of time worrying about only reaching 90% of your potential. I mean, if you're talking global users, what percentage of people are unable to use your site for accessibility reasons? How about for lack of language support? I mean, hey – for that matter, just by the nature of a PBBG we're neglecting people who don't have an Internet connection 😛

    If you want to have fun developing a game, and Flash is fun for you, then just do it. Enjoying your development environment is going to be way more critical to getting a game out the door than trying to support 100% of the global gaming community. 🙂

  16. On the note of definition, I still think we need a clear identity.

    According to Adobe, 98% of all PCs online have flash. And if you take the right approach to developing flash, you have allow the user to install flash if they don't have it in a single click. (SWFObject).

    So the issue the user not having Flash in the age of Youtube is very slim nowadays.

    But have we come to conclusion that Flash is usable as an interface for PBBGs?

  17. Well, simply check my PBBG built entirely with flash
    Now with over 10,000 active players

    So this is possible and the outcome is much better than textual games…

Leave a Reply

Your email address will not be published. Required fields are marked *