How do I make a game in Python ?

Chris Angelico rosuav at gmail.com
Sun Aug 7 00:02:35 EDT 2016


On Sun, Aug 7, 2016 at 1:14 PM, Michael Torrie <torriem at gmail.com> wrote:
> On 08/06/2016 03:51 PM, Cai Gengyang wrote:
>> As in, any recommended websites that helps users create complex games in Python ?
>
> I imagine you create a complex game in Python the same way you'd do it
> in just about any other language.  Thus any website on game design would
> be broadly applicable.  And I'm sure there are a wide variety of topics
> that are relevant.  Logic, game play, artificial intelligence, user
> interface, physics engines, and so forth.
>
> What you need to learn depends on what you already know and have
> experience in. The programming language is really only a part of
> developing "complex games." You'd probably want to start with simple,
> even child-like games first.  Asking how to program complex games is a
> bit like asking how to build a car.

Three of my students just recently put together a game (as their
first-ever collaborative project, working on different parts of the
project simultaneously), so I can tell you broadly how you would go
about it:

1) SCOPE. This is incredibly important. With the student project, they
had to have something demonstrable by Friday 5PM, so they had just
five days to get something working. But even when you don't have a
hard cut-off like that, you should scope back hard - brutally, even -
so you can get something workable as early as possible.

2) Pin down exactly what the *point* of your game is. What is the
fundamental thing you're trying to do? In their case, it was: Click on
the red squares before they turn back to white, then watch for another
square to turn red. As you develop, you'll mess around with everything
else, but don't mess with that.

3) Build a very basic project, managed in source control (git/hg/bzr
etc), and get it to the point of being testable. I don't mean unit
tests (although if you're a fan of TDD, you might well go that route),
but be able to fire up your game and actually run it. Commit that.

4) Progressively add features, constantly committing to source
control. Whenever your game isn't runnable, STOP and debug it until it
is. It's just way too hard to debug something that you can't even run.

5) Eventually, you'll get bored of the project or be forced to move on
to something else. At that point, the game is done. :)

ChrisA



More information about the Python-list mailing list