Here it is. I know its largely identical to the first app, but don't break
what works, eh?
-Tyler
On Wed, Apr 1, 2009 at 2:47 PM, Tyler Laing <[email protected]> wrote:
> After some thought, I've decided I'll also submit an application for doing
> this. Give me a bit, and I'll have an app to be reviewed.
>
> -Tyler
>
> On Wed, Apr 1, 2009 at 7:37 AM, Ian Mallett <[email protected]> wrote:
>
>> Multiple windows = better than threads.
>> In one of my programs, I used a thread to open a separate window to
>> display an image--the image had to be made into a string and sent in packets
>> through a socket to get to the child...
>>
>
>
>
> --
> Visit my blog at http://oddco.ca/zeroth/zblog
>
--
Visit my blog at http://oddco.ca/zeroth/zblog
About You
=========
1a) Tyler Laing
1b) Contact information:
[email protected]
[email protected]
AIM: zerothofthelaw
MSN and Hotmail: [email protected]
Meebo: Locus
1c) Time zone: PDT and language preferred is English.
1d) Time commitment:
Over the three month period, I would devote at least 40 hours or more
to the project. About the only other time commitment I'd have would be my
birthday, and a few spare-time projects. But otherwise, the GSoC project would
be my job for the three months.
1e) Programming experience:
~6 years programming in Python
~2 years programming in C
~4 years programming in Java(not willingly, mind you!)
Spent the better part of a year working on a mud with Nakedmud
(http://homepages.uc.edu/~hollisgf/nakedmud.html) No successful mud
unfortunately, due to dissatisfaction with the mud design.
Contributed information and decompilation data from the firmware of an
mp3 player I had for rockbox.org
By the time GSoC starts, I will have 3 group projects under my belt,
all three involving design documents, specifications processes, and the use of
svn.
A couple of terms experience with MIPS assembly language(I'm even a
teaching assistant for the class!)
Contributed python development documents to the OpenMoko wiki
1f) Pygame experience:
Simple and buggy clone of breakout
Two different map editors
A particle engine
1g) Other skills and experience:
Experience with svn and version control systems
Excellent non-fiction writing skills
Experienced with technical communication, via mediums like forums,
mailing lists, and irc.
Three years running Linux. I do have windows on a guest VM for the
rare(very rare) times I need windows. So I can produce packages for *nix and
Windows.
Pretty good at error-fixing
Good sense of humor
I also speak with a slight but definite Canadian accent. Make of that
what you will, eh?
I'm a pretty damn good cook, if I say so myself.
About Your Project
==================
2a) Please explain in 2 to 3 paragraphs the project you intend to complete.
My proposed project is to port pygame from SDL 1.2(Stable) to SDL
1.3(Development). This would entail determining which features and parts of the
API are solid, and then writing the appropriate wrapper around those functions.
Ideally, a large part of the pygame internals could be expected to work as
before, with certain portions recieving a large rewrite to work with the new
SDL 1.3 internals and api.
Because SDL 1.3 is still in development, but with many important
features and parts of the api now currently frozen except for bug-fixing, this
means that Pygame and by extension Python would have more advanced features,
like multiple windows, multiple displays, access to 2d acceleration, and many
more.
2b) What existing or future need does your proposed project fulfill?
At the moment, Pygame is wrapped around the stable SDL 1.2 branch,
while active development is being pursued on the SDL 1.3 branch. Because SDL
1.3 has several exciting new features, like multiple windows, multiple
displays, 2d hardware acceleration, and texture support, this would give pygame
modern game features and performance, while at the same time retaining the ease
of development and use of the Python language.
In addition, largely because of the 2d hardware acceleration, this will
allow for more complex games to be written with pygame which, again, benefits
the community at large. Improving pygame allows for Python to tout it as an
excellent, albeit optional, benefit, which would attract more young programmers
to the community.
2c) Provide a rough timeline for how you intend to complete your project,
test it, and document it within the allotted time period.
Week 1: Examine SDL 1.3 branch, to determine what features and parts of
the api are finished.
Week 2: Develop User stories for the new features. This will allow me
to develop interactive acceptance tests of the module, ensuring the module
satisfies the user stories.
As well, unit tests and performance tests would be developed
for the most basic functionality, that of multiple windows and displays, and 2d
hardware acceleration.
Week 3: Multiple windows and displays wrappers.
Week 4: 2D hardware acceleration
Week 5: Texture support
Week 6: Develop further unit, performance, and acceptance tests. Clean
up documentation. Alpha Release.
Week 7: Add further SDL 1.3 features, like the multitude of sound
improvements, allowing for cleaner, more dynamic sound options for games.
Week 8: Develop further unit, performance, and acceptance tests for new
features. Add more documentation.
Week 9: Evaluate and refactor api with feedback from community and
mentor
Week 10: Add further features, fix bugs and errors that show up.
Week 11: Begin packaging process for *nix and hopefully Windows.
Week 12: Code freeze, final week of testing. Beta Release.
2d) Describe how you have brought your project proposal to the Pygame
community, their reactions to your proposal, and revisions you have
made based on those reactions. (hint: this is something you really
want to do before submitting your application)
I posted on both the pygame and python mailing lists, and received a
lot of great support. Offers of help with the application, and advice for the
application progress were given. Once a draft application was submitted to
volunteers, they offered advice on the schedule, and further questions on
skills and knowledge I had not thought to put in.