Flash based 3d multi-player online game (MOG)?

Software: Away3D 4.x

cosmicwiz, Newbie
Posted: 21 February 2012 03:55 AM   Total Posts: 6

Dear Pros/Experts/Gurus,

My friend and I have been exploring this idea of a facebook based MOG game similar to that of Second Life (not as massive in scale but kinda similar).

Now looking at popular facebook games from Zynga, I reckon, flash or html5 are the popular choices of a browser based front-end but even after having explored for some time, I am yet to come across an industrial size 3d game written in flash. The eco-system of 3d in flash also seems limited to few good samaritans like Away/Flare/Papervision but I haven’t seen any Apache kind of big open-source or widespread commercial APIs.

I guess, before the GPU accelerated molehill APIs in flash10 onwards, flash was no good for hardcore 3D but is it technically feasible now for serious 3d gaming? Would we live to see the day when world of warcraft runs on your browser? What is the expert opinion here?

Thanks a ton in advance!

   

Avatar
theMightyAtom, Sr. Member
Posted: 21 February 2012 09:01 AM   Total Posts: 669   [ # 1 ]

Demos from Unreal, Unity, and others have shown that it’s feasible to build large worlds at least. I think when the iOS and Android versions of Flash 11 (via AIR3) become available it will be a far more attractive platform for AAA quality games, and we will see far more of them.

The weakest point might be managing the game logic in AS3. If many characters are animated and running their own logic at the same time (as in Second Life) that could prove tricky to engineer for smooth performance, compared to say C++.

All in all I’d say yes it’s possible, and you would come a long way quite quickly (and cheaply) with the Flash platform, and the available classes/servers, etc. Ultimately you will run into performance limitations that may affect your design, so it’s just a matter (as ever) of weighing up the pro’s and cons for you specific project, not to mention the developers you have available to build it and their experience.

On the plus side you have rapid development and deployment and a well developed ecosystem. On the negative, it’s likely that you will have to compromise, or design around certain issues that with native code you could “brute force” your way through, like holding a rock concert with a 1000 avatars all rocking out independently.

If you’ve got a large budget, performance is king, and you’ve got the developers, you might want to look elsewhere.

Good Luck!

 

   

cosmicwiz, Newbie
Posted: 21 February 2012 03:38 PM   Total Posts: 6   [ # 2 ]

Hi,

Thanks for the detailed reply! It was really useful. This Unity flash export looks quite promising. Now, I am a little confused how to go about prototyping our idea: so far I have been coding in flash builder using away3d 4.0 APIs but it has been a pain in the arse to painstakingly code up the virtual world without a WYSIWYG 3d layout editor. Any thoughts on using Unity instead? Pros and cons of either approach?

Thanks!

 

   

Avatar
theMightyAtom, Sr. Member
Posted: 21 February 2012 04:04 PM   Total Posts: 669   [ # 3 ]

I prefer the Flash root for the same reason you don’t, i.e. I would rather build/control the world via code than build it up manually in a WYSIWYG editor, it just shows how much the developers personal preferences can affect platform choice.
If you want to work that way, and can afford the licenses, it sounds like Unity might be for you.

I don’t make games, so I find Unity restrictive. Simple things like loading XML or models that haven’t been specifically prepared for Unity are just a pain in the arse (IMHO). You are more or less forced into a WYSIWYG workflow, where I would tend towards more of a Minecraft dynamic world.

 

   

Alex Bogartz, Sr. Member
Posted: 21 February 2012 11:39 PM   Total Posts: 216   [ # 4 ]

You know, count me in on the Flash side.  I have used Unity to build games in the past, and it does make importing models and handling things like animations very easy.  However, if you look at the Unity Flash exporter release notes, there’s a lot of Flash functionality that you’d lose.

http://unity3d.com/unity/publishing/flash

  Image Effects. Some work, some don’t.
  Not all parts of .NET scripting work (lambda expressions and LINQ aren’t supported, for example)
  GUIText will have a dramatic impact on performance
  The new Particle System (Shuriken) works, but scripts that use the Shuriken API will fail to convert to flash

The one that scares me is about the GUIText.  Gui modules in general are painful to make in Unity, but just adding text will slow things down?  This is not an issue with Away at all.  Plus, you can’t code in AS3, which means you’ll have to maintain two code bases.  I tried this before by creating my GUI in flash and hiding and showing the Unity content but it was buggy as hell.  In Away, it’s all there in a single swf file.  Very stable, very easy to debug.

What happens if you need to debug the resulting AS3 code to track down a server side issue?  If your code is written in C# and ported to Flash, you’ll have almost no ability to test in any kind of real debugger.

Finally, I’ve been using (and evangelizing!) Blender 3D, and you can create your entire scene in Blender and export it as a 3DS file and it’s almost as easy as using Unity. 

I am probably biased, but Flash is still the way to go.

 

   

cosmicwiz, Newbie
Posted: 22 February 2012 03:25 AM   Total Posts: 6   [ # 5 ]

Hi Alex,

Good points…I agree, debugging would be a nightmare if Unity flash export turns out to have issues. I am curious about your approach of doing the entire scene manually in blender and exporting/importing as 3DS file. Can away3d load a complex model with multiple objects having their own textures and preserve their position/orientation etc? I tried loading a simple off-the-shelf model and the parser barfed with “The Away3D 3DS parser does not support multiple materials per mesh at this point.” and the results were terrible.

I am myself of a programmer background (not a designer) and wouldn’t mind doing the scene programmatically in AS3 but there is way too much trial and error involved till you get the scene right and all those xyz/rotationXYZ properly lined up….wasn’t sure if this approach is scalable when you have to create complex scenes.

 

   

Alex Bogartz, Sr. Member
Posted: 22 February 2012 05:52 AM   Total Posts: 216   [ # 6 ]

Yes, Blender can do a complex scene.  You can’t have multiple materials on a mesh but you can have parented meshes and place them precisely in Blender.  Before you export, be sure to ctrl-A to apply all transforms.  Then everything will be exactly like it was in Blender.

 

   

Avatar
theMightyAtom, Sr. Member
Posted: 22 February 2012 03:35 PM   Total Posts: 669   [ # 7 ]

For the record, I wasn’t advocating Unity > Flash, just Unity + C# or Javascript, based on cosmicwiz’s wishes to work WYSIWYG.

At the end of the day I choose Away every time (rightly or wrongly :O)
Building cities programatically is actually easier than modelling, depending on the actual level of detail required, and as Alex points out, once you have the workflow sorted from 3D editor to Away (which admittedly might take some trial and error) you can mix and match, pre-manufactured and procedural.

 

   

cosmicwiz, Newbie
Posted: 22 February 2012 04:15 PM   Total Posts: 6   [ # 8 ]

Thanks guys! This thread has definitely enlightened this newbie a lot wink

 

   

Avatar
Fabrice Closier, Administrator
Posted: 22 February 2012 04:22 PM   Total Posts: 1265   [ # 9 ]

In a not so far from now future, I hope this baby will help a bit…

 

   
   

X

Away3D Forum

Member Login

Username

Password

Remember_me



X