

PyDark – 2D Game Framework - gnocchi
http://www.pydark.com/

======
shadowmint
I wish people would stop building things with pygame.

Its a terrible, buggy, crash prone obsolete framework.

Learning pygame may teach you basic skills you can transfer to other better
frameworks; but it teaches you 10 year old skills that are largely irrelevant
on modern hardware, and gives you a rubbish introduction to python (welcome to
segfault hell).

~~~
lumpypua
What do you recommend, then?

~~~
untothebreach
Can't speak for @shadowmint, but I would recommend Kivy, or else leaving
Python altogether and using Haxe.

------
fiblye
Does this offer any performance advantage over vanilla pygame? Because I found
myself pushing the limitations of it very quickly and had to move on to other
frameworks and languages other than Python.

As one example of its shortcomings, Pygame doesn't seem to support hardware
rendering and the maintainer seems to think this is an advantage [
[http://www.pygame.org/docs/tut/newbieguide.html](http://www.pygame.org/docs/tut/newbieguide.html)
]

~~~
jay_kyburz
Tried Kivy?

[http://kivy.org/#home](http://kivy.org/#home)

~~~
inclemnet
In particular, in the game context there is kivent
([http://kivent.org/](http://kivent.org/)), though it's at an early release
stage.

Edit: To be clear, you can make games in vanilla kivy just fine (and it's
probably much more performant than pygame), but kivent is a dedicated game
engine with more efficient graphics internals and nice things like chipmunk
integration.

~~~
jay_kyburz
Cool, thanks for the heads up.

I wish bundling Python was easier. I read this morning in the Kivy docs that
you can't even bundle python 3 at all yet.

Many years ago a friend of mine wrote a Python binding to the PopCap engine.
It was so great, the exe and the script. Thats all you needed and you could
just whack those two things in a zip and you're done.

------
Patrick_Devine
Having to write your own event framework and network functions every time you
write a game in PyGame is kind of a pain, so I can see how this would be
really useful. I think I've written the same event handler about a half dozen
times at this point for various games I've written.

It wasn't clear to me how hard it would be to incorporate something like
Pymunk for physics though. One thing that I find a pain when using Pymunk and
Pygame is having to keep track of the your rects when things are bumping off
of each other, spinning, etc. It'd be cool if Pydark had built in support for
some kind of physics engine.

------
detaro
Discussion on reddit[0] leads to this gem: [http://docs.pydark.com/PyDark.net-
pysrc.html#ServerProtocol....](http://docs.pydark.com/PyDark.net-
pysrc.html#ServerProtocol.lineReceived)

Who thought that could possibly be a good idea?

[0]
[http://www.reddit.com/r/Python/comments/2ufo9y/the_2d_game_f...](http://www.reddit.com/r/Python/comments/2ufo9y/the_2d_game_framework_for_perfectionists/)

------
nadams
Personally the code is confusing to me - the author jumps between OO and non-
OO. I'm not saying that's necessarily a bad thing - but from what I've seen is
that stuff he has as functions might be better suited for a class.

I do like the concept/design of it though.

------
nightcracker
Based on pygame, stopped looking.

~~~
Breakthrough
I initially thought the same thing, but this _does_ address a few things
Pygame is lacking for people that are still __learning __programming /Python.
A common question I get is "How would I make a UI with Pygame?" or handle
input for different scenes versus the UI, and this seems to abstract it well
for those that just want to jump in and get a working game (as opposed to a
working game engine...).

------
sobkas
So does it work on pypy

