[pygame] Student summer(or winter) of code projects, $5000 from google.

2012-03-30 Thread René Dudfield
Hello,

want to hack on an open source project over the summer, and get paid by
google to do it?


It's very last minute, but there is still a week to get a proposal in (next
Friday... April the 5th deadline).

We're collecting information about it here (ideas, links etc):
https://bitbucket.org/pygame/pygame/wiki/gsoc2012ideas


Mike Fletcher from the pyopengl project is also mentoring with us... so if
you want to do a pyopengl project instead you can do one of those too.


If you have any ideas about projects, please write an email to the mailing
list, or pop into the irc channel to discuss.  We'll help you with your
proposal too... so just ask.


Here is more information about the program from google:

http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2012/faqs


There's 4 mentors so far, but if anyone else with experience wants to help
out mentoring, please get in touch.



cya


Re: [pygame] Student summer(or winter) of code projects, $5000 from google.

2012-03-30 Thread Sam Bull
On Fri, 2012-03-30 at 17:57 +0200, René Dudfield wrote:
> It's very last minute, but there is still a week to get a proposal in
> (next Friday... April the 5th deadline).

Should we be applying to the Python Software Foundation? I don't see
Pygame listed as it's own organisation or listed on the PSF page.

-- 
Sam Bull 
PGP: 9626CE2B



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


Re: [pygame] Student summer(or winter) of code projects, $5000 from google.

2012-03-30 Thread René Dudfield
Hi,

Yeah, applying to the Python Software Foundation. That page has not been
updated to add pygame there yet.

If anyone needs help with a proposal, let us know.

cu.

On Fri, Mar 30, 2012 at 10:16 PM, Sam Bull  wrote:

> On Fri, 2012-03-30 at 17:57 +0200, René Dudfield wrote:
> > It's very last minute, but there is still a week to get a proposal in
> > (next Friday... April the 5th deadline).
>
> Should we be applying to the Python Software Foundation? I don't see
> Pygame listed as it's own organisation or listed on the PSF page.
>
> --
> Sam Bull 
> PGP: 9626CE2B
>
>


Re: [pygame] Student summer(or winter) of code projects, $5000 from google.

2012-04-02 Thread Sam Bull
On Fri, 2012-03-30 at 22:51 +0200, René Dudfield wrote:
> If anyone needs help with a proposal, let us know.

I'd like to do some more work on my GUI toolkit. I know it's not
directly working on Pygame, but I think it will greatly benefit the
community.

I'm going to write a proposal with a brief overview of the project, and
then link to my project specification. If anybody would like to review
the specification, you can find it at
http://sambull.org/downloads/spec.odt

The spec was initially written a couple of years ago, and much of the
stuff on there has already been implemented. I've added an expansion
point to the end to list additional things for GSoC 2012.

As soon as I send this email, I'll be making another beta release of the
project. So, if you would like to see the current state of the project,
then please wait for my next email.


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


Re: [pygame] Student summer(or winter) of code projects, $5000 from google.

2012-04-02 Thread René Dudfield
Great.  If you want to send through a draft proposal, we can give you
feedback.  Or just submit it, then we can give you feedback through the
online system.

There has not been any other pygame or pyopengl proposals yet.

One other interesting thing is that Google will write you a letter to your
university for course credit.  So if you talk to someone at your
uni/college, you might be able to arrange to have the project go towards
your course.

Cheers,


On Mon, Apr 2, 2012 at 8:08 PM, Sam Bull  wrote:

> On Fri, 2012-03-30 at 22:51 +0200, René Dudfield wrote:
> > If anyone needs help with a proposal, let us know.
>
> I'd like to do some more work on my GUI toolkit. I know it's not
> directly working on Pygame, but I think it will greatly benefit the
> community.
>
> I'm going to write a proposal with a brief overview of the project, and
> then link to my project specification. If anybody would like to review
> the specification, you can find it at
> http://sambull.org/downloads/spec.odt
>
> The spec was initially written a couple of years ago, and much of the
> stuff on there has already been implemented. I've added an expansion
> point to the end to list additional things for GSoC 2012.
>
> As soon as I send this email, I'll be making another beta release of the
> project. So, if you would like to see the current state of the project,
> then please wait for my next email.
>


Re: [pygame] Student summer(or winter) of code projects, $5000 from google.

2012-04-03 Thread Mike C. Fletcher

On 12-04-02 02:08 PM, Sam Bull wrote:

On Fri, 2012-03-30 at 22:51 +0200, René Dudfield wrote:

If anyone needs help with a proposal, let us know.

