LD40 Jam Game

Captain Road is my submission for Ludum Dare 40!

Inspired by games like Captain Forever, I made this game that lets you fight enemy ships and build your ships from its scattered parts.

The theme for LD40 is The more you have, the worse it is. So the idea for this game was the more parts you have, the more enemies spawn and try to kill you, making the difficulty higher. Unfortunately, I didn't have time to implement a proper Enemy Manager, so the AI is pretty lacking and enemies only spawn based on time and their level is the  players level+/-1.

This game contains procedural world generation using Unity's perlin noise function and a random seed. The roads are also perlin noise, just one scaled vertically, and another scaled horizontally to create lines. The road tiles are 7x7 tiles big so Unity occasionally doesn't draw roads on the edge of the screen and I'm not sure how to fix it. I planned to have random structures in the game as well, as a kind of point of interest because you won't find anything unique on the map.

Enemy ships are chosen from a file of 14 different ship templates. I wanted to create a system that randomly puts together smaller templates depending on level, but that would have taken too long to implement. Ship loading loads a string that starts with C, then its level, then goes into its children in four local directions in the order: {Up, Left, Right, Down} each child has its type, optionally has a level, and then recursively goes into its children. Each child faces outwards, so no ship component can have a child in the Down direction, only the core can. Ex: C4{,B{,,L},B{,L},B}.

Levels range from 1-9 and block health, damage, and fire rate scale exponentially. There are only three ship component types: Block(B), Laser(L), and Melee Lance(M). Technically the player and Enemy Cores(C) are ship components, but you can only have one of those.

I hope you enjoy playing Captain Road!


CaptainRoadv1.2.zip 25 MB
Dec 05, 2017

Get Captain Road

Leave a comment

Log in with itch.io to leave a comment.