T U B E F A L L E R
PyWeek 37 “Tube”
T U B E F A L L E R
Introduction
The game “T U B E F A L L E R” will feature an interactive 3D puzzle based on tubes of varying diameters sliding into holes of another object.
The initial gameplay may be defined as a physics simulation which requires the player to drop cylinders from a given height and at a given speed, and then rotate a receiver, located below the dropping cylinders, full of a pattern of holes offset from the initial configuration of the dropped cylinders. The player rotates the receiver such that the cylinders may fall through the holes (or “tubes”) in the receiver. The diameter of the holes relative to the cylinder diameters may be modulated based on the current level difficulty, IE smaller holes represent a higher difficulty. If the receiver rotation is too far offset from the dropping cylinders, the cylinders will bounce off the receiver, colliding with each other in a physics simulation and subsequently end that turn.
The level difficulty progression may be defined by a few separate difficulty paths. The number of cylinders dropping, the diameter of those cylinders, as well as the relative hole diameters in the receiver will inform the geometric challenge. The speed of the cylinder drop, as well as the allowed speed of the receiver rotation, will inform the reflex challenge.
Rendering
The game will make use of complexpbr and metallic materials for rendering.
Physics
The game will make use of Bullet physics for the cylinder drops and collisions.
Modeling
Blender will be used for the cylinder and receiver modeling. The make_collision_from_model() function used in other complexpbr programs will be used for automatic generation of the collision meshes from the Blender models. Bullet cylinder shapes can be used for the cylinders themselves.
Music
The music will be original electronic dub music fitting the aesthetic of the game.
T U B E F A L L E R
Game Design Document
Introduction
The game “T U B E F A L L E R” will feature an interactive 3D puzzle based on tubes of varying diameters sliding into holes of another object.
The initial gameplay may be defined as a physics simulation which requires the player to drop cylinders from a given height and at a given speed, and then rotate a receiver, located below the dropping cylinders, full of a pattern of holes offset from the initial configuration of the dropped cylinders. The player rotates the receiver such that the cylinders may fall through the holes (or “tubes”) in the receiver. The diameter of the holes relative to the cylinder diameters may be modulated based on the current level difficulty, IE smaller holes represent a higher difficulty. If the receiver rotation is too far offset from the dropping cylinders, the cylinders will bounce off the receiver, colliding with each other in a physics simulation and subsequently end that turn.
The level difficulty progression may be defined by a few separate difficulty paths. The number of cylinders dropping, the diameter of those cylinders, as well as the relative hole diameters in the receiver will inform the geometric challenge. The speed of the cylinder drop, as well as the allowed speed of the receiver rotation, will inform the reflex challenge.
Rendering
The game will make use of complexpbr and metallic materials for rendering.
Physics
The game will make use of Bullet physics for the cylinder drops and collisions.
Modeling
Blender will be used for the cylinder and receiver modeling. The make_collision_from_model() function used in other complexpbr programs will be used for automatic generation of the collision meshes from the Blender models. Bullet cylinder shapes can be used for the cylinders themselves.
Music
The music will be original electronic dub music fitting the aesthetic of the game.
github.com/rayanalysis/pyweek37-tubefaller
Awards
Scores
Ratings (show detail)
Overall: 3.1
Fun: 2.5
Production: 3.6
Innovation: 3.2
Files
File | Uploader | Date |
---|---|---|
tubefaller_git_release_v1_download_link.txt
— final
Binary release download from git because pyweek.org file limit is too small. |
Simulan | 2024/03/23 22:40 |
icon512.png
— final
Tubefaller icon. |
Simulan | 2024/03/23 21:49 |
arena_screen-Sat-Mar-23-17-39-26-2024-110.jpg
Intro screen. |
Simulan | 2024/03/23 21:41 |
arena_screen-Sat-Mar-23-17-39-44-2024-1035.jpg
Near-final failure screen. |
Simulan | 2024/03/23 21:40 |
tubefaller_2_gbQPAq8.png
Initial graphics, physics |
Simulan | 2024/03/19 21:00 |
Diary Entries
First couple days
In the first stretch of "Tube" week, I wrote my initial game design doc and laid down the basic physics simulation that will power the game loop. My level environment with PBR IBL rendering is also mostly complete. I'm now focusing on possible UI elements and level structure implementations.
Music
I also completed the first music track of the game, which I must say, does slap sufficiently.
Technical Update
I implemented a rubber banding effect on the main perspective cam to alleviate some of the apparent frame lag due to the physics update and the very large level area. In theory, this is also frame rate aware, which is important for keeping the instantaneous camera position rational. Still have left the UI to languish on the side, but I'll definitely do something with that either before or after building a couple more levels for the release.
Last day update
I left the packaging and a few procedural level details to the last minute on this project, as I was busy this week doing a lot of nature exploration outdoors. I've managed to build T U B E F A L L E R up to a point that demonstrates the core game loop and, at a minimal level, employs panda3d-complexpbr in a practical executable build.