• 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
Paul C Skertich

Comparison on ID Tech 5 VS Other Game Engines

10 posts in this topic

This is just my perspective but perhaps you may agree or disagree. I noticed while playing Rage by ID Software that the game engine is very optimized. On the other hand, I am currently playing L.A. Noire by Rockstar Games and noticed a bit of lag but then runs smooth. If I just ponder on this for a moment, couldn't this be because ID Software uses better memory mangement than Rockstar Games? In Rage I noticed if you jerk the player very quickly the textures then get drawn starting out blurred. Perhaps if the player is facing towards the scene than the textures not on the screen go into the lowest mip-level. What are your thoughts about this? I noticed L.A Noire that while driving the objects are being drawn at a given distance from the player. As like the player is far away then the engine care less about drawing them on the spot - however, if the player is right up there then draw it. If you seen the Private Property Clitch I think this is the reason why. What are your thoughts about this?

I am currently doing alot of research into Code Optimization techniques and memory allocations and better memory management. By doing some reading in Frank Luna's book Introduction to DirectX 11 and other tutorials, I am wondering what if a mesh is drawn by first clearing out the memory for it then once it's drawn then clearing out that space of memory again for better memory management...?

Well, I'm still doing more intense research at the moment and so far loving this forum!
0

Share this post


Link to post
Share on other sites
Rage does use quite a few optimisation techniques. ID have a patent on some weird texture drawing technique and another on a method of drawing the terrain using 1 texture both of which are meant to boost framerate, the terrain drawing uses more disk space though with a slight overhead on asset loading.
0

Share this post


Link to post
Share on other sites
[quote name='6677' timestamp='1341918714' post='4957576']ID have a patent on[/quote]Are you sure about that? It'd be suprising, seeing how vocal Carmack is in opposing software patents -- "[i]The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying[/i].", "[i]Getting a patent is uncorrelated to any positive attributes, and just serves to allow either money or wasted effort to be extorted from generally unsuspecting and innocent people or companies[/i]."

They call their texture streaming idea "[url="http://en.wikipedia.org/wiki/MegaTexture"]MegaTexture[/url]", other research literature uses the name "[url="http://silverspaceship.com/src/svt/"]SVT[/url]" for the same idea.[quote name='SIC Games' timestamp='1341899195' post='4957524']am wondering what if a mesh is drawn by first clearing out the memory for it then once it's drawn then clearing out that space of memory again for better memory management...?[/quote]I'm not sure what you mean by this idea, are you stalking about streaming geometry data to the GPU?
1

Share this post


Link to post
Share on other sites
Hodgman, if streaming geometry data to the GPU would be a better way to optimize then I think that would be it. What's the difference between Streaming and gathering from file? I noticed that DX has for instance, get texture from file function and gettexturefromresource. So, can anyone clear up what streaming is for me? Is it from file or resource? Thanks
0

Share this post


Link to post
Share on other sites
[quote name='SIC Games' timestamp='1341920448' post='4957584']Hodgman, if streaming geometry data to the GPU would be a better way to optimize then I think that would be it.[/quote]Better than [i]what[/i] at optimising towards [i]what[/i] goal?[quote]What's the difference between Streaming and gathering from file? I noticed that DX has for instance, get texture from file function and gettexturefromresource. So, can anyone clear up what streaming is for me? Is it from file or resource? [/quote]Neither and both. It's the concept of only moving data to it's destination as it's required for processing, and only moving the sub-set that's needed at that time, not the whole data-set at once.
I was trying to ask what your original idea was though, instead of suggesting that you should stream your geometry...
0

Share this post


Link to post
Share on other sites
[quote name='6677' timestamp='1341918714' post='4957576']
Rage does use quite a few optimisation techniques. ID have a patent on some weird texture drawing technique and another on a method of drawing the terrain using 1 texture both of which are meant to boost framerate, the terrain drawing uses more disk space though with a slight overhead on asset loading.
[/quote]
Trust me that that technique has no patent as Square Enix was involved in blatently stealing that technology for their new engine and I was involved in that theft (I was actually against it from the start, but not due to feeling like a thief but from the fact that there are just better ways to go about managing your textures).

