Welcome to the Keyrun project Wiki! This repository contains all the information about my internship project, Keyrun, a typing game designed to push the limits of Scratch. The game utilizes the keycube, a cube-shaped keyboard with five faces designed by Damien Brun. This wiki details the project's objectives, challenges, methodology, and results.
- Introduction
- Objectives
- Methodology
- Project Structure
- Challenges and Solutions
- Results and Learnings
- Conclusion
- References
During my internship, I aimed to push the limits of Scratch by creating Keyrun, a complex typing game that integrates the innovative Keycube keyboard. This game features retrowave aesthetics and challenging gameplay mechanics.
The primary objectives of this internship were:
- To explore and utilize advanced features of Scratch.
- To create a game that showcases the versatility and potential of Scratch.
- To document the process and findings comprehensively.
My approach involved:
- Researching advanced Scratch techniques.
- Designing and developing the game using the keycube.
- Testing and refining the game to ensure functionality and engagement.
- Documenting each step of the process.
Keyrun is a typing game with a retrowave style where players must type letters to make cubes disappear before losing their three lives. The game gets progressively faster, challenging the player's typing speed and accuracy.
- keycube Integration: Each line in the game corresponds to a face of the keycube.
- Optimization: Utilized numerous variables to replace initial numbers in blocks, reducing operations and improving performance.
- Workarounds for Scratch Limitations: Created animations and videos by dividing them into images and using sprite costumes.
-
Scratch: For game development and animation.
-
Blender: For creating the 3D retrowave background and cubes.
-
Figma: For designing the game model.
- Learning Curve: Overcame the steep learning curve of Scratch and its interface through rigorous practice and study.
- Block Constraints: Managed constraints by optimizing code and using creative workarounds for features not supported by Scratch.
- Bugs and Performance Issues: Addressed numerous bugs, including the score increase issue and sprite initialization.
The project successfully demonstrated the potential of Scratch for creating complex applications, incorporating 3D elements and video-like animations. Despite remaining bugs, the game is a testament to the power and versatility of Scratch.
This internship was a valuable experience, allowing me to explore the advanced capabilities of Scratch and develop a unique and challenging game. The documentation provided here aims to inspire others to push the boundaries of Scratch.