Forum Thread
Want to program game in Python just for experience and education, where do I start? (Forums : Coding & Scripting : Want to program game in Python just for experience and education, where do I start?) Locked
Thread Options
Aug 25 2016 Anchor

Currently, I am learning a Python language - and at the same time, I am interested in game development. And I thought it would be a great idea to unite these two learning paths into one. Yes, I know, Python is not the greatest, but I just want to build pretty basic game that I designed to see if this thing is for me - programming and game development.

It is quick paced shooting platformer for two players with one single arena as a battleground where two players have to collect points and block the opponent from doing so. I would love to do it in 3D but I dont know if is possible for me (as a beginner) and especially if its possible for Python - would like to know your opinion....

I was looking for a while on the internet for the resources and methods how to build a game and I have found myself little confused with all the engines, frameworks, modules.

People mostly talk about:

PyCharm (as an IDE)

Pygame (as an module)

Panda 3D (as a game engine)

Blender (as a game engine)

CoCos2D (as a framework)

VPython (as a module)

PyOpenGL (as an OpenGL)

PyOgre (as an libary)

My question is: Could you please briefly tell me whats the difference between all of these items and how they are interconnected?

What do I need first? Second? For what use is that and that? What I dont neceserally need?

Or better, you dont have to tell me, just give me some comprehensome documentation where all of this is explained and I am good...

Also I should note that I havent yet finished my basic programming lessons in Python so I am not that skilled in it yet... Should I first finish learning general programming and than jump in to that game as my first bigger project? Because I see that I need to have strongly grasped basics to move to this fancy stuff...

Thank you for all of your responses good folks of the internet, I value every single opinion and an advice.

Nightshade Technical Artist
Aug 26 2016 Anchor

Well first you need somewhere to write the code - for that you either use a text editor or an IDE.
If using a text editor, you need syntax highlighting! Sublime is a very good one and so is Notepad++

Compared to a text editor, an IDE (Integrated Development Environment) offers you additional tools, such as debugging and compiling. PyCharm is good - but there are many other Python IDE's out there. Take a look at some of them before you decide.

PyGame is a collection of python-modules for making games. A module is basically a file or a folder that contains a specific kind of functionality in the form of functions and/or classes. I'm certain there will be modules for things such as keyboard input or user-interfaces.

Panda3D - Never used. It's a game engine. Game engine's are very complex programs that render a game world. Many skilled programmers see it as a challenge to write their own game engine - only the most driven succeeds.

Blender - Never used and I think it looks like crap. I use Autodesk Maya for 3D.

CoCos2D -

VPython - Never used

PyOpenGL - Never used. I doubt this is interesting for game developers unless you are a graphics- or an engine programmer.

PyOgre - This is an API (application programming interface) for OGRE. API's are the layer between the language and a library - or in this case: a rendering engine. OGRE is for rendering stuff and not for making games.

For your Python teachings: - Learn Python directly in the web browser

Once done with that course you can set up your tools and start working on some project that you find interesting. If you need to create say a UI in a windows application you should take a look at TkInter which is a Python-binding for the Tk library. Otherwise I think PyGame is a good start. Make a 2D game so you get the hang of all the basics such as the update loop, user-input, GUI's, etc...

Once you are comfortable using Python (including making your own classes) you could consider learning C# and work with Unity. The more languages you learn, the easier it becomes to learn new ones.

Edited by: Nightshade


Technical Artist @ King - an Activision Blizzard division
Portfolio | LinkedIn

Bigfootmech relic
Aug 31 2016 Anchor

When I read the title, I thought this was a cool idea, and wanted to see the discussion.

But Niteshade seems to have covered most of the points that you've brought up.

For what it's worth, I would 100% back him up on a suggestion to try something small (maybe 2d) first.

Minimum viable product is key with small teams / constrained resources. You need a gauge of how much you can concievably accomplish. Especially with this many unknowns.Even if you end up going with your idea, plan everything ahead, and stick to it. Once it's done, you can add/take away. But don't let your own scope creep kill your project!

Edit: just checked, and Panda3D seems to be mostly written in C++, so I don't know how much you can tinker with it

Edited by: Bigfootmech


Old Steam modding:

Apr 12 2017 Anchor

I contemplated the idea of using Python to make a game, but in the end I went with Gamaker studio. :)

May 11 2017 Anchor

Although I came from a background in C++ and Java, I discovered almost two years ago I really connected with Python. Now that I'm very comfortable with the language and development process, I've got to say it is really satisfying making games using Python and the package Pyglet (cross platform graphics/audio/windowing library).

In general unless you are doing something really computational intensive (high end graphics or physics), you don't have to worry that Python isn't as fast as other languages. Higher level languages like Python are 'fast enough' for the kind of basic games that you'll be starting with, and the time that you save writing code can greatly make up for the performance penalty. Plus there are TONS of great resources out there for teaching a beginner how to program with Python.

Deployment of Python games can be complicated though. Tools like PyInstaller help with the task, but I still wouldn't describe it easy for a new developer.

Reply to thread
click to sign in and post

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.