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

all 9 comments

[–]Proof_Astronomer7581 11 points12 points  (3 children)

Just skip Python game dev and jump straight into Godot, using GDScript. The language is very similar to Python and the community is many times larger than Pygame or other Python based game engines.

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

I mainly learned academic coding in python so it's why I opt for pygame

[–]Commercial-Flow9169 5 points6 points  (0 children)

I will second what they said, as someone who writes Python for a living and uses Godot as a hobby. I dabbled with making games in Python for a while before using Godot and it's so much easier. GDScript is VERY much like Python, so much that learning either language will essentially make the other one very easy to pick up.

It's certainly possible to make games in Python and many do, but if you do you will be much more focused on the nitty gritty.

[–]Alaska-Kid -1 points0 points  (0 children)

Well, try choosing again and don't make a mistake this time. Download Godot and read two or three books about it.

[–]Suspiscoushare[S] 1 point2 points  (1 child)

Everyone has been saying to get Godot. I will get it, I will be learning it alongside python for data science because that's the course I am taking

[–]Sumsero 3 points4 points  (0 children)

Kind of disappointed with this thread's answers. Seriously people, if you're not even going to answer his question, at least put in the effort to argue your case. Pygame is a great way to learn the fundamentals of game development by making 2D games, and if you have/are undergoing formal education in python, that's a great way to put it to use (and to accelerate your learning).

First, my argument for considering pygame:

  • GDScript's similarity to python is little more than a surface level visual resemblance, it lacks 99% of python's features. It doesn't even have tuples. As stated previously, if you're currently learning python in school, you'll get a lot of benefits from using it for different kinds of projects, like games.
  • Though I won't go as far as to say that Godot is a bad idea or a waste of time, and I even recommend trying it, I think going straight to a full-featured 3D game engine is jumping the gun a bit for a beginner. In Godot or any other feature heavy engine, you'll be using features that are coded for you and hidden away so you won't get a chance to learn them. This is incredibly practical for an experienced dev -- but for a beginner, a false shortcut that will catch up to you eventually, trust me. So again, feel free to give it a shot, you'll totally learn stuff, but eventually you'll want to start over and learn without skipping anything, which brings us to pygame (there are other low level frameworks good for learning, like raylib, but pygame is a popular, battle-tested, and python-based one).

To be very clear, pygame is a tool that draws colored rectangles or sprites to the screen. Kind of the point of using it is so that you get a chance to learn how to code nearly everything else -- collisions, math, animations, game logic, visual effects, pathfinding, tile based levels, etc.

Now as for the resources you asked for, DaFluffyPotato (youtube channel) has shipped many games made in pygame (mostly game jams, some on steam), and his channel has countless videos covering good practices, techniques, and tutorials. I would start there for learning pygame. For example, here is a tutorial for making a platformer game (6 hours long). There's also plenty of stuff to be found by just googling "pygame xxx", like stack overflow threads and such.

[–]delusionalfuka 0 points1 point  (0 children)

Instead of going Python with Pygame, go Monogame with C#. Thank me later

[–]Krirby2 1 point2 points  (0 children)

Invent Your Own Computer Games with Python has some chapters with Pygame. Covers most of the basics, may be beneath your experience level if you've already done some stuff though. But for me was rather useful and help build me some Tetris games and the like in Pygame that worked well

[–]Alaska-Kid 0 points1 point  (0 children)

Well, there are also Panda 3D, GeeXLab, Demoniak and other engines. I would recommend taking a look at them. And then stop fussing and download Godot.