Hi Tom,

Is there any reason you couldn't use an SDL2 using pygame?

I assumed you would be able to.

best,

On Monday, March 20, 2017, Tom Rothamel <t...@rothamel.us> wrote:

> I'll be honest and say I really haven't had any time to improve the
> features of pygame_sdl2 that aren't used by Ren'Py. It's hard enough to
> support one large project, and I just don't think I have another one in me
> at this time. I'd love to work with anyone who wants to bring pygame_sdl2
> to parity with pygame, or to share/relicense any code that people want to
> move to other projects. (This could also include stuff distributed with
> Ren'Py at the moment, like Steam or IAP support.)
>
> Assuming that nobody wants to take this up as a project, I'll probably
> rename pygame_sdl2 to something else, so as not to overly confuse people on
> what it's about.
>
> I'd suggest there are three things a future pygame needs to focus on:
>
> 1) Mobile support - I think any game development platform that doesn't
> support mobile devices is just going to get increasingly marginalized.
>
> 2) Providing access to modern graphics APIs, like OpenGL/OpenGL
> ES/Vulkan/DirectX - perhaps via something like ANGLE, and then supporting
> the rest of the stuff required to make a game around them - opening
> windows, loading images, audio, haptics, etc.
>
> 3) I would suspect that a non-backwards-compatible pygame would be poorly
> received if it keeps the same name and breaks the existing code. It would
> require any book mentioning pygame to be rewritten - and is it likely
> anyone would do that rather than try to teach people some other
> API/language?
>
> But this is all backseat driving, since I really am kind of full up,
> schedule-wise. That being said, when evaluating SDL2 migration
> requirements, it's probably a good idea to first decide what the actual
> needs are.
>
>
>
>
> On Sun, Mar 19, 2017 at 6:46 PM Leif Theden <leif.the...@gmail.com
> <javascript:_e(%7B%7D,'cvml','leif.the...@gmail.com');>> wrote:
>
>> I think that rewriting the extension modules in cython would be a great
>> way to make the project accessible to new developers.
>>
>> Writing extensions in C, as it is now, requires that developers have 1.
>> Good C skills, 2. Understanding of the Python C library, 3. Knowledge of
>> the SDL library, 4. Understanding of low-level details about the platforms
>> it supports, and finally, 5. a good sense of how pygame works.
>>
>> If you can imagine those skills charted as a Venn diagram, it's not
>> difficult to understand why it is hard to maintain pygame as is, because
>> only a handful of people have those skills and actually care.
>>
>> Cython is not difficult to learn and looks like Python. It would be less
>> of a barrier of entry for new developers to contribute.
>>
>> Also, let's not forget that C in general is losing mindshare, as new
>> developers tend to learn JS, java, and Python for their classes.
>>
>> At that point however, Toms python_sdl2 is already doing that so, where
>> does that leave pygame2?
>>
>> If cython is chosen, better to let pygame 1.9 die gracefully and move on
>> to a better platform and not duplicate effort (by moving to python_sdl2).
>>
>> Good night, sweet prince, in that case.
>>
>>
>> On Sun, Mar 19, 2017 at 5:02 PM Lenard Lindstrom <le...@telus.net
>> <javascript:_e(%7B%7D,'cvml','le...@telus.net');>> wrote:
>>
>>> Hi René and everyone else,
>>>
>>> I like this approach. My patches achieve the first step, using SDL2. The
>>> next step is to introduce new SDL2 features as new modules and classes.
>>>
>>> I suppose the SDL2 patches can be incorporated as conditionally compiled
>>> code. They can be added one at a time, but must all be in place to work
>>> properly. Then any new Pygame modules will expose SDL2 features only, so
>>> not be built for SDL1.
>>>
>>> As a long term goal SDL1 can be removed and SDL1 legacy modules
>>> reimplemented on top of the SDL2 specific code.
>>>
>>> Is there any reason new modules should not be written in Cython? If not
>>> then we could try to use parts of pygame_sdl2 to quickly introduce SDL2
>>> specific features.
>>>
>>> Lenard Lindstrom
>>>
>>>
>>> On 17-03-18 05:02 AM, René Dudfield wrote:
>>> > Hello,
>>> >
>>> > so, I've spent some more time reading source code, and investigating
>>> > SDL2 and the options a lot.
>>> >
>>> > I *think* this plan below could be the best way forward for us.
>>> >
>>> > tldr;
>>> >  * have a single source SDL1, and SDL2 code base with a compile time
>>> > option. (like we have single source py2 and py3).
>>> >  * move bitbucket/pygame repo to github/pygame.
>>> >
>>> >
>>> > Rather than reimplementing everything, and introducing lots of
>>> > compatibility bugs, Instead I think a gradual approach would work
>>> > better. I'm starting to think that perhaps pygame_sdl2 by Tom, is not
>>> > such a great way forward (for the pygame project, I think it was
>>> > necessary and good for Ren'Py).
>>> >
>>> > A big breaking change is kind of silly for how little resources we
>>> > have. Python 3 managed to pull it off... after a decade, and with
>>> > massive resources having poured into it. And it only took off once
>>> > they put compatibility code back in. Here's the thread where some
>>> > discussion has been happening.
>>> > https://bitbucket.org/pygame/pygame/issues/174/pygame-20-
>>> the-sdl2-edition
>>> >
>>> >
>>> > What we do have is some patches to get the current code base working
>>> > with SDL2.
>>> > https://bitbucket.org/llindstrom/pygame-1.10-patch
>>> >
>>> > I think it should be possible with some work to improve an SDL2
>>> > compatibility layer, so that pygame code base can work with either (as
>>> > a compile time option). Then newer APIs can be introduced in time, in
>>> > a non break-every-program kind of way. Also, it's been proven that
>>> > 'hardware' blitting does not need to break SDL1 API compatibility to
>>> > use hardware accelerated APIs (Angle, SDL_gpu, [insert 4 or 5 other
>>> > projects], ...).
>>> >
>>> > Having a pygame2, or whatever separate repo would also make
>>> > maintenance harder. Since for the foreseeable future, we will likely
>>> > need to do maintenance releases for this anyway (at least I want to!,
>>> > and I know other users of pygame will).
>>> >
>>> > ---
>>> >
>>> > For pip uploads, they would continue to be for SDL1, until we can
>>> > finish the SDL2 changes, and it works better. There would be no new
>>> > additions until compatibility is mostly there.
>>> >
>>> > The work would progress by slowly adding in compatibility changes
>>> > whilst keeping pygame working. By keeping the SDL2 patch set as is,
>>> > and slowly reducing the patch set until it is size zero. So we always
>>> > have a pygame with sdl2, and a pygame with sdl1 that is producible.
>>> > Eventually the patch set will disappear.
>>> >
>>> > ---
>>> >
>>> > A pygame2 module would just cause confusion amongst users, and that
>>> > really boring 'pygame 1 or pygame 2' type debate would go on, and on
>>> > like the "python 2, verses python 3" one did. For me, just avoiding
>>> > that discussion for the next decade would be worth it.
>>> >
>>> > Then there would need to be two sets of documentation on the website.
>>> > And two sets of tutorials... and... we'd have 2 of everything to *do*,
>>> > and 2 of everything for people to look at.
>>> >
>>> > Finally, "import pygame2" looks kind of weird. I've grown used to
>>> > "import pygame".
>>> >
>>> > ...
>>> >
>>> >
>>> >
>>> > I'm keen to get moving on this. I've been trying to get feedback on
>>> > the 'pygame sdl2 addition' issue for the last month, and the issue has
>>> > been open since 2013. So I'd like to put a time limit on this decision
>>> > for one more week.
>>> >
>>> > I'd really like to hear back from contributors, and users (everyone).
>>> >
>>> >
>>> >
>>> >
>>> > ps. Interestingly SDL_gfx has an SDL2 release now.
>>> > http://www.ferzkopp.net/wordpress/2016/01/02/sdl_gfx-sdl2_gfx/
>>> >
>>>
>>>

Reply via email to