Jump to content

LordHippo

Members
  • Posts

    71
  • Joined

  • Last visited

Posts posted by LordHippo

  1. Hello sh4dow, and welcome to the forums :)

     

    The NORMAL-ORIENTED HEMISPHERE method is basically what everyone is doing, when normals are considered in AO calculation. Nvidia and DICE's HBAO, LE's SSDO, my SSAO, Crysis2's SSAO and many other implementations are using this method. The main difference between these implementations are:

    1- sampling kernel

    2- blur steps

    3- calculating occlusion for sampled points

     

    This method is also used for calculating PRT data, though it is an offline process.

  2. As far as I know, the only realtime GI that actually works, is the one that Crytek has implemented. There are some papers describing it, and you can find it in NVidia DirectX samples including source code and the papers.

    But this method is not being used in any real game, even in Crysis2.

     

    But maybe you can find a non-global solution for your specific problem.

  3. There is a good talk about animation driven locomotion in GDC12. You can find it in the free section of gdcvault.

     

    But I think driving the character's position completely from animations is not a good idea. Cause you know sometimes artists and designers does not have the same interests tongue.png

  4. Loading 1 instance of all your models and textures is a good idea, only if you have no memory constrains.

     

    Also FreeEntity decreases instance count of that entity by one, and when the instance count reaches zero, the model will be freed completely. So the next time you load that model it will be loaded from the hdd.

    So your only way is to hide that instance.

     

    BTW, you only can load a model or texture in the main thread.

    You can load one instance of all your models in the loading of your scene, then load any instances you want each frame. But it has no obvious benefit over loading them all at once.

  5. What about realtime?

     

    Cubemaps can be rendered in realtime.

    I remember someone posted a sample about it.

     

    As I've mentioned, you need a low-res cubemap to get a glossy look. So just simply render a low-res cubemap, something like 32*32 and assign to your glossy mat.

  6. LE2 just has some parts of the runtime side of a game engine.

    It simply offers NO offline side.

     

    So if you're ready to complete it and make your own game engine, use LE.

    if not, go for Unity or UDK.

    Or you can wait for LE3 and see if it has the offline side of an engine.

  7. So the word DO is new to me. I found some sites that have a powerpoint presentation around the idea.

     

    http://www.slideshar...oriented-design

     

    https://docs.google....G5yM3pjZA&hl=en

     

    From what I can gather, correct me if I'm wrong, but it's pretty much going back to procedural programming with more focus on how you group your data so that it leads to a number of benefits.

     

     

    This article shows a pretty basic example as proves a pretty interesting point.

    http://molecularmusi...-1-mesh-data-3/

    The first presentation is the one from DICE that I've mentioned.

     

    The article was really nice. It shows the performance benefit in a simple way.

  8. That does seem an overstatement in my opinion. Sure there is a move towards data oriented design but I know of few engines that don't also use object oriented techniques too. A simple search on available jobs at DICE shows requirements for both object oriented design and data oriented design experience in many of the available jobs!

     

    I think my statement is misunderstood.

    I mean OO is being replaced by DO, and it is no longer the best choice.

    Newly developed engines and games are not using it.

  9. Well, I have one important advice for you: writing a future proof code is your biggest enemy!

    You would say that I'm wrong, but believe me, programming for games are different than other types of programming.

    With some research you'll see that no AAA game is made with a closed source game engine. About %70 of AAA games are made with in-house engines, and the other %30 are made with their own modified versions of commercial engines.

    So face the truth: There is NO general code in game development industry. You have to make your own technology for your game.

     

     

    Also it is a good practice to write your code in a data-oriented way. This way you have to figure out how your game data is transformed first, then implement some routines to accomplish that transformations.

    By data transformation I mean something like this:

    User input -> Game Logic -> Physics calculations -> Render engine -> Monitor

     

    To achieve this, make a very big flowchart of your game, then design your code specific to the game.

    So with every change in the game design, the flowchart needs to be modified.

     

    This method has three main advantages:

    1- Better performance (because of memory access patterns)

    2- Better project scheduling

    3- Better readable code

     

    For more info, read the publications of DICE and Insomniac, that cover this method in more depth.

     

    Object oriented programming is no longer used in game programming, for many reasons that's covered in those documents.

  10. @Rick: don't worry, you haven't missed much. except for Uncharted series though, which must be tried by anyone who's job is somehow related to game industry!

     

    @Metatron: keep in mind uncharted is just for ps3, so maybe it's better to be compared to Crysis2 only. (then why did I put Crysis 1 in the poll in the first place?! hmmm)

  11. Hello everyone,

     

    I'm curious to know which game has the best visual quality in your opinion, and had your jaw dropped the most tongue.png

     

    It would be appreciated if you also post a shot.

     

    If there is any other good game that's not on the list, let me know.

×
×
  • Create New...