Brian Crick

First Person Fencer

Took a bit of a detour over the last couple of days to try out an idea for a swordfighting game mechanic that’s been stuck in my head.

There’s a lot that’s janky about this, but it’s been nice to just dive in to a couple of random ideas and explore them.

First:

swordfighting

The idea here was to tackle a number of things I don’t like about first person shooters. I like how immersive the environments feel in first person games; I like 3d platforming, and I like the lack of item trays in your typical FPS. But… I don’t like the shooting so much.

The solution was swordfighting. You can’t see a sword in my prototype, but the idea is you can thrust or slice with your sword, wearing down an opponent’s shield. Every time you slice, you divide the shield into smaller fragments. You can thrust at a small, red-highlighted fragment to destroy it. Really small fragments simply disappear on their own.

So here are some things I had in mind:

hit or miss

In an FPS, if you shoot something, you either hit it or you miss it. True, there’s something kind of satisfying about lining up a perfect headshot (if you can stomach the subsequent gore), but I just don’t find the act of shooting that interesting. Your targets have X health points, each shot does X damage; do enough shots and the target is eliminated. It’s not something that’s expressed in a very visual sort of way.

So here, you eliminate a target when you’ve gotten rid of their shield. It’s pretty easy at first, but when the shield starts to wear down, it can be a little tricky to line up slices in such a way that they cut a maximum number of remaining shield fragments.

I find the act of doing this kind of fun and visually interesting.

abstraction

You don’t fight your opponent: you fight their shield. There wouldn’t be any blood, or dismemberment or anything; you’re not thinking about the damage your weapon might cause to someone’s flesh. As soon as the shield is gone, the opponent can conveniently vanish in a puff of pixels.

(I might have your opponents be all mechanical anyway, because I’m still squeamish about showing harm to living things.)

health bar

Your opponent has no health bar; the more shield they have left, the healthier they are.

variation

Let’s say a shield fragment turns red and can be thrusted away when it has an area of 1 unit. And shield fragments under 0.5 unit simply disappear as soon as they’re created. With that in mind, the following things happen:

An opponent with a shield 0.6 units in area can be eliminated with a single thrust.

A single slice will probably do it too. You can be messy: if you divide the shield into one 0.2 unit fragment and one 0.4 unit fragment, they’re still under 0.5, and both fragments will disappear after the slice.

Go up to 0.8, and you’ll have to be more careful about your single slice, say, dividing the shield into two equal 0.4 unit halves.

At 1.2, a perfectly-centered slice will result in two 0.6 unit fragments that don’t disappear outright, but which are small enough to be thrusted away.

And anything above that size will require multiple slices, which the player will (hopefully) have to put some thought into arranging if there are time constraints of some sort (like, you know, taking damage).

You could even have shield so big you you have to jump up to start your slice and continue it on your way down.

I like this sort of progression. The difficulty scales in a way that isn’t just about spending more time in the fight or taking more damage.

problems

All that having been said, there are a few problems that will probably prove difficult to solve.

animation

I do not relish the thought of modeling and animating a believable sword and jointed sword arm that responds to your movements.

cursor

The mouse is used both for movement and slicing: at present, your sword tip is always at the center of the screen. Besides looking very unnatural when you do actually have a visible sword and arm, it makes placing your slices feel very awkward. While slicing, I expect the camera to stay relatively still.

height

If your opponents are the same height as you, you’ll constantly be looking down at their shields. Again, awkward.

symmetry

I’m having trouble imagining giving the player their own shield that follows the same rules as the bad guys. The controls could be awkward or confusing, and you wouldn’t even be able to see most of your shield most of the time.

camera

Incidentally, I’m also experimenting with a sort of fisheye camera. Your horizontal field of vision is around 120 degrees, but it’s a cylindrical projection, which minimizes distortion on the edges. Of course, this adds some distortion to what would be straight lines in a regular projection.

Ideally, I’d want something that was sort of like you were standing inside a cylinder with the world projected onto it… and then took a couple steps forward. So when you turned, there would be a little bit of distortion, but not as much as a regular planar projection. But that would involve lots of matrix math I don’t understand.

Overall though, I think it feels fairly natural. I don’t like how limited your vision is in most first person games.

to sum up

I think this has potential. Who knows when/if I’ll develop this more; right now, I’m just glad to have the basic concept out of my head.

Copyright © 2017 Brian Crick.