Simagery

Members
  • Content count

    510
  • Joined

  • Last visited

Community Reputation

732 Good

About Simagery

  • Rank
    Advanced Member
  1. Okay... this should be easy, but it's hard to dig out of Google (or maybe it's not easy)... I've got a library that can resolve collisions between circles and OBBs. It's resolver needs a collision normal and a depth. I've got a second library that can do pixel-perfect collision detection and it returns a bounding box of the overlap between two objects. What I'm looking for is to have physics objects (circles, OBBs) collide with a terrain (bitmap) and have them react correctly... so, the terrain is fixed and has zero reaction to the collision, while the physical object gets the proper collision normal and depth. Anyone able to offer any pointers on this (it's in 2D if you can't tell)? All the info I find is on 3D stuff, which obviously isn't pixel-perfect, and the 2D stuff on pixel perfect is just on the detecting (which I've got handled no problem). Surely games like Worms, etc., with per-pixel terrains are doing this (or similar)... any ideas? Thanks!
  2. [web] Textured Isometric (flash)

    Quote:Original post by Saruman Quote:Original post by Simagery I consider Flash Player 8 to be equivalent to an SNES or 386+VGA PC. So, I'd imagine you could implement just about any game with comparable performance from thsoe platforms in Flash. Flash Player 9, which has a JIT, probably gets more in the ballpark of a 486+SVGA. I agree with you most of the statements in your post, but this one unfortunately is wrong beyond wrong. I should have been more clear: *computationally*, I'd put Flash Player 8 on par with a 386. As I mentioned, when it comes to some functions (like bitmap ops in Flash8+), Flash is equivalent to any current 2D API. The point I was trying to make was that if you wanted to do something like Doom, which certainly runs on a 386/486, you'd be hardpress in Flash because the *ActionScript* part doesn't run anywhere near as fast as native code. Of course, you could probably get pretty close by decomposing it to bitmap ops (which some have done to get Wolf3D-style rendering). Don't be mistaken, I'm *completely* all for Flash game development and have absolutely no qualms with its performance (particularly in Flash 9). You can certainly read all of my grandizing at my blog. Quote:I highly doubt the game Dofus (which is MX/8 targetted not even 9!) would run on a 386. Also here is a small RTS demo. To be honest, Dofus would probably run on a 386 *if* the bitmap ops were accelerated (like they are in Flash, but wouldn't have been on a 386). As would the RTS demo (there's like 3 sprites moving at once, not exactly a performance demo). Don't take my suggestion of "386" as also meaning "320x200, 256 colors", because that's certainly a leg-up Flash has: true color bitmap ops at high resolution (and square pixels!).
  3. EA reputation (bf2142)

    Quote:Original post by LilBudyWizer It is not implied nor necessary that a single player game transmit data across the internet. What about Spore? It's single-player and it *does* transmit data across the internet. Broadband penetration is pretty high amongst game players, amongst US households (EA's largest market), and is growing rapidly amongst the computer using population in general. While I grieve for the fact that you (or others) have to pay for metered broadband access, it's not the case for vast majority of those playing the game. Besides, I would imagine the additional bandwidth used by the in-game advertising would cost something on par with the amount of electricity "wasted" by an inefficient busy loop in the game code... in other words, pennies. Quote:That I accept that some information necessary for playing their game online can and will be used for marketing purposes does not mean I accept that they transmit any and all information they might find useful. And just because alarmists jump to the (false) conclusion that EA would be gather nefarious data about the user does not mean that they do. Show me where EA has a track record of *deception* of their customers and *perhaps* I'll find your paranoia rational. Quote:They need only my position and heading to determine what I am viewing. They designed the levels, they placed the ads. It takes substantial processing on their end to determine what ads I'm viewing along with everyone else playing their game at the same time. They choose not to incur that expense by offloading that work onto my PC and that I object to. They are using my resources to perform their business processing. Okay, now you *have* to pass me what you're smoking because it must be some damn good stuff. Do you really think that EA has set out to use BF2142 as a distributed computing environment for working out which ads are being view in-game? Do you *really* believe that? Do you *really* think that doing this would even save them money compared to the engineering cost? *Really*? To be honest, your insistence on stressing their "usage" of your computing resources as being some kind of impropriety really dillutes -- to the point of dismisal -- any argument you may be making. Quote:They don't care about losing me as a customer and I don't care about losing them as a vendor so everyone but you is happy. Sorry you don't like it, but I choose not to permit this from this company or any other and as such I'm not going to buy their software. Live with it. Then what the heck are you complaining about? If you don't care about them or their product, then why does your opinion mean anything to the rest of us (or them)? EA is concerned about their *customers'* opinion. And yes, their *customers* did complain, and they addressed those complaints (possibly not satisfactory enough for everyone, though plenty enough for me), but you are aboslutely right that if you wash your hands of EA they'll happily wash their hands of you... because you've quite clearly pointed out that you are *not* a potential sale.
  4. Scenegraphs and multiple passes

    Using a true DAG (directed acyclic graph) for a "scene graph" is simply not practical for modern game development on modern hardware. In fact, the term "scene graph," while useful due to its historical usage, is misleading relative to the way most people (should) use it. I (and many, many others) would recommend you think of it more like a "scene database" or more generically, "scene manager." Implementing it in terms of a DAG doesn't offer you much advantage and has quite a bit of disadvantage (as you're discovering with multiple render passes, a classic example of where scene *graphs* become less practical/intuitive). Now, a DAG can be useful for certain scene management tasks, such as spatial (hierarchical) relationships, or complex material descriptions (if they're dynamically editable at a high level, otherwise "bake" them into a more compact representation). Most of the scenegraph groupthink comes from the SGI Inventor days. While many APIs and middleware have attempted to propogate the thinking (most of them as extensions of Inventor thinking), the majority of major commercial game developers I'm aware of don't implement scene graphs anywhere near that literally. Now, you're at least not making the most fundamental mistake, which is mixing renderstate control flow (in the form of a DAG) with spatial/hierarchical relationships (in the form of a DAG) into one unified DAG, which is the classic scene graph that most people implement (and are eventually frustrated by). I still wouldn't personally use a DAG for renderstate control, as I tend to prefer something logically equivalent to display lists (which may or may not be populated by traversing a DAG, or querying a database, or by running script).
  5. EA reputation (bf2142)

    Quote:Original post by jfclavette I don't think I've said it loudly enough yet. I'll reiterate again. THIS IS NOT PRODUCT PLACEMENT, it's literally banner ads. And I totally agree, as I said earlier, its not product placement. But it's not "literally" banner ads, it's "litterally" billboard ads, which as much as it kills the verisimilitude of the gaming for me, is different. Quote:Furthermore, each time I see a Massive advertisement, I give them free money, unlike fixed price product placement. Again with this argument... EA making money post-sale is not *wrong*, however much you may dislike it. I don't think its a good route from a PR perspective, but let's not word our arguments as if them making money off of you post-sale is an illegal/immoral/unetical act, because it simply isn't. Quote:Are they paid per view? Again, doesn't matter. What if they, theoretically, figured out a way to make money based on which state you purchased the game from? Would you be outraged and demand that retailers not report where the game was purchased from? Of course not. It simply doesn't matter whether or not they make money off of it, that just dillutes the issues by introducing "evil" motives. Quote:I'd be VERY surprised if this incident had much to do with the price slump. Google's stock charts has an interesting feature that shows press releases (and blog/news items) relative to stock price (like a timeline). I showed up this morning to find the stock slumped about a point, with the only bad news being articles related to this story. Of course, after EA's announcement and the FUD was cleared up, the stock began to climb (and finished up for the day), but let's not pretend that word-of-mouth in the blog echochamber doesn't affect stocks. As a second example, last week when there were several articles about NBA Live players being pissed with the game and shifting to other (competing) products, there was an identical pattern. Quote:Quote:Look at it this way: for 99.999% (if not absolutely 100%) of the people who buy BF2142, the IGA networking code has zero impact on them. There's no loss of privacy, no security issues, no software stability issues That's a huge assumption. It's interoperability between three systems (User's IGA and EA) that sends files around without user intervention. Without falling into nutjob paranoia, saying that there are no risks is a pretty bold statement. To rephrase: for 99.999% of the people who buy BF2142, the IGA networking code has zero *additional* impact on them then running the game without it. You can extrapolate about interoperatbility, etc., but you could do the same thing about a developer's choice pathing algorithm or graphics libraries. Quote:I can't wait 'til EA refuses to include the software in their next version and the IGA starts sending strange animal pictures. [grin] Funny... :) Seriously, though, I'm quite sure this game is playable without an internet connection, and I'm quite sure that the system has a fallback (either fake ads or built-in, pre-purchased ads) in the case where either the network is unavailable or a future day when IGA's contract expires.
  6. EA reputation (bf2142)

    Quote:Original post by wilhil I used to like them in the good old days when they made really good games, and it was targeted towards the people, but now they make big powerful games targeted just to make money and if people like them, it is ok. Let's all be honest with ourselves here: all of these game developers of any reasonable size are businesses that are dedicated to making money. If they weren't, they'd be giving it away (or selling it at cost). And being that game sales come from customers walking into a store, picking the game up off the shelf and laying down cold hard cash, it most certainly matters that *people like them*, otherwise they're not going to buy them. We need to accept that as video games become more mainstream that their perceived "quality," particularly for "blockbuster" titles, will always appear to decline as they are designed to attract a broader (and thus, more dilluted and less dedicated) audience. I'm not making an excuse, I'm just trying to point out that this is the inevitable path of *all* commercial media since the printing press. Quote:can it also get my username? This is just FUD. There is no indication that they'd have access to your username, and if they did, *then* that would be a huge mistake on EA's part, but that's not the case. Quote:however, EA just arnt good, I think their ethics are bad in the fact that they stop games that are profitable just because they are not as much as they want, and they stop. That's not a matter of ethics, that's a matter of business planning. And what evidence do you have that the games they have stopped aren't profitable? I adhere to classic Hollywood sentiment that "only the last sequel doesn't make money." If its making money, why stop it? I've not gotten the impression that Origin or Westwood were highly profitable studios (at the time they were closed, regardless of their prior successes), and their locations away from major game development centers did not help their chances.
  7. EA reputation (bf2142)

    Quote:Original post by jfclavette Common sense doesn't tell me that a game will send info unrelated to my enjoyment (perhaps even to the detriment of my enjoyment, but let's not go there) of said game to third parties in order to milk more milk from it, therefore I expect it to be disclaimed. Well, if some surveys are to be believed (and other posters in this thread suggest), the in-game ads *are* related to their enjoyment. Does that justify it, then? If EA had placed a Dodge logo on the front of their military vehicles, would you expect that to be disclaimed because they are milking more milk from it? Quote:EA very well knew that it would cause a hubbub like it did. Really? The stock price slump from earlier today doesn't seem to indicate it was part of their plan. In fact, since they placed a disclaimer in the box, it's a decent indicator that they realized it may be a problem but a little late in the game (after the boxes were sent to the printers), but that it wouldn't be a big enough deal to prevent people who liked the game enough to plunk down $50 for it not to play it (because, you know, we've all agreed that that info gathered is utterly benign). Quote:If this hadn't been posted in the GDNet Lounge, I wouldn't have known about it. I don't personally care, but I know people with roughly my level of game news awareness that might. And just because some people care, doesn't in any way mean that EA is obligated to let them know. There are people who care about how the software is written, but EA is not obligated to let them know. There are people who care who the staff on the game was, but EA is in no way obligated to let them know (and certainly not on a disclaimer on the outside of the box). Look at it this way: for 99.999% (if not absolutely 100%) of the people who buy BF2142, the IGA networking code has zero impact on them. There's no loss of privacy, no security issues, no software stability issues, absolutely no change in the product they're using. There is a gain of additional revenue for EA, which offsets the increasing development costs (including ongoing server maintenance), which contributes to EA's bottom line, which raises their stock price, which betters my stock options, which I sell to cover my gambling debts so that I can afford to my food for my four-month-old daughter... so, if you don't go out and buy BF2142 right now and bask in the warmth of the in-game advertising, you are stealing the food from my baby's mouth! [grin]
  8. EA reputation (bf2142)

    Quote:Original post by jfclavette Quote:So, surfing the web (even with ad-blocking software) reveals far more data about your machine than does playing BF2142. How so? A website doesn't know anything about me except my IP and the time at which I made a request. The website also knows browser version information, as well as any data it may collect my storing/retrieving cookies. Of course, these can be disabled/blocked, but as you respond below, "Joe Six Pack consumer won't know about it." Of course, my point wasn't which one reveals more info or anything... my point was that the informational reveal is trivial info that is equivalent (if not identical) to routine information revealed during normal operation of any web-connected device. Quote:Quote:and they report impression data (how long a given ad is onscreen) (again, very reasonable). There is absolutely no privacy impact whatsoever. I disagree. The content sent includes the time played as well as what ads I've seen. (That's data-minable all the way down to what level I played and when I went for a bathroom break, if they so wished.) You're giving data-mining too much credit. They can ascertain when you were "playing" (i.e., the game was running and you were in a level), but they obviously have no idea whether you're sitting in front of the keyboard, chatting on the phone, or are surfing the web in a separate window. And revealing that you (or rather, IP 128.13.58.61) "played" BF2142 from 830pm to 1130pm on a Thursday night is not exactly a privacy violation in my book, though I'll concede that some people would label it as such. Quote:Quote:I believe the reason EA included the sheet of paper inside the box was not for the nefarious reason that "they knew they were doing something bad" ... Agreed. However, it's still very immoral to put the disclaimer INSIDE the box. My questions is "Is there a clear disclaimer of this outside the box that I can see before I buy ?" So far, the answer seems to be "No." It's most certainly not "immoral," and at best you could make an argument that it's unethical. And your point about the disclaimer simply goes to my example about car commercials: why is it necessary for everything possible to be disclaimed? I know that's not what you're asking for, and I'd agree that they should have done that from a PR perspective (hindsight being 20/20 and all), but they are in no way obligated to do so; and personally, had I released the product I'm not sure whether I would have thought "better put a disclaimer on the box that anonymous usage statistics are being reported related to the advertising!" Quote:Quote:But let's dispense with the EA bashing. Bad PR move? Sure, they should have made it optional and very apparent during installation (or first run). Evil? No. Privacy-invading? No. Worth boycotting? No. Deceptive? No. Agreed, except for privacy-invading and deceptive. It's deceptive if there's no mention of it on the box, and I still find that it invades my privacy. (Altough I'm not much of a privacy freak, some people might care, and it's their right to since this data is in no way contributes to their enjoyment of the game.) It's only deceptive if it was intentional. There's no indication that EA was trying to "dupe" customers into buying the product. Given the hubbub, don't you think EA wishes they could simply go back and stick something in the fineprint? Would the complaint then be "but it was in the fineprint! they should have made it clearer!" but where is the line drawn? And you're muddling the concepts of "right to privacy" and consumer expectations. Just because people have a right to privacy has no bearing on whether or not this contributes to their enjoyment of the game. Crappy level design sorely impacts my enjoyment of many games, but I'm not "entitled" to anything different. Quote:Why is it my job to help advertisers? I've bought the game without any kind of discount. You're not entitled to a discount simply because EA is monetizing the sale beyond the consumer dollar. Of course, customer loyalty and general retail good will would suggest that you'd provide some benefit or upside to the consumer in exchange for their eyeballs, but I tire of the suggestion by many that because you pay for something it's "wrong" (as in immoral/unethical/illegal) for a producer to further profit from the purchase. People often label stuff "wrong" or "they can't do that!" when what they actually mean is "I'm not willing to pay for it *and* put up with advertising, I'm taking my consumer dollar elsewhere." Quote:Quote:Of course, as Joystiq pointed out, they announced they were going to do this months ago, but for some reason it was a surprise to all those "editors" on those blogs! The Joe Six Pack consumers won't know about it until they open the box since they don't read press releases tough. That's my biggest grip. And Joe Six Pack isn't going to care, either! This is not a privacy violation (certainly not in the legal sense) and its not a security threat (as the initial spyware FUD suggested). BF2142 is a game *largely* played online, so there is a sincere presumption on EA's part that the consumer is aware that the game will be communicating with computers external to their own. Again, don't take any of my arguments as apologies on EA's behalf. I definitely think it would have been in their best interest (and the consumer's) to provide a disclaimer on the box to indicate the in-game ad details. But, I'm not going to let that gaff affect my appraisal of the game or the developers who made it (btw, I've never played any of the BF series nor do I know any of the developers working directly on it). I consider it an issue where a retailer should allow for a return if the consumer is unhappy (which they largely can't due to the easily-copyable digital media), or EA should issue a patch that allows customers to opt-out.
  9. EA reputation (bf2142)

    I think this is being blown way out of proportion (blogs? no!). Joystiq had some clarification on this earlier today: Quote:The advertising program in Battlefield 2142 does not access any files which are not directly related to the game. It does not capture personal data such as cookies, account login detail, or surfing history. BF 2142 delivers ads by region. The advertising system uses a player's IP address to determine the region of the player, assisting to serve the appropriate ads by region and language. For instance, a player in Paris might be presented with ads in French. The information collected will not be repurposed for other uses. Battlefield 2142 also tracks "impression data" related to in-game advertisements: location of a billboard in the game, brand advertised, duration of advertisement impression, etc. This information is used to help advertisers qualify the reach of a given advertisement. So, surfing the web (even with ad-blocking software) reveals far more data about your machine than does playing BF2142. In other words, everyone reading this thread gave GameDev.Net (and if you clicked the Joystiq link, them as well) more info than you hand over to IGA (via EA). To summarize: you give them your IP address for regional-advertising (which I find entirely reasonable), and they report impression data (how long a given ad is onscreen) (again, very reasonable). There is absolutely no privacy impact whatsoever. I believe the reason EA included the sheet of paper inside the box was not for the nefarious reason that "they knew they were doing something bad" or they "didn't what people to know until after they purchased the game and opened it." The reason is that in the sue-happy US, large corporations like EA have to go above and beyond to cover their ass to avoid being bled dry by pedantic consumers. Kinda like car commercials telling me that I can't really drive my car across the ocean or up the side of a building... because, you know, if they didn't, I'd be trying it then suing their asses when I wrecked my Dodge. Of course, I really don't like the idea of in-game advertising like this, particularly for a commercial title I've paid for. I'm fine with product placement, and I realize that some see this as just a more "advanced" form of that, but it's not really the same. Product placement is (or should) be the branding that would *naturally* exist in a given setting, i.e. the guy in the sitcom would probably be drinking a Diet Coke, not a non-brand "soda." But when it comes to billboards... well, I don't like billboards in *real* life (but I do like Diet Coke!), so why would I want to put up with them in my *fake* life? I do allow for the exception of free games that support themselves with advertising (in-game or not), along the lines of traditional advertising (TV networks, magazines, newspapers, websites). But let's dispense with the EA bashing. Bad PR move? Sure, they should have made it optional and very apparent during installation (or first run). Evil? No. Privacy-invading? No. Worth boycotting? No. Deceptive? No. Of course, as Joystiq pointed out, they announced they were going to do this months ago, but for some reason it was a surprise to all those "editors" on those blogs!
  10. One option (and I have no idea if this is the best or even decent) is to create an ActiveX control or other web-embeddable component and use ActiveDesktop. I've seen an animated desktop that used Flash (or maybe Shockwave) that basically was just a webpage with the content embedded. That may or may not be easier than what AngelCode suggests...
  11. Quote:Original post by kevinlynx I think i'd better to find some tools which can help me with the map edit! Tile Studio is excellent. Mappy is also very popular (but not as polished).
  12. Another option (though possibly heavier weight than you may need) is to use a custom projector instead of the Macromedia/Adobe-provided one. You can find a free/open-source projector (which used to be a commercial offering) called Screenweaver at OSFlash.org. There's also very complete and customizable commercial options available for reasonable prices from folks like Multidmedia (MDM), SWF Studio, and NeoSwiff (Google will be your friend).
  13. [web] Textured Isometric (flash)

    Quote:I've seen countless tutorials/demos about isometric in flash, but none of them are textured. Why is that? Is it too slow? First, to clarify terms, I assume you mean why do the demos/tutorials use vector art with solid-color fills instead of bitmap fills or sprites? (Flash can't do true polygonal texturing, but the latest versions can do some 2D approximations.) Most of the tutorials/demos I'm aware of the web (like TonyPa's or Kirupa's) were written for Flash 5 or Flash MX. In these versions of Flash, bitmap operations were not all that accelerated and didn't offer much of an advantage over vector art. Plus, most of these creators were using the Flash tool itself to generate the example art in their demos. Now, with Flash 8 and 9, Adobe has introduced some significant bitmap optimizations including a class (BitmapData) that gives direct, fast access to bitmaps and allows the developer to create offscreen buffers, sprite sheets, etc., just as one would in a traditional bitmap API like SDL or DirectDraw. I consider Flash Player 8 to be equivalent to an SNES or 386+VGA PC. So, I'd imagine you could implement just about any game with comparable performance from thsoe platforms in Flash. Flash Player 9, which has a JIT, probably gets more in the ballpark of a 486+SVGA. Of course, there are some operations in Flash that are as fast as would be expected on current hardware, such as the bitmap filters (blurs, drop-shadows, glows, convolution filters) and audio (MP3 decoding, mixing, spectrum analysis) because they are implemented in native assembler. As a result, there are many operations that Flash can do significantly faster (and more on par with native code) than can be done in straight ActionScript. My impressions, though I've not dabbled yet personally, is that Flash Player 9 with ActionScript3 (which is JIT'd) will give you results more similar to Java (when its JIT'd) in timing pure ActionScript code. The advantage of Flash is all of the built-in graphics operations (and of course, lower content overhead).
  14. The other two big replies hit on the points I would make, mainly that you should always consider the gameplay "map" distinct from the rendering "map." In your scenario, you can most certainly have a conceptual 2D map rendered in 3D, and even have a tile-based world where that operates in 3D (as the AP described). You mentioned looking for the "feel" of a 2D game without the rigidity. One of the most influential "tricks" I've ever discovered by examining classic games was the movement of Link in the original Legend of Zelda (NES). It demonstrates the brilliance with which Miyamoto, et al at Nintendo, were able to create character mechanics that were intuitive, nuanced, and fluid on while being constrained by the hardware of the NES (Super Mario Bros. 3 being perhaps the pinnacle of this achievement). But to the specifics: anyone looking at the Legend of Zelda (LoZ) could easily discern that it's a 2D, tile-based game. In fact, just looking at a screenshot you can break down the onscreen grid: Image taken from ZeldaClassic.com, a spectacularly accurate LoZ engine. This image makes the grid pretty clear. The overall screen is divided into a 16x14 tile grid (including the 3 tiles that make-up the status bar at the top of the image), with each tile being 16x16 pixels (total screen resolution, 256x224). Now, some folks think of LoZ and imagine Link being rigidly bound to the tile grid, while other remember it being more fluid than that. In fact, it's kinda a bit of both! When Link moves around the screen, he gravitates towards a half-tile grid. He doesn't "snap" to the grid. When you press up on the gamepad, he doesn't jump to the next tile, he moves one pixel up. And if you press left on the gamepad, he moves one pixel left. *But*, if you hold down left on the gamepad, as he continues moving to the left, pixel-by-pixel, Link will shift either up or down a pixel until he lines up with the half-tile grid (which consists of 8x8 tiles, or a grid of 32x28 half-tiles). Of course, if he's already lined up, he won't correct any. What's the upside of this? Well, attacking in LoZ is very "discrete," in that you can only attack objects adjacent to you and you have to line up with them (you can't attack diagonally or at arbitrary angles). Most games that have discrete attacks also have discrete movement, otherwise the player ends up have to fine tune their movement to line up with the coarse grain required for attacking. This is, surprise surprise, hard and annoying. So, LoZ's solution was the automatic "fine tuning" that I mentioned earlier. The result is that as you head left to get that bad guy, you automatically either line up with him exactly or line up in a way that you'll clearly be missing him, but you won't end up in the case where you're off by a pixel (which would be frustrating and unintuitive). I've never found a good description of this fine tuning, but its definitely there in the game if you a play the original and its definitely there in the ZeldaClassic emulator/engine. I don't know if the makers of ZeldaClassic noticed it and re-implemented from observation, or if they reversed engineered the ROM, or if there is a discussion about it somewhere (I haven't found one). But its definitely there. What if its not? Check out a lot of the half-assed Zelda clones out there. Basically, none of them have it (and most emulate the SNES LoZ, which doesn't have this quality, but solved it by having Link's sword swing in an arc, which gives the same result without tweaking player movement). The LoZ clones will either have rigid tile movement (you press left and Link basically plays a walk animation to the next tile and stops, like a classic RPG overworld). Or, more commonly, Link has full pixel-resolution movement, with the problem that he "snags" on one-pixel boundaries of tiles if he's not lined up just so-so. Some rambling, but hopefully some useful info in all that...
  15. Flash or Java?

    I've personally decided on Flash as my game development platform of choice. You can read many of my observations here at my blog: Troy's posts related to Flash Game Development. I prefer it over Java for two big reasons: it's lighterweight, and the language (ActionScript) is more to my liking (though I'm a huge fan of Java as a language as well). Java offers a few significant advantages, though: for non-rendering-related operations, it's faster. And for some types of programming (like threads), it's more appropriate. You have to remember that Flash was a vector animation package first, with a tiny bit of branching/conditional interactivity mixed-in. It wasn't until Flash 5 that true scripting was introduced, and not really until Flash 8 was true bitmap rendering introduced (true in the sense that its fully programmable like a game programmer would expect). Flash 9 introduces ActionScript 3, which offers language improvements, as well as a lot of virtual machine optimizations. Flash 7 is currently available on MacOS, Windows, Linux, PSP, and several other embedded platforms. Flash 8 is available for MacOS and Windows. Flash 9 is available for MacOS (including Intels) and Windows (including Vista), with a beta (not sure if its public yet) for Linux (finaling in Q1Y07, I believe). MySpace has shifted its Flash components to requiring Flash Player 9 (for security reasons), so the installed base is growing faster than previous versions. Flash Players 7 and 8 are available on something like 85%+ of web-enabled computers. Since Flash Player 7 (perhaps earlier), the plugin has been able to update itself without the user having to do more than click "okay" when prompted (a browser re-launch may be necessary). Flash Player 9 just introduced (in beta form) a full-screen mode in the web plugin, which is pretty cool. As far as I can tell (and would hope), the Flash content can't activate full-screen mode, the user has to right-click and select it from the context menu (and then do the same or press ESC to return to the browser). I believe this will be great for gaming, as the switchover is seamless and instant (though no video mode changes, unfortunately). If you want to develop your Flash games in a traditional, code-oriented environment (like you would for Java, C++, C#, Python, etc...), you can grab the excellent (and recently finished from beta) FlashDevelop. I can't say enough good things about this product, and its open source (built on C#.NET) (though Windows only currently, it runs perfectly under Parallels and folks are looking at porting it to Mono). There's also the MTASC compiler (which FlashDevelop uses) that you can integrate into the IDE of your choice (if someone else hasn't already done it for you). You can find plenty of open source tools at the excellent OSFlash wiki. For games, in a web browser (or even outside of one!), I'd recommend Flash whole heartedly. The only thing so far it lacks that I miss (from a programming perspective) is threading. Not a big deal for most of the games one would make in a web browser, and the plugin itself is asychronous when it comes to network requests (which would be the most likely candidate for threads), so it doesn't come up too often. The only impact is when you have code that runs for too long (a second or so) without returning to the player it pops up a warning dialog (like javascript in the browser would). Any questions, feel free to ask! I'm a huge fan and have done a great deal of research on the subject.