Question

I'm a student about to start my exam project, where I will be responsible for the server implementation of an online game targeting the flash player. I have a hard time to decide wether i should write my own lightweight server in Erlang or use the open source Red5.

My experience is that java-developers tend to overcomplexify things making the APIs difficult to work with, is this true for Red5? And how does it perform under the heavy load that comes with synchronizing a game?

Maybe my own Erlang server will be easier to work with and distribute on several machines?

So the question is should i write my own Erlang flash server or use the existing Red5?

Edit: I think i need to decide what my goals are: to just set up an online game or learn how to implement a multiuser server from scratch.

Was it helpful?

Solution

I'd say use Red5 if you are ok with programming java - it might feel trivial to implement your own server but I'd guess you probably will find out that there are some more things to it than you are thinking of now.

However, if you want to program in erlang and think you'll have loads of fun developing your own server by all means go for it!

Is also depends on the goal of your project - do you have to demonstrate you can get an online game going (go for Red5), or do you have to demonstrate you can program a distributed multiuser game server? (go for your own project progammed in Erlang)

BTW: I'm using http://www.smartfoxserver.com/ for one of my current projects

OTHER TIPS

I think you need to estimate for yourself the effort for implementing your own, lightweight, server. Often ones own requirements are small and specific and implementing a server that meets them is the way to go.

Also check out Blaze DS (Java flash server) and Juggernaut (ruby flash server). I think maybe Juggernaut is targeted for specific uses, beyond yours, but I'm not sure.

Why reinvent the wheel? AMF alone is a complex beast to implement, just have a look at the docs for basic stuff like integer encoding...If you don't need the streaming capabilities and AMF is all you want, you can also use PyAMF (Python) or AMFPHP. Also, you'll probably be graded on how you the game works in the end, not on how clever you re-implemented AMF.

If you go to http://www.stripclubcity.com/ or more specifically http://www.stripclubcity.com/new-jersey-strip-clubs they are using Red5 to stream their cams. I think I read that it's so much easier to use Red5 than it is to write your own AMF... Why reinvent the wheel?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top