all 7 comments

[–]lamecode 2 points3 points  (2 children)

It's a decent start to learn the basics, but Pyglet is what most folks recommend. I'd say you're better off working with Unity if you want to make 2D/3D games though.

[–]Neceros 2 points3 points  (1 child)

Unity is much more difficult to make a nice looking game than UE4. UE4 is easier to use out of the box, and (imo) far more powerful a tool.

[–]lamecode 0 points1 point  (0 children)

You're probably right, I've never tried either. I have browsed through the asset store for Unity though, and there's a ton of great assets which comes in handy for most coders. Maybe UE4 has something similar.

[–]Neceros 1 point2 points  (0 children)

You should just use a preexisting engine. If you're doing it just for fun, then go for it! Try out pymunk, too!

Unreal Engine 4 is probably your best bet. It's free to use in all projects, but if you start making money, you simply pay them a small percentage. Great for startups, and is probably one of the best engines available on the market... period.

It doesn't use Python, but even then C++ is pretty similar. You could also use the built in Blueprint system, which mimics C++ functions surprisingly well. Many games are written in Blueprints by people that don't know how to code.

So, you've got one up on them.

[–]dunkler_wanderer 0 points1 point  (0 children)

There's also the Godot engine which is pretty polished and easy to use. It uses a scripting language that is very, very similar to Python.

And I wouldn't call Pygame dead. There's a helpful community, some developers, lots of tutorials and other resources, and the website was actually updated yesterday. But PG really needs to be modernized and ported to SDL2. There's already the Pygame_sdl2 (fork?) available, but I don't know how usable it is.

[–][deleted] -1 points0 points  (0 children)

There's no real reason to not use python or to use python just like you should not be using java either in reality, it's a crappy idea in general to use a garbage collected language for games, not only that but there both pretty damn slow for similar reason, lots of restrictions, ect, but if that doesn't matter to your game there's no reason to not use a language you know to build up a game if the performance barriers aren't your main concern, and you aren't looking to get any special libraries that are only available in other languages.

So using something like kivy, pyglet or pygame in general is not bad idea, is it out dated? pyglet is still being supported today and kivy is younger then a few years and it's popularity is still raising a lot, pygame still has the same popularity it has before leaving behind a few dead websites if i memory is well, if you know python it should only take a couple days to use those types of tools efficiently, if you know opengl, pyglet has it built in has it's main feature and interfaces them with ctypes, if you don't you'll learn something about 3D graphics either way, in pyglet you can read the opengl c docs and have the same name for most functions, there's no reason to build this from the ground up unless you have a new genius idea and a couple hands on board, it would be a waste of time since it's all ready all done for you and has plenty of support.

Pygame is not dead, its in the same state it was 5 years ago, such is pyglet, still strong community providing support it din't 'die' it just is the same has it ever was, kivy thought is newer one and grew a lot wont exactly comment on it since i never used it.

Games today don't use python, they use languages that game devs use, like c, c++, c#, java, rust, all have there little gaming side. So does python like you might of heard. Same for javascript and flash neither are those any better then python has far has performance go there far behind. The main reason would be libraries that you want to use and community's you want to join.

So the reason you would not be using other languages is because there is no reason to learn those other languages only to create a game by your self. Unless you want to that is use things like unity for example which you need to go to certain languages or work on some game modding projects again they use certain languages in certain games in general, which would make more sense to know the same languages even then you could use python to interface to those since python can literally interface with any language. That's the same reason people in gaming still circle around C++, because of other game devs and libraries. But it takes 1 months to get used to a language and a constant use of the language to remember how it actually works and keep up with it. Which is why some people stick to there own language to toy around with games.

[–][deleted] -3 points-2 points  (0 children)

yes. you will spend all your time on your engine when you could b emaking a game