views:

1505

answers:

20

I'm not talking about BB-type text based but rich rpgs with spriting, etc.

With the current advancements in javascript for rich browser interfaces, would it be possible to create semi-massive multiplayer online games running on our browsers within the near future?

We could say that if we really want games we must stick with c++, but I'm just asking for possibilities here and answers from open-minded persons.


update regarding comments relating to flash

i've noticed that alot of people here opt for flash, well no doubt, flash was initially there to provide animation capability for browsers and it became a launching ground for browser based games

so maybe its also possible to use javascript and flash altogether to provide a better experience for gamers (like loggin-on to the game is done thru JS, etc and all other animations are run via flash perhaps?)

since javascript is of course smaller in size than flash objects, and microsoft announced that it soon will adapt jquery to its' browser core, maybe in the future we'd see some javascript frameworks built-in inside browsers while flash i guess will still remain as a plug-in..

bottom-line is both of these utilities would be indispensable in the browser's future so any other opinions?

+1  A: 

Well yes it is possible, i've seen completely awesome javascript implementations of for example Sonic and Mario. I don't see why it wouldn't be possible to do something like Final Fantasy II etc. even massively online. You'd need a helluva server (park) to host such a thing tho.

Kris
+8  A: 

So, animation in JavaScript generally sucks. Spriting and the upcoming canvas tag will alleviate this problem somewhat, but generally speaking a language more suited for things like gaming, such as Flash/ActionScript, is usually used for web gaming. The limit here is not necessarily the language, but the performance of the browser's JavaScript interpreter.

Edward Z. Yang
This is increasingly untrue in the current and preview versions of Safari, Firefox, Opera and Chrome (and other browsers using current or preview versions of their respective engines). Animation isn't up to par with Flash yet, but it's getting a lot closer.
eyelidlessness
The coming versions of all three browsers look interesting indeed. Especially Safari.
Jason Baker
Maybe so, but flash is still better in this realm and using javascript would be a poor choice.
Ed Swangren
+2  A: 

There are plenty of Flash games that are massivly multiplayer. I know you mentioned JavaScript, but Flash is always going to be a client based game developers first choice, I doubt anyone would bother with a JS based one.

Mark
A: 

oh i've seen some javascript based games while studying the currently famous javascript frameworks.. yeah we could say that the animations really suck but hey, google chrome's coming up with ways to speed things up.. i think the only problem we have for javascript is the engine that Internet Exploder is using currently but as more and more people despise IE i think pretty soon we'd be able to see some progress on this..

lock
The problem is that "more and more people" only really applies in our environment. Many people still choose IE, so if you're designing any kind of MMO, it'll be a long time before you can do so without considering that browser.
Dave DuPlantis
+4  A: 

There are some with Flash already, but they are kinda, well, questionable. Flash is still pretty slow for that type of thing. Also there are several in Java. Such as the Runescape series.

But one of the best platforms out there now is InstantAction . Native real-time 2D and 3D game engine with full hardware acceleration as a browser plugin.

Gerald
+4  A: 

There are some great 2d games already done in JavaScript, but with Google's Chrome (and others) making JavaScript performance scream, I think much richer games can now be created more along the order of what you describe.

Jim Buck
Chrome isn't the only one making JS performance scream. In fact, in every benchmark besides Google's heavily biased one, SquirrelFish Extreme performs slightly better than V8.
eyelidlessness
That's awesome. I'm only familiar with Chrome being a solid performer, but the more the merrier, and everyone wins with cool upcoming games. :)
Jim Buck
+1  A: 

