This is the code repository for Learning Python by Building Games, published by Packt.
A beginner's guide to Python programming and game development
A fun and interactive way to get started with the Python language and its libraries is by getting hands-on with game development. Learning Python by Building Games brings you the best of both worlds. The book will first introduce you to Python fundamentals, which you will then use to develop a basic game. You’ll gradually explore the different Python libraries best suited for game development such as Pygame, Pyglet, and PyOpenGL. From building game characters through to using 3D animation techniques, you’ll discover how to create an aesthetic game environment. In addition to this, you’ll focus on game physics to give your effects a realistic feel, complete with movements and collisions. The book will also cover how you can use particle systems to simulate phenomena such as an explosion or smoke. In later chapters, you will gain insights into object-oriented programming by modifying a snake game, along with exploring GUI programming to build a user interface with Python’s turtle module.
This book covers the following exciting features:
- Explore core Python concepts by understanding Python libraries
- Build your first 2D game using Python scripting
- Understand concepts such as decorators and properties in the Python ecosystem
- Create animations and movements by building a Flappy Bird-like game
- Design game objects and characters using Pygame, PyOpenGL, and Pymunk
If you feel this book is for you, get your copy today!
All of the code is organized into folders. For example, Chapter02.
The code will look like the following:
n = int(input("Enter any number"))
for i in range(1,100):
if i == n:
print(i)
break
Following is what you need for this book: If you are completely new to Python or game programming and want to develop your programming skills, then this book is for you. The book also acts as a refresher for those who already have experience of using Python and want to learn how to build exciting games.
With the following software and hardware list you can run all code files present in the book (Chapter 1-16).
Chapter | Software required | OS required |
---|---|---|
1 | Open Source Python installer version | Windows, Mac OS X, and Linux (Any) |
3.5+ is required | ||
1 | Open Source IDLE (Python pre-installed) | Windows, Mac OS X, and Linux (Any) |
2 | Python version 3.5+ | Windows, Mac OS X, and Linux (Any) |
3 to 4 | Python IDLE (comes preinstalled with python) | Windows, Mac OS X, and Linux (Any) |
5 | Open Source Curses Library[version 2.0+] | Windows, Mac OS X, and Linux (Any) |
6 to 7 | Python IDLE (comes preinstalled with python) | Windows, Mac OS X, and Linux (Any) |
8 | Python IDLE (comes preinstalled with python)/ | Windows, Mac OS X, and Linux (Any) |
turtle library (comes prebuilt) | ||
9 to 10 | Python IDLE (comes preinstalled with python) | Windows, Mac OS X, and Linux (Any) |
11 | Pycharm IDE Community Version 2018-2019.2+ | Windows, Mac OS X, and Linux (Any) |
11 to 13 | Pygame Library version 1.9.6[Python version 3.5+] | Windows, Mac OS X, and Linux (Any) |
14 | PyopenGL library version 3.1.0 | Windows, Mac OS X, and Linux (Any) |
15 | Pycharm IDE Community Version 2018-2019.2+ | Windows, Mac OS X, and Linux (Any) |
15 | Pymunk Library version 5.5.0 | Windows, Mac OS X, and Linux (Any) |
16 | Pygame Library version 1.9.6[Python version 3.5+] | Windows, Mac OS X, and Linux (Any) |
Click on the following link to see the Code in Action:
Sachin Kafle is a computer engineer from Tribhuvan University, Nepal, and a programming instructor currently living in Kathmandu. He is the founder of Bitfourstack Technologies, a software company that provides services including automation for real-time problems in businesses. One of his courses, named Python Game Development, is the best seller on many e-learning websites. His interests lie in software development and integration practices in the areas of computation and quantitative fields of trade. He has been utilizing his expertise in Python, C, Java, and C# by teaching since 2012. He has been a source of motivation to younger people, and even his peers, regardless of their educational background, who are embarking on their journey in programming.
Click here if you have any feedback or suggestions.