Book Image

Python Game Programming By Example

Book Image

Python Game Programming By Example

Overview of this book

A pragmatic guide for developing your own games with Python About This Book Strengthen your fundamentals of game programming with Python language Seven hands-on games to create 2D and 3D games rapidly from scratch Illustrative guide to explore the different GUI libraries for building your games Who This Book Is For If you have ever wanted to create casual games in Python and you would like to explore various GUI technologies that this language offers, this is the book for you. This title is intended for beginners to Python with little or no knowledge of game development, and it covers step by step how to build seven different games, from the well-known Space Invaders to a classical 3D platformer. What You Will Learn Take advantage of Python’s clean syntax to build games quickly Discover distinct frameworks for developing graphical applications Implement non-player characters (NPCs) with autonomous and seemingly intelligent behaviors Design and code some popular games like Pong and tower defense Compose maps and levels for your sprite-based games in an easy manner Modularize and apply object-oriented principles during the design of your games Exploit libraries like Chimpunk2D, cocos2d, and Tkinter Create natural user interfaces (NUIs), using a camera and computer vision algorithms to interpret the player’s real-world actions In Detail 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. Style and approach This book is an example-based guide that will teach you to build games using Python. This book follows a step-by-step approach as it is aimed at beginners who would like to get started with basic game development. By the end of this book you will be competent game developers with good knowledge of programming in Python.
Table of Contents (9 chapters)
8
Index

Getting started with cocos2d


As with any other framework, cocos2d is composed of several modules and classes that implement different features. In order to develop applications with this API, we need to understand the following basic concepts:

  • Scene: Each of the stages of your application is a scene. While your game may have many scenes, only one is active at any given point in time. The transition between scenes defines your game's workflow.

  • Layer: Every sheet contained in a scene, whose overlay creates the final appearance of the scene, is called a layer. For instance, your game's main scene may have a background layer, an HUD layer with player information and scores, and an animation layer, where events and collisions between sprites are being processed.

  • Sprite: This is a 2D image that can be manipulated though cocos2d actions, such as move, scale, or rotate. In our games, sprites will represent the player's character, enemies, and visual information, such as the number of lives left...