Hoi,
I recently posted my proposal for GSOC to socghop. There where some
comments
about the content, so I have updated my proposal, and hereby posted
it to
this mailing list so guys can comment further on my proposal...
Rene Dudfield maid the following remark about my original proposal:
"
Also a section on user testing would be good. Where you ask others
to
download pygame to run your tests - to make sure it works ok with
their
computer/camera.
Finally a change in your proposal to seek feedback from the
community on
what changes you will do after the osx stuff is finished would be
good.
Since I have a feeling that you should have some time left over at
the end.
"
I am planning to make a branch of my code available on github.com so
everybody who like can follow my daily work on the project.
Later on in the project I intend to make some blog post about my
work and
post them on reddit.com/r/python, reddit.com/r/mac,
pygame ML and other communities so people can test my code. I have
2 mac at
home and know some other people with macs who
would be willing to test out my work.
Pattern recognition is a complicated subject, But I think that it
would be a
good thing if there where some basic pattern recognition
included like a steering wheel or a face. This would allow any gygame
programmer to use this feartues in there game without any
additional work. A possible interesting project to experiment with
could
be http://code.google.com/p/ehci/wiki/pyehci
If you have any suggestions, remarks or questions please comment.
original
proposal: http://socghop.appspot.com/student_proposal/show/google/gsoc2009/abe/t123872941171
updated
proposal: http://socghop.appspot.com/document/show/user/abe/gsoc_updates
=====================================================================
Updated proposal:
Instructions
Start by getting in contact with the mentor(s) familiar with your
proposed
project. They will help you polish your proposal and introduce you
to the
developer team you'd be working with over the Summer.
Summary:
Nirav Patel has recently implemented camera support into pygame as
a way to
interact with a game. However, this camera module is limited to the
Linux
platform. The goal of my project is to extend this camera module to
the Mac
OSX platform, and thus extending the portability of games written
in pygame
that use a webcam as mean to interact with the player.
I will be using the OSX QiuckTime multimedia framework to work with
the
camera. The camera module shall be implemented in C as a python
extension.
It is my intension to fully port the capabilities of the existing
camera
module. If there are any existing capabilities in the QT Isight
framework,
that could be useful to have in the pygame module, I will make these
available by writhing a wrapper around them.
I will use pyobjc to experiment during the project. For the final
code I
will use objc and C wrappers,since pyobjc is no longer used in
pygane.
When I am finished implementing the camera module for OSX, I will
work on
optimizing the existing code, like optimizing the sbggr8_to_rgb
function.
Ather this I will write documentation and a simple game to
demonstrate the
capabilities.
I am planning to make a branch of my code available on github.com so
everybody who like can follow my daily work on the project.
Later on in the project I intend to make some blog post about my
work and
post them on reddit.com/r/python, reddit.com/r/mac,
pygame ML and other communities so people can test my code. I have
2 mac at
home and know some other people with macs who
would be willing to test out my work.
Pattern recognition is a complicated subject, But I think that it
would be a
good thing if there where some basic pattern recognition
included like a steering wheel or a face. This would allow any gygame
programmer to use this feartues in there game without any
additional work. A possible interesting project to experiment with
could
be http://code.google.com/p/ehci/wiki/pyehci
Schedule:
I intent to work about 42 hours a week on the project
April:
Third week: study the camera implementation in linux version and
see which
methods must me re-implemented for OSX.
Fourth week: Read about things like the SequenceGrabber from the QT
api.
May
First week: make simple python extension in C to get familiar with
the
concept. Read more doc about python extensions.
Second week: Implement simple app that grabs images from the camera
with the
QT SequenceGrabber API in C (obj-C). this is to get a good feeling
with the
QT api.
Third week: start coding on the project, implement the ‘list_cameral’
function and open_device, …
Fourth week: write functions that deal with the controllers…
June
First-third week: implement rest of the functions
Fourth week: write wrapper around some additional functionality
that the QT
framework provides that isn’t in the existing module. I will
probably use
pyobjc for this.
July
First week by now, most camera functions must be implemented. Start
debugging and testing
Second week: write a better sbggr8_to_rgb function and other
optimization
that aren’t yet implemented in the existing camera module.
Thrid week: more optimization and testing/debugging.
Fourth week: write simple game to demonstrate functionality, and
get people
exited about the result.
August:
First week: write documentation and tut explaining how I made the
game. Tie
up lose connections
About Me:
I am a 20 year old student from belgium, and I am currently
studying applied
computer science at the "Hogeschool Gent". I first became
interested in
programming at the age of 16 while programming in Turbo Pascal. I
spend a
lot of my free time coding and reading about related topics. My
interest in
the field of computer science range from web security, visual user
interaction, low level programming, … I enjoy programming in both
Python and
C because both language are elegant and don’t get into your way.
Other
interests of mine include, but are not limited to films, music,
poker and
reading.
I speak fluent Dutch and English
I have GOOD knowledge/experience with the following programming
languages:
* Python
* C
* C++
* Object-C
* Java
* SQL
* (X)HTML/CSS
and MEDIUM knowledge/experience with the following programming
languages:
* JavaScript
* Bash
* sed, awk
I have the following (relevant) skills:
* Algorithms: sorting, searching, image filters, ...
* Lineare algebra
* Data structures: lists, maps, sets, ...
* Web security: sql-injection, code/file injection, XSS, ...
Here is a list of things I have coded, including some small pygames:
* Statistical visualization of combination of enzymes in DNA:
Java, GUI,
SWING, MVC, OOP, XML
* Monopoly Game: Java, GUI, SWING, MVC, OOP
* Managing application: Java, GUI, SWING, SQL, MVC, OOP
* Image filters: C/C++, OOP, Templates
* Sniffer: C, pcap
* Simple chat-client and server: C, pthreads
* Poker odd calculator with GUI (work in progress): C, Object-C,
Reverse
Engineering
* Small IRC bot: Python
* Sniffer: Python (reimplementation of the C one)
* Blog engine: Python, Django, Web
* Simple Blind SQL-injector (ugly script :P): Python, SQL, Web
Security
* a lot of small python scripts to do think with text, web, ...
* Tetris: just Tetris (pygame)
* Square vs Circle: You control a circle with your mouse, and
must try to
place this circle in
a square without hitting one of the bouncing circles. If you
succeed,
you must try again, but
this time with an extra circle. (pygame)
* Divide and conquer: There is an amount of an always increasing
number
of bouncing balls. You
Must try to drive the balls into a corner by drawing lines
until you
have filled 70% of the
screen. (pygame)
* Balls of steel: similar to the above, with the difference that
you must
draw balls
by holding down the right mouse key, the longer you press the
bigger
the ball.(pygame)