Metagame-Sector

MGS Logo

Goals

Ever been playing a game and thought to yourself, "It would be really cool if XFeature did this...", or "Somebody should make a game where..., I would but it would take too much time"? I have. Then I took it one step further and said "I bet there are thousands of people out there who have similar thoughts; someone should create some technology to make it easier to create games. I guess I should get started."

I thought it would be neat if you could make a game just by going through a set of "wizards" -- even non-programmers could do that. You would make some choices in a wizard, and you could create a chess game, make some other choices and you could create a connect-four game. But realistically, at some point you have to put some intelligence in, so a pure wizard-based approach was skipped (at least until version 2.0) -- users will have to do some (preferably very little) programming. So if I'm gonna ask my users to program, I should make it as easy as possible. I'm of the opinion that Python is the easiest language to learn, so I chose that.

Of course, the underlying framework will be robust and well-designed enough to be usefull for the experienced programmer as well. Features include: (optional) Client-Server model, multiplayer chat, clear and concise set of events and requests, Model-View separation (allows multiple frontends), and more.

Metagame-Sector will be a set of components that allows a neophyte user to quickly and easily create their own Sector-based game and gives the advanced user a great set of tools for doing the same.

Components [TODO]

framework wizards
examples
documentation/tutorials

Features [TODO]

Ease and Speed of writing games
Standalone OR Client-Server
Integrated chat
Many different kinds of maps (grids, hex, arbitrary graphs)
By default all game-relevant decisions happen on server (cheat protection)

Screenshots

Monkey Vs. Robot (tictactoe)
Monkey Vs. Robot (Tic Tac Toe)

Example app
Example application

Hexes
Beginnings of a Hex Map

Text View - Showing off multiple view capability
Beginnings of A Text View

Documentation [TODO]

Software Design

There are 5 main classes: Game, Player, Item, Map, and Sector
Ownership:
[what ownership means: deletion responsibility, etc..]
There is one Game object, which owns one or more Player objects and one or more Map objects
Each Player object owns zero or more Item objects
Each Map object owns one or more Sector objects

Classes and Methods

A quick view of the Classes and Methods

FAQ

Links

SourceForge Page
PyGTK Reference Docs
Games that use Metagame-Sector
Email the maintainer
Subscribe to mailing list
Mailing list archives
PyGNOME/Libglade Tutorial
Py Games Article By Gareth Noyce