-
Notifications
You must be signed in to change notification settings - Fork 0
Challenges
This page details the various challenges encountered during the development of Keyrun and the innovative solutions implemented to overcome them.
Learning to use Scratch effectively was initially challenging due to its block-based programming approach. Scratch does not allow the creation of new blocks, which required working within the constraints of existing blocks.
To overcome this, I spent significant time practicing and familiarizing myself with Scratch's interface. I optimized the code by using numerous variables to replace hardcoded values, reducing the number of operations and improving performance.
Challenge: The score increased infinitely if the correct key was held down. Solution: Added multiple conditions to verify if the key was pressed and used a variable that changed upon key press, ensuring the score increased only once per key press.
Challenge: Ensuring each sprite was correctly initialized with specific parameters like position and state. Solution: Implemented thorough initialization routines for each sprite at the start of the game.
Challenge: Scratch is not designed for large, complex projects, leading to performance issues. Solution: Optimized the game by reducing image sizes, managing sprites efficiently, and using variables to minimize operations.
Challenge: Managing numerous variables to handle game complexity. Solution: Used variables extensively to streamline operations and improve performance.
Challenge: Ensuring the game design was effective and engaging. Solution: Followed an iterative design process with regular testing and refinements based on feedback from weekly meetings.
Challenge: Incorporating feedback effectively to improve the game. Solution: Held regular meetings to discuss improvements and design changes, ensuring the project stayed on track and met its objectives.
Challenge: Scratch does not support video playback or 3D animations. Solution: Created simulated video and 3D animations by breaking them into individual frames and using sprite costumes to mimic continuous animation.
Challenge: Managing the complexity of the game within Scratch's limitations. Solution: Broke down the project into smaller, manageable components and optimized each part individually.
Blender played a crucial role in creating the 3D elements and animations for Keyrun. This section details the challenges faced and solutions implemented in using Blender for the project.
Challenge: As a novice to Blender, learning the tool and creating complex 3D models was challenging. Solution: Utilized YouTube tutorials and extensive practice to learn the basics and advanced techniques required for 3D modeling.
Challenge: Designing and rendering the retrowave background and the cubes in Blender. Solution: Spent considerable time designing the background and cubes, ensuring they matched the game's aesthetic. Rendered these models without backgrounds for seamless integration into Scratch.
Challenge: Aligning 3D models correctly and setting up the camera was complex and required multiple iterations. Solution: Repeatedly adjusted the camera settings and alignment, eventually redoing the entire project to ensure consistency and accuracy.
Challenge: Converting Blender models into a format usable in Scratch. Solution: Rendered the 3D models as videos and then split these videos into individual frames, creating sprites for each frame to simulate continuous animation in Scratch.
Challenge: Handling even larger and more complex projects. Solution: Ongoing efforts to optimize game performance, focusing on reducing latency and improving efficiency.
-
Red Cube Bug: Persistent issues likely due to Scratch's performance limitations.
-
Score Bug at 10k: Unable to resolve due to theoretical infinite game design but practical limitations, the cube stop to appear. With my better computer I was able to go to a score of more than 15k without the bug.