1 person found this helpful
Question 1: In the architecture, it said the old architecture of RTMFP connected every peer to every peer. The new architecture does RTMFP with many hops for different peers. For my games, I absolutely need only one hop between them. Is there a way to get the old architecture of RTMFP so I get a 1 hop between all peers? If I can't get one hop P2P, it is virtually useless for many fast paced video games.
The new RTMFP architecture still allows you to connect directly to each peer (by connecting using their Cirrus assigned peerID) but it also offers a new way of connecting using RTMFP Groups which creates an ad-hoc mesh network and allows you to post messages and not be directly connected to the peer (messages will be routed and forwarded). In fact there's an article describing a P2PGameLib built on top of RTMFP which uses Groups to establish connections and then goes on to create a full-mesh network where every node is directly connected to every other node (we're still waiting for source code but I assume once you have a group you can simply pass your peerID around and establish a direct connection). http://www.flashrealtime.com/p2p-game-lib/
Question 2: Is Cirrus commercially viable? I mean, can I write software using Cirrus and then sell it. I work for a video game company, and I'm looking where to build new technologies. If Cirrus is not licensed for commercial aps, I'll be forced to use slow TCP/IP.
I'm wondering this as well, right now Cirrus from Adobe is only for non-commercial purposes, you can buy the Flash Media Server 4 (which I believe supports RTMFP rendevous) and host it yourself, but that's really expensive. I really hope adobe provides Cirrus for free for commercial use or at a minimal cost (beyond the fancy protocol encryption it's nothing more than a NAT UDP hole-punching server which are easily duplicated).
Adobe LiveCycle Collaboration service (codename Cocomo) is sort of a "cloud" service offering RTMFP rendezvous as well as centralized server relay (in case firewalls/peers can't directly connect), it's free up to a certain usage and then you pay for it like Google Appengine or Amazon EC2. I haven't had much luck with LCCS as you have to create individual rooms for collaboration (not very ad-hoc game lobby's that you'd need for a P2P game).
There are some early open-source attempts at RTMFP rendezvous servers (but they haven't even reverse-engineered the encrypted handshake let alone catch up to full RTMFP Groups).
I tracked down "Flash Media Server 4" and I sent them an email since there is no price tag. Typically when there is no pricetag, that means its prohibitatively expensive.
You're right, a server which NAT punches is not particularly great technology. I've written NAT punching servers myself. It isn't that high tech. It took me a while to understand what a NAT is, and the technique for NAT punching, but once I had it, it was only a few lines of code in C/C++ which took less than an hour.
The way it is looking is if I can't get a cost effective solution to write Flash multiplayer games, I'll have to go with TCP/IP and not be able to anything awesome like 5000 players at the same time in an action game. TCP/IP will probably limit me the amount of latency I have in the game, but if that is all there is to use, my game will have to use the tools available. My game would not be as awesomely great as a game with UDP, but some game is better than no game at all.
Adobe's LCCS may not end up being to expensive if you use it only for RTMFP rendezvous and UDP hole punching.
Also there appears to be some work being done on the C++ RTMPD open source server, it sounds like they're pretty close to emulating some of the Cirrus functionality.
We have a more detailed description of the protocol. We will make it public once is complete.
To whom it conerns,
I'm in the design phase for an MMO. Our company will not making this MMO with Flash P2P because the license says we can't go commercial with Cirrus.
We will however do a smaller TCP/IP game with a central server. My boss is saying for me to go with Smartfox, but I could code my own server in C/C++ in a very short time.
I don't think the people who make the decisions on when techs get rolled out so commercial developers can make them actually care. They probably realize all sorts of stuff isn't being made when they hold their technology back from companies. We'd have probably pay around $500-2500 for the technology to do P2P with Flash because that'd save us countless server costs. Everyone knows P2P means you can take a big load off your server(maybe the whole load).
Maybe its just how things need to be done. P2P is far more complex than easy mode Client<->Server stuff. Also Client<->Server means you don't have to worry about hackers as much.
I guess there's things to be said for taking the easy route. In the past I never wanted to do my own server farm, but let everything go P2P. But I'm with a startup now who is telling me we can buy more servers as we get more users.
I doubt Adobe cares about losing $2000 to one customer though LOL! The thing is,"How many customers would they have that they're losing" I'll just hazard a guess and say,"Not many."
Well I just wanted to float that out there.
Sorry I can't post a demo to my current project, it raises the bar for flash games IMHO. Maybe in a few months, I'll post a link to it when we work out the details with our publisher.