I'd like to do some more work on my GUI toolkit. I know it's not
directly working on Pygame, but I think it will greatly benefit the
community.

I'm going to write a proposal with a brief overview of the project, and
then link to my project specification. If anybody would like to review
the specification, you can find it at
http://sambull.org/downloads/spec.odt

The spec was initially written a couple of years ago, and much of the
stuff on there has already been implemented. I've added an expansion
point to the end to list additional things for GSoC 2012.

As soon as I send this email, I'll be making another beta release of the
project. So, if you would like to see the current state of the project,
then please wait for my next email.
We need more concrete details for the proposal.  Looking through the 
code on Launchpad:


 * you don't seem to have a setup.py or similar "traditional"
   installer; that would be a requirement for broad acceptance
 o even those who are going to copy your code into their trees
   likely want to experiment with it first
 * the selection of widgets is fairly sparse
 o I don't know that that is really a *bad* thing, games do tend to
   use a fairly sparse set of widgets
 * there doesn't *seem* to be a theme/skinning mechanism
 o that is, how would I go about making my buttons look like
   flaming ovals instead of rectangles in order to match my
   flaming-eggs game?
 o how would I control menu layouts (position, adding preview
   windows to the right side, etc)
 * menus don't *seem* to have any keyboard control (at least, none I
   was able to trigger in the test app)

Issues to address in the proposal (note: these are at least things you 
need to address, I'm not saying "do or do not", but "provide your 
rationale"):


 * Reaching a 1.0 release is not a sufficiently well specified goal
   (after all, you could increment the version number and upload to
   complete)
 o What will be accomplished (specifics, what $5000 worth of work
   needs to be accomplished, on what approximate time schedule)?
 + What metrics will be used to judge the attainment of the goals?
 + What level of documentation is required?
 + Are you going to produce tutorials or just references?
 + What level of testing is required?
 o Are you going to speculatively convert some open source games to
   use the library to test it's ability to integrate into other
   projects?
 * I would like to see some real adoption/interest numbers.  GSOC
   implies creating something that a significant collection of people
   are going to want to be using the project's results.
 o Is there a strong interest from third-party developers in the
   project  [You say the library is ready to replace the other
   toolkits, but don't mention how many people are planning to
   switch from other libraries to yours as soon as it is stable]
 o Are other people using the widgets already, if not, what is
   stopping them?  Do you have user feedback on this?  If not, it
   might be useful to ask the Pygame community to weigh in on it
   over the next day or two.
 * What is the rationale for a new library over refining an
   existing/in-production library?  That likely needs to be addressed
   explicitly and in detail.
 o Why not enhance PGU or the like with better keyboard support? 
   What are the *specific* failings that make it's approach

   unworkable?  Adding tab support or selection-in-text-boxes to an
   existing library sounds fairly workable, if that is their only
   failing.
 o Why not branch/fork an existing library to bootstrap development?
 o Why not borrow code from appropriately-licensed libraries?
 * If I understand correctly there have been at least half a dozen
   Pygame GUI libraries over the years.  Devil's advocate says the
   problem isn't so much getting a GUI library written as keeping it
   maintained.
 o How does this project avoid "tossing it over the wall" (that is,
   finishing and abandoning the project)?
 o GSOC AFAIK prioritizes getting new developers into *existing*
   projects, building the community of developers.  How does this
   project integrate into the larger community of Pygame developers?

HTH,
Mike

--

  Mike C. Fletcher
  Designer, VR Plumber, Coder
  http://www.vrplumber.com
  http://blog.vrplumber.com



Re: [pygame] Student summer(or winter) of code projects, $5000 from google.

2012-04-03 Thread Sam Bull
On Tue, 2012-04-03 at 09:26 -0400, Mike C. Fletcher wrote:
> We need more concrete details for the proposal.  Looking through the 
> code on Launchpad:
> 
>   * you don't seem to have a setup.py or similar "traditional"
> installer; that would be a requirement for broad acceptance
>   o even those who are going to copy your code into their trees
> likely want to experiment with it first

To be honest, I'm not entirely sure what a setup.py installer should do.
The only thing you need to use the code is to make sure it's importable,
either by putting it in the top-level of your project or putting it
somewhere PYTHONPATH can find it.
I'll be happy to create some kind of installer if it's needed. I would
be interested in creating deb and rpm packages to install it globally,
if someone can give me tips on how to do this.

>   * the selection of widgets is fairly sparse
>   o I don't know that that is really a *bad* thing, games do tend to
> use a fairly sparse set of widgets

With the core of the toolkit stabilising, it is fairly easy to add
additional widgets. The radio button and toggle button were created by a
friend last week with only a little help from me. It was about a day's
worth of work for each widget. With the developer documentation
completed I'm convinced that any developer could create new widgets. I
still need more widgets for my own games, so I will be adding more
sooner or later either way.

>   * there doesn't *seem* to be a theme/skinning mechanism
>   o that is, how would I go about making my buttons look like
> flaming ovals instead of rectangles in order to match my
> flaming-eggs game?

That is a feature that is not fully documented or tested, and a little
buggy. This is one of the things I will be completing early on for GSoC.

If you'd like to know how it works (or almost works), then the first
argument you pass to a widget can be a tuple containing the size, but
you can instead pass in a pygame.Surface object, and it will use that
surface to draw the widget. There is a slightly more complex option
using a dictionary to specify images for different states, such as the
up, over and down images of a button.

>   o how would I control menu layouts (position, adding preview
> windows to the right side, etc)
>   * menus don't *seem* to have any keyboard control (at least, none I
> was able to trigger in the test app)

