Project FPS

So I decided to cover the classic first person shooter tutorial series that everyone want to know how to do, so I will use this thread to post updates and keep all the tutorials together in one thread.

Something different that the tutorial will cover:
using ray’s instead of physical bullets
level creation
enemy AI that take cover
LoD lighting

Here is a video of what we will be creating:

Download link:

Blenderrendersky also made his own version with tweaked visuals which looks quite nice.
https://copy.com/nLvEOghfJv74sU40

EDIT this thread is outdated, check the game engine resources for ‘Project assets’ for up to date tutorials + links

Stay Inspired!

Looks nice. I tested it, 5 fps, when I move the mouse the logic goes up to 90%, when I stop moving it, it returns to like 1%. The game moves in slow-mo, but that’s because the engine itself is frame bound. Blender 2.73a, linux x64. amd crappy card with even worse amd-linux drivers.

Hmm, I created it in blender 2.70a, maybe you get better results with that as I have heard of decreased frame-rates in the newer versions of blender.

If he gets 5 FPS, I will get 2 as I have linux ubuntu 64-bit with NVIDIA GT610 and NOVEAU driver!!! Anyway, I want to test!:smiley:

10 FPS even with my awful GPU:P Anyway, I have strange feeling to play it SOOOOOOOO slowely- is it possible to make it happen faster? Also, I don’t have any idea how to shoot(at least LMB isn’t the way).

You purposely can’t shoot until you are in the subway area (with the enemies), you also can’t shoot once you enter the train carriage at the end.

Looks pretty good! I have only tried the first version thus far.

Getting 45-60 FPS with all filters on and vsync disabled. Solid 60 if the view isn’t maximized.
Linux64 / NVidia GTX460 / version 331 of the proprietary driver. Similar experience with 2.70a and 2.73a

Prior to disabling vsync it kept toggling between 30 and 60 FPS, which really brought out the framerate-dependent move speed.

I’ll try the other version when my internet stops being a jerk. Unless I forget.

Isn’t GTX460 older than GT610? Maybe that’s not factor of speed. Anyway, aren’t there any bugs of 331.113 for you?

There is a trick you have to remember with nvidia cards. The first number (4, 5, 6, 7, 9) is how recent the card is. The second number (10-80) is how powerful the GPU is. GT610 is a recent low end, graphics card. GTX460 is an old, mid-high range card.
I built this on a GTX 660 which should be similar to the GTX 460 but with a more updated chipset.

Tested in Blender 2.73 ae occurred the constant errors in the console (see image). The black screen is the running game, but for some reason it seems that the lighting failed.
2.70a tested in 64 bits and the results were the same.


My specifications (at work):
Intel Dual Core 3.0 GHz
Accelerator Card: nVidia Geforce 8400GS 256 MB
RAM: 3.0 Gb.

Well, I really want better GPU, but I have no idea how to get it(as I know, GTX 970 TI is the best)

but how much can nvidia drivers improve prformance?

reading from your specs, it looks like you might not have enough graphics card memory. That would be my guess. I’m not sure what the link problem is but it was also popping up during development after appending the player into the level.

There is a problem with 970’s regarding memory and speed. once 500mb of memory have been used on the graphics card the speed drops down rapidly (i think its around 1/4 of the original speed). I would think GTX 980 would be the best, or probably a GTX Titan card. Unless you are thinking of rendering a lot of stuff, I think any card with GTX -60 should be fine.
Graphics drivers won’t make the card run much faster but it can optimize the communication between the computer and the card as well as add new features.

Well, my GPU latency with Noveau usually is about 80% of all the profile. Also, previously I had 331.89 and it made me able tu run Worms: Clan Wars without lag at all, altought more previous with Noveau it ws lagging a lot(it had about 3-4FPS). But the 331 NVIDIA driver had bug. I’m not sure when to test new drivers on new 14.10 version, but they must increase performance drasticly(like about 2 times). The fact so Noveau has upgraded is too, as it now supports GLSL shadows, but it’s performance hasn’t been improved a lot(just for 2 fps on medium performance games since 14.04). Anyway, I hope I can make some games to sell, but I don’t understand licensing articles at all!

A+ Thatimster.

Is the loading screen a script?

Great job! It works fine on my computer (GTX 660). ~60 FPS (depends on activated filters) on Windows 8 and on Linux Mint 331.113 nvidia drivers.

Nope just an overlay on a camera that zooms through the scene.

Thanks, I also have a GTX 660 so it should work relatively similar.

I agree. It works like 10-13 FPS even for my awful GPU and drivers!

The problem was the same accelerator card.
I tested in my house, with 8 gb of memory and HD 6870 with 1 GB of memory and it worked normal.
I just thought the speed too slow player, raised a little and it was good. Can not wait for the tutorial series.
The more knowledge the better!

It runs pretty well on my machine. I enjoyed it a lot, though there were a few things I’d suggest to make it even better.

Of course it’s always easier to suggest changes than to make them :slight_smile: I know all about that.

  1. Faster movement. A slow default walking speed is OK, if there is a fast running speed to compensate. Many FSP fans will feel nailed to the floor with that walking speed. We all take our time walking through the dark portions naturally so you don’t have to force it.

  2. Bullet holes would be great. People who want to do a FPS tutorial are going to ask about that one right away and the good thing is that it’s pretty easy to do if you’re already using ray cast bullets. One of the returned parameters of raycast is the hit normal. Just add a bullet hole and align it to the hit normal.

  3. You should turn off shadow casting for glowing objects such as muzzle flare. I only noticed it when the lights went out and I fired the gun. Settings are in the materials tab under shadows.

  4. One bad guy got caught in the wall, I couldn’t shoot him. Maybe a bug.

  5. Faster movement of grenades. I thought I was in the matrix. :slight_smile: It’d be great if you can get them you bounce off of things too. I think it’s ok to use the built in physics engine for grenades, watching them bounce around would be great fun.

  6. Key mapping instructions. Being able to set your own key bindings would be great, but not crucial. However it’s a pain to have to experiment with different keys to open the doors.

  7. A few textures didn’t get packed correctly. The subway door texture maybe? it ran OK in the embedded player but crashed the stand alone player.

  8. Did you try occlusion culling? It can reduce rasterizer drain on indoor levels like this.

Saying that, I got pretty good frames per second, there wasn’t any time when it dropped below 30.
Keep up the good work!