Ruby for MMORPG Scripting

Discussion in 'Ruby' started by TongKe Xue, Jul 8, 2007.

  1. TongKe Xue

    TongKe Xue Guest

    Hey Everyone,

    I'm working on a massive simulation project (like worldforge). I need to
    be able to allow users to script objects in the world. I am thinking of
    ussing Ruby as my scripting language of choice. However:

    (1) I need to be able to limit the memory usage of the object.
    (2) I need to be able to limit the CPU cycle usage of the object.

    I.e. I don't want users to use my game to calculate digits of PI.

    Is there a way (or an existing implemntation of Ruby) to let me create
    these light-weight tasklets/threadlets/processlets (there's too many
    objects to have a UNIX process for each object) such that I can limit the
    memory/cpu usage on each?


    Thanks,
    --TongKe
    (When replying, please do reply all as I might unsubscribe due to the
    traffic.)
    TongKe Xue, Jul 8, 2007
    #1
    1. Advertising

  2. TongKe Xue

    SonOfLilit Guest

    I don't think you'd want to use Ruby for MMORPG scripting.

    Current implementations are too resource heavy for that.

    Try a Scheme, a Forth, a Smalltalk or Lua.

    This comes from a huge Ruby fan. This is one of the ONLY things I
    wouldn't use Ruby for.

    On second thought, there's a project to compile Ruby to Smalltalk.
    Maybe a mod of that would give you what you want.


    Aur

    On 7/8/07, TongKe Xue <> wrote:
    > Hey Everyone,
    >
    > I'm working on a massive simulation project (like worldforge). I need to
    > be able to allow users to script objects in the world. I am thinking of
    > ussing Ruby as my scripting language of choice. However:
    >
    > (1) I need to be able to limit the memory usage of the object.
    > (2) I need to be able to limit the CPU cycle usage of the object.
    >
    > I.e. I don't want users to use my game to calculate digits of PI.
    >
    > Is there a way (or an existing implemntation of Ruby) to let me create
    > these light-weight tasklets/threadlets/processlets (there's too many
    > objects to have a UNIX process for each object) such that I can limit the
    > memory/cpu usage on each?
    >
    >
    > Thanks,
    > --TongKe
    > (When replying, please do reply all as I might unsubscribe due to the
    > traffic.)
    >
    >
    SonOfLilit, Jul 8, 2007
    #2
    1. Advertising

  3. SonOfLilit wrote:
    > I don't think you'd want to use Ruby for MMORPG scripting.
    >
    > Current implementations are too resource heavy for that.
    >
    > Try a Scheme, a Forth, a Smalltalk or Lua.
    >
    > This comes from a huge Ruby fan. This is one of the ONLY things I
    > wouldn't use Ruby for.
    >
    > On second thought, there's a project to compile Ruby to Smalltalk.
    > Maybe a mod of that would give you what you want.

    Actually, given that C, Scheme and Forth are good candidates, this might
    also be a good Erlang application. I don't know enough about Lua to
    comment about it, but it's *very* popular in game circles, and it's
    quite "C-friendly".

    Yeah. Smalltalk would probably work. So would Java, for that matter. I
    personally wouldn't learn another language if I wanted to build an
    MMORPG, though, since I'm a better Forth programmer than I am a C
    programmer anyhow. ;)

    I still wonder why the OP wants to build an MMORPG from scratch, though,
    given the number of existing open source projects that could be
    hacked/forked/whatever. "worldforge" is itself open source, IIRC. :)
    M. Edward (Ed) Borasky, Jul 8, 2007
    #3
  4. You'd have to do the same thing that users of the other script languages
    do, they only perform limited computation and if their computation is
    incomplete, they yield and pick up later. The real issue becomes a
    matter of how light weight are ruby threads/objects and exactly how many
    do you expect to be running at once.

    Also, the JRuby and IronRuby stuff looks promising at increasing the
    speed of ruby drastically.


    TongKe Xue wrote:
    > Hey Everyone,
    >
    > I'm working on a massive simulation project (like worldforge). I need
    > to
    > be able to allow users to script objects in the world. I am thinking of
    > ussing Ruby as my scripting language of choice. However:
    >
    > (1) I need to be able to limit the memory usage of the object.
    > (2) I need to be able to limit the CPU cycle usage of the object.
    >
    > I.e. I don't want users to use my game to calculate digits of PI.
    >
    > Is there a way (or an existing implemntation of Ruby) to let me
    > create
    > these light-weight tasklets/threadlets/processlets (there's too many
    > objects to have a UNIX process for each object) such that I can limit
    > the
    > memory/cpu usage on each?
    >
    >
    > Thanks,
    > --TongKe
    > (When replying, please do reply all as I might unsubscribe due to the
    > traffic.)



    --
    Posted via http://www.ruby-forum.com/.
    Josh Phillips, Jul 8, 2007
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Snyke
    Replies:
    1
    Views:
    2,961
    Christopher Benson-Manica
    Aug 5, 2004
  2. Ron Stephens
    Replies:
    23
    Views:
    2,802
    Ron Stephens
    Apr 12, 2004
  3. DaveInSidney
    Replies:
    0
    Views:
    402
    DaveInSidney
    May 9, 2005
  4. Replies:
    9
    Views:
    374
    Mark Space
    Oct 18, 2006
  5. Nick el

    2D MMORPG

    Nick el, Aug 26, 2007, in forum: Ruby
    Replies:
    21
    Views:
    276
    Stefan Rusterholz
    Aug 29, 2007
Loading...

Share This Page