• Advertisement
Sign in to follow this  

java v. shockwave - browser mmo

This topic is 3874 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I want to make a browser-based mmorpg and want it browser-based for 3 reasons. 1) it's somewhat novel-- i can think of only a couple of popular ones: runescape and dofus. with so little competition it's worth a shot (i've got no chance in the desktop arena). 2) players can play at any connected terminal-- hence the popularity of runescape. Plus cross-platform compatibility 3) most importantly, i can make the game free by using ads. any site that's worth visiting, even just for a peek, lives on ad-based revenue. I, for one, am constantly on the lookout for top flash, shockwave, and java-based browser games. I'll play them even if they suck, just to try it out. i think this makes for a more effective revenue model that many content-based sites out there. So here's my dilemma. flash has great browser penetration, java has good, shockwave ok, and java3d none. If i want the game to be 3d, i need hardware acceleration or awesome software acceleration. shockwave has hardware acceleration, but mediocre browser penetration. java doesn't have hardware acceleration (except through java3d, which i can assume is NOT installed in public locations--an important consideration), and in order to make a 3d game i'd have to build my own software rendering system (like jagex did with runescape). But, java has better browser penetration than shockwave. flash has nothing on 3d. as far as 2d goes, shockwave would be pointless--it would be between flash and java, both which have good enough browser penetration. So the question is whether I should do 3d or 2d. It seems if I do 3d, i will reach fewer players because neither shockwave nor java3d can be assumed to be installed in public locations. If i do 2d, i'll reach fewer players because only a few of us enlightened mmo players search for good-content games, and everyone else searches for quick-fix eye-candy. so, (1) which is a more important consideration in order to reach a larger audience: browser penetration, or 3d? (2) which do you think, in this case, favors one solution over the other? (3) am i missing something important that will allow me to have the best of both worlds? (aka, CAN shockwave be assumed to be installed in public locations, or IS THERE a free software-rendering system for java that doesn't require clients to download)

Share this post


Link to post
Share on other sites
Advertisement
Forgot Java3D, another option is JOGL. You can have fully accelerated opengl in a java applet. See:

https://jogl-demos.dev.java.net/applettest.html

The main problem with 3d graphics in web browsers is the size of the assets.

I'll be keeping an eye on this thread as it's something I've thought about in the past.

Share this post


Link to post
Share on other sites
yeah, i was looking at jogl but i couldn't get it to work for the demos that had dependencies (the demos with textures and shaders, etc -- they gave me an error). the demo you posted is just mesh, which is totally doable (runescape, as far as i can tell, is just mesh). Do you know if using jogl with assets requires installing anything extra?

the other thing i was thinking is that for larger demos, webstart is used. webstart downloads & decompresses on the machine, and it asks for permission. what does this mean in the face of restricted accounts installed on public machines?

you're right about assets. I tried a couple of shockwave games that have the full get-up (textures, cell-shading, etc). It took a bit to load (1-2 minutes). that's another consideration, is if users would be willing to wait that long. I think they would, but they might not be.

Share this post


Link to post
Share on other sites
after a bit of research, here is what i've concluded so far:

jogl and lwjgl weren't working on my computer because there is an nvida on vista bug, not because i was lacking packages. I tried the demos on xp with no video card & nothing but standard jvm and it worked fine. as i'm assuming anything java can do an applet can too (bad assumption?), i think webstart is unecessary and all these demos could be placed into applets. so....

1) if you go 2d, use flash. better browser penetration for comparable performance to applets.
2) if you go 3d, (tentative statement) go jogl/lwjgl because better browser penetration than shockwave. grapevine says that shockwave is better with asset loading, and more seamless with hardware acceleration, but java is more ubiquitous and it integrates more smoothly with the backend (which is definitely a consideration with an mmo).

feel free to flame me, i'm still looking for opinions.

Share this post


Link to post
Share on other sites
You should also take into consideration that Director has a serious pricetag and that the good stuff is tightly coupled with 3DSMax, which adds up to a nontrivial investment. I've done quite some things with it, but in the end I have to draw the conclusion that Director/Shockwave failed to take over the net, largely because of the ever expanding capabilities of its little brother Flash.

Share this post


Link to post
Share on other sites
If you choose flash be prepared to use TCP as UDP is not supported. Also make sure you're good with programming and don't expect amazing visual effects as flash can't handle them. However, if you are really good at culling the rendering you'll be fine.

I'd go with JOGL and Java. I've seen amazing projects made with it, so I know it can handle a lot of processing, even if you go with 2D.

