Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (109)
games submitted by our members
Games in WIP (536)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Is it useful to display more than 10 enemies in the field of view in a FPS?  (Read 3662 times)
0 Members and 1 Guest are viewing this topic.
Offline gouessej
« Posted 2009-06-30 19:31:14 »

Hi!

I assume there are some people who have written FPS in Java here. Is it useful to display more than 10 enemies in the field of view in a FPS? I think that when there are 10 enemies in front of you, the screen is full or you don't pay attention to the 10 enemies at the same time. Therefore I wonder whether it is important to optimize an engine to be able to do this and it depends on the complexity of the models.

However, I think it might be interesting when you're in an aircraft or an helicopter and you are shooting guys on the floor.

Offline h3ckboy

JGO Coder


Medals: 5



« Reply #1 - Posted 2009-06-30 19:37:47 »

I havent ever done an FPS, but It hinkt hat the guys lose quality as you get farther away AKA:flying in a helicopter
Online Riven
« League of Dukes »

JGO Overlord


Medals: 757
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #2 - Posted 2009-06-30 19:56:59 »

I think this question originates in a performance problem.

Regardless of the origin, if there are 20 enemies in the field of view, the engine MUST render them, otherwise you'll have new enemies popping into view when you kill a few.

If rendering 10 is a problem, reduce the detail.


I think 10 enemies is rather few anyway. You can have rats running around, birds in the sky / on the ceiling, and then the occasional monster. You'll reach 10 very quickly.

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline SimonH
« Reply #3 - Posted 2009-06-30 22:14:43 »

I think this question originates in a performance problem.

Regardless of the origin, if there are 20 enemies in the field of view, the engine MUST render them, otherwise you'll have new enemies popping into view when you kill a few.

If rendering 10 is a problem, reduce the detail.


I think 10 enemies is rather few anyway. You can have rats running around, birds in the sky / on the ceiling, and then the occasional monster. You'll reach 10 very quickly.
+1

I've always designed levels so there's not too many NPCs on the screen at any one time, but it's no fun without some big battles! My problem in Bloodridge was with large numbers of bullets and explosions causing drag...
It makes sense to design your system with a facility to reduce LOD with distance even if it turns out that you don't actually need to use it.

People make games and games make people
Offline Mr_Light

Senior Member




shiny.


« Reply #4 - Posted 2009-06-30 22:26:29 »

Hi!

I assume there are some people who have written FPS in Java here. Is it useful to display more than 10 enemies in the field of view in a FPS? I think that when there are 10 enemies in front of you, the screen is full or you don't pay attention to the 10 enemies at the same time. Therefore I wonder whether it is important to optimize an engine to be able to do this and it depends on the complexity of the models.

However, I think it might be interesting when you're in an aircraft or an helicopter and you are shooting guys on the floor.
I can't coin having finished a fps in java but I have played (team) fps on a pretty decent level - tracking 10 ppl who aren't even on your screen is typical (extrapolate their possible paths ~run speed from where they where last seen). As far as enemy on the screen go one can track quite a lot more, even ppl who are not blessed with that ability can still follow clusters/'streams' of enemies, so even while they can't track them individually you need to see them all. Now even if you question those abilities(I believe some studies said they proved that ppl can't track more then 3 things at once.) There is still the inability to determine which enemy the player is interested. Or rather the other way around: which one can you safely remove?

Stuff you can't see you don't need to render, so if they truly fill the screen: you are not going to render them to begin with. And with that it could just as well be just one enemy right in your face. 10 is not a magic number.

Reducing detail when stuff is further away (unreal engine among others does this from early on(it uses 2 radius's, it's pretty easy to spot in UT99 and you can also configure it I think in later versions they made it dynamic)) has little to do with a humans ability to track stuff. has to do with resolution and angles - you can actually prove it mathematically.

btw: seeing your allies is just as important with friendly fire on Wink

It's harder to read code than to write it. - it's even harder to write readable code.

The gospel of brother Riven: "The guarantee that all bugs are in *your* code is worth gold." Amen brother a-m-e-n.
Offline DzzD
« Reply #5 - Posted 2009-07-01 00:40:13 »

yes what you want to do is LOD, also a possible optimisation in addiction to LOD, is to use occlusion testing before performing cpu/gpu costly stuff : first you can check if the surrounding sphere of an entity is visible and then if it is : select the appropriate LOD, animate it and render it.

Offline gouessej
« Reply #6 - Posted 2009-07-01 07:57:06 »

Hi!

I agree with what has been said but, as far as I remember, in GoldenEye 007 on N64, there were rarely more than 8 enemies in the field of view and it was fun. However, Riven spoke about small enemies like rats; as it is less complicated than a human body, it is less a problem.

Offline Markus_Persson

JGO Wizard


Medals: 14
Projects: 19


Mojang Specifications


« Reply #7 - Posted 2009-07-15 10:57:21 »

I think it depends on what kind of game you're building. For a deathmatch oriented game, there rarely are ten people on the screen at the same time. (But as others have said, IF there are, you HAVE to render them.)
In more stealthy or realistic singleplayer shooters, the problem is much smaller since you can design the levels and ai to ensure that there never are that many people on the screen at the time, and it should rarely even be noticable unless you've got huge open maps.

If you're making a more arcadey shooter, 10 enemies on the screen is far too little. Just look at games like Serious Sam, Painkiller and Doom. It's all about quantity!

Play Minecraft!
Offline princec

JGO Kernel


Medals: 343
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #8 - Posted 2009-07-15 12:36:31 »

Doom was great because of the sheer number of gidrahs you got to waste, something where most of the newfangled 3d stuff falls down Sad So yes I can't think of a way you can get away without rendering them...

... however for performance reasons you might want to cut the numbers before they get into the FOV in the first place (especially if you're using that 70k poly model Wink). Something I did in Treasure Tomb, may it rest in peace hahaha, is that enemies over a certain distance of the player that can't be seen in the FOV become "dormant" and effectively vanish. Should you subsequently move back into their vicinity they are respawned. You could do something similar here, only respawning if there are enough "visible slots" left.

What'd be best though is using a LOD algorithm on that model, and having it adapted to enemies being in front, angle of incidence as well as distance from the camera. If you've got a model that you reckon is taking up roughly half the screen right in front of the player I think you could get away with rendering quite a few monsters behind it at much lower detail than normal. I imagine you can have quite a bit of programming fun experimenting with the algorithm to get something that looks good and runs good.

Cas Smiley

Offline TimB

Junior Member


Medals: 1
Projects: 1



« Reply #9 - Posted 2009-07-15 12:45:02 »

Left 4 dead is a good example to look at here.

On screen at once you can have 3 team-mates but you often also have 10, 20 or 30 zombies as well all rushing towards you.

I think it is pretty rare to have more than 20 but they certainly do a good job of giving that feeling of a horde rushing towards you.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Markus_Persson

JGO Wizard


Medals: 14
Projects: 19


Mojang Specifications


« Reply #10 - Posted 2009-07-15 14:56:33 »

The carnival level in Hitman 4 is pretty crazy too..

Play Minecraft!
Offline gouessej
« Reply #11 - Posted 2009-07-15 19:17:26 »

I think I will insert some restrictions in the artificial intelligence to avoid crowds of more than 20 enemies in most indoor environments and 100 in outdoor environments.

Offline oNyx

JGO Coder


Medals: 1


pixels! :x


« Reply #12 - Posted 2009-07-16 05:31:48 »

Back then when I was still into Q3 modding we got about 70+ fake bots on screen and the framerate dropped to 20fps on my puny 500mhz machine (+gf2mx). Real bots used to much CPU, but using those seriously retarded thingies worked fine.

Heh. Still got a screenie of that stuff. Smiley

http://kaioa.com/k/npcd.jpg

弾幕 ☆ @mahonnaiseblog
Offline Spasi
« Reply #13 - Posted 2009-07-16 12:31:25 »

You should watch this, around 1:05. This is possible on an Xbox360 GPU, which is quite outdated compared to latest $100 GPUs.
Online kappa
« League of Dukes »

JGO Kernel


Medals: 75
Projects: 15


★★★★★


« Reply #14 - Posted 2009-07-16 15:24:09 »

dynasty warrior series of games are also known for having hundreds of units on screen at once, just have a look at how many units it managed to draw on the aging PS2 hardware.
Offline h3ckboy

JGO Coder


Medals: 5



« Reply #15 - Posted 2009-07-26 22:48:17 »

if I play BF2142. There are usualy more than 10 on my screen. unless I am running somewhere Wink
Offline oNyx

JGO Coder


Medals: 1


pixels! :x


« Reply #16 - Posted 2009-07-27 01:00:12 »

In Demon Chaos (Ikusagami) on the PS2 (two!) there up to 65,535 enemies on screen at once.

Check this video:
http://www.youtube.com/watch?v=44KZ0neSz7E

弾幕 ☆ @mahonnaiseblog
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

CogWheelz (18 views)
2014-07-30 21:08:39

Riven (26 views)
2014-07-29 18:09:19

Riven (15 views)
2014-07-29 18:08:52

Dwinin (13 views)
2014-07-29 10:59:34

E.R. Fleming (34 views)
2014-07-29 03:07:13

E.R. Fleming (12 views)
2014-07-29 03:06:25

pw (43 views)
2014-07-24 01:59:36

Riven (44 views)
2014-07-23 21:16:32

Riven (30 views)
2014-07-23 21:07:15

Riven (31 views)
2014-07-23 20:56:16
List of Learning Resources
by SilverTiger
2014-07-31 18:29:50

List of Learning Resources
by SilverTiger
2014-07-31 18:26:06

List of Learning Resources
by SilverTiger
2014-07-31 13:54:12

HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!