But as for anything boosting the framerate, nothing exists. Megatextures decrease the FPS and there is nothing else. Nothing to gain FPS somewhere else, nothing to make up for the loss of megatextures.
This is why I was originally opposed to megatextures from the beginning and still am (the results of Rage on Xbox 360 may have helped).

In a [url="http://www.gamedev.net/topic/625039-unreal-engine-4/page__st__20__p__4947683#entry4947683"]previous post[/url] I mentioned that their GPGPU particles could have had higher numbers. Megatextures is basically to blame for this.
This is one major advantage Unreal Engine 4 has over the Lunimous Studio engine.


Rage is not as optimized as you think. Only the iOS version is really considerably optimized, but you are not talking about that.

The terrain is not optimized at all, and is in fact twice (or so) as slow as it could have been. id Software has no patents on those techniques, and there is not a lot happening under the hood that you could not replicate yourself.
iOS was made possible by its flash storage, which is basically impervious to random reads and writes as long as the reads and writes are properly aligned.


L. Spiro
1

Share this post


Link to post
Share on other sites
[quote name='Hodgman' timestamp='1341919122' post='4957579']
[quote name='6677' timestamp='1341918714' post='4957576']ID have a patent on[/quote]Are you sure about that? It'd be suprising, seeing how vocal Carmack is in opposing software patents -- "[i]The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying[/i].", "[i]Getting a patent is uncorrelated to any positive attributes, and just serves to allow either money or wasted effort to be extorted from generally unsuspecting and innocent people or companies[/i]."
[/quote]

Since the US PTO grants patents on a first to file rather than a first to invent basis it wouldn't surpise me if carmack and alot of other people are filing patents on anything semi decent just to make sure noone else files first and drags them to court over it.
0

Share this post


Link to post
Share on other sites
Streaming is really neither. The DX CreateTextureFrom* functions are quite high-level and will make calls into the lower-level API, as well as do a lot of I/O and format conversion - you wouldn't even think of using them for a real-time/run-time solution (in addition to that, creating a new resource is always going to be much more expensive than simply updating an already existing resource).

With streaming what happens is that you have a texture (for the purposes of this discussion) that has already been created, you have a chunk of data that comes from somewhere, and you replace the contents of that thexture with the new data. How you replace the contents is up to you - you can require that everything must be replaced before execution can continue (which may or may not run slow), you can do partial replacements, update a second copy on another thread (e.g. a PBO in GL or a STAGING texture in D3D) then copy across on the GPU, or whatever.

Regarding idTech5 specifically, one advantage of it that doesn't get often mentioned is that the fact that it uses a single large texture for everything allows it to do some quite agressive draw-call batching. In practice it won't use a single call for the entire scene as that will break frustum culling, but it can handle the entire scene in considerably fewer calls than other approaches.

Regarding patents, Carmack is the person who once said that if id ever brought up the topic again (after the first time) he was out the door. Edited by mhagain
0

Share this post


Link to post
Share on other sites
[quote name='L. Spiro' timestamp='1341933774' post='4957624']
Rage is not as optimized as you think.[/quote]

Really? Cause its probably the best looking Xbox 360 game that runs at 60 FPS. It looks about as good as Halo or BF3 but those are 30 FPS. Yeah, having Id artists helps too, but the engine runs flawless 60 FPS on the 360 and very few games with that visual quality do.
0

Share this post


Link to post
Share on other sites
I would be willing to believe that some parts of the engine aren't optimised-to-hell, but only on the basic optimisation tenet that you focus on the bottlenecks instead of needlessly complicating all code.
0

Share this post


Link to post
Share on other sites
In the [url="http://www.youtube.com/watch?v=4zgYG-_ha28"]2011 keynote of QuakeCon[/url], Carmack actually touches on a few of the techniques they used to make the play and framerate smoother (at a very high level, but its enough to get an insight), its quite a long talk however, but IIRC he gets into the rage stuff about halfway through (some of it does involve driver hacks courtesy of AMD and nVidia).

In terms of the texture stuff they do (as mentioned above), [url="http://www.graphics.rwth-aachen.de/uploads/media/neu_virtual_texturing_low_03.pdf"]this thesis[/url] goes very indepth about the optimizations you can perform (its quite old now though, so it excludes newer stuff like AMD's PRT's, but its a great starting point).
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