what python game libraries should I use?

well, I know it is quite a silly question, but I have considered it for several days :) I use kivy this time, and today I checked my game feedback, as I expect, someone can not run my game from source code. I have to say I have the same feeling when I run mauve&larry's awesome game. For one thing, need I really install them? I really do not know what are these modules, maybe I never use them forever. For another, I can not easily install them, maybe my python version, maybe my system, even I install them successful, I still can't run the game. c'est la vie :) there are many games in pyweek, I do not want to miss one, so if I do not use pygame, maybe my game can not be played by all. But personally, I still feel pygame is a little out of date, and it is perfect, for example, rotate a surface, display text ...Cosmologicon is really teach me a lesson this time, but I have to say that should be hard, I do not have such sense of art, I am sure I will be mess. Richard has posted about the Godot bindings, mauve also post Python bindings for Unreal Engine 4 :) I really want to have a try, because I want to be professional in making game, though I do not live on it, I just feel that is cool. But I have to say if I use them, one thing is for sure, not everyone can run my game :) So, what should I choose?

xmzhang1 on 2017/11/05 03:47


Comments: (log in to comment)

Choose what is best suited for your project or game. If it requires to be run by many, then maybe pygame is suited. If it requires nice and super fast 3D graphics, maybe the Unreal Engine is suited (use the right tool for the job). Making sure that everyone can run your game is difficult if not impossible (since there are so many different operating systems and hardware platforms). The only chance one has is to use standard interfaces. Or an engine that has solved that already for you. And every program comes with dependencies or prerequisite (games normally have minimal system requirements).
I agree with you xmzhang1, this is a hard decision. I was concerned this comp that asking for PyOpenGL might mean less people played it (but it turned out OK). I agree with what DR0ID said about using the right tool for the job, but also I think that since pyweek is a sort of "programming-oriented" games comp, that it's good to experiment with new libraries and engines etc. to test them out a bit, even if they are not ideal for the job, so that people can see different ways of doing things. You would hope people would be willing to put in a bit of effort to get dependancies working.


I like that people give Kivy a try (like your entry) because I personally found it really cool to be able to play a pyweek entry on my phone this year.

@DR0ID @mit-mit Thank you all! I think I get the answer, let the game make the choice :) Just do my own game in the way I like, if I am awesome enough, people will try to follow me, that is for sure. So just show the possible in pyweek, only use pygame, I will never know what is morden game.

Pyglet and Pygame are fairly easy to get installed on all platforms these days, and are unlikely to have problems with hardware or drivers. Pyglet is quite a bit more powerful and faster than Pygame, and it uses lots of version detection to ensure it works on really quite old OpenGL versions. But I don't think it works on OpenGL ES (and thus on mobile devices).

Anything else is a bit more risky, and I've certainly used packages and approaches over my many Pyweek entries that have made it difficult for people to play my games.

However, with things like the wheel package format, and CI services like Travis and Appveyor, I think it's probably easier than ever to get things working easily cross-platform. It just needs people to put the effort in and get the wheels building for each package you use. I tried to do this for our game (I only partly succeeded, but it got it working for some people).

I was a bit surprised be people who don't have Python 3.6 though. 3.6 is awesome, and everyone should find a way of getting it. It's usually not that hard.

Thank you, mauve, you really showed a good example of using multi python modules to make a game, and you also good at C/C++, that's awesome! Your game remind me of Sigma's Alien shooter. I really hope one day I can be as awesome as you. Thank you for your guidance, I will try it. And for Python version, maybe I know one possible reason. Just say about my suitation, you can not believe, the computer system now I use is Windows XP,because our company's internal office system is made in 90's. I know, it is stable, but the main reason is that someone is not retired :)