[Now on INDIEGOGO] [with a demo!] FISH - An old-school FPS with a hook

>Get the demo here<](FISH (Demo) by 8ah)

Support the project on Indiegogo

FISH is Greenlit!

So, this is an FPS inspired by early 90’s classics like DOOM, Quake and Duke Nukem 3D. Like those games, it’s fast and full of action but it also encourages a good amount of exploration with secrets and backtracking, something I think is missing on most games of the genre nowadays.
I’m using Unreal Engine 4 with 2D sprites like DOOM, but a 3D world like in Quake. The reason is that I want a more retro look but I want to be able to have a full 3D environment and explore more verticality.

The game takes place in a small generic caribean island that was invaded by fishmen pirates and are now in control. You are the “Pescador”, the hero of the resistence, a strong and shirtless fisherman with a misterious past and a hook for his right hand. I’m still working out the details but he can also go back in time because of reasons. Don’t expect something serious out of this.



I’m running a devlog at http://fishpersonshooter.com/ if you’re interested. :slight_smile:

This is BEYOND awesome! Love the art style

This is pretty AMAZING! I hope this will eventually turn into a release in the future.

Thanks for the feedback. Glad people are liking it. :slight_smile:


Absolutely love this! I was working on something similar but couldn’t get the rotations figured out through Blueprints.

I’ll be keeping my eye on this one


The rotations part is actually being done in C++. Each animation is composed of 8 flipbooks, one for each angle. You can have more or less, depending of how “smooth” you want the transition to look, 8 is what DOOM and Duke Nukem 3D used and I think it looks good enough.

Now, for the code itself. On every Tick the sprite is being rotated towards the camera around the Z axis, the tricky part is that each sprite now has 2 rotations: one 3D rotation, the one used in the plane where the sprite is being drawn and the rotation of the enemy/item itself. That second one is maintained by code and is the one used to check if the enemy is facing the player and things like that.

To decide what flipbook should be used, I get the yaw from the difference vector between the camera position and the actor and use that angle to decide which animation should be used there:

                float offset = (360.0 / Animations.Num());

		if (angle < 0)
			angle += 360.0;
		if (angle > 360.0)
			angle -= 360.0;

		angle -= SpriteYaw; //Actual Yaw of our 2D actor
		angle += offset/2;

		if (angle < 0)
			angle += 360.0;
		if (angle > 360.0)
			angle -= 360.0;

		int index = (int)FMath::Abs(floorf(angle / offset));

		if (index >= Animations.Num()) index = 0;

		return Animations[index];

I hope that is clear enough…

Been messing around with the CableComponent source code and was able to add support to Custom Depth rendering and changed the collision code to better fit my own needs.
The native implementation is based on physics and can be to unpredictable sometimes with cables getting stuck in weird places, also you need a lot of segments for good results. I’ve been using a cable with just one segment for my hookshot, so I changed it in a way that when there’s a collision with something, a new segment is added to the cable and it bends from there.

I can share the code if there’s interest, maybe even create a plugin although I’m using mostly Epic’s original code so I don’t know if that’s allowed. If someone from Epic wants to put this option in the engine’s code, please contact me :slight_smile:

This looks like a really cool project.

I like what you have done with the cable on the hook. What happens when an enemy walks into the cable? Will it create a bunch of extra segments?

Keep up the good work.



Yeah… I ended up removing that cause while it was cool, it did nothing for the gameplay and would give me a lot of headache.

Some thoughts about that here: http://fishpersonshooter.com/post/159036359623/the-hookshot

Nice choice of url for your site :cool:

First trailer is out:

And it’s Greenlight! Please vote for it if you like it:

The trailer is a breath of fresh air! Really cool art style. It’s cool to see games like the golden 90’s FPS classics make a comeback.

The game has been greenlit!

How well is this game doing on Steam? If you dont mind me asking. I am also doing an FPS so I am wondering.

It’s not being sold yet (and won’t be for another year or so), but I got a good feedback on Greenlight with 560 yes votes and 69% of positive votes. I’m actually surprised it got greenlit!

FISH has a playable demo now and is on Indiegogo. Also a new trailer is out.

Any feedback would be greatly appreaciated! :slight_smile: