Epic Game Jam ◦ 5-person team ◦ Unreal Engine 4.8.1 ◦ 3 days ◦ 2015
During our summer break, a group of Guildhall students came together for the July Epic Game Jam. In preparation, we clustered together in a pizza place and waited excitedly for Epic to announce the theme of the jam. The theme ended up being "Rocket and Roll" in celebration of the release of Rocket League.
We had trouble coming up with a fun idea for this theme. After hours of debate and discussion, we steered toward the player rolling around an alien planet using rockets from the sky to blow up the surface and find precious gems. Our first test with Unreal's destructible mesh system, though humorous and amazing to watch, revealed that a destructible planet was not viable from a performance perspective.
Keeping the features we had (a rolling character exploring planetoids with rockets from the sky), we somehow ended up with Rocket Shepherd, an experimental game in which the player herds cute, rolly-polly animals around using rocket explosions. Combining a cute style with dark humor, the goal is to roll the animals to a sacrificial pedestal where they're fed to a giant space worm. To add some challenge, predators periodically appear to eat the animals.
Unsurprisingly, a game that features exclusively rolling ball characters is pretty wild. The game we ended up with is dynamic, hilarious, and bizarre, with a lot of weird gameplay. You can't help but shout at the screen as things start to feel out of control, but with some careful explosive aerial payloads, you can achieve victory.
While the project pushed things to the last second, we learned a lot about what we could prototype out and achieve in a very short time frame using our passion for and skills in game development.
Level Design on Adorable Planetoids
When we first decided to put our gameplay on a sphere, we didn't really think about designing the layout and visuals of such worlds. To make this easier, another LD helped me create an on-construct blueprint that oriented 3D meshes to point down at the center of the sphere when placed in the editor. This allowed us to quickly decorate our little globes with destructible environmental pieces.
Each level of the game takes place on a cartoony globe with different animals to herd and defend
It fit the theme to have some destructible environmental features, and we found that exploding the clutter also assists the gameplay, making it easier to herd the animals to the goal. We created some destructible rock meshes that the player could blow up, and the trees can also be burned down by rocket explosions.
For the skybox around the worlds, I used Alex Peterson's Spacescape tool, and one of the artists gave us some materials with which to vertex paint the globes to bring them more to life.
Designing Explosive...er, Meat Chunks?
Early in the development process, making up crazy ideas and giving into hilarious antics was a primary motivator for the group working on the project. We ended up throwing around a lot of jokes about "meat giblets," a joke that stuck around so much that it led to our team calling itself Studio Giblet when submitting the project.
Flaming meat chunks arose from humor and fun being at the forefront of the process
On a lark, I quickly created a tiling material using a basic meat texture and some free normal mapping software. However, it turned out looking good enough in engine that I stuck with it, adding it to some messed up sphere meshes made in 3Ds Max. I quickly threw together a script so that the gibs randomize on spawn in terms of size and model, and throb over time with a glowing pulse effect in the emisive of their material.
On construct, the mesh type and size of the meat chunk is randomized
We found easy routes for the meat chunks to contribute to the gameplay. If the player hits one of the animals with a direct impact of their rockets, the critter explodes into flaming gibs. Additionally, when the predators eat the prey, their meal bursts into meat chunks, and those chunks become targets for the predators to eat as well.
If the meat chunk comes from an explosion it will be on fire; their pulse is executed through a timeline
The gib will shrink when predators eat them; they also spawn blood splatters on hitting the ground
Given the fun I was having with the meat chunks, I ended up taking it a bit further (too far? you decide!) with a more in-depth scripting challenge. I not only wanted blood splatters when the gibs hit the ground, I wanted to make it so that the player smears these blood puddles across the ground when they roll over them.
The system orients the decals to the normal surface of the planetoids. Additionally, to stay visually dynamic, their size, material, and rotation is randomized. Gibs spawn a spatter when they collide with the ground, but only if they're not already in a blood spatter. When the player rolls over a spatter, it adds to a "blood meter," causing them to spawn dwindling smears wherever they roll.
The size, material, and rotation of the blood splatters are randomized on construct
Gibs only spawn spatters if they're not in one; rolling over spatters adds to the player's blood meter
When smears are spawned by the player, their size, material, and rotation is randomized
The player smears blood in dwindling sizes based on the current amount of blood on them