Detailed information about my game engine programming


    About engine architecture

    Share

    Demiurge

    Posts : 5
    Join date : 2009-02-05

    About engine architecture

    Post by Demiurge on Thu Feb 05, 2009 11:52 am

    Hi Oren!
    First congratulations for your engine, it is amazing. It is a full game engine and it's rich of features!
    I'm curious about how you have subdivided your engine, its architecture, and also how "system" (if you have this concept) like physics, audio, etc interacts each other.

    Also...how graphics works?

    Thanks!
    Demiurge

    orenk2k
    Admin

    Posts : 11
    Join date : 2009-02-01
    Location : Isreal

    Re: About engine architecture

    Post by orenk2k on Thu Feb 05, 2009 12:46 pm

    Hi Demiurge
    thanks Very Happy
    well, you ask very general question and the answer is huge so i try to answer in short, and if you want to know a little bit more about specific system just ask.
    i didn't gave special care to this subject, but from time to time i'm moving few chucks of code and close them as a module/lib for generic use.
    the major libs are:
    1. game lib - contain specific game related things (basically manage the game code)
    2. physics lib - all physics related stuff, for example: creating physics objects, check collisions, attach entities to physics objects etc.
    3. math lib - full featured math lib like d3dx lib
    4. input lib - all input related stuff, handling mouse and keyboard in very simple way
    5. sound lib - all sound related stuff, for example: creating sound objects, modify sound properties, attach entities to sound objects like light to create flickering effects relative to sound data etc.
    there is a lot more that i didn't have time to put them inside specific lib but they act just like the one i mentioned so here is few of them:
    1. gui system
    2. ai system
    3. effects system
    4. scripting system
    5. render system
    6. shadowing system
    7. animation system
    i can talk hours on each of them, but in short each of them have few functions to create/release/manipulate objects and this is how they interact with each other.
    i maybe forgetting few systems here and there but this is the core systems/libs.
    as for how graphics works? this is very general, please ask something specific that you are interest in and i will try to answer best. Very Happy

    Demiurge

    Posts : 5
    Join date : 2009-02-05

    Re: About engine architecture

    Post by Demiurge on Thu Feb 05, 2009 1:31 pm

    Thanks for the fast reply Smile
    Well I'm very interested both on the light/shadow system, the area portal and the geometry batches ones Razz

    orenk2k
    Admin

    Posts : 11
    Join date : 2009-02-01
    Location : Isreal

    Re: About engine architecture

    Post by orenk2k on Thu Feb 05, 2009 3:43 pm

    hi,
    ok, as for the area portal system it goes like that:
    1. the scene is splitted into areas by manually portal placement via editor
    2. a bsp tree is used to know which area specific 3d pos is in
    now, we start from that area (from 2) and do flood fill to other areas based on what we can see by the current frustum planes.
    i say current frustum planes, because at first those planes could be camera planes (if doing it for computing camera pvs) and at later iterations it will be the clipped planes (clipped against visible portals)
    while we iterate (flooding) i gather visibility information about scene and thats the main idea.
    note that i'm doing the flooding in levels, meaning the area we start the flooding from is level 0 (the root), and each area we can see from that area consider to be level 1 and so on.
    as for light/shadowing, could you open new topic on the subject in graphics section - because is not really a general one anymore Wink
    bye

    Sponsored content

    Re: About engine architecture

    Post by Sponsored content


      Current date/time is Sun Nov 19, 2017 2:07 pm