MrValdez's Blog

Game Engine development: Pygame - Part 5

Posted on Nov. 23, 2018

Last time, we implemented text and simple sprite interactions.

So let's remove the debug output from the previous repository. Because today, we're going to add some missile attacks using the mouse. We'll also talk how to programmatically make shapes.

Also, remember the video from the first part of this series? From this point, we will be discussing topics not found in that talk. After my talks, I usually allocate time for audience suggestions. Its usually a hit or a miss if a topic will be discussed (like mouse input, special effects, GUI, audio, etc), even though I ...

[read more]
Categories: gamedev

Game Engine development: Pygame - Part 4

Posted on Nov. 22, 2018

Last time, we added some pew pew to our game. Now, let's add some text, bad guys, and collision detection.

Rendering text

First thing we need is the font. We can use the font installed in the OS or use our own.

# main.py
[...]

pygame.init()
screen = pygame.display.set_mode(resolution)
clock = pygame.time.Clock()
font = pygame.font.SysFont("Courier New", 18)

[...]

while isRunning:
[...]
    text = font.render("Hello world", False, (0, 0, 0))
    screen.blit(text, (0, 0))

    pygame.display.flip()

font.render("Hello world", False, (0, 0, 0)) allows us to print the string "Hello world", without antialiasing ...

[read more]
Categories: gamedev

Game Engine development: Pygame - Part 3

Posted on Nov. 21, 2018

Last time, we made a simple game where we can move our hero character. But the game world is currently barren. Let's change this by having our avatar shoot some attacks.

Behold my paint drawing of an attack!

Yes, it is still badly drawn, but you're not here to become an artist. You're here to learn to how make games.

Pew pew

What we are going to do is spawn our shot when the player presses the spacebar button. Here is the code for that:

import pygame

resolution = (640, 480)
isRunning = True

pygame.init()
screen = pygame.display ...
[read more]
Categories: gamedev

Game Engine Development: Pygame - Part 2

Posted on Nov. 20, 2018

Part 1

Sprites

Right now, we only have the game window. Its boring.

Open up your paint application. I believe Microsoft Paint is installed by default in most computers. Don't be shy with Paint, we are programmers not artists. We'll start with programmer's art and change it later.

Kirby is the most famous example of a programmer art. Not knowing how to draw is not an excuse to start

We are going to draw our main character.

Here's my attempt at making a game character. I saved this as hero.png.

You may laugh, but in ...

[read more]
Categories: gamedev

Game Engine Development: Pygame - Part 1

Posted on Nov. 19, 2018

Introduction


Video version

I gave a talk on how to make a game using pygame. It's one hour and can serve as a general overview of this series. You can watch the above and read these articles, or you can read these articles and pretty much ignore the video.

This series will expand on my talk (up until part 4) and will add more explanation than I could give in less than an hour.

Installation step

You need to install pygame via the pip command.

$ pip install pygame

Then we test that pygame is properly installed:

$ python
>>> import ...
[read more]
Categories: gamedev

Game Engine Development: Introduction

Posted on Nov. 18, 2018

In this series, I want to show students and traditional programmers how to make a game using Python. The simplicity and readability of the language lowers the barrier for learning how games engines work.

I am going to assume readers have fundamentals in Python. But you don't need an intermediate level in Python as this series will be beginners friendly.

We will learn how game engines work under the hood. We will use that knowledge to make our own game. You will learn concepts not taught in traditional programming schools.

So you want to make a game

Python have ...

[read more]
Categories: gamedev