[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[pygame] GSoC



Hi,

I was wondering if there was any chance of creating a new GUI toolkit in
Pygame, for Google Summer of Code. I know this isn't working directly on
Pygame, but I think an easier to use, more detailed toolkit may lower
the entry barrier for new developers, and provide a smoother experience
to the players that choose to play these games, thus improving the
overall quality of the Pygame project.

This toolkit will focus more on the widgets than packing features,
giving full control to the developer as to where the widgets should be
positioned. Each widget should act as a user would expect, with similar
behaviour to GTK+ widgets, a lot of attention has gone into the small
details.

With it's current design, to start using the toolkit it is as simple as:
from sgc import *
from sgc.locals import * #Import the modules
# Create a widget
example_widget = widgets.Input_Box(args...) #Create an input box widget
example_widget.pos = (x,y) #Set the widget's position
example_widget.add() #Add widget to the active widgets
Then just add into your event handling:
widgets.event(event)
And somewhere else in your game loop:
widgets.update(time)

It should be complete without graphics to keep the total size low and
unbloated, all graphics should thus be produced through code only.
Although, it will be themeable so that developers can use custom images
to change the appearance of the widgets.

During this GSoC project I would also like to make this toolkit work in
OpenGL under Pygame, with identical behaviour, so developers can have a
more seamless transition between 2D and 3D game development.

I have started creating a spec for this project as part of my college
coursework. Most of the stuff in the spec has already been completed, so
if there is a chance I can do this for GSoC then I will expand this spec
to show what will be completed during this timeframe. You can download
the spec from:
http://sambull.org/spec.pdf

If you also want to see the current progress of the project, you can
download the source from:
https://launchpad.net/simplegc
Just download the code from the link, then run the run.py file in Python
to launch the example program. The widgets should behave as you would
expect them to on your desktop, use the "f" key to toggle the FPS
counter.
The dialog windows and menu are not complete, but the few other widgets
are reasonably feature complete.

Thank you for your time,
Sam Bull

Attachment: signature.asc
Description: This is a digitally signed message part