AGS suggestion: full screen, sprite compression and animated background.

Started by SergioAntonio, Wed 20/09/2017 10:55:15

Previous topic - Next topic

SergioAntonio

I'm still rather new to working with AGS. however I have noticed a few things that I hope with be fixed/added to the engine.
issues:
1) when you run a game for the first time it defaults to full screen mode, however. full screen mode is not really full screen. the game does not take the entire screen, it is centered with a lot of empty space around the game.
2) the file balloons up rather quickly when you have a game lets say in 800x600 mode with complex images, liked 3d rendered characters and background.
3) if you want to animate the background you are limited to 5 frames.

hopeful solution/additions:
1) full screen mode should automatically scale the game to take up the entire screen. and the game should default to window mode if possible( without the need to run setup).
2) instead of using rle or what ever method you use to save the images. save them in png format, and when the game starts convert them to rle(if needed for speed) in memory.
3) why not add the ability to load a video and loop it in the background... if there is an improved method of compressing images, and then this might not be needed... but it would still be a nice feature to have.

Thanks.

eri0o

The default of the first is up to the person releasing the game. Just pack the acsetup.cfg when sending your game. In the new beta you can do that configuration directly from the editor. The black bar thing and everything depends on what you configure.

2 I think the game already does some compression but you can distribute your game zipped. But yeah, it would be cool if the game only uncompressed when ran.

3 is easily workaround with scripting.

Crimson Wizard

Quote from: SergioAntonio on Wed 20/09/2017 10:55:15
1) full screen mode should automatically scale the game to take up the entire screen. and the game should default to window mode if possible( without the need to run setup).
This is done by setting "stretch to full screen" in setup. It is defaulted to "max round scaling" for historical reasons. As eri0o noted, if you send acsetup.cfg with your game, players will use your settings as initial ones before setting their own.
EDIT: actually I could default this to "proportional stretch". Round scaling may be essential when running low-resolution games on irregular display resolutions - that may cause uneven scaling with some pixels scaled twice and others not scaled, which is noticeable if game is 320x200 for example.


Removing background frames limit nad playing video on background or arbitrary object may be a good thing, but meanwhile - alternatives are animated room-sized object positioned below everything else, or scripting drawing sprite on room background with timeout (may be slower though).


EDIT: To be frank, it is safer to assume that there won't be much big change to this engine. Development has stalled in last years, and there was never much people interested in it anyway. Engine is based on obsolete technology that runs worse and worse on every new operating system. I believe that the future is with alternative engines or complete rewrite (I know some people around here are trying to do that).

SergioAntonio

again, I am new to this.

But I create an executable. run winsetup; say run in window mode, save it. then I zip the game with the config file and download it on another computer. and it does not run in window mode unless I run setup again in the other machine. so, whatever I set config to, does not seem to work when I run in on anther computer.

I'm using AGS 3.4.0

Crimson Wizard

Quote from: SergioAntonio on Wed 20/09/2017 12:12:08
But I create an executable. run winsetup; say run in window mode, save it. then I zip the game with the config file and download it on another computer. and it does not run in window mode unless I run setup again in the other machine. so, whatever I set config to, does not seem to work when I run in on anther computer.

Ah yes, I was wondering if that's this problem.
When you use winsetup it saves config not to file in game folder, but to the file in user folder (%USERPROFILE%/Saved Games/<Name of your game>/, which is "C:/Users/<user>/Saved Games/" on Windows 7 and later). This creates an issue when you may think you changed default config for your game, but instead change personal config that is stored in personal settings.

For that reason I added new "Default Setup" window to the Editor in AGS 3.4.1 (will be released soon).

As for 3.4.0, there are two workarounds:
1) When you are about to distribute your game, copy acsetup.cfg from your personal folder, not from game folder.
2) Edit acsetup.cfg in the game folder by hand. That's a simple INI file, instructions are here: https://github.com/adventuregamestudio/ags/blob/master/OPTIONS.md


Gilbert

For 2, backgrounds in rooms are already compressed and I think it couldn't help much further unless the editor allows lossy compression (such as JPEG). Actually I think it could be cool to have optional lossy compression (chosen for individual bgs by the users themselves) as it could save space on bgs that don't really need perfect reconstruction(such as photos).

For sprites, as far as I remember they are not compressed by default (unless that's changed recently), but you can enable compression (just checked, it's currently at General Settings --> Compiler --> Compress the sprite file) for sprites. It's not spectacular as it only uses a RLE scheme for performance reasons, but depending on the nature of your sprites it may help a lot if the sprites contain large areas of the exactly same colour (such as cartoony line arts or there are a lot of transparent areas) or may not help much for more "complicated" images (such as photorealistic ones).

SMF spam blocked by CleanTalk