I Made The Hardest Puzzle Game Ever
TLDRIn this video, the creator embarks on a unique journey to develop a Python-based puzzle platformer game where gravity behaves erratically, sending players in all directions. Utilizing the Pygame library, the game evolves from a simple square to a complex world with slime characters, gravity mechanics inspired by 'Run Three', and a variety of challenges. The creator overcomes several obstacles, including optimizing performance and manual texturing, to develop a fully functional level editor, intricate game mechanics, and atmospheric visuals. After four months of development, the creator successfully completes their first video game, showcasing perseverance and dedication.
Takeaways
- ๐ The video discusses creating a puzzle platformer game with a unique gravity mechanic that changes direction.
- ๐ค The creator contemplates the feasibility of the game concept and its potential to be either a success or a failure.
- ๐ The game development is done using Python and the Pygame library, which serves as a visual and audio interaction layer.
- ๐จ Early development includes creating a basic square character that interacts with a tile-based environment with 'ground' and 'air' tiles.
- ๐ฎ The game introduces a charging system for player movement, inspired by 'Angry Birds', and a slime character named Kevin with customizable traits.
- ๐ The core gravity mechanic is implemented where the direction of gravity changes based on the surface the player lands on, similar to the game 'Run Three'.
- โจ The game features a particle system called 'Mango Particle System' for visual effects and a death effect with camera shake for player failure.
- ๐ ๏ธ The development process faced challenges such as optimizing for performance, creating textures, and managing block combinations for visual consistency.
- ๐ The game includes various types of slimes with unique abilities that can be activated in mid-air, adding complexity to gameplay.
- ๐ ๏ธ A level editor was developed to allow for the creation of custom levels, offering infinite possibilities and replayability.
- ๐ถ The game includes a soundtrack by Chris Wu, which provides a dynamic audio experience different from his usual classical music style.
- ๐ After overcoming several development hurdles and bugs, the game was successfully completed and compiled into an executable format for distribution.
Q & A
What is the concept of the game being developed in the script?
-The game is a puzzle platformer with a unique gravity mechanic that can change directions, sending the player in all four directions.
What programming language is used to develop the game?
-Python is used for developing the game, utilizing the pygame library for visuals and audio interaction.
What inspired the developer to create a gravity mechanic in the game?
-The developer was inspired by the game 'Run Three' and wanted to create a mechanic where gravity changes direction based on the surface the player lands on.
What is the 'mango particle system' mentioned in the script?
-The 'mango particle system' is a custom particle system created by the developer to add visual effects like trails and particles to the game.
How does the size of the slime in the game affect gameplay?
-The size of the slime determines its power when shooting itself, affecting how far it can propel and interact with the game environment.
What challenges did the developer face when creating block textures?
-The developer initially struggled with creating an algorithm to automatically assign the correct texture to each block based on its surroundings, leading to a manual process that was later automated.
What is the significance of the slime named 'Kevin' in the game?
-Kevin is the main character of the game, a slime that the player controls. The developer gave it a texture and eyes, and it rotates to follow its path of motion.
What types of slimes with different abilities are introduced in the game?
-The game introduces slimes with abilities such as double jumping, gravity switching, ground slamming, and being unaffected by gravity, as well as a science slime that splits into two.
How does the developer address the issue of multiple slimes converging into one?
-The developer made it so that slimes would bounce off each other instead of converging, to prevent players from easily beating levels.
What tools and resources did the developer use to create the game's assets?
-The developer used Adobe Animate for creating slime and block textures, Desmos Graphing Calculator for undulating lava effects, and GarageBand along with custom recordings for sound effects.
What was the final name chosen for the game, and why?
-The game was initially named 'The Grav Lab' but was changed to 'A Gravity Game' due to simplicity and avoiding ridicule from friends.
How long did it take the developer to complete the game, and what were some of the challenges faced?
-It took the developer almost four months to complete the game. Challenges included exams, driver's education, PC breakdowns, and the complexity of building a game from scratch without a game engine.
What is the game's level editor capable of, and how does it work?
-The level editor allows for the creation of levels with different block sizes, slime types, and an unlimited number of players. It's easy to use with left-click placement and right-click dragging to fill areas with blocks.
How does the game handle different types of terrain like walls and ceilings?
-The game's gravity mechanic allows the player to interact with all surfaces, including walls and ceilings, making the gameplay dynamic and challenging.
What was the developer's approach to testing and fixing bugs in the game?
-The developer used play testers to identify bugs, such as the issue with slimes converging and the crash upon hitting the save button. Fixes were made based on the feedback received.
What are the performance considerations for players when running the game?
-Since the game was written in Python, performance may vary depending on the player's device. It might run slow even on the lowest graphics settings, but should be fine if nothing else is running.
Outlines
๐ Gravity Puzzle Platformer Concept
The video script introduces a unique game development project where the player experiences gravity in all four directions. The developer, using Python and the Pygame library, aims to create a puzzle platformer that challenges traditional game mechanics. The script details the initial development stages, including creating a basic square character that interacts with a tile-based environment. The player's movement is initially tied to the mouse, but a charging system is later implemented to enhance control. The character design is also discussed, with the player taking on the form of a slime named Kevin, who can vary in size, color, and number, affecting gameplay dynamics.
๐ฎ Enhancing Game Mechanics and Visuals
This section delves into the refinement of game mechanics, such as the introduction of a gravity mechanic inspired by the game 'Run Three', where the direction of gravity changes based on the surface the player lands on. The developer also discusses the creation of a particle system for visual effects, the addition of hazards like spikes for an element of challenge, and the implementation of a lava texture that moves and can be present on any surface due to the game's gravity mechanics. New types of blocks and slimes with unique abilities are introduced to increase gameplay complexity. The developer also shares the process of creating a 3D effect for the game's environment and the challenges faced in texturing individual blocks, eventually leading to an algorithm that automates the process.
๐ ๏ธ Completing the Game with Sound and Level Editor
The final part of the script covers the completion of the game development process. The developer adds sound effects and a soundtrack composed by a friend, enhancing the game's audio experience. A main menu, settings menu, and an intro logo are implemented to give the game a polished finish. Playtesting reveals bugs that are subsequently fixed, such as issues with multiple slimes and the game crashing when saving levels. The game is then converted from Python to an executable format, making it accessible to a wider audience. The developer reflects on the challenges and achievements of completing the project, sharing a personal anecdote about overcoming obstacles and the dedication required to finish the game. Links to the game and additional resources are promised in the video description.
Mindmap
Keywords
๐กGravity
๐กPuzzle Platformer
๐กPython
๐กPygame
๐กTile-Based Environment
๐กSlime
๐กParticle System
๐กLevel Editor
๐กGameplay Mechanics
๐กOptimization
๐กGame Testing
Highlights
The concept of a game with gravity that changes direction, creating a puzzle platformer experience.
Utilization of Python and the Pygame library to develop the game, despite Python not being a traditional game development language.
Innovative player movement mechanics allowing the player to be launched towards the mouse click and stick to walls and ceilings.
Introduction of a charging system for player movement, enhancing control and strategy.
Customization options for the player character, including size, color, and number, affecting gameplay dynamics.
Stress test of the game engine with a thousand players simultaneously to evaluate performance.
Creation of a slime character named Kevin with a unique texture and animation.
Implementation of a gravity mechanic inspired by the game 'Run Three', changing direction based on the surface the player lands on.
Development of a particle system referred to as the 'Mango Particle System' for visual effects.
Inclusion of hazards such as spikes and lava to add challenge and variety to the game.
Design of different types of blocks and slimes with unique abilities to enhance puzzle-solving aspects.
Introduction of a level editor allowing for user-created content and increased replayability.
Overcoming technical challenges with block textures and developing an algorithm to automate the process.
Incorporation of 3D effects and parallax techniques to create depth in the game's visuals.
Customization of the game's color scheme to a blue and orange theme for aesthetic appeal.
Addition of sound effects and a soundtrack composed by Chris Wu to enhance the game's audio experience.
Completion of the game development process, including playtesting and bug fixing, resulting in a fully functional video game.
Release of the game on GitHub for public access, demonstrating the culmination of the development journey.
Reflection on the challenges and learning experiences throughout the game development process, emphasizing perseverance and dedication.
Transcripts
5.0 / 5 (0 votes)
Thanks for rating: