Jano Svitok
8/23/2006 10:56:00 AM
On 8/23/06, Mike Zink <zuwiki@gmail.com> wrote:
> The following is a description of my situation. You may not need to read
> it, in which case, just skip to the part where it says "Enough of that,"
> but you probably will need to read this.
>
> I am trying to make an online text based "hacking" game. Like, the kind
> where you infiltrate other people's computers and destroy their stuff.
> Basically, the game will be like a mud, but P2P, since I don't have/want
> to maintain a server for that kind of stuff. The game engine will be
> stored locally on the players computer. During distribution, I will use
> Ruby2Exe or similar so that players won't be able to tamper with files.
> They will connect to a metaserver which will give them a list of
> connected players, and add them to that list. It will store actual IP
> addresses, so that the metaserver need not be contacted again. Also,
> after the client gets the IP list, it will connect to the other players
> on the list and tell them that they have connected. I am not expecting
> the amount of players that mainstream MMOs have, so this shouldn't be a
> problem. Actually, I'm not expecting any players, this is more of a
> learning experience.
>
> Now the important part. The premise of the game is hacking. Real hackers
> (at least in this virtual world I'm creating) make their own tools.
> Everything, with the exception of a few basic tools (like a "connect"
> program for connecting to other players), will be player created.
> Hopefully. Now to do that, I want the players to be able to write their
> own Ruby scripts (and eventually maybe Python and Javascript) that will
> only be able to use a few modules and classes that I will create, to
> prevent people actually messing up other player's computers, and to keep
> the game more balanced.
>
> Those classes, by the way, are going to be pretty much the basic ruby
> stuff, those for using an in-game filesystem, much like the File class,
> and for communicating with other players, and any I feel necessary later
> on.
>
> Enough of that. The main obstacle I need to pass before being able to
> make the game playable, other than some general design flaws, is letting
> the player have interpreted Ruby scripts that they can create within the
> game, and that will be run in the game. Basically, they need to have
> access to the libraries that I created, but not any actual Ruby
> libraries. The tricky part is that the libraries I created need access
> to the actual Ruby libraries.
>
> Is there any way to do this? Or another way to allow players to run Ruby
> programs?
>
Once there was an online game of this kind, hackthisbox IIRC, and the
best fun was that even though there were some 12 levels to go, some of
the brightest have achieved level 15... Apparently the page had some
problems itself ;-) So, sometimes some "bugs" are nice, just one needs
to make sure the possible damage isn't too high.