Share this post


Link to post
Share on other sites
ha, i'd thought about Director's pricetag, but totally spaced 3dsMax's. no blender importing in shockwave?

well, price aside do you think shockwave has any graphics optimization over jogl/lwjgl?

Sirisian, good graphics not too big a priority. Heck, i'll be lucky to compare to runescape, and that game's fugly. the way i see it, browser-based mmo is a hot enough hit to warrant any ol' game, and added visual effects come later. And no TCP/UDP!? wtf? why? and how does dofus get around that i wonder.

I, too, have seen some awesome jogl demos, so i think i agree-- i'll go with java until otherwise convinced.

thanks for the input guys, awesome advice.

Share this post


Link to post
Share on other sites
read what I wrote again. I said it only has TCP. There is no UDP support.

Share this post


Link to post
Share on other sites
oh, right. but from my nehe and dx days, seems tcp was the agreed-upon-protocol for mmos anyway?

so check it.. what about WPF or silverlight? as far as wpf goes, 3d with hardware acc. in browser (maybe no gain over jogl, and possibly only loss since it's not x-platform.. but something worth researching).

but here's my reasoning on silverlight. there have been 3d samples, though it's not hardware acc. -- nor is runescape. but silverlight is so new that any game developed within it's beta period would be bound to hit the showcase list. showcase make for many visits, so in this case it might be more difficult to accomplish (might have to develop a good software-rendering solution), but the payoff might higher.

just brainstorming out loud.

Share this post


Link to post
Share on other sites
Quote:
Original post by lefnirex
oh, right. but from my nehe and dx days, seems tcp was the agreed-upon-protocol for mmos anyway?


No MMO uses TCP. Real-time aspects simply aren't reliable enough given the traffic requirements.

Quote:
as i'm assuming anything java can do an applet can too (bad assumption?), i think webstart is unecessary and all these demos could be placed into applets. so....


Webstart is the way to go. If you go Java, go all the way. WebStart isn't just applet in a window. It's a whole patching/updating/streaming system. You gain nothing whatsoever by limiting yourself to an applet. You just lose a lot. Unless you intend to provide MS Java compatibility, but then you're stuck with Java 1.0, so forget JOGL and the rest.

Quote:
but silverlight is so new that any game developed within it's beta period would be bound to hit the showcase list. showcase make for many visits, so in this case it might be more difficult to accomplish (might have to develop a good software-rendering solution), but the payoff might higher.


Ok, so you spend 6 months working on the 3D engine. Congratulations, you just wasted 6 months. When will you start making the game? When does the beta end? Will you have an apealing, playable and eye-catching game ready by then? Will you consider it worthy as showcase?

The problem with 3D isn't in rendering. It's making assets. How many meshes, textures, models, animations? How will you test them to make sure they meet performance goals?

And when you're done with that, you need to consider the important aspects - style, lighting, various texture fitting issues, etc.

And then, there's still an entire game to make.

Consider this: Runescape didn't make it big because of 3D or Java or running in browser or having good graphics or anything as such. Look into what made Runescape big.

Do you really need 3D, hardware acceleration and whatnot?

Share this post


Link to post
Share on other sites
Quote:
Original post by Sirisian
If you choose flash be prepared to use TCP as UDP is not supported. Also make sure you're good with programming and don't expect amazing visual effects as flash can't handle them. However, if you are really good at culling the rendering you'll be fine.


I think the reputation of Flash being slow is outdated. They really stepped it up a few notches with the latest player (Flash 9). The VM even has JIT compilation these days, so I wouldn't be suprised if their performance is on par with Java.

Flash 9 is new enough that I don't think anyone has written anything truely impressive with it. But there are a few proof-of-concept software renderers floating around, and they look decent. I'm not sure if any of those renderers are free and ready to use, so you might have to write your own.

Lack of UDP is definitely a problem though.

Share this post


Link to post
Share on other sites
Im sorry i do not have much to contribute to this thread but i was just wondering if you do end up starting this project, it would be great if you also start up a journal or log to keep us updated, since it sounds interesting:).

Share this post


Link to post
Share on other sites
Quote:
Original post by Antheus
No MMO uses TCP. Real-time aspects simply aren't reliable enough given the traffic requirements.

You do realize that most use TCP right? A tiny example would be World of Warcraft.

Share this post