TraceMonkey, the new Javascript engine being developed at Mozilla is getting very fast scores on micro-benchmarks. Brendan Eich said here they're approaching non-optimized C speeds on some benchmarks. So, I’d say that yes, w/i the next few years you'll be able to build MMRPG using only javascript (not that it'd be the best choice, mind you. I feel Silverlight will soon be one of the best options for browser based games.) NOTE: the question originally stated "using only javascript?"

Booji Boy
+17  A: 

The Flash Platform is of course the platform of choice. I'm sure JavaScript can do some funky stuff (which makes my jaw drop from time to time) and will increase adding new features to it's arsenal, but the Flash Player just blows JavaScript out of the water as it currently stands. Not to mention as a platform to develop for (e.g. Flex Builder IDE). Some of the things you'll get choosing Flash Player:

  • The best 2D game engine out there with a (compiled) rock solid embedded scripting language.
  • Sprite manipulation (e.g. rotation, alpha, scale etc.)
  • Bitmap manipulation
  • Video (h264!)
  • Flash Remoting (super fast client server communication)
  • A massive community with a wealth of knowledge at your fingertips
  • Possibility to port your game to a console through the Flash Player SDK
  • Native 3D effects (Flash Player 10).
  • A filter/effects language to create special effects (Flash Player 10).
Luke
Voted up because it's a good overview, but disagree about portal to a console - not easy at all!
Iain
Agreed: there are other barriers to entering the console market as well, and there aren't many games that work well in both environments, particularly not if they're designed for mouse control on a computer.
Dave DuPlantis
Also disagree with being the best 2D game engine out there. Not even close.
Gerald
@Gerald. Maybe you can point us to that better 2d game engine of yours?
Luke
@Iain. I never claimed it to be easy. I just stated the possibility.
Luke
@Gerald, @Luke, It's nto a games engine at all. It's a programming language and a class library.
Greg B
@Greg B: What do you think a typical game engine is made up of?
Luke
@luke C++ an the class library isn't a game engine. C# and .NET isn't a game engine. Unreal engine is a game engine. "A game engine is a software system designed for the creation and development of video games", Flash is a general development environment in which you can make "anything you want"
Greg B
@Greg: Doesn't the Unreal engine come with a scripting language? You could say that the Unreal engine is a platform for which you can develop software. I've seen architectural pieces been created with the Unreal engine that have nothing to do with games. So within the context of the engine you can, how you put it, make "anything you want". The Flash Platform gives me a powerful 2d engine and a scripting language that let me make games, so in that context I can perceive Flash Player as a game engine. Of course some game engines are very explicit, others give more freedom.
Luke
Flash is NOT a game engine. It can be used to create a game, but so can pen and paper. That does not make my desk a game engine.
galaktor
All this talk about what counts as a game engine is fascinating and all, but I'm still looking forward to hearing what you all think might be a better platform/engine/whatever for building 2D games. :)
Ed Brannin
+1  A: 

JavaScript is not a good choice here, but nor is Flash the only game town - Untiy3D is awesome, and Java is powerful enough to run the popular RuneScape. Sherwood also proves that Shockwave is a good MMO client.

Iain
Bam! RuneScape rules! It is an awsome example of what Java Applets on crack can do. I'm an RS addict.
stephenbayer
+2  A: 

Check out this site: http://www.worldofsolitaire.com/

It's a collection of solitaire games written in javascript. It is a pretty impressive demonstration of what is possible using just javascript.

Ferruccio
A: 

Javascript Canvas support has been progressing in modern browsers, however, IE of course does not support any of these new features. And while there have been some simple games created (Mazes, small Doom clones), I do not believe any "production" game has been created using this method.

prattmic
+2  A: 

I think that QuakeLive (Quake 3 running INSIDE your browser, using a plugin) might answer your question.

Jon Romero
Quake Live is not a browser game. Think of it as a game browser, cabable of embedding a quake window (like acrobat reader) in the browser: http://www.eurogamer.net/articles/quake-zero-not-actually-in-web-browser
ko-dos
+1  A: 

Heroes of Might and Magic Kingdoms( http://hommkingdoms.uk.ubi.com/ ) is a "production class" commercial, massive online game, being produced solely JavaScript(AJAX) based. It is indeed possible to have great productions with JavaScript. Many people opt for Flash or Shockwave because they are much easier to program, reducing the development cost. I dislike Shockwave because it doesn't have Linux version(don't know about other platforms).

Atilla Filiz
A: 

Another seemingly viable option would be Google's O3D browser plugin. They have a demo page which uses Javascript to drive the 3D engine, so it really is the browser doing all of the major work of telling the 3D engine what to draw. I personally haven't used it yet, but from what I see, it very well could be the future as far as online gaming simply for the fact that it is a full 3D engine, unlike Flash and others.

Poldon
A: 

If you want high performance games in the browser then you should talk a look at the Roozz plugin. It is an alternative to Flash, but 10 times faster and it allow you to use any programming language and any game engine you like.

www.3djam.com

A: 

There are plenty of Flash games that are massivly multiplayer.

A: 

Google is working on two big projects that will greatly affect game development in browsers.

First and most directly is O3D (Link in Poldon's post above because I can't post two links since I'm new) which has started as a browser plugin. Secondly is Google's Native Client project, which also has started out as browser plugin, is a general runtime environment meaning you can port source code to run securely inside the browser. Whie this has been done before, ActiveX was not an sort of open standard nor was it very secure (at least in the beginging) and was seen more of a way to enhance a website. Native Client is being built from the ground up with security in mind and with an open standard so that it can be used by different browser vendors.

Both of these technologies are aimed at becoming open standards and will have Google's muscle behind them so they both have a good chance of becoming good platforms to code from and ubiquitous.

A: 

Silverlight might offer better development and platform support than adobe flash: Visual Studio and C# instead of actionscript. Most flash games look quite limited to me anyways.

I believe javascript will become the standard for rich internet applications and flash/silverlight/activex are going to be (even more) obsolete.

ko-dos
+1  A: 

Doing what you describe with JavaScript on Canvas is feasible but not yet as easy as with Flash.

There are already libraries that help you with sprites, sound, networking, etc:

In my opinion it will very soon (1 year, 2 years?) be more elegant and efficient to do games for the web in JavaScript then any other language - and it's already the cheapest way and you are able to run on iPhone/iPad.

oberhamsi
A: 

As of Jan 2010, there has been a pure JAVA APPLET based MMORPG game engine available. And a fully commerical game based on it is now on the market. I played it before. The game itself isn't that great compared to dedicated client-based game but the concept works. i.e. a browser based interactive mmorpg game that requires no client software installation. You can play it at home or in the office.

JavaMan