Rapture!

by Unknown

Back to The Real World.

Unknown2007-08-20 16:46:58
So, I think this is an OK medium to ask these, but sorry if it's not.

I'm curious about how RAPTURE works. I've been looking over the manual on the IRE website, and it seems to be, basicly, a language with a server built into it. So you don't have to deal with setting up the sockets/accepting connections and whatnot, you just code the game, it compiles, and voila.

Now, my inquiry is - how does rapture manage to do updates without reseting the system? Someone said, at some point somewhere, that it was a framework into which different modules were loaded. However, I can't find any mention of this in the manual. Can anyone clarify, in any way? Or, speculate as to how it works? Thanks!
Unknown2007-08-21 01:43:48
It looks like everything coded into the Rapture mud is an object, so it appears its easy to reload the database objects. OOP allows you to create methods for objects, so I assume characters, weapons, etc, have their own methods. So it's easy to change ability effects by putting them into a database, loading them into the environment and resetting the cache.

That's my best guess.

ETA: Actually, it's not OOP, it's procedural. Hmm...
Morgfyre2007-08-25 19:03:08
Rapture is a very grammatically different language from what you might expect. For example, to increment a variable to ten, I would write:

CODE
HAI
CAN HAS STDIO?
I HAS A VAR
IM IN YR LOOP
    UP VAR!!1
    VISIBLE VAR
    IZ VAR BIGGER THAN 10? KTHXBYE
IM OUTTA YR LOOP
KTHXBYE


For an actual code example, here's how we determine whether you can eat an herb or not:

CODE
HAI
CAN HAS STDIO?
I HAS A CHEEZBURGER
GIMMEH CHEEZBURGER
IZ CHEEZBURGER BIGGER THAN 0?
    YARLY
        BTW this is true
        VISIBLE "You have already ingested an herb too recently to eat another!"
    NOWAI
        BTW this is false
        VISIBLE "You eat $thing."
    KTHX
KTHXBYE


You can read more about Rapture at the Rapture Manual. Hope that helps!
Unknown2007-08-25 19:07:56
QUOTE(Morgfyre @ Aug 25 2007, 02:03 PM) 436117
Rapture is a very grammatically different language from what you might expect.


This is clearly not actual code. GIMMEH CHEEZBURGER is a method and requires parentheses.