Thursday, June 25, 2009

Crazy Idea Percolating Through My Mind

So, I've got this idea that I'm pretty sure I couln't monetize effectively anyways and by posting it on the weeb now I suppose that's like me establishing prior art on it if I ever need to patent it. It's essentially a synthesis of a number of other ideas and technologies I've come across over the years, the culmination of years of wasting time on the internet and reading science fiction.

The Basic Idea
A Virtual World that's built from the inside. Yes, this has been done before... In fact, services like Second Life has the whole shebang pretty wrapped up... and they actually managed to create profitable revenue streams with it.

So where is mine different? First off, my virtual world is going to be a lot less graphics intensive. Effectively it will be a MUD with a less archaic and draconian interface. There was a lesser known style of MUD called a MOO (MUD Object Oriented) which is the real core idea that I am trying to build on.

Essentially, take a simple textual interface MUD, add the ability to optionally present graphics, make commands into buttons and build it on modern technology so that it can be presented to the user as an AJAX web-application.

Okay, now comes the MOO part. A MOO was basically a MUD in which the "players" were able to design, instantiate and customize objects that could be interacted with by others in the world. For example a user could create a room, provide a description and name and list of exits, or they could develop a class definition that would extend a basic chair object to define a couch that can be sat on by up to three people and be dragged from room to room through exits, or they could make a series of rooms and objects woven together into a text adventure or typical combat oriented adventure.

This object definition and creation was also done through that painful text interface that players used to explore the world, entering room descriptions and scripts line by line with text commands. My idea would be to have two basic tools that would make the world creation process less painful. First would be a graphical and hierarchical object designer that would allow a user to set names, descriptions and other properties in a easy visual interface, with formatting friendly tools. The second tool would be a scripting IDE with intellisense-like functionality to allow users to program their custom object scripts in a C++ like language.

Why?
The primary purpose I had in mind when I was first germinating this idea was education. When I was a kid, new to the internet, I spent a good chunk of time playing on a local MOO, and kids still frequent forums and social-networking sites so we might as well make their time spent there productive.

The first thing my little system would teach a user is the fundamental concepts of Object Oriented design. There's no better way to learn a new language then by living immersed in it and I see no reason why this same principal can't apply to abstract computer science concepts. If users explore and interact with my world the structure of this world will become second nature to them. I was also intending to implement messages between entities and other useful design concepts in the fundamental structure the users will be working with.

The second thing my world would hope to instill in users is practical high level programming skills. By allowing the extension and creation of object classes using a C++ like interface I am giving both the opportunity to learn how to program but also the opportunity to show off their creations to other users. If you make a really interesting class that simulates a horse or car or rocket ship or fish tank or chess set and allow people to make instance of it that should instill some measure of pride.

The Nitty Gritty and The Big Problem
Essentially this project is way too big for me to accomplish on my own... in fact, I probably wouldn't be much use to the development of such a project until it got to the point where I was helping script some base objects.

Just the back-end for this world that allows custom scripted objects to interact with player actors is beyond my skills at this point while the idea of a web-based intellisense-like C++ style IDE it a monumental task in itself.

I don't even know where to start looking at trying to pick at pieces of designing such a system, even though I can imagine how it would work in general terms.

So when it all comes down to it, it's just fun little idea to bounce around in my head. Unless someone out there working on a Masters thesis in Computer Science feels like devoting said thesis towards my concept I suppose.

Meanwhile, It's a fun little notion to bounce around and I've been fleshing it out a little more every time I tell someone about it. Also, every day I'm learning more about and getting more experienced programming and designing sql queries and developing interfaces... it's entirely possible some day I will have the expertise and experience required to do it myself. You know, after I make all those other video game ideas I have.

0 Comments:

Post a Comment

<< Home