Results 1 to 10 of 21

Thread: Resolution and Aspect Ration Independent 2D Game Engine Design

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Quote Originally Posted by paul_nicholls View Post
    How could you tell if a game used the down-scale approach anyway?
    I have a tendacy to dig trough the games files to see which components do they use (sometimes can be easily seen from various dll files wich ship with game). I try to identify resource files containing graphics, sounds, etc. Many times I need to use various unpackers so I can actualy see ingame resources like graphics and sounds.
    Do mind that I don't do this with intention of stealing any of theese resources, but seeing them can usualy tell you a lot about the way how game works. This is actialy the way how I learned most about game mechanics up till now.
    And NO I don't do revesre enginering of the games code.

  2. #2

  3. #3
    Quote Originally Posted by SilverWarior View Post
    I have a tendacy to dig trough the games files to see which components do they use (sometimes can be easily seen from various dll files wich ship with game). I try to identify resource files containing graphics, sounds, etc. Many times I need to use various unpackers so I can actualy see ingame resources like graphics and sounds.
    Do mind that I don't do this with intention of stealing any of theese resources, but seeing them can usualy tell you a lot about the way how game works.
    Note that if such game content is encrypted, you'll be breaking the law in some countries just by using the quoted approach. In either case, you are not making a sound argument here. Many 3D games (FPS/RPG/etc) use rather huge textures, which are later downsampled.

    In addition, if you load all graphical resources to system memory, even legacy computers with 256 Mb of RAM (plus another 1 Gb of swap file) will handle it since graphics typically has relatively low footprint compared to sound, music and video files. Nowadays, a typical low-end machine will have at least 1 Gb of RAM, so you don't need to worry about loading hi-res graphics at all. If you are worried about video memory, then you should know that both Direct3D and OpenGL load/unload managed resources to/from video memory on the fly, so only the stuff that is being drawn is usually stored in video memory.

  4. #4
    Quote Originally Posted by Lifepower View Post
    Note that if such game content is encrypted, you'll be breaking the law in some countries just by using the quoted approach.
    Yes I know that. I never bother decryptic any content, if I can see some content by using some easy unpacker (usualy found on the web) I do otherwise I don't bother too much.

    Quote Originally Posted by Lifepower View Post
    In either case, you are not making a sound argument here. Many 3D games (FPS/RPG/etc) use rather huge textures, which are later downsampled.
    Yes but most of them requires computer with quite powerfull hardware to run.
    Also 3D graphic engines sometimes use huge textures wich are actualy colections of smaler graphics (theese are not to be considered as high resolution graphics) and then only portions of theese are used as different 3D models textures. This aproach is usualy used to speed up the thexture lodaing into graphic memory. Also if theese colections are properly organized they can use les graphic memory that it would be used if all of the small textures would be loaded one by one.

    Quote Originally Posted by Lifepower View Post
    In addition, if you load all graphical resources to system memory, even legacy computers with 256 Mb of RAM (plus another 1 Gb of swap file) will handle it since graphics typically has relatively low footprint compared to sound, music and video files.
    256 Mb of ram won't alow you to load much graphics in it especialy if we're talking about some highres graphics.
    As for the swap file it's size varies a lot. On Windows based system the size of a swapfile or. pagefile as named by Microsoft is 150% of the size of RAM by default. So if you have computer with 256 Mb of RAM the size of the swap file would be 384 Mb. Loading any graphics from the swapfile to graphic memory would be werry slow due to slow hard drive acces. This will result in lots of slowdowns or some graphic content not being drawn when it is suposed to.
    Take GTA San Andreas as an example. If you play this game on a low end computer and do some flying with the planes you could sinply crash into the tree before it would be even rendered (texture for the tree isn't loaded into graphic memory fast enough).
    Also you should take into consideration that you would ned RAM for other data to. So unless you have smal levels, a few of ingame objects, you can forget about having any higres graphics on pre mentioned computer with only 256 Mb or RAM.

    Quote Originally Posted by Lifepower View Post
    If you are worried about video memory, then you should know that both Direct3D and OpenGL load/unload managed resources to/from video memory on the fly, so only the stuff that is being drawn is usually stored in video memory.
    Partly true. But nowadays when there is posible to exploit graphics card processing power to do other things besides just drawing graphics you should note that theese operations also use video memory.

  5. #5
    On topic of aspect ratio, not sure how much of this is said already, but many games let user himself choose how he wants to scale the UI. Most 3D games support this now. For example imagine someone with imaginary 2400x1800 resolution. You can't know how big or small he wants the UI to look. Maybe he is used to look small things possibly because his display is huge. So just because resolution is big, it's not *always* the right choice to scale things up. Depends on what you're drawing...

    Also as i mentioned OpenGL earlier, even if it's 2D game its all vector graphics (polygons). Texture size doesn't matter (well, low/med/high settings for performance can be good always), bi-linear filtering is smooth to look at. They can also be drawn pixel-perfect without scaling. Vector graphics have speed benefit where you don't have or need your own doublebuffer, to get effect of "stretching" graphics.

  6. #6
    Quote Originally Posted by User137 View Post
    Also as i mentioned OpenGL earlier, even if it's 2D game its all vector graphics (polygons). Texture size doesn't matter (well, low/med/high settings for performance can be good always), bi-linear filtering is smooth to look at. They can also be drawn pixel-perfect without scaling. Vector graphics have speed benefit where you don't have or need your own doublebuffer, to get effect of "stretching" graphics.
    Offcourse the texture size matters. Polyon is actualy just an surface on witch the texture is being drawn. So if you have small texture and larg polygon you will have to upscale the texture so it can be drawn on whole polygon (just like increasing picture size). If you have big texture and small polygon on other hand the texture itself would be scaled down so that it could be properly drawn on the polygon (just as if you would reduce the picture size).
    The only difference is that when using polygons the texture scaling is done by the graphic card itself. And since most graphics cards have hardware support for textre scaling there is a considerable performance boost.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •