Die to Survive - Railshooter

Hi all,
i want to show and hoppefully get some suggestions for a passiont project i work on. It is an gory old school railshooter like House of the Dead and Time Crisis.
This kind of games i missed the most to play, just some simple shoot everything on sight game without to much thinking.
main_616×353_SteamStore_Final1

Here is a YouTube Link to some gameplay and Gore tests.
Some of the videos are pretty gory so be aware before watching.
I am not sure if i can post this kind of images in here.

Website: Die to Survive

Please let me know what you think about such a game.
Every suggestions are welcome.

Edit:

A first short Demo of the Game is now available on steam.

It would be nice to get some feedback. All of it the good and the bad things, suggestions just all you have in mind.
Every feedback is very welcome to make the best game possible.

9 Likes

The World Needs More Railshooters! House of the Dead is one of my favorites. Your YouTube Looking Really Good. The Dismemberment is awesome and one of the funnest parts in HoD. I’m following this project. Keep up the Awesome work.

OPTIONAL READING

Railshooters influence my FPS game designs. I’m developing manual & procedural control systems for Player Body Movement, Weapon Aiming & Shooting, and Camera Movement activated/deactivated on-demand.

I’m firstly designing a Camera Subsystem to support procedurally generated ‘rails’. I’m not using any splines. I’m using a concept of mount & focus ‘Actors’ which the camera can be Mounted to any Actor and any Actor can be the Focus Target of the Camera.

Next will be Weapons to support ‘Inverted Railshooter’ mode in which you manually move the camera and aiming & shooting is automated. This was originally just going to be ‘Power Up’ to auto target many enemies in specified radius and rapidly shoot each with critical precision. I’m using a custom IK dual-wielding animation system to procedurally aim Left/Right weapons independently.

Finally, Body Movement. This subsystem procedurally moves the Player Character from Point A to Point B. I plan to implement using Bot AI, with manual and procedural Destination Selection. I have not worked out the implementation fully on paper, but hopefully it is as simple as swapping out the Player/AI controller.

1 Like

Greetings @Thorsten09; I hope you’re doing well! I haven’t played many railshooter’s in my lifetime, but I’m excited to try yours! “Die to Survive” looks excellent so far, and I’ve already added it to my Steam wishlist.

The images you shared with this post are fine; if you want to run any other screenshots by me before sharing them, then feel free to send me a DM, and I’ll check those out! :grin:

Thank you for answering and like.
Exactly what i was thinking about railshooters. To bad almost no games are made after the PS3 era.
I think the big studios are afraid to take the risk develop such games for pc with using a mouse. Even the remastered HoD that i just notice is out on switch it is just made for it cause of the controls for it i guess.
And you camera system looks cool, could also be used for some sort of resident evil games.

1 Like

Thank you for the answer, like and adding to your wishlist.
It is always good to here if someone likes what you do.

At the moment i work on some niagara blood and gore effects, i will send it to you if i have some pics before posting in here. :smiley:

This is a image where you can see how i work on such things.
I think the most important is to have a plan before begin …

2 Likes

Hey @Thorsten09. Great Design Doc. I also design everything on Paper (Google Slides) firstly and continue to update as living document throughout the development process.

Dismemberment is of great interest to me. I’m implementing several forms of ‘destruction’ for dismemberment: Procedural Mesh Detachment, Mesh Swapping, Mesh Slicing, and Fracturing/Chaos.

One particular method of Pre-calculated Mesh Fracturing of interest is inspired by the classic Soidier of Fortune’s 2 G.H.O.U.L system. This was an effectively gruesome dismemberment system for its time and worthy of a revisit with the latest graphics tech.

1 Like

Hi @TechLord, seems like you packed all of your ideas in there. I also love to work this way.
Just used to use visio instead.

And hell yes soldier of fortune was such a sweet brutal game. I got this from austria cause you could not get it in germany with dismembering.

If you are interested in dismembering tech than you should also have a look at this two links. It is out of my favorite game for gore L4D Dismembering - Tech behind.
I also have a .pdf from Alex Vlachos (Valve) about there system. It is very interesting to read but i am not really sure if i can post this in here.

I have an similar approach to use this. First i use a splitted UV map with islands for the parts (if i call it) after this i work a lot with material occlusion (edit: “opacity” not occlusion) and combining.
The good side: it is easy to handle for multiple models.
The downside: It use a lot of instructions (around 360) so it is pretty heavy.
Works only around 10-15 models the same time without crashing the performance.

Guess this is the price you need to pay if you dont want a simple normal dismembering system with destroing bones.
Not perfect but i think it looks pretty nice at it is at the moment, and for the kind of game i make 10 - 15 at the same time is more than enough.

2 Likes

The pleasure is all mine and sounds good! :+1:

