Need help with a general concept


#1

I’m trying to make an application with the following properties:
It uses FXRuby
It’s a multiplayer turn based card game
Played over a network, or the internet
Players may play cards during other players turns
Players may manipulate their own components at any time
Players can make requests for info on any other players components at
any time

I originally planned to use threading, but I didn’t know that Ruby
blocked IO in threads. Is there a better way to implement this type of
game than using threads and sockets? I am somewhat new to ruby, I
wouldn’t consider myself an average ability ruby coder yet. How should
I go about this?


#2

On 2/20/07, Raj S. removed_email_address@domain.invalid wrote:

blocked IO in threads. Is there a better way to implement this type of
game than using threads and sockets? I am somewhat new to ruby, I
wouldn’t consider myself an average ability ruby coder yet. How should
I go about this?

Two things to look into would be DRb and Rinda. Eric H. has a nice
writeup about both on his segment7 blog.

http://segment7.net/projects/ruby/drb/index.html

DRb stands for Distributed Ruby and Rinda is the Ruby implementation
of a TupleSpace. The TupleSpace would be used to hold all the
information about the current game state, and DRb would be used by the
clients to communicate with one another.

Have fun with the project.

Blessings,
TwP


#3

Thanks for the info. I probably should have read a little more through
the library, I could have found those things myself. Just in case
anyone else is interested, I did find a little more detailed intro to
DRb at http://chadfowler.com/ruby/drb.html

Raj