I was thinking about whether you could make a roguelike rails shooter.
Obviously, you could create just a chain of rooms with pop-up challenges. But a rails shooter is a lot more than that. So let's consider it.
Let's split the content into four fundamental types.
1) Topology
2) Timing and motion
3) Enemies
4) Enemy presentation
We can separate the level out into premade topolgogical segments - random room-like objects. The rooms are not static - their elements can be permuted in various ways. A door could be locked, a roof collapsed, etc. This is important because the other three types need to be able to affect the topology to some extent.
The rooms get stitched together not just at the doors, but at the windows and overhangs and broken walls and collapsed roofs.
Since it's a rails shooter, how you move through the level and aim the camera is a major factor in the gameplay. This means you have to program in a lot of things like looking around, backing up, diving forward, and so on. These can be largely independent of the topology, except in that the topology has to allow it. Topology pieces come with several established possible paths, and you basically just stitch them together (including using multiple paths through the same room when possible). But you combine that path with the pacing and camera work to support your enemy presentation needs.
Enemy presentation is the key element of all rails shooters. The enemies aren't just arbitrary pop-up targets like a gallery shooter. They have an existence in the level. They associate with the topology: range, height, and obscuring stuff. They associate with the timing and motion, to: surprises, peeking, cover, parallax, spinning, glimpses. They combine, too: sniper opportunities, firing through windows, down from a walkway, up onto the roof...
Even further, enemy presentation also involves how many enemies, whether they are widely separated on the screen or clumped, and so on.
So, is it possible to make a game out of this?
I dunno. I think maybe I'll try a paper prototype.
No comments:
Post a Comment