Menu layouts need some more work to be more customisable. At the moment
you can only add widgets in a vertical manner (and the format for it is
not documented yet). Keyboard support works with TAB, one of the minor
features not yet implemented from the list on my spec is to add up/down
key support.

> 
> Issues to address in the proposal (note: these are at least things you 
> need to address, I'm not saying "do or do not", but "provide your 
> rationale"):
> 
>   * Reaching a 1.0 release is not a sufficiently well specified goal
> (after all, you could increment the version number and upload to
> complete)
>   o What will be accomplished (specifics, what $5000 worth of work
> needs to be accomplished, on what approximate time schedule)?
>   + What metrics will be used to judge the attainment of the goals?
>   + What level of documentation is required?
>   + Are you going to produce tutorials or just references?
>   + What level of testing is required?

Right, I've added a rough timeline to the GSoC proposal, I will expand
on it with more details of what the end result should be for each task.

Documentation for individual widgets is done. I will add more tutorials
to cover some other aspects as mentioned at the end the .odt file. I
will then try to get some feedback from people trying to use it. If they
have difficulty or need to ask questions, then I need to expand on the
documentation or make it clearer.

I currently have an API reference, and will be adding tutorials toward
the end of GSoC.

>   o Are you going to speculatively convert some open source games to
> use the library to test it's ability to integrate into other
> projects?

That's a great idea. I'm confident that my toolkit could be easily
dropped into a traditionally developed game (that is, a game with a
global game loop updating everything and an event loop).

>   * I would like to see some real adoption/interest numbers.  GSOC
> implies creating something that a significant collection of people
> are going to want to be using the project's results.
>   o Is there a strong interest from third-party developers in the
> project  [You say the library is ready to replace the other
> toolkits, but don't mention how many people are planning to
> switch from other libraries to yours as soon as it is stable]
>   o Are other people using the widgets already, if not, what is
> stopping them?  Do you have user feedback on this?  I

Re: [pygame] Student summer(or winter) of code projects, $5000 from google.

2012-04-03 Thread René Dudfield
Hello,

if you haven't already... apparently it's a good idea to get your
application in soon, as the last 24 hours the website can get busy... and
in previous years people have missed out.  You can always update your
proposal the closer it gets to the deadline.


cheers,


Re: [pygame] Student summer(or winter) of code projects, $5000 from google.

2012-04-05 Thread Mike C. Fletcher

On 12-04-03 11:01 AM, Sam Bull wrote:

On Tue, 2012-04-03 at 09:26 -0400, Mike C. Fletcher wrote:

We need more concrete details for the proposal.  Looking through the
code on Launchpad:

   * you don't seem to have a setup.py or similar "traditional"
 installer; that would be a requirement for broad acceptance
   o even those who are going to copy your code into their trees
 likely want to experiment with it first

To be honest, I'm not entirely sure what a setup.py installer should do.
The only thing you need to use the code is to make sure it's importable,
either by putting it in the top-level of your project or putting it
somewhere PYTHONPATH can find it.
I'll be happy to create some kind of installer if it's needed. I would
be interested in creating deb and rpm packages to install it globally,
if someone can give me tips on how to do this.

The setup.py basically allows someone to do:

$ pip install sgc

and have the package show up on their machine (likely in a virtualenv) 
so that they can start following along with the tutorial.  It also 
allows you to do:


$ python setup.py sdist register upload

to release a new package automatically on PyPI.  For a package such as 
yours it should be approximately 20-30 lines of (largely boilerplate).


RPM and DEB packaging likely isn't as critical, as most people seeking 
to make the package part of their game are likely to copy the tree into 
the game before distribution.  That said, both of those packaging tools 
work best when there's a setup.py available, so that you can use all of 
the standard, automatic mechanisms specifically set up for Python 
distutils/setuptools packages.



   * the selection of widgets is fairly sparse
   o I don't know that that is really a *bad* thing, games do tend to
 use a fairly sparse set of widgets

With the core of the toolkit stabilising, it is fairly easy to add
additional widgets. The radio button and toggle button were created by a
friend last week with only a little help from me. It was about a day's
worth of work for each widget. With the developer documentation
completed I'm convinced that any developer could create new widgets. I
still need more widgets for my own games, so I will be adding more
sooner or later either way.
Other developers working on the library is good to know, that should be 
mentioned *in the proposal* (you are now covering the idea of others 
developing for it, but I don't see any mention that others have worked 
on the project in the proposal).

   * there doesn't *seem* to be a theme/skinning mechanism
   o that is, how would I go about making my buttons look like
 flaming ovals instead of rectangles in order to match my
 flaming-eggs game?

That is a feature that is not fully documented or tested, and a little
buggy. This is one of the things I will be completing early on for GSoC.

If you'd like to know how it works (or almost works), then the first
argument you pass to a widget can be a tuple containing the size, but
you can instead pass in a pygame.Surface object, and it will use that
surface to draw the widget. There is a slightly more complex option
using a dictionary to specify images for different states, such as the
up, over and down images of a button.

I see the section in the new proposal.



   o how would I control menu layouts (position, adding preview
 windows to the right side, etc)
   * menus don't *seem* to have any keyboard control (at least, none I
 was able to trigger in the test app)

Menu layouts need some more work to be more customisable. At the moment
you can only add widgets in a vertical manner (and the format for it is
not documented yet). Keyboard support works with TAB, one of the minor
features not yet implemented from the list on my spec is to add up/down
key support.

Ah, okay, had not thought to use tab there.

Issues to address in the proposal (note: these are at least things you
need to address, I'm not saying "do or do not", but "provide your
rationale"):

   * Reaching a 1.0 release is not a sufficiently well specified goal
 (after all, you could increment the version number and upload to
 complete)
   o What will be accomplished (specifics, what $5000 worth of work
 needs to be accomplished, on what approximate time schedule)?
   + What metrics will be used to judge the attainment of the goals?
   + What level of documentation is required?
   + Are you going to produce tutorials or just references?
   + What level of testing is required?

Right, I've added a rough timeline to the GSoC proposal, I will expand
on it with more details of what the end result should be for each task.
Much better now, though I'd still like to see a few more specifics 
(you'll never satisfy me, of course, I *always* want more specifics :) ).

Documentation for individual widgets is done. I will add more tutorials
to cover some other aspects as

Re: [pygame] Student summer(or winter) of code projects, $5000 from google.

2012-04-05 Thread Sam Bull
On Thu, 2012-04-05 at 09:12 -0400, Mike C. Fletcher wrote:
> I realize this may seem strange, but I would suggest putting 
> documentation further forward in the task-list, because...

OK, I changed the tutorials to produce a tutorial after each relevant
section is implemented, so I can get feedback on it immediately. I've
also moved the developer documentation forward a couple of weeks, to the
point that everything needed for widget development has been implemented
beforehand.

> Technical note: one thing that happens in the tutorial there is that it 
> *looks* like you've replaced Pygame's set_mode()? If you are going to 
> set yourself out as following the Pygame way, you may want to introspect 
> current screen dimensions and layout from a passed-in screen object 
> that's the result of set_mode()  That is, instead of doing the 
> set_mode() call yourself, you should be passed a screen on which to draw 
> and look at it to determine what size, mode, etc to use.  Having a 
> *convenience* mechanism where you create the screen is nice for new 
> users, but people like their control in Pygame.

Yes, that is something I have been contemplating, it is the only hack I
still require of the user. I've been considering replacing it with an
init() function, as long as I can get the information I need.
At the moment, it's not a major issue, as the returned object is a
very simple wrapper, and should not affect anybody's code. So, removing
it later will only require users to change that line of code. But, I'll
certainly take a look at it by the end of GSoC.


Thanks for all your feedback Mike, it's really helped me flesh out the
proposal.


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


Re: [pygame] Student summer(or winter) of code projects, $5000 from google.

2012-04-05 Thread René Dudfield
Hi,

there are a bit less than 23 hours left to submit a proposal.


cheers,