When working on the project Bound during University, we found ourselves needing to debug and test various aspects of the game. For example, if we wanted to test a new room feature, we'd have to manually explore the current floor until we found our desired room. As you can imagine, this was a pain and took a long time to actually get to the room we were after - especially if it was on a higher level floor, or perhaps the room variant didn't even spawn at all!
So, we needed a new solution. We hacked together a haphazard implementation of some sort of "terminal window", if you can even call it that. We allowed new commands to be added, but it wasn't the easiest to use. However, it did get the job done. Using this little makeshift tool, we were able to give us money, upgrade weapons for free, and spawn enemies, making debugging so much easier. Soon, we added features like teleporting to any room on any floor, not just the current floor. Additionally we could force a certain drop, add any item of any rarity to our inventory, auto-solve a puzzle, and a few others! You can see how useful a tool like this can be.
Fast forward a few years, and we find ourselves preparing to begin development of an upcoming PC game (shh, it's still a secret!), and we thought how complex it could potentially be to debug this. It reminded us of how hard developing Bound was without a tool that allowed us to, essentially, cheat at will. So we put our heads together and came up with DevShell.
Initially, it was just going to be an internal tool. Then we thought how useful it would be for others to have this power at their finger tips with relative ease, and the public version of DevShell was born!
If you're working on a game (or about to start one) involving levels, some sort of resource, or anything time-based - in fact, anything at all - then you will no doubt appreciate some sort of development cheat system to allow you to skip to the part that matters. Or maybe you just enjoy being a true God in the game Universe you have created. Whatever it may be, DevShell can help.
With DevShell, you're able to easily create your own commands alongside some of our pre-built ones. Want to execute cheats without remembering a cheat sequence like UP, DOWN, LEFT, LEFT, X, UP, X, DOWN, RIGHT, X (although maybe a good feature for the future)? Want the flexibility to add parameters and flags to commands to execute them exactly how you want to? Or perhaps you just want really good customisation, yet have easy plug-and-play functionality?
If you answered
yes to any of these, then you should certainly be using DevShell! It offers many features off the bat, with the ability to extend and add your own commands and customisation items not only as you please, but also with ease.
If you're still unsure, we highly recommend diving into the DevShell wiki to see exactly what it is capable of, and how powerful of a tool it can be when used correctly!
We're always looking to improve our documentation to ensure clear, concise instructions and guidance, so please let us know and we'll try to do better!