Mubbles

From OLPC
Revision as of 19:06, 24 June 2007 by Poisos (talk | contribs)
Jump to navigation Jump to search

QTMBA (Questions that may be asked):

What is Mubbles (supposed to be)?

The basic idea for Mubbles came from a game called "Geometry Wars(R)" (which you may know from as a XBOX360 arcade game or maybe even a much older version). In that game you have to hunt and destroy several geometric forms to earn highscore points, new equipment for your ship etc. .

But because the OLPC project is about education the main goal of the "game" is to get the kids involved in creating their own version of it - to modify it.
Some steps for them could be to influence the form and color of the objects, their behavior, create their own objects and share them with others over the mesh network.

I dislike the concept of a violance centered game especially as an educational project. So I came up with the idea to treat the geometric objects as creatures. They could then interact with each other or just show some bevavior.

It would still be possible to program some kind of "ship" and make it controllable by a player.

What programming language does Mubbles use?

Python

How could one ensure that the modding is simple enough?

The basic idea is, to create a base class (or classes) which holds the necessary functionality a object needs in the Mubbles game world and to implement some specific yet simple objects (i. e. a circle). It would then be possible i. e. to change a single value in the source code (like color, size). This would give immediant feedback to the kid and it's just changing a number (or three ;) ). You could do a subclass and overwrite a specific function to change a more complex behavior i. e. how the object moves or how it is animated while keeping the rest exactly like it was so your code does not get cluttered. Of course you can create a whole new object completely by your own by subclassing and overwriting.

Why use the name Mubbles?

This is just a crude combination between math and bubbles (= Mubbles) :).

A first visualization

Basic ideas of elements

The following piucture shows some potential objects in the Mubbles playground.

Mubbles for OLPC 0002.jpg

1: This is a basic outlined and filled circle. Think of it floating lazily over the screen, bouncing back from the screen borders. The code for it should be in a seperate python file. There should be simple understandable variables/properties for the numerical values the objects consists of like: outlineColor, fillColor, outlineThicknes, center, radius, name.
The kid could easily copy the file, set new values for these give it a new name and restart the game. Because of a new file in the "objects" folder a new object gets added to the playground and floats around.

2: This is an other basic object with almost the same basic values. (An other python demo file).

3: This is a more complex object composed of one of the simplest. The big circle still drifts lazily around the screen but the four sattelites rotate around its center. There are multiple colors (multiple stacked circles of a single color) in the big circle. Its behavoir has not changed. But there is a new beavoir for the sattelites.

4: This object adds to the basic form of the circle a much more complex shape. It is supposed to resemble some kind of aircraft and was originally designed to represent the player ship which could be directly controled. (A lot of new code would be necessary for that.) But as I said in the QTMBA the basic game should not include the element of fighting but more the element of individual creativity in designing new mubbles.

5: