• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
cozzie

New version: Try out my engine demo?

36 posts in this topic

(for latest version: see reply below)

 

Hi,

 

Would someone like to try out my engine demo and let me know how it 'runs'?

FPS drops etc. (shown in the window title bar during runtime), with the machine/ specs you're using.

 

Personally I have a constant 59 or 60 fps no matter where in the scene

(I5 2320, 8gb, GTX660, Windows 7)

 

Here it is:

http://www.crealysm.com/engine/engine_2013-08-20_demo.zip

 

Some controls:

 

W/S/A/D = move

mouse = look around

mousescroll = change weapon

PG UP/DWN = 'fly'

 

Please don't mind the weapon not firing anything and collision detection not yet being there smile.png

Edited by cozzie
0

Share this post


Link to post
Share on other sites

I see that you are CoD fanboy biggrin.png

Just joking, no offence.

 

phenom 955 x4 c3, gtx560ti... constant 60 fps, looks like you have enabled vsync?

0

Share this post


Link to post
Share on other sites

Core2 Duo 9550, Radeon 4850, 8GiB Win8 Pro.

Also got a constant 60 fps. You might want to do some work on your lighting as this is very dark for a scene that is mimicing an outdoors area to be honest.

0

Share this post


Link to post
Share on other sites

Thanks, good to hear that it's running fine.

I'll take the remarks with me, it's just a testscene smile.png

 

Ps.; half of the models are from http://tf3dm.com, the rest was created by myself with my 3ds max knowledge... -ahum-

Edited by cozzie
0

Share this post


Link to post
Share on other sites

Aye, 60 FPS locked.

A simple but good start. I see you only have point-lights atm, are you using deferred rendering or forward rendering for lighting? Just out of curiosity.

 

Cheers

0

Share this post


Link to post
Share on other sites

Looks good,however you must add an animation to that knife,right now I only hear a sound when i try to attack.

 

And add some more light to the scene,it's way too dark.

0

Share this post


Link to post
Share on other sites

Runs fine on my machine (60 always):

 

CPU: i5-2500k 3.3ghz

RAM: 12GB

OS: Windows 64-bit

GPU: Sapphire 6950

0

Share this post


Link to post
Share on other sites

I have 26-30 FPS, so obviously there's vsync but my computer (here at work, shush ehm biggrin.png ) isn't able to handle it and the FPS drops to half.

 

Code2Duo E6750 (2.66 GHz)

4,0 GB RAM

GeForce 8600GT

Win7 64b

Edited by Tom KQT
0

Share this post


Link to post
Share on other sites

ATI Mobility Radeon HD 4530, 

AMD Turion X2 RM-74(2.2 GHz)

 

60 fps when not having truck houses and cars in same image

 

How much time have you been working on directx?

How much time on this demo?

How old are you?

Edited by lomateron
0

Share this post


Link to post
Share on other sites

Solid 60fps on this laptop: i5/GeForce GTX 660M/8gb.

 

Agree with the comment upthread that the test scene is lit quite darkly.  Maybe that's intentional - a dusk scene perhaps? - but for the purposes of a demo you want to be showing off your lighting, so ramp it up a little! :)

0

Share this post


Link to post
Share on other sites

Thanks all, for testing it out. I have indeed v-sync on, so the max.60fps is locked.

Good to hear that mostly the 60fps is 'hit'.

 

@Tom KQT: I would expect higher then 30 fps on your machine actually.

The scene's not that complex and I've been doing quite some profiling and optimizing smile.png

Could it be a laptop with a 8600M GPU? biggrin.png

 

Currently it's just point lights and 1 directional light, with low ambient, just to test some lighting.

The scene actually 'grew' to what it is, not with a specific goal.

 

@Iomateron: I've started the engine in january 2009 up till now, with breaks over up to a year. Last 6 months more 'full speed' (taking into account that it's in free time and not my busy day job smile.png). Game programming has always been a hobby (more recently passion), since my 8th or so. I'm now 32.

 

The demo wasn't that much effort with the engine in place, being acceptably flexible. I think around 2 weeks or so for the actual demo.

Edited by cozzie
0

Share this post


Link to post
Share on other sites
@Tom KQT: I would expect higher then 30 fps on your machine actually.

The scene's not that complex and I've been doing quite some profiling and optimizing smile.png

Could it be a laptop with a 8600M GPU? biggrin.png

No, it's a desktop PC and it can handle some games pretty well.

VSync IMHO is the problem, don't forget that with VSync enabled, if the PC is not able to handle 60 FPS but only let's say 55, then you won't really get 55, but half of the VSync value, which is 30.

 

I also verified that I had DirectX Debug Runtimes off because I normally they are on as I mostly program 3D graphics here :)

Edited by Tom KQT
0

Share this post


Link to post
Share on other sites

Hi cozzie!

 

I tested on an Intel onboard chip that is not suited for gaming at 720p and it runs at 30-40 FPS. It is hard to tell because the framerate changes very rapidly. Maybe you should update it only once a second. Still, even on this PC, it is maybe just a bit too slow.

 

 

@Tom KQT: I would expect higher then 30 fps on your machine actually.

The scene's not that complex and I've been doing quite some profiling and optimizing smile.png

Could it be a laptop with a 8600M GPU? biggrin.png

No, it's a desktop PC and it can handle some games pretty well.

VSync IMHO is the problem, don't forget that with VSync enabled, if the PC is not able to handle 60 FPS but only let's say 55, then you won't really get 55, but half of the VSync value, which is 30.

 

I also verified that I had DirectX Debug Runtimes off because I normally they are on as I mostly program 3D graphics here smile.png

 

 

I don't get the VSync issue. It is either and engine configuration issue or a myth. If you have a refresh rate of 60 and the engine can't keep up, in order to get 30 FPS you would need the engine to miss the rate with a probability of 100%. If it only misses it once in a while, you should not have 30.

 

I have been writing engines for some while now (2D and 3D) and I always use VSync because screen tearing is annoying, and I am getting anywhere from 0.3 to 60 FPS values. When the engine is almost able to keep up, but not quite, I commonly get 53 FPS. Even NVidia in some of their documents say that you go from 60 to 30, but I have never experienced this. If I am overloading my engine with more than it can handle, it will commonly drop to 40-45, this with the in engine framerate counter, or other external framerate counters, like FRAPS.

 

Let's take a simple example and consider that frames occur at direct multiples of 16.66 ms for simplicity: 0, 16.66, 33.33, etc.

 

So your first frame should be ready to send to the GPU somewhere before the 16.66 mark. You do all the CPU and GPU work that is needed, and if you make the mark, you will get the full 60 FPS. If you never make the mark and wait for the GPU present statement to finish, you will have to wait two frames, with the second one wasted on idling and get 30 FPS. This is probably the origin of the myth or a simplification based on the simplest behaviors that are no longer valid today in modern engines/hardware.

 

But with double buffering, tipple buffering, adaptive vsync, etc. this simple scenario becomes much more complicated. You have at first the number of frames that you can produce, which is related and informed by vsync framerate, but not 100% coupled. This is CPU time + bus talk time + offscreen GPU rendertarget based postprocessing (which in modern games can take a lot of time if you add together HDR, FXAA/MLAA/SMAA/TXAA with DOF, SSAO, etc.). You may wish to artificially limit this one. You then have the number of frames that you can present to the GPU. This might be 60 or 30, but because of before mentioned decoupling it will be somewhere in between.

 

So basically, if every single frame you have takes the same time and this time is over 16.66 and you use the simplest of present schemes, you will get 30 FPS. Otherwise, you will get somewhere in between. The next step down from 30 is 20 FPS. If once every 9-10 seconds one single frame no longer takes that constant amount of time, but 3 times as much, you won't go down to 20 FPS. You'll loose a few frames once in that interval and you average framerate will barely be affected.

0

Share this post


Link to post
Share on other sites
Thanks, I'll change the fps counter to once every second and make an 80/20 option to enable/ disable vsync (specific key press), so you can try it out (didn't make/ find time yet to add a nice hud and options menu). Should be later tonight or tomorrow night.

Here's a pix profile result of a check I did yesterday. I believe my CPU and GPU are quite constantly in line (incidents left out, where the gpu waits for a resource or the gpu is idling):

http://sierracosworth.nl/gamedev/pix_cpu_with_gpu.jpg
0

Share this post


Link to post
Share on other sites

Thanks, I'll change the fps counter to once every second and make an 80/20 option to enable/ disable vsync (specific key press), so you can try it out (didn't make/ find time yet to add a nice hud and options menu). Should be later tonight or tomorrow night.

Here's a pix profile result of a check I did yesterday. I believe my CPU and GPU are quite constantly in line (incidents left out, where the gpu waits for a resource or the gpu is idling):

http://sierracosworth.nl/gamedev/pix_cpu_with_gpu.jpg

 

That would be nice. But maybe, your priority should be to do something about the lighting and the strange radius artifact on the floor around you character.

0

Share this post


Link to post
Share on other sites
What do you mean with the strange radius artifact on the floor, around the character?
(maybe you can take a screenshot to point it out, with F11 or F12)
0

Share this post


Link to post
Share on other sites

Hi guys,

 

Here's the new version where I applied your remarks:

http://www.sierracosworth.nl/gamedev/2013-08-27_demo_vsync.zip

 

The changes, summarized:

- lighting improved for the scene

- enable/disable V-sync with 'F4' key

(remark: terrible mouse input delay with V-sync off)

- removed all redundant state settings, implemented my own state machine (see other topic)

- FPS now updated every 500ms

 

Please let me know your remarks/ findings.

 

@Dwarves_h: can you let me know what you mean with the 'strange radius artifact' around the character?

Edited by cozzie
0

Share this post


Link to post
Share on other sites

70 - 120 FPS with VSync off and 60 with VSync on. I fixed the problem from my previous post (under 30 FPS) by setting compatibility mode for the app (disabling Win7 Aero).

Is it possible to switch to fullscreen mode? Or could you make a version where it is possible? My computer clearly has problems with windowed D3D applications.:)

 

Btw, you have something wrong in your mouse input processing code, the resulting look-around speed depends on FPS, this shouldn't happen. You cannot expect everyone to run at 60 FPS all the time.

0

Share this post


Link to post
Share on other sites

Hi Tom.

Can you download the ZIP file again, I've added an executable in fullscreen mode?

 

Here's the code on my mouselook, I use delta for mouselook the same as used for movement:

if(_dinput.KeyDown(DIK_W)) _player.SetPosition(_d3dcam.MoveForwardBackward(_timer.GetDelta() * _player.GetMoveSpeed()));
if(_dinput.KeyDown(DIK_S)) _player.SetPosition(_d3dcam.MoveForwardBackward(_timer.GetDelta() * -_player.GetMoveSpeed()));		

if(_dinput.KeyDown(DIK_A)) _player.SetPosition(_d3dcam.MoveLeftRight(_timer.GetDelta() * -_player.GetMoveSpeed()));
if(_dinput.KeyDown(DIK_D)) _player.SetPosition(_d3dcam.MoveLeftRight(_timer.GetDelta() * _player.GetMoveSpeed()));

// MOUSE INPUT: handle mouse movement & clicks
if(_dinput.MouseMoved()) _d3dcam.FreeLook(_dinput.GetMousePosX(), _dinput.GetMousePosY(), _player.GetLookSpeed() * _timer.GetDelta());

// the camera freelook function:

void CD3dcam::FreeLook(const long pMousePosX, const long pMousePosY, const float pLookSpeed)
{
	mYaw += (float)pMousePosX * pLookSpeed;
	mYaw = restrictDegAngleTo360Range(mYaw);

	mPitch += (float)pMousePosY * pLookSpeed;
	mPitch = restrictDegAngleTo360Range(mPitch);
}

It seems that disabling V-sync make the mouse speed terribly laggy. Not sure how to solve this though (except keep using V-sync).

I've also tried compatibility mode in win7 (disabling Aero?), but this didn't show any difference.

I could consider moving from DirectInput to RAW input from Windows (WM_INPUT), or default WM_MOUSEMOVE messages, not digged into that yet. Also not sure if this will solve it.

 

PS: in fullscreen there's no actual FPS showing

Edited by cozzie
0

Share this post


Link to post
Share on other sites

What do you mean with the strange radius artifact on the floor, around the character?
(maybe you can take a screenshot to point it out, with F11 or F12)

 

Sorry for the late reply. I attacked and marked the radius. Under the red markings there is a circle centered around your camera where the floor is more grainy. The pattern follows you around. It looks like very early 3D games, where there was a similar radius around the camera with higher detail, I suppose for performance reasons.

 

[attachment=17654:seam.png]

0

Share this post


Link to post
Share on other sites
Thanks, I'll look into it. Didn't notice it yet myself...
First thoughts:
- something with mipmapping
- the terrain being 4 squared different meshes
(this would mean the artifact should only be seen in specific locations in the scene, not everywhere)
- maybe shader model 2 is used instead of 3, but I suppose your GPU supports SM3

I'll let you know
0

Share this post


Link to post
Share on other sites

Yup, sorry, still there. Maybe it is unique to my GPU. Are your mipmaps and filtering in order?

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0