Link to post
Share on other sites
I'd recommend going 2d with flash unless you have some good experience developing 3d games, AND artists to help you with models/textures, not because 3d games are harder to make but because you'll have to deal with compatibility issues, driver problems, etc. If you go 2d, you'll most likely need to do modeling and texturing too (render to sprites).

I'd say runescape is successful because it's basically a persistent game that you can play anywhere using any computer, it doesn't matter if it has a crappy 3d card or cheap processor, it'll most likely run.

A few weeks ago I played a mmorpg about pirates and ships, I don't remember the name of the game, but IIRC they are making a couple of millions off that game which is surprising because the game is fairly "underground". It uses flash for everything, you might want to search it.

Share this post


Link to post
Share on other sites
Quote:
Im sorry i do not have much to contribute to this thread but i was just wondering if you do end up starting this project, it would be great if you also start up a journal or log to keep us updated, since it sounds interesting:).

Deal. I think that's a good idea.

Quote:
Webstart is the way to go. If you go Java, go all the way. WebStart isn't just applet in a window. It's a whole patching/updating/streaming system. You gain nothing whatsoever by limiting yourself to an applet. You just lose a lot.

i had come to that conclusion too, decided to start with WS. turns out there a port of jME to applets, but even in the setup tutorial the author discourages using applets over WS for 3d. WS won't have any problem on computers with restricted user accounts (aka, ones that don't let their users save or install files)? [/quote]
Quote:
Unless you intend to provide MS Java compatibility, but then you're stuck with Java 1.0, so forget JOGL and the rest.

stuck with java 1.0 for applets? or for applets AND WS? i really want to use jogl/lwjgl :(

and you're right-- silverlight was a bad idea, i was just thinking out loud.

Quote:
Consider this: Runescape didn't make it big because of 3D or Java or running in browser or having good graphics or anything as such. Look into what made Runescape big.

i'll keep googling, couldn't find that information before. until i find it, maybe you could enlighten us? :)

Share this post


Link to post
Share on other sites
Quote:
I'd say runescape is successful because it's basically a persistent game that you can play anywhere using any computer, it doesn't matter if it has a crappy 3d card or cheap processor, it'll most likely run.

Agreed. that's what i'm going for.

Quote:
A few weeks ago I played a mmorpg about pirates and ships, I don't remember the name of the game, but IIRC they are making a couple of millions off that game which is surprising because the game is fairly "underground". It uses flash for everything, you might want to search it.

ha! that game SUCKED! yet they had that oh so wonderful ad-sense bar to rack in their dough. you might be right, it almost might not even be worth the effort for 3d if using CS3 for RAD will get my game out their quick and easy, full browser penetration & no worries. I'm still thinking about it. I just get so giddy when i see things like at http://www.jmonkeyengine.com/index.php?option=com_content&task=view&id=68&Itemid=84 and think those could be run in the browser.

Share this post


Link to post
Share on other sites
Funny you mention jME because I was going to recommend it in case you really want to go 3d,I've used it before and I can say it's the best java based engine out there, it's based on LWJGL , it supports shaders, comes with its own GUI system and exporters like COLLADA which makes your life easier when making levels/scenes. I know what you mean by getting giddy when you see such beautiful graphics running on a browser. But you have to realize that making a 3d game means tons of work. Unless you have a really smart game design that requires few models and levels, you have to be prepared to spend a LOT of months making the game. Well to be honest making a high quality 2d game would mean also tons of work with graphics. Just check Dofus, another 2d flash based mmorpg and you'll see what I'm talking about.

Share this post


Link to post
Share on other sites
You're gonna need a lot of experience if you use flash. I switched from C++ to AS3 a few weeks ago for a change and started programming an mmo framework in it. Without the very efficient spatial partitioning system I use then flash wouldn't be able to handle the large maps I give to it. I can't tell if you have a lot of programming experience from your posts because it's no simple task.

Yeah and just so you know TCP is generally used for mmo games. I prefer to use UDP normally because I make top down shooters, but TCP isn't bad for that either.

Another reason to use java. In my experience you want the server and the client to use the same language and java is good for that. At the moment I've just been programming the engine and keeping it soft coded and ready for the networking. Put it this way I'm using VB.NET for the server due to the easy GUI and I had to write a full wrapper class so that flash and my server could communicate perfectly. Not to mention I have to basically reprogram a lot of code in VB so the simulations will both be in sync with one another. A real pain!

Also if this is your first mmo game you might want just shoot for multiplayer with like 32 players. Some mmo concepts are tedious to implement. Especially zones if you go that route.

Share this post


Link to post
Share on other sites
so my big question is if jme can handle full-fledged browser mmo (via webstart, i'm assuming) that could be run anywhere-- what the cons are (loading time, etc), and why i wouldn't go jme except for cost of development.

to be sure, cost of development is a consideration. i'm no pro, but i've made a full dx game in c++, a half applet-based 2d mmo, and a p2p flash game. i'm good enough with 3dsmax and blender, know the culling, coll'n detection algos, etc. i'm not bragging, i just want to make it clear that while development process is important to me, what's MORE important to me here is which technology is more likely to attract a larger audience -- quick-and-easy 2d, or heavy-and-awesome 3d.

dofus is rad, btw. i've been using dofus vs. runescape for my comparison over the past while. and from what i've read, it sounds like more people are in favor of flash over 3d for browser mmo

Share this post


Link to post
Share on other sites
check out http://en.wikipedia.org/wiki/Comparison_of_MMORPGs
says that there are 2mil dofus players, just shy of guildwars at 3mil, and there are 7mil runescape players, just shy of wow at 8. (then there's 2nd life, never heard of it). if dofus and runescape are included in the list of topdogs, beating out DAOC, EQ2, Lineage2, and the like, that's saying something for browser-based games. dofus is "ok" as far as 2d goes, and runescape is just plain shite. They have nothing on guildwars and wow. So unless there's something i'm missing, it's all browser / play-anywhere concept.

Now between dofus and runescape, i don't know if it's because runescape came first or happenstance, but runescape is substantially more popular. I was thinking about scrapping together a flash game with scrape-by graphics and having a forum for my players where i'd ask whether they'd prefer a cleaned-up and upgraded version of the current quick-and-easy 2d, or a full shift to powerful 3d at the expense of webstart, downloads, and assets. I'll keep my players informed on development status, and this could be something of that journal we were talking about.

Quote:
You're gonna need a lot of experience if you use flash. I switched from C++ to AS3 a few weeks ago for a change and started programming an mmo framework in it. Without the very efficient spatial partitioning system I use then flash wouldn't be able to handle the large maps I give to it. I can't tell if you have a lot of programming experience from your posts because it's no simple task.

i'm glad you brought that up, i was going to ask about space partitioning. i made a mini java mmo and could do quadtree bsp to cutout the uneeded portions of the map. can flash do that? at quick glance, i'm under the impression it can't since dofus uses hundreds of static-screen mini-maps instead of a chase-camera global map.
Quote:
Another reason to use java. In my experience you want the server and the client to use the same language and java is good for that. At the moment I've just been programming the engine and keeping it soft coded and ready for the networking. Put it this way I'm using VB.NET for the server due to the easy GUI and I had to write a full wrapper class so that flash and my server could communicate perfectly. Not to mention I have to basically reprogram a lot of code in VB so the simulations will both be in sync with one another. A real pain!

right on queue, again! my roomate and i were discussing j2ee-to-java ease over connecting flash to another server-side language. how hard was it to program the wrapper class? I was thinking of using .net myself

Share this post


Link to post
Share on other sites
To answer your question about if jME is capable of handling a mmorpg, the main developers of jME were hired by NCSoft (http://www.ncsoft.com/) to make (the first I think) AAA mmorpg based on java using jME. AFAIK they are a small group right now working on the game.

About the comparison, I think you can't compare dofus to all the other mmorpgs, there's a big difference in their audience, one targeted at more casual gamers while WOW and the others are aimed at hardcore gamers. That's like comparing Bejeweled to Halo, both sold millions but one is aimed at casual gamers while the other is targeted at hardcore players.

Most of the flash based mmmorpgs use mostly "static" screens, and the movement is constrained to a grid. I agree if you do it in flash use AS3, it's so much faster than AS2 but it has a "few" changes with respect to previous versions. Flash of course can handle partitioning, even 3d (you make your own transformations) if you are asking whether flash can do it or not then I'm afraid you don't have the required experience to tackle such a project in flash.

Share this post


Link to post
Share on other sites
Quote:
To answer your question about if jME is capable of handling a mmorpg, the main developers of jME were hired by NCSoft (http://www.ncsoft.com/) to make (the first I think) AAA mmorpg based on java using jME. AFAIK they are a small group right now working on the game.

blah, i know jme can do mmo. jadestone spirits! i'm asking if it's feasible/worthwhile to plop that into an applet/WS and what the pros/cons of that might be over going flash 2d.

Quote:
About the comparison, I think you can't compare dofus to all the other mmorpgs, there's a big difference in their audience, one targeted at more casual gamers while WOW and the others are aimed at hardcore gamers.

that's exactly my point. dofus is casual... although i don't know if runescape is..? either way, the whole reason to go browser-based is that lots of people will try out just about every casual game, and i'll likely get enough hits without requiring too much devotion/skills. There's no point in competing in the hard-core arena, WOW will win no matter what. But if a casual peice of junk like runescape puts DAOC and Lineage2 to shame, then i know exactly which games to compare for for developing a revenue-model

Quote:
if you are asking whether flash can do it or not then I'm afraid you don't have the required experience to tackle such a project in flash.

true, i don't have the required flash skills. you'd be surprised how fast people can learn when the want to ;) i'd like to know before diving in, however, if it can do the things with which i'm familiar in java.

Share this post


Link to post
Share on other sites
Quote:
Another reason to use java. In my experience you want the server and the client to use the same language and java is good for that. At the moment I've just been programming the engine and keeping it soft coded and ready for the networking. Put it this way I'm using VB.NET for the server due to the easy GUI and I had to write a full wrapper class so that flash and my server could communicate perfectly. Not to mention I have to basically reprogram a lot of code in VB so the simulations will both be in sync with one another. A real pain!


oh hey, i just thought of something. Silverlight! low browser penetration, but who knows how long that will last... arguably greater functionality and scalability than flash, but more important in yours (and possibly my) case is back-end interoperability. You can do silverlight in c# (and vb.net?) and use all your existing datasource business logic. And, like i mused in a previous post, you'd get uber showcase, which is huge when dealing with casual-style ad-based browser games.
if it weren't for that shiesty browser-penetration...

Share this post


Link to post
Share on other sites
You seem to think that because runescape looks outdated compared to today's AAA games it didn't require a huge amount of work. I assume you have read Radu Privantu's postmortem about Enternal Lands

http://www.devmaster.net/articles/mmorpg-postmortem/part1.php

If you haven't then go ahead, it takes a huge amount of work to build and most importantly MAINTAIN a mmorpg, there's so much to take care of, that it's probably going to consume most of your time. Things like sever issues, hacking, mods and players are going to be a little nightmare. Also you WILL have to hire other people to do things like graphics, server coding, client coding, quests, you can't do it all, even find the right people to serve as mods.

Also have in mind that another reason runescape is so successful is because it was one of the first browser based mmmorpgs (since 1998), at that time there wasn't any WOW and others. There are so many mmorpgs nowadays that if you make a mmorpg there MUST be a reason for people to play your game, whether it be awesome graphics or very unique gameplay, something "special" if you know what I mean. You can't just whip out a chat room and call it a mmorpg and expect people to play and pay for your game.

There's always the option of semi-mmorpgs like neopets (http://www.neopets.com/) which uses mostly static screens and involves a lot of server side scripting (usually PHP), but it's way easier to develop than making a full scale mmorpg since you don't have to worry about graphics algorithms and such, and what makes neopets unique is graphics, lots of high quality 2d graphics.

Share this post


Link to post
Share on other sites
Quote:
You seem to think that because runescape looks outdated compared to today's AAA games it didn't require a huge amount of work. I assume you have read Radu Privantu's postmortem about Enternal Lands

i don't assume that, i'm sure they have their hands full-- but that's because they have so many users. I'll settle with a couple hundred users for now, and if i ever get bigger i'll have the means to hire! I think the amount of work put into a game is equal to the amount of development time spent-- but the thing is, browser-based mmorpgs, as i've been discovering, have a handicap head-start. aka, one can start big even if they don't go far easier than with most web solutions. and thanks for the link, that's EXACTLY what i'm looking for.


Quote:
You can't just whip out a chat room and call it a mmorpg and expect people to play and pay for your game.

it'll be free. ad-based revenue. but if i whipped together a chat room and called it an mmorpg, i'm arguing that i CAN expect people to play it. check out http://www.candlelightstories.com/Pirates/PirateGame.htm, the shmucks are making 7 figures on this piece of junk or so i've read. it may have been difficult to make, may be difficult to maintain... but i'm not sure if it's 7-figure-difficult to maintain.


Doomsayers! all of ya! naw, jk. I appreciate the advice, you guys have been quick to respond. I'll get started with a flash game, let people play it in its infancy and have a poll where they can decide whether I should go 2d/3d. I'll try to blog my development experiences and come back to proclaim y'all correct if a casual mmorpg is too difficult for 1-2 people to manage.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement