Jump to content

Daimour

Members
  • Posts

    191
  • Joined

  • Last visited

Posts posted by Daimour

  1. I think you are talking about the same but with different words.

     

    The articles I've referenced do support the belief that the DDS files are decompressed using hardware on the GPU.

    Of course, GPU can't use compressed texture. It need to know color of each pixel with coords X,Y. The main question is when texture will be decompressed? While loading or during pixel colourization? In other words, does it stay compressed or decompressed in video-memory?

     

    I didn't read any special articles, but I believe that DDS-textures stay compressed in video-memory and will be decompressed on the fly when needed (may be partially). ph34r.png

  2. But I need a Context for video playing, because the Data is loaded into a GLTexture.

    Not sure if it's a best way for playing video.

     

    And how should I separate the App ??

    I'm not sure. That was just an idea. You can create a standalone app for player and run it from game app in separate thread with waiting for finishing. And after closing player app your thread will get control and continue execution. So you will know that video is finished.

  3. I think there is no strict rule here. Make as you comfortable to work with.

     

    I would try to keep main() as simple as possible. Something like this (pseudo):

    void main()

    {

    InitGraphics();

    while(!AppTerminate())

    {

    UpdateWorld();

    UpdatePhysics();

    Render();

    }

    }

     

    Considering files, you can split your code as you want.

     

    It's better to split functions to different files if:

    - you want to group similar functions in "class" manner;

    - you want to reduce compile time changing little parts of code;

    - you want to work with teammates on your code and/or use VCS (version control system) with file locking;

    - you want to separate rarely modified code from often modified;

    - and many other reasons.

     

    Otherwise you can hold all your functions in one big file. I use this approach while project is tiny. But since it's grown I make refactoring and split functions to different files.

  4. LE 2.X has no special optimization for indoor levels as far as I know. It just doesn't render hidden entities which is good for rendering time. But if you have a lot of objects on the scene culling time will matter.

     

    So if you want to make a huge indoor level the best way is to split it on separate little levels and make loading between them.

     

    Also you can try to stream you level (download and unload rooms while player moves forward). But it may cause lags in that loading moments.

     

    Or you can try to make hierarchy of entities. So big rooms will be parent for small parts (boxes, oildrums etc). LE will hide all children automatically if parent is hidden.

     

    Thus separate model for each room is more usable.

  5. - can gravity in LE2 be turned off?

    Yes.

    - is it possible to implement 6DOF movement?

    Yes.

    - how would you do the levels...model them in a 3d app like Maya, or maybe using 3d worldstudio?

    Any 3D editor + converter to GMF format.

    - AI: is there a resource the would allow the bots to fly around the caves?

    Resource? What do you mean? You can create any AI you need with your hands. There is no support of any AI-algorithms in LE 2.X from the box. Only physics and raycasting.

  6. Looks like a bug. It should work.

     

    Try to use simple password like "123" without special symbols.

    Try to use short project path like "c:\myproject".

    May be you use some custom version of engine DLL?

    Try to run engine.exe with start.lua with single command:

    SetZipStreamPassword("assets.pak","123")
    
  7. Don't forget about tables (grids). It's common way to manage key bindings, table of records, list of players, character attributes, list of saved games, list of levels etc. So making universal GUI is not the easiest task.

×
×
  • Create New...