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

Re: [pygame] best gsoc idea EVER for someone: porting pygame to SDL 1.3



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 <trinioler@xxxxxxxxx> 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 <geometrian@xxxxxxxxx> 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: 
	trinioler@xxxxxxxxx
	zeroth@xxxxxxxx
	AIM: zerothofthelaw
	MSN and Hotmail: cooltlguy@xxxxxxxxxxx
	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.