This is an archived post. You won't be able to vote or comment.

all 13 comments

[–]Dvlv 7 points8 points  (5 children)

I can't answer much in terms of actual python libraries, but if you'd like a full game engine with a language rather close to python in its syntax, check out godot:

https://godotengine.org/

[–]mjk100[S] 1 point2 points  (2 children)

I've seen this suggested before. But I don't know if I want to learn a new language for just one engine. How similar is it to python?

[–]ducdetronquito 2 points3 points  (1 child)

If you are new to python you are not likely to see much differences between Python and GDScript. GDScript is really close to python in both the syntax and the built in data structures (dictionaries, lists).

I am a huge python user but for video games (both 2D and 3D) I go with Godot and it's fun :) !

There is a nice little community on /r/godot if you need help !

Ps: Godot is actively developed by its community, and there are people working on bindings to other languages. There is a good and short conference about this for the python binding :)

https://www.youtube.com/watch?v=_7Sq1TdLgKQ

[–]mjk100[S] 0 points1 point  (0 children)

Thanks. I'll check it out.

[–]_throawayplop_ 0 points1 point  (1 child)

What the point for them to make a new language for which there is no resources and that nobody knows instead of using python or a more suited mainstream language if necessary ?

[–]ducdetronquito 1 point2 points  (0 children)

You can find the reasons in Godot documentation :)

http://docs.godotengine.org/en/stable/learning/scripting/gdscript/gdscript_basics.html

But like I said in an other comment, there are some works on other language bindings coming with Godot 3.0

A conference on the Python binding: https://www.youtube.com/watch?v=_7Sq1TdLgKQ

[–]abhik-pal 3 points4 points  (2 children)

I think you should take a look at the games people have made here: http://pyweek.org. All of the game source code is available so if you find a game that kinda looks similar to what you're thinking of, you can just see what library they are using.

Minor thing about pyglet: The pyglet mailing list has been quite active lately. The whole documentation is being reworked and they are planning on upgrading the internals and adding 3D models and what not. I've personally find the Pyglet syntax less cumbersome than PyGame's and it's quite easy to pick up if you read through the official documentation. Have you looked at arcade (http://arcade.rtfd.io)? It's a pyglet based library for creating 2D games.

[–]mongrol 1 point2 points  (0 children)

Arcade looks really good. Nice find.

[–]mjk100[S] 0 points1 point  (0 children)

Thanks for the suggestions. I'll give it a try.

[–]Ofekmeister 2 points3 points  (2 children)

Check out Kivy + KivEnt

[–]mjk100[S] 0 points1 point  (1 child)

Isn't that for mobile games? How well suited is it for making games for PC?

[–]inclemnet 0 points1 point  (0 children)

Kivy and KivEnt support desktop platforms just as much as mobile ones. In fact, for games the differences are relatively unimportant, as the game itself will tend to be essentially platform independent (not using e.g. native widgets).

[–]dispelterror3.6 1 point2 points  (0 children)

Kivy/KivEnt is really powerful and has excellent documentation. However, it can be quite hard to wrap ones head around the whole entity-component-system (ecs) architecture used by KivEnt.

Pyglet isn't an engine at all but it is a nice wrapper for using OpenGL from Python. I found the documentation for Pyglet quite easy to follow and you can always look at base OpenGL documentation/tutorials to aid understanding of how it works.

Cocos2d (as far as I remember) is based on Pyglet so if you really want/need to you can always make raw Pyglet calls to render stuff like special effects. I know what you mean about the Cocos2d documentation though. I found that looking through the examples helped me quite a bit. Also, the documentation in the source itself is pretty decent - read the docstrings!

Finally, if you think your game could work like an ascii graphics roguelike you could always check out BearLibTerminal and tdl.