Keep up the great work; I look forward to seeing all the updates and insider information you share! :grin:

A short Video about testing weapons with an spawnpoint.

And a few Images from a Level (WIP).


2 Likes

“Die to Survive” is really coming together. This is one of my favorite projects to watch. Please keep up the awesome work!

1 Like

@TechLord Thank you.
The movement in such games is much more difficult to handle as i aspected after the first functional system i used, turned out i can´t really do all with it what i wanted to do.

At the moment i try to figure out the best way to do it without beeing to slow or boring.
Also just noticed the camera shake seems to be different in UE4.26 to 4.24 and don´t work.
I was always wondering what i miss if the player moves or recived damage.

If i have found a way i like i maybe will put a very short demo of it to see if others also like the system then. But i guess this will still take a while.

1 Like

Wow @Thorsten09 not only does this look great, I had a rush of nostalgia while watching your YouTube video. I feel like this is something I would have played in an arcade back in the day. I look forward to seeing this on Steam!

1 Like

Thank you @danspada , glad you get this feeling.

You are right, at the moment i really try to catch this old style arcade feeling.

I played a lot of this games and i want to archive this fast paced gameplay i loved so much.
Without a fast movement, where you get an adrenaline rush it just feels boring.

The best results so far i get with a combination of Splines & Timelines, MoveTo, triggered Events and Interface::Msg´s.
But i still need to figure out how to interp start/stop timelines without using a lot of curves.

Just a little hard to handle without confusing yourself what where should happen. :crazy_face:

(Edit) For those of you they like to watch how things getting started and slowly put together and evolve.
A short video of the an new automatic movement system i test at the moment. It shows also a bit more of the level i work on.

3 Likes

Hi @Thorsten09 I think your autonomous Camera and pacing looks great. But if you need something a little more dynamic and easy to implement consider speed variable for enemy movement/attacks. Another easy method could be artificially slowing the pace with Time Dilation (<1) , normalizing Time Dilation (1.0) in which the normal pace feels faster.

More Pacing Tricks

You can achieve fast/slow pacing with a variety of visual/audio tricks, such as using Warm Lighting for Fast Pace | Cool Lighting for Slower Pace Area in specified areas. Music also influences pacing and mood. Fast Tempo (ie: Action) for Fast Pacing | Slower Tempo (ie: Ambience) for Slow Pacing. Oscillate between Fast/Slow pacing for a balance.

Timelines rely on curves, thus, not sure if you can avoid using a lot of the them. But, I would more detail on what they are being used for. I personally avoid using Timelines or curves for interpolation. I use simple statemachines (switch-on-name BP node) and interpolation functions for latent interpolation with more control. You could splines for use as 3D curve data. I’m conducting experiments with this here.

OPTIONAL READING

The more moving parts, the more complex it will be to organize and manage. Consolidation can help. The Camera has a nifty “Set View Target with Blend” node that handle smooth transitions between viewtargets automatically. It’s solid functionality outperforms camera interpolation with functions/timelines in my test, which is why The Hyper-Cinematic V8 SuperCam Subsystem is designed around using it. Check out these results: 1, 2. 3.

A Viewtarget can be any type of Actor, thus, you could effectively create routes of Waypoint ‘Actors’ and blend from one to another for Camera Movement. Add blending properties to the Waypoint Actor and now the Waypoint Actor could handle camera interpolation blending and pacing all-in-one. Add a Collision Shape to the Waypoint Actor and they can used as Collision-based Event Triggers, Camera Path/Movement/Pacing all in one. Put these properties and functions in a modular actor component and any Actor can be used a Waypoint Actor - haha.

VERY OPTIONAL READING

As mentioned earlier, Railshooters influence my FPS game designs, so I’ve pondered several ways approach developing a traditional Rail Shooter. There were two approaches I considered: Procedural Controls and Record/Playback.

The Procedural Controls Approach is very similar to what you are doing with combination of Splines & Timelines, MoveTo, Triggers, and Messages. Except, they are not 100% autonomous. They are hybrid of manual/semi-automatic/autonomous to allow for independent on-demand switching of human/AI control of the Camera (View), Player Character (Body), Player Targeting (Aim), and Player Weapon Firing.

The Record/Playback Approach is prerecording all the Camera Animation, Enemy Attacks, Triggered Events, etc and playing them back. With the Player only control of the Weapons/Reticles. The playback is only interrupted when Player fails. Its more like creating continuous movie, thus Sequencer could be employed to implement a Record/Playback System.

With this concept Camera Animation, Enemy Attacks, Triggered Events, etc are prerecorded and played back during Game Play. The Players only controls Weapons in real-time. Enemies are damaged/defeated in real-time. The Player can be damaged in real-time, but playback is only interrupted when Player is defeated to switch to cutscreens or other.

1 Like

Hi @TechLord, thank you so much for your suggestions. I will defenitly look deeper into this and try it after i finish what i am working on. It is always good to test different ways.

To be honest i mostly use only 1 camera. I just use a pawn and attach all i need to him. It is much easier to control this if you have only 1 actor that carry all the informations.
This is also why i build an eventmanager. So i have only 4 base points i need to control: 1 pawn, 1 base_eventmanager (as the base for a lot of them in the level),1 base_spawnpoint and the gamemode.
The cameras you can see in the pics are more for debug and visualization so i can see what should happen at this point and where the camera is aiming to.
I love to see immedatly what happen where. Whitout my little helper models i could not even imagine how i should see what happen at a certain point.

An abstract example on how i use an event circle

player reach eventpoint 1 → overlap → eventmanager Msg to spawnpoint (start spawning) → spawnpoint Msg to gamemode (Number of enemies spawned) → Msg::NtbKNr (need to be killed number) → player kill all enemies (NtbK): Msg to gamemode(event finished all enemies dead) → gamemode Msg to eventmanager(event finished → start next event) … eventmanager:: start nextevent() …

How the system works at the moment

Right now i have found a much better way then i used before.
I now use my EventManager for all the movement and to trigger events.
At the start wanted to avoid using splines, timelines and overlaping, but at the moment it feels to use them is the best way to handel this.

I use 1 Spline only for the movement and 1 only for the events.
I made it this way: i put automaticly at every spline point the struct data and an overlap triggerbox and store all of this in an array (the positions are also my event numbers to trigger).
To control all the movement and rotation i use 2 timelines. The first is only for the movement where i can stop and start and the second to slow down with a curve the playrate of the first.
It is now also much easier to chose a path trough a level. I just need to switch to another eventmanager.

I am quite happy with the results till now. I can do all this with only 2 Curves with manipulating the playrates.
This works much smoother then before now. The code for this is complicated, but this way i now really can do what/where ever i want.

I hope/think i can share a video with a working version of this with also some gameplay in a few days. I have almost finished the new system.

2 Likes

Hi @Thorsten09, Inspired by your Project, I was motivated to grab the Skinned Decal Component while on sale as another method of dismemberment/organic destruction. I visualize using this for ‘destruction layers’ → skin, muscle, bone with various effect per layer.

OPTIONAL READING

I’ll be conducting some experiments with creating routes of Waypoint ‘Actors’ (+ Blending Properties) to blend from one to another for Camera Movement. This will become a feature in the V8 SuperCam.

I intend to extend on the concept implementing a form a in-game ‘Waypoint Recording’ in which the Player can record multiple Waypoint Routes and select them for playback in Forward/ Reverse on-demand in real-time. A sort of Rail Editor in-game I reckon.

VERY OPTIONAL READING

BTW, here’s an example of a Custom Timeline. I use Custom Timelines in Components which don’t support the standard Timeline Nodes. I code all my functionality in components for modular design, elimination of high level casting. I use components to encapsulate the logic for UMG Widgets too.

There are many other ways to implement Custom Timelines. This one was based on Version 1.0 of my design pattern: Stateroutines. In the future, I may use Structures and Event Timers. This Custom Timeline uses a Float Curve to Fade a Material Emissive Parameter:
https://cdn.discordapp.com/attachments/817437846578659358/979503656531533914/HomemadTimelines.png

1 Like

hi @TechLord , gore i allways liked in games. So i really hope it turns out for you this asset is usefull, looks really good btw. And it is based on 2 cpp classes i read, so i guess you have also access trough code what makes it even better.

I stick with what i have created, i like to have full control on how it should look and work.

The first system i used was also this blend way, i tried to use movement with camera blending. It was just to hard to handle and to keep an overview of what at a certain point should happen. Thats why i now use splines, timelines with models they indicate events for me in the designer.
I think It is much more easier to see if you for example point with a camera with a line in the direction and simple use then the transform from the spline of it to set the rotation.

Here is a very short video of the new movement system in place.
Still not finihed yet but very close now.
I can now adjust really all i hade in mind at every point i want.
Not all functions ready, but i am quite happy how it works at the moment.

3 Likes

Have you upgraded the zombie appearance as well? Really like the new look compared to the first video you linked, but not sure if those were mainly just target practice :slight_smile:

Hi @PresumptivePanda and thank you.
The zombies are still the same, just was trying LUT´s to see what i can change in the level without new textures. They are also not belong in this level (they are part pf a jail level), just the first model i used to test the gore system.
Here is a picture of one of the set i tested how i can change models with only textures and blood masks without using tons of models but get some variety.

This kind of zombies belong in this level in the end.
I try to match the models to the levels there are in.

I am just searching with all i do the easiest way to do it in the shortest amount of time possible.
Guess this is the downside if you do almost all on your own.

1 Like