Book Image

Python Game Programming By Example

By : Alejandro Rodas de Paz, Joseph Howse
Book Image

Python Game Programming By Example

By: Alejandro Rodas de Paz, Joseph Howse

Overview of this book

With a growing interest in learning to program, game development is an appealing topic for getting started with coding. From geometry to basic Artificial Intelligence algorithms, there are plenty of concepts that can be applied in almost every game. Python is a widely used general-purpose, high-level programming language. It provides constructs intended to enable clear programs on both a small and large scale. It is the third most popular language whose grammatical syntax is not predominantly based on C. Python is also very easy to code and is also highly flexible, which is exactly what is required for game development. The user-friendliness of this language allows beginners to code games without too much effort or training. Python also works with very little code and in most cases uses the “use cases” approach, reserving lengthy explicit coding for outliers and exceptions, making game development an achievable feat. Python Game Programming by Example enables readers to develop cool and popular games in Python without having in-depth programming knowledge of Python. The book includes seven hands-on projects developed with several well-known Python packages, as well as a comprehensive explanation about the theory and design of each game. It will teach readers about the techniques of game design and coding of some popular games like Pong and tower defense. Thereafter, it will allow readers to add levels of complexities to make the games more fun and realistic using 3D. At the end of the book, you will have added several GUI libraries like Chimpunk2D, cocos2d, and Tkinter in your tool belt, as well as a handful of recipes and algorithms for developing games with Python.
Table of Contents (9 chapters)
8
Index

An introduction to game design

There are several academic definitions of what a game is; however, most of them share the key terms, such as rules, objectives, and players. Assuming that all games share these concepts, we may ask some interesting questions while analyzing a game: what is the game's main objective? What are the rules that the player must follow? Is it difficult to recognize the goal and the rules of the system?

Other definitions make references to concepts such as resource management and inefficiencies, because the decisions of the player are usually conditioned by the limitations of some useful tokens in the game.

The decisions we make when we create a game are deeply related with these concepts, and as we will see later, it is a good exercise to think about them even when we are starting with the development.

Level design

In order to successfully engage our players, our game needs to gradually add new challenges that preserve their interest. However, these ingredients...