Concept: FPS sci-fi roguelike with bullet time

This is just a concept at the moment, there’s not much to show, but you can help me by testing the game and telling me what you think of the concept.

A first person shooter with randomly generated levels and procedurally placed items, NPCs and enemies.
The game would feature several gameplay concepts seen in other first person games, such as customizable weapons and armor and the ability to slow the passage of time using cyber brain enhancements. The atmosphere and background of the game would be classic Noir cyberpunk, with no aliens or demons. Several classes of player could eventually be designed, such as soldier, spy or hacker

Right now I’m still brainstorming things like story and enemies, items etc… but my inspiration will be the classic first person shooters/ adventure games such as Quake, Doom, System Shock, Red Faction, Fear, STALKER etc… adn old Manga such as cyber city ODEO 808 and Akira.

I’ve done a lot of research and testing recently on AI and path-finding, as well as procedurally generated levels. I’m sure I’ve got the skills needed to make the game, it’s just a question of having motivation.

I’ve started a couple of projects recently but I can’t seem to get past the concept and coding stage. I usually have a couple of different projects in the pipeline at once, and switch between them as my enthusiasm comes and goes. Some are more developed than others, this one would be added to that list if I go ahead with it.

Anyway, here’s the game demo:
Game_demo

Have a go and tell me what you think.
Use WASD to move, hold shift to run.
Here’s the fun part, press down arrow to go in to slow motion mode. Up arrow switches to back to 100% normal speed.
Left click to shoot the gun, it’s a kind of concept weapon, a kind of plasma blaster that can bounce of walls. I’m thinking of having a couple of weapons like that. I want the most powerful weapons to have a particular tactical use, not just to be better over all.

Do you think it’s a good idea? Also, any thoughts on further development?

EDIT:
video of current progress:

Latest demo Blend file.

I was thinking about a firstpersonshooter that would have stuff like that in it but with driveable vehicles.I am a halo fan
by the way.
Don’t you play your own games.Seeing what i have made get closer to completion is my motivation.And it is funner to have
somebody talking to you either by computer or in person that is truly interested in your project.I will try to stay interested.
Your demo looks great so far.

I think you might have uploaded the wrong file there?! Cause all I get is the default cube scene. Anyways, I’m actually interested to learn about all of these things, might you be interested in a developer partner? I’m particularly interested in your research on NPC’s and procedural content :).

You’ve seen my thread with my little game concept thing. I’ve been playing with blender for a couple of months now and that’s what I can come up with at the moment. If you think it’s good enough to give you a hand. Also I’m pretty good with programming (especially in Python) so let me know your thoughts.

I’m asking cause I’ve seen your tutorials and posts around and it seems you know a great deal and I would be honored to help you and also learn from you.

edit:
Disregard what I’ve said about the file… it’s OK, I was stupid for a moment :D.

it’s been a while since I got a game in to a situation where I could actually play it, rather than just walk around. That’s one think I like about this project is that it could potentially allow me to get a playable version fairly quickly, and get more involved in it.

Anyway, I’ll add a bit more and see how it goes. It’s given me a nice platform for trying out controllable time, I tried using set logic tic rate and set physics tic rate, but the result was horrible. It would actually change the frame rate, so that if you reduced time to 3, the game would move at 3 frames per second, but things like impulse and movement distances remained the same. This system seems to work better, but it’ll need some fudging to get pseudo physics working.

So your not using the default physics because it is too processor intensive?I make high poly objects no collision and parent them to invisible boxes to increase frame rate.

No, I mean the code for increasing logic tic rate and physics tic calculations gives very jerky results, it is not granular.

Say I have a mouse look system where the player rotates based on mouse movement, so for example, on average it will rotate 0.04 radians when you move the mouse to the right.

If I set logic tic rate to 6 (1/10th normal speed) it makes 6 updates per second instead of 60, so if I move the mouse it moves 1/10th the normal distance, but in jerks and hops, skipping across the screen. It will move 0.04 radians 6 times per second.

With a separate system it can still make 60 updates per second, so it moves 0.004 radians, 60 times per second. The result is much smoother, and looks like time is slowed, rather than just frequently pausing.

I haven’t tried keeping logic at 60 frames per second and slowing down physics, but I did find that when physics and logic get too far out of synch thinks start falling apart, objects fall through floors etc…

I think you have a solid start there! A few suggestions:

For the plasma gun, perhaps you could use drawline or something similar to show the deflection pattern, so the player can toggle it on/off and use the gun more effectively (as seen in the old Robocop films)

Perhaps it complicates things too much, but you could also have concepts of player weight and heat output. For example, you could have a door that scans for cyborgs (since they would have a different IR signature) or traps that go by weight (again, the heavier cyborg /soldier would need to find another way round, while the spy walks on through).

Could you have robots/ drones that move to a source of sound? E.g. the drone is blind, but if the player is noisy it will move towards that noise and explode in close proximity to the player? Shove a load of these in a dark room and play Grandmas footsteps…

Colour coded hack terminals: each terminal has a colour based on the value of its contents- so e.g. a yellow terminal is easy to hack but gives low returns, while a red terminal is difficult but rewarding. This would be great as you would not waste time and items opening a safe but getting nothing useful (like Deus Ex HR).

This is the kind of project I’d be happy to open up to collaboration. I really don’t have any preconceived ideas about it, so it’s not something I’d get too precious about. If you’d like to collaborate, it’d be welcome.

I’ll think about that laser guide ray, I did have something like that written in at first for testing, but removed it. Maybe I’ll refine it and put it back in.

The other things are good ideas, I’ve always wanted to include cyberspace as it was done in the original systemshock, though perhaps updated somewhat. In that game, cyber terminals were optional, but could open up great bonus areas. It’d be nice for the hacker class to be able to remotely shut down powerful enemies also, and a “wizard class hacker” maybe able to make hacking attacks outside cyberspace, maybe controlling enemies to attack each other, or freezing them or whatever.

For the levels, I’m imagining a kind of low budget sci-fi movie look, with lots of dark areas, exposed wiring, greebles etc… but with some areas being just modernistic, minimalist white and chrome, or hard paneled areas, like in doom 3.

EDIT: Or how aboutthis for cyberspace!

System Shock 1 was one of the best games I ever played- when you got turned into a Cortex Reaver on death (if you did not switch on the MedBay machines properly) was chilling…

Have you ever seen the cyberspace parts of System Shock 2 (I won’t spoil it just in case you havent played it) as a style also? One idea which was shoddily implemented in Deus Ex (Invisible War esp.) was drone companions- could you have a little robot that you can remote around the level for recon?

And that Flash game is excellent btw.

I’ve played both games all the way through, I still think the first one was better, though of course not graphically. :slight_smile: A drone companion would be a great idea, I think a flying drone would be best, so that it doesn’t get under foot, and can move up and down through vertical shafts. Or how about a deployable scout drone? You could use it to scout ahead, an important ability in a game which could feature permadeath…

Anyway, I spent a little time making some basic textures for a level. I’ll try putting something together and see how it looks.


Thoughts on the demo:
Prety cool but the field of view is too narrow. Should be 90-110 degrees (in my opinion)

Thoughts on the project as a whole:
I’ll be watching this one, particularly any level generation system.

One thing I’ve thought of is that the field of view could be controlled by upgrades, so an early cyber brain upgrade gives you better peripheral vision, while another one gives you better zoom. You’re right that a camera angle of about 20 degrees looks best, but it might be fun to be able to toggle “fish eye” view or extreme zoom sometimes. Or that could be left for the flying scout drone… :slight_smile:

For the level generation I’m thinking of using a branching system. Each room has an entrance, but also may have exits. A room is placed first and it’s dimensions stored in a dictionary. For each exit, the algorithm checks how much room there is to add another room, then adds it with the new room’s entrance connected to the old room’s exit. At each stage it checks for self collision, and chooses only rooms which can fit. When it reaches a maximum size it only places rooms with not exits. Somewhere along the line it adds rooms which have a level exit. A level might have several exits. When we reach a maximum number of levels, they no longer include level exits. The result is a branching structure, both at the room level and at the area level. There’d be a certain amount of back tracking, but old areas may be repopulated, and generally the algorithm would tend to build the game around the player’s progression.

I tried a little bit of physics control today. Controlling gravity in real time, and using get and set linear velocity should do the trick for physical objects, but there’s a question of how to make sure that new objects have the right velocity when added and old objects get set to the right velocity to match the overall current time frame of the game.

For gravity, I wouldn’t set velocity manually, instead I’d apply a force scaled properly.

So normal gravity is 9.81m/s^-2
This means you need to apply a force of 9.81 * mass in the negative z direction
To get half-speed, halve the acceleration, and apply 4.505 * mass in the negative z direction.

When you transition, you’d have to halve the existing velocity.

I’d probably have a world-level script that takes any dynamic object and assigns it a property called ‘speed adjustment.’ It then know if it’s set it before, if it hasn’t changed it yet etc. This would allow it to handle adding objects easily. (ie add an object at full speed, next frame the physics script goes “I haven’t scaled the velocity for this guy yet”).

This could also allow some fancy per-object gravity settings!

The scout drone sounds good- ever thought of upgrades for it too? Perhaps it could have an upgrade slot for stun darts, mines or remote hacking. As a balance, the drone initially has a range limitation (the further away it gets, the more interference on the image) but could be upgraded to longer and longer ranges.

I think having a fuel gauge would be good for the drone, so you have to get as much use out of as possible before it drops to the floor and has to be picked up and recharged. If you decided not to go that way… well your drone would be lost but maybe you’d survive.

Today I did a bit of coding to add a lightning gun!


Ha! I’m just having fun with this right now. It’s great to build the kind of weapons I’ve always wanted, I feel like a bond villain.

You can try it out too, here:
bullet_time_test_3

Use the left mouse button to fire the lightning gun, be careful, I’m testing the limits so it’s set to pulse zero mode right now. Watch the logic fly as you hose the level with sparkling death! :slight_smile:

Use the right mouse button to fire the plasma dart from earlier. Hold the right button down for a preview of your shot, then release it to send the dart on it’s way.

Feedback, as always is welcome.

I’m opening this up completely now to community collaboration. If you’d like to build a weapon, design a robot, or some tilesets or machines or props, why not?

The new gun particle effects look great.How about a freeze ray ,sonic cannon and steam gun.

As far as the visual upgrades go, could you just have a basic skill? E.g: you could have a wide angle vision mode that is almost wrap around (but lacks clarity) that is good for quickly looking around. The player can narrow that view until they lose peripheral vision but have a focus directly in front of them- in this mode enemies are highlighted or info about them appears (vision cone, health etc) - a bit like Garretts mechanical eye in Thief (sort of). It would inject some tactical decision making as the player must decide about being cautious or being confident no one is going to sneak up on them.

I’ve thought of several upgrades already, one to highlight enemies, another to show how much health they have left, another one could show weak spots or vulnerabilities, but yeah, maybe you have to zoom to get the benefit. So avoiding ambushes by scouting ahead with a drone could be important.

Those are all great ideas. I want something like a flame thrower, but short ranged. I don’t want to be spamming particles all over the level. It’ll probably fore steam or heat or something. Most energy weapons are going to be single shot, fire once and then wait a while to recharge. That should stop logic spikes from too many particles being added at once, continuously.

I also thought about a glue gun. If fires out a stream of thick glue which can stick enemies in place, or smother them, if you get close enough. Fire it once and it creates a puddle (an image aligned to the floor or wall) if you shoot the puddle again it can grow bigger. You have to fire upwards slightly because the glue pours downwards in a curve.

The regular guns are easy, I’ve got a prototype for them already.

Okay great i would love to see models of all these new weapons.

Another idea (although it depends on the aim of the level) is the cyberbrain itself. If you are hacking for profit (taking secret documents / designs / BitCoins) upgrade the brain capacities so they hold more data while in the level. Or perhaps this upgrade occupies a slot so the player must choose between bigger storage and other mods (like enhanced sight / jumping etc).