learn and have fun developing 2D retro games using python and pygame

Overview

Retro 2D Game Development Using Python + PyGame

game

Skill up your programming skills with a walk down the memory lane. Learn how to create a retro 2D game using Python and PyGame. As part of the training, we will be creating an interactive classic 2D games to apply the different topics discussed in each lesson.


Must Haves

  • Laptop or computer powerful enough to run Visual Studio Code, and then some.
  • Internet connection, of course.
  • GitHub account. Its free! Here's a link to GitHub to create one.
  • Python. Download the latest version HERE
  • Visual Studio Code. Dowload the latest version HERE
  • The will to spend extra time and effort to learn
  • Programming knowledge ? Zero :) Yes!

Lessons and Schedules

  • Day 1 : Introduction to Python, Visual Studio Code, and GitHub.

    An introductiion to the Python programming language, virtual environments, the Visual Studio Code editor and GitHub.

  • Day 2 : Crash course in Python

    Quick discussion on the basic operations, conditional statements, loop statements, list, methods and OOP in Python.

  • Day 3 : Introduction to PyGame

    An introduction on the basics of PyGame and how to get started. Also, in this section, you will learn other tools you can use to begin your game creation journey.

  • Day 4 : Object movements and event handling

    Learn the basics of moving objects on the game screen as well as handling inputs from the user via the mouse and the keyboard.

  • Day 5 : Understanding basic game essentials

    Learn the concepts of collision detection and game architecture. We will revisit OOP as part of our game design.

  • Day 6 : Creating game objects

    Create game objects by implementing object oriented programming.

  • Day 7 : Implementing game logics and sounds

    Start incorporating logic in your game and make your game alive by adding sound effects.

  • Day 8 : Implementing game levels and special actions

    Spice up your game by adding different levels and special actions.

  • Day 9 : Game data, application logs and the cloud.

    Game data is everything. Learn how to store game data, record game logs and use cloud storage for tracking scores from your users accross the world.

  • Day 10: Finalizing and packaging your game.

    Start distributing your game. Learn how to package your games for easy installation and distribution. Bonus lesson : adding CI/CD to your GitHub repo.


Setting up your dev environment.

We will be using virtual environment in Python. The instruction to setup your working dev environment is discussed in this LINK


Follow me on twitter : @m3lles

Owner
Marvin Trilles
Engineer / Developer / Enthusiast / Blogger
Marvin Trilles
Code d'un jeu en python par Graveen (avec mes modifications)

ATTENTION Vous ne devez pas copier coller le code sans le comprendre, apprennez déjà, le python et pygame, et seulement ensuite, vous pourrrez l'utili

TheBigWolfy 7 Nov 02, 2022
Repository containing documentation about the Minecraft Legacy FUI file structure

Repository containing documentation about the Minecraft Legacy FUI file structure

Miku-666 6 Dec 29, 2022
Editing tool (read/write) .sc files (*_tes.sc , *.sc, *_dl.sc ) from Supercell games (Brawl Stars, Clash Royale, Clash of Clans and others).

SupercellSWF Version 0.1.0.2 About Editing tool (read/write) .sc files (*_tes.sc , *.sc, *_dl.sc ) from Supercell games (Brawl Stars, Clash Royale, Cl

Fred31 11 Jun 23, 2022
Utility for generating randomizer datapacks for minecraft.

Minecraft Rando Utility for generating randomizer datapacks for minecraft. At the moment, it randomizes the following: Loot tables (including block dr

2 Dec 02, 2021
Basic Python physics library.

pythonPhysics Basic Python physics library. Must have pygame installed. How to: Sketon program is included. for p in env.particles: pygame.draw.circle

1 Jan 16, 2022
A chess engine with basic AI capabilities (search for best move using MinMax algorithm)

A chess engine with basic AI capabilities (search for best move using MinMax algorithm)

Ken Wu 1 Feb 02, 2022
linorobot2 is a ROS2 port of the linorobot package

linorobot2 is a ROS2 port of the linorobot package. If you're planning to build your own custom ROS2 robot (2WD, 4WD, Mecanum Drive) using accessible parts, then this package is for you. This reposit

linorobot 195 Dec 29, 2022
Typing test and practice on command line without the need of any internet connection

Terminal-Typing-Test Typing test and practice on command line without the need of any internet connection About CLI based typing test and practice tha

Angad Deep Singh 3 Oct 19, 2022
a game of life implementation in python

gameoflife-py python implementation of game of life Installing As long as you have bash and curl installed and are on Linux the install script should

Raghav 5 Jun 09, 2021
Brax is a differentiable physics engine that simulates environments made up of rigid bodies, joints, and actuators

Brax is a differentiable physics engine that simulates environments made up of rigid bodies, joints, and actuators. It's also a suite of learning algorithms to train agents to operate in these enviro

Google 1.5k Dec 31, 2022
This is a basic virtual quiz game using opencv-python

Basic Virtual-Quiz-Game This is a basic structure of a virtual quiz game using opencv-python. As the camera window opens up we can see the questions a

2 Dec 11, 2021
Trio Assembly Snakemake Workflow

Trio Assembly Snakemake Workflow Input HiFi reads for child in bam format Either

Juniper A. Lake 1 Jan 28, 2022
A converter for the .BMR / .RLE bitmap files used in some Neversoft PS1 games.

Requirements python3 pyqt5 - can be installed with pip install PyQt5 pypng - Included Usage Instructions This program can be running py main.py in the

4 Jul 30, 2022
python script to convert .OBJ files into Minecraft, rendering them in game with a core shader.

samples: random notes about the tool general output format: (animation not supported yet but planned) vertex id Minecraft's gl_VertexID isn't per mode

199 Jan 02, 2023
Breakout-KD - A fantastic game created in python with pygame ✌️

Breakout-KD About This Game Breakout-KD is a fantastic breakout game. It's a python based game officialy made by me on december holiday. This game wor

Keep Distance 1 Jan 01, 2022
An asynchronous Minecraft server wrapper written in python3 with asyncio

mark3 (WIP) A modern Minecraft server wrapper written in python3 with asyncio TODO Note: The order of the following checklist doesn't necessarily mean

Colin Andress 7 Jul 29, 2022
Snake game mixed with Conway's Game of Life

SnakeOfLife Snake game mixed with Conway's Game of Life The rules are the same than a normal snake game but you have to avoid cells created by Conway'

Aidan 5 May 26, 2022
Brawl Stars v31.96 server emulator written in Python.

Brawl Stars v31 Brawl Stars v31.96 server emulator written in Python. Requirements: Python 3.7 or higher pymongo dnspython colorama MongoDB configurat

9 Nov 26, 2021
Code and outputs from analysis determining that the wordle game can always be won in six moves.

wordle_worst_case_analysis Code and outputs from analysis determining that the wordle game can always be won in six moves. This is for the general cas

2 Aug 19, 2022
Simple python program to simulate Conway's game of life with custom variables.

ConwaysGameOfLife Simple python program to simulate Conway's game of life with custom variables. Custom Variables Grid-size : Change the size of the p

davidgasinski 1 Oct 28, 2021