
The included downloadable material is the source code of the completed rhythm game project. For the material specific to each lecture, please check out the Course Material GitHub link in the External Resources.
Aubio not working for you? Try Librosa (next lecture)
If you run into issues installing Aubio, no worries - you are not stuck. The next lecture covers a better-maintained library that is a perfect replacement for Aubio.
Librosa is a package under active development and maintenance. They may change their API at any time.
For example, for learners in 2023, you might need to change the code as follows:
From:
x, sr = librosa.load(file_path)
onset_frames = librosa.onset.onset_detect(x, sr=sr, wait=1, pre_avg=1, post_avg=1, pre_max=1, post_max=1)
To:
y, sr = librosa.load(file_path)
onset_frames = librosa.onset.onset_detect(y=y, sr=sr, wait=1, pre_avg=1, post_avg=1, pre_max=1, post_max=1)
See https://librosa.org/doc/latest/generated/librosa.onset.onset_detect.html#librosa.onset.onset_detect
The line of code to read in the file has been updated for Ren'Py 8 so it will be different from what's in the video.
Instead of:
with open(beatmap_path_full, 'rt') as f:
text = f.read()
We will use the open_file function provided by Ren'Py like this:
with renpy.open_file(beatmap_path, "utf-8") as f:
text = f.read()
Are you interested in game development and want to create engaging 2D minigames? Are you a Ren'Py developer looking to implement minigames in your projects? This is the course for you.
This course, Ren'Py Minigames 101, covers all the fundamentals you need to build your own minigame in Ren'Py.
We will develop a Rhythm Game from scratch and in this process, you will learn all the necessary Ren'Py and Python skills for working with Ren'Py's Creator-Defined Displayables.
In each lecture, we will make incremental changes to our code, and, at the end of every lecture, we will have a runnable Ren'Py project that shows tangible progress towards the final completed project.
Some topics that we will cover:
Ren'Py Screens
Ren'Py Creator-Defined Displayables
Rendering the game view
Implementing player controls with PyGame
Timing the music notes to any song with Python packages like Aubio and Librosa
Enhancing player experience with a Heads-Up Display (HUD) and other visual cues
Designing bonus features for the Rhythm Game
Some experience with Ren'Py, Python, and programming is strongly recommended. This course assumes Python knowledge including data structures (list, dictionaries), functions, and classes (Object-Oriented Programming).
If you need to brush up on your Python skills, check out my tailored Python for Ren'Py course on Udemy.
By the end of this course, you will:
Have implemented a rhythm game from scratch
Be able to build bonus features for the rhythm game if you wish
Have the skills to build your own minigame in Ren'Py and Python
Join me in this course to level up your programming and game development skills and develop a minigame for your next Ren'Py project!