This is a tutorial series based on creating a Pygame RPG game.
Welcome to the Pygame RPG Tutorial Series. Here we’ll explain how to create an RPG Fighter styled game using the Pygame library in Python.
The purpose of this tutorial series is NOT to provide you with a fully functioning RPG game with a story, characters and progressive gameplay system. Rather it’s meant to be a collection of different concepts, ideas and techniques needed to create a proper RPG game using Python Pygame.
You can either use the concepts and techniques we teach (and demonstrate through code) to create an entirely different RPG game, or use our existing game code, improving on it to finish the game as per your requirements.
A full explanation of the type of RPG we are making will be included in the first tutorial of this pygame tutorial series.
This is an advanced pygame tutorial series, and not very suitable for beginners. You may be able to follow what’s happening, but will ultimately face problems when it comes to creating your own game, or modifying ours.
We have two other tutorial series, one for Pygame beginners and the other at a more intermediate pygame level. The first one features a simple car scrolling game and the second features a platformer game.
If you’re an absolute beginner, you are recommended to go through atleast one of those tutorials before attempting this one. Due to the length and complexity of the code required for this game, smaller details about certain features will likely be missed.
Due to the size of the code required for such a game, and the accompanying explanations, we’ve split this tutorial into a dozen smaller tutorials, each covering one or two different game topics.
You are highly advised to follow the tutorials in order as most concepts builds upon another and many concepts rely on each other in order to work properly.
You’re free to use and test out the code we’ve written in these tutorials for your own personal usage. All the images, animations and supporting material we’ve used throughout this series are also available within their respective tutorials.
List of Pygame RPG Tutorials
We’ll be developing a single game throughout the entire series, so by the end of this RPG tutorial series you’ll get to see a complete, fully fledged game using Python Pygame.
We have a code review (approximately) every 6 tutorials just to compile all the code snippets together in one place and briefly review it. The program code and materials are also available for download in the Code Review articles. (Materials are also available in the tutorials where they were first introduced)
Core Game (1.0)
- Building the Foundation
- Creating the World
- Creating the Player Class
- Adding movement to Player
- Jumping and Gravity Mechanics
- Adding Movement Animations to Player
- — Code Review 1 —
- Adding Attack Animations to Player
- Creating the Enemy Class
- Collision Detection between Sprites
- Stage Generation
- Enemy Generation in Levels
- Health Bar
- — Code Review 2 —
Additional RPG Elements (2.0)
These are several smaller, but important features that almost all RPG games feature. These small mechanics are the supporting foundation behind many other advanced mechanics that we’ll be adding later on in the series.
- “Next Stage” Display
- Experience and Mana
- Status Bar
- “Stage Clear” Display
- Adding Item Drops
- Pause and Home button
- –– Code Review 3 —
Expanding the Game (3.0)
- Magic Attacks
- Creating a Second Level (World)
- Adding in a new Enemy Type
- Enemy Turning Ability
- Enemy Ranged Attacks
- Music and Sound
- Improving Performance
This marks the end of the “How to make a Pygame RPG” Tutorial Series. Any suggestions or contributions for CodersLegacy are more than welcome. Questions regarding the article content can be asked in the comments section below.