Robert, I noticed a decrease in performance on the mac. You say it wraps the DirectX, but what about on the mac, how does it work? Is it rendered by software?
It's great news to know that you already handle things by RTMP on the server-side right now!! You might wanna check how much overhead you will have with all the non-3d processing. As Roman said, flash is single-threaded, and with the exception of Pixel Bender shaders, every processing will slow the rest of the application down. But you can handle things like collision detection quite quickly with a collision map, for example. And it's nice to know that you have already a moderate limit to each room, which I think makes things quite possible! Also I think if you don't need to wrap the flash player anymore will probably speed things up. About performance, you have come to the right place! Away3dLIte is the fastest 3d flash engine I know of, and it's quite impressive to see that most of the render loop time is on the native flash drawing api, which is about as fast as it can go. You should keep a close eye in the total poly count and the total animation count (e.g., don't animate characters that are out of screen bounds). You can get a prediction on the max you can go with away3dlite with the example code "ExSphereSpeedTest". Get a computer which the minimal config you think it's acceptable, and run the test. While it's above 30fps, it's a safe number. Keep in mind, though, that it uses the FastRenderer with no faces sorting, which won't work great on your case. You can try compiling it with setting the sphere's sortFaces property as true, or maybe replacing the FastTemplate by the BasicTemplate, which uses the BasicRenderer. You can see the diference of result with faces sorting on/off by changing the renderer / mesh sortFaces' properties of each Away3dLite example. So, answering your question, while you will need to lower the number of polys in the scene, and establish some safe limits, flash will be able to handle it. Also, as you will be able to see from the examples, there is no need to handle the most "arcane" stuff. Z-sorting is handled very well by the engine natively, for example. In any case, if you encounter some performance issues, we are here on the list to help! 2009/12/15 Piergiorgio Niero <[email protected]> > hi robert, hi guys, > I'm involved in mmo business from ~2 years and I'm currently developing a > flash based mmo (www.wazzamba.com). > I ran lots of tests on 3D engines since the start of the project I think > none of them is ready for that purpose (mmo I mean). > Actually lots of flash based mmos have fake 3d (2.5d isometric worlds) or > precalculated\prerendered 3d and the reason is that 3d rendering in flash is > too expensive in cpu cost. > I saw good attempts to do something in mmo direction from alternativa ( > http://tankionline.com/) and yogurt( > http://www.yogurt3d.com/demos/OdaDemo/room_demo.php) teams, howeve if you > try to push the limits and try to put 30-50 avatars on the same room you see > performances going down and down and your fans spin madly. > The solution we adopted here is building our own 2.5d engine and I think > it's still the much scalable solution for a flash based mmo purpose. > > I hope to have been helpful :) > > Piergiorgio Niero > TheFlashMind AUG - > Italy<http://groups.google.com/group/theflashmind---adobe-flash-platform-user-group---italy> > > On 15/dic/09, at 05:04, valeriuscrowe wrote: > > Thanks Cauê, for the insights and the compliment. > > The communication is already all in Flash, using RTMP with a Wowza > server and some web services. Shockwave3D wraps Flash, so it's easy > to develop pieces in Flash (like the Youtube component for example) > and then include them in Shockwave3D. > > My main concerns with Away3D are performance and coding headaches. > Shockwave3D leverages DirectX9, so rendering is fairly quick and we're > using low-poly models and very limited texturing for everything. We > currently limit rooms to 20 people. I forget how many polygons the > characters are, I think around 1,500 or so. From a coding standpoint > Shockwave3D works like Unity or any 3D development environment does in > terms of Z ordering, lighting, etc., although it's missing more > advanced things like cast shadows and reflections. I'm seeing > discussions of weird techniques in Away3D to do things like Z ordering > and it's making me wonder how difficult it will be to do the basics of > rendering the world. > > The only reason we're looking at Away3D is to move to an all-Flash > application, and start to leverage Flex and Flash 10. (Flash support > in Shockwave3D is still limited to Flash 8 and AS2). If Away3D can > come close to matching the performance of Shockwave3D, and if we don't > have to write arcane stuff for basic rendering, then it could be a > winner! > > Robert > > On Dec 14, 7:39 pm, Cauê Waneck <[email protected]> wrote: > > Hey, nice app you've got there! : ) > > > Could you be a bit more specific? Is there a limit of connections in each > > room? How many tris are there in each character? Is there more processing > > involved in each game? I would configure a stub client to access youtube, > > and handle the basic server communications you've got there (mic > > broadcasting & receiving, chat, facebook connection...) and see how much > > overhead will they bring. Does the server handle some kind of mixing right > > now? If you haven't got much control of how many people will be in a room > > simultaneously, you run the risk of having a cpu-killer at some point... > > > Well, but with some smart coding, and keeping some secure limits in mind, > > you shouldn't have much problem with running your application on > > away3d/lite. The 3D part looks quite simple, but you will probably need to > > restructure your server-side handling mostly because you will need to use > > RTMP as the protocol to handle the audio+data exchange on flash. > > > 2009/12/14 valeriuscrowe <[email protected]> > > > We're currently doing an MMO in Shockwave3D (http://apps.facebook.com/ > > digparty) and we're considering porting it to Flash. Away3D looks > > like the best candidate to me, especially Away3D Lite if it can do it. > > <b>My question is, is Away3D up to the task of running an MMO?</b> Is > > the performance good enough? Are we going to pull our hair out trying > > to write convoluted code to get the equivalent of what we can already > > do in Shockwave3D? Has anyone done this already? > > thanks, > > Robert > > > > > > > > >
