When considering a platform for a game, I've decided on multi-platform (Win/Lin/Mac) but can't make up my mind as far as browser vs. desktop. As I'm not all too far in development, and now having second thoughts, I'd like your opinion!
Browser-based games using Java applets:
- market penetration is reasonably high (for version 6, it's somewhere around 60% I believe?)
- using JOGL, 3D performance/quality is decent; certainly good enough to render the crappy 3D graphics that I make
- there's the (small?) possibility of porting something to Android
- great for an audience of gamers who switch computers often; can sit down at any computer, load a webpage and play it
- also great for casual gamers or less knowledgeable gamers who are quite happy with playing games in a browser but don't want to install more things to their computer
- written in a high-level language which I am more familiar with than C++ - but at the same time, I would like to improve my skills with C++ as it is probably where I am headed in the game industry once I get out of school...
- easier update process: reload the page.
Desktop games using good ol' C++ and OpenGL
- 100% market penetration, assuming complete cross-platform; however, that number reduces when you consider how many people will go through downloading and installing an executable compared to just browsing to a webpage and hitting "yes" to a security warning.
- more trouble to maintain the cross-platform; but again, for learning purposes I would embrace the challenge and the knowledge I would gain
- better performance all around
- true full screen, whereas browser games often struggle with smooth full screen graphics (especially on Linux, in my experience)
- can take advantage of distribution platforms such as Steam
- more likely to be considered a "real" game, whereas browser and Java games are often dismissed as not being real games and therefore not played by "hardcore gamers"
- installer can be large; don't have to worry so much about download times
Is there a way to have the best of both worlds? I love Java applets, but I also really like the reasons to write a desktop game. I don't want to constantly port everything between a Java applet project and a C++ project; that would be twice the work!
Unity chose to write their own web player plugin. I don't like this, because I am one of the people that will not install their web player for anything, and I don't see myself being able to convince my audience to install a browser plugin.
What are my options? Are there other examples out there besides Unity, of games that have browser and desktop versions? Did I leave out anything in the pro/con lists above?