Grashers is a twin-stick shooter roguelike set in space where you play as an interstellar custodian known as a Grasher who removes junk from the surface of various planets and fights radioactive mutant monsters.
Embark on a journey where your choices can make all the difference and drastically change the story.
The gameplay is inspired by The Binding of Isaac and The Legend of Zelda, and includes countless opportunities and ways to upgrade your character through your travels. With dozens of different items, monsters and environments, it's guaranteed no playthrough will be exactly the same.
The ongoing development of Grashers has started back in July 2014 and evolved a lot since then. It counts with the LibGDX framework (in the Java language) and includes different techniques such as the ones listed below.
With the help of the Box2D and Box2DLights libraries, all entities have their own collision bodies and masks. We control how every single body behaves, as well their physical properties such as mass, velocity, damping, friction and so on. Light rays are also directly affected by collision bodies, which adds a lot of realism to it.
Thanks to the fantastic Spine tool, all our creatures are animated with it. Each of them has a virtual skeleton with bones and joints, and are animated programmatically. This makes the final effect much more fluid and greatly decreases the development time. Even our cutscenes are made using this technique.
ECS is an advanced technique used in game development which consists of making all entities modular, so instead of assigning individual attributes to each of them, or even relying on an inheritance approach, entities are simply data-driven containers of components, such as Physics, Light, AI, Sprite, Input, Shadow and so on. Logic Systems then process entities with a specific set of components, running the core logic on each one individually.
This is the perfect solution for scalable games, making the process of adding new entities and mechanics as simple as writing a few additional lines. For example, if we want to add a green light source to a certain boss, all we have to do is add a Light Component to it with a few attributes, and that's it. The Light System will take care of all the logic behind it. We wrote our own ECS engine for Grashers and we couldn't be happier with it.
One of the big aspects of Grashers is the diversity of content. The game includes plenty of items, weapons, monsters, and it couldn't be different with rooms. In order to have full control of how our rooms are created, we needed a simple, albeit powerful editor. Just like with ECS, we wanted our own solution for that, and we came up with the Room Editor application tool, which allows us to assemble a brand new room in a couple of minutes.