Book Image

Kivy Blueprints

Book Image

Kivy Blueprints

Overview of this book

This book is intended for programmers who are comfortable with the Python language and who want to build desktop and mobile applications with rich GUI in Python with minimal hassle. Knowledge of Kivy is not strictly required—every aspect of the framework is described when it's first used.
Table of Contents (12 chapters)
10
A. The Python Ecosystem
11
Index

Writing the game


Our application is structured around building blocks described earlier: our root widget is a PSWidget subclass called Game and all in-game entities will derive from the Particle class.

Here is the short and sweet base application:

from kivy.base import EventLoop
from kivy.clock import Clock

class Game(PSWidget):
    glsl = 'game.glsl'
    atlas = 'game.atlas'

    def initialize(self):
        pass

class GameApp(App):
    def build(self):
        EventLoop.ensure_window()
        return Game()

    def on_start(self):
        self.root.initialize()
        Clock.schedule_interval(
            self.root.update_glsl, 60 ** -1)

The following are the details about external files referenced here:

  • The game.glsl shader file is the same as starfield.glsl from the previous chapter

  • The game.atlas texture map hosts the following textures:

    • star: This texture resembles a star, similar to the one we've used in the previous project

    • player: This is a spaceship facing to the right (in the general...