Bash Run was inspired by Linux. Everyone in our team has had prior experience with the Linux command line due to it being fun and useful for our projects. However, when we tried to explain this technology to other people, they were afraid of it because they couldn't quite understand it. We wanted to gamify this technology to make it more accessible to people who would otherwise be afraid of this useful tool! The idea of a platform game was inspired by our shared interest of having played Super Mario Bros during our childhood, and because a platform game sounded interesting to create, the idea of Bash Run was created.
What it does
Bash Run is a platform game that utilizes Linux terminal commands to help beginners learn how to use basic Linux command lines (e.g., “rm” and “cat”). This allows for the player to understand and remember the Linux inputs. The repetition and consistency will play a big role in helping players develop a new understanding of computers through a fun, simple game. Within the game, the main objective is to eliminate all the enemies prior to reaching the end of the level. To eliminate enemies, you are required to type in a command ("rm" - for remove) to completely annihilate the enemy, but coming in contact with the enemy will be an immediate game over. If all enemies are gone and the end of the level is reached, an NPC will be waiting in order to congratulate you and send you either to the main menu or restart the level based on your preference.
How we built it
Through Unity, we were able to implement our design and create a game with little to no experience with the game engine. We also used C# in order to program the fundamentals of the game such as the movement of the player/enemy and the Linux terminal. For the design aspect of the game, we used Krita to create the player/enemy animation design and tile maps. Therefore, all three of these platforms played major roles in helping us implement our idea into a game.
Challenges we ran into
Although this game was incredibly fun to develop, we encountered many problems. One such would be time. Because of our lack of experience (another key challenge we ran into), we were struggling to keep up with the time limit, but we were able to surpass that although we had to go through a time crunch. Another challenge we experience—as stated before—was our lack of experience. Since none of us was very knowledgeable at Unity, we struggled to establish a starting point. Toward the end of the project, we were able to work together better and overcome the key challenges we encountered.
Accomplishments that we're proud of
There are many accomplishments that we're proud of. To name a couple, it would be learning Unity. Unity was all new to us, so we weren't able to establish a good initial point for our project. We went from knowing barely anything about Unity to gaining the knowledge to create a whole game. This is definitely our largest accomplishment, and another accomplishment would be implementing all of our work on into one project. One example of that would be implementing the animation design into Unity was a big one because it was appealing and looked clean. These accomplishments were what made this project a lot more fun to enjoy.
What we learned
We learned a lot from this game over the past 24 hours. The major learning component was Unity since we had gone from 0 experience with this game engine to being able to create a game. Another thing we learned was using C#. Because we had prior knowledge with programming in other languages, we were able to implement our prior knowledge to this project and assisted us in learning C#. Although those aspects being important, another important thing we learned was being able to collaborate in a group regardless of how hard it gets or how little time we have left. We were still able to work as a team productive toward the end and communicated efficiently with each other in order to finish the project.
What's next for BashRun
Bash Run will be adding new levels and allow players to create their own levels through the tile map we have implemented in Unity. We also want for Bash Run to have more commands that we could use within each level, so we could help beginners learn more basic fundamental Linux command lines.