Flash vs HTML5 for Facebook Games - A Business Perspective -
i'm in planning , learning stages of building facebook game. past year foremost question has been, "flash or html5?". rather try decide answer that, thought give markets both more time mature , learn how design game , how manage server element.
over last year i've devoured thousands of pages of text concerning game development , business development, along getting solid footing in as3, python, php, c# , javascript. so, i'm interested in picking system best job rather than, example, starting off assuming game logic in python because that's enjoy most.
the game @ core strategy game , plan use many mobile phones extensively in addition standard facebook "invite friends" features. graphics won't flashy , in places rather flat because of thematic elements, rather 3d isometric farmville or other flash facebook games.
so technological perspective html5 doesn't have real advantage can see on flash, , neither flash have real advantage on html5. if see 1 has clear advantage on other happy hear in comments.
i have 5 primary questions need opinion on:
1) platform makes better sense building facebook game considering future market trends?
2) platform has better inherent elements prevent cheating? (like flash being compiled .swf vs javascript being in plain text)
3) platform attractive best game development talent future hires?
4) platform easiest take technology 1 game , use other future games? (like developing isometric graphics in flash)
5) platform easiest develop team?
here thoughts. please consider them opinions rather facts - i'm sure forgot something, or other people might think differently. i'm hoping fruitful discussion, because believe questions important , worth exchanging opinions on ;)
it's hard predict future, considering html5 standard not final within next couple of years, , microsoft's browsers way behind (only newest ie beta supports html5), developing exclusively html5 seems big risk me. makes lot of sense ios , android devices, because both safari's , chrome's webkit implementation pretty far along. if want distribute game "regular" pcs , laptops, too, wouldn't want html5 without fallback solution. in short: if can afford it, both, if not, go flash (it works everywhere except on ios).
i'd both platforms have same vulnerability issues: user downloads large part of game client computer. can use obfuscation tools , encryption, determination , effort, code can decompiled and/or analyzed find loopholes cheating. can never safe on client computer, "real" safety mechanism keep of game logic on server. is, however, not possible, because of performance , capacity limitations. plus, need client application of sort, @ least possibility of tampering communications channels remain. use possible precautions can think of, stay alert, have routine methods of checking irregularities (plausibility checks, reporting of unusually high scores, etc.), , ready react quickly, when odd happens. should on platforms, really.
both html5 , flash support vector graphics, basis hires. in field, flash has 1 major advantage, in opinion: offers decent ide creating keyframe animations. i'm sure adobe working on svg export function, allow animations created flash used in html5, there isn't 1 yet. , don't know 2d animation tool can export svg animations. (if else knows one, please comment!)
if design program architecture modular , extensible, should have same possibilities on both platforms. major difference in html , javascript, source files end product: resources (html pages, javascript files, images, css files, etc.) available individual files, , in team replace things on ftp server without interrupting other program parts. in flash, source code must compiled, , resources packaged directly resulting binary files. whenever, say, image changes, have re-deploy flash binaries - unless project programmed load resources externally. sure decide on strategy resource management on, , based on not technical requirements, on workflow needs.
successful team programming, in experience, not question of programming language used. modern tools, can set useful team utilities versioning, unit testing , continuous integration every platform there is. try go platform of people work understand and/or well-trained in (if there core team, example), or 1 myself comfortable enough @ least able follow development process. depends on kind of talent can find , afford. comes down this: best technology when don't have people use efficiently?
Comments
Post a Comment