(solved) Autodetect resolution

Started by Radiant, Sun 13/10/2013 17:00:36

Previous topic - Next topic

Radiant

Well, I don't want to push any extra work on you because I think I've got a fix for this and I'm more interested in the AnimationStopTimeMargin issue... but I believe that you could replace the entire setup program with this (simply by hiding/disabling the other controls in the setup code), and people would find it much clearer and nobody would miss the other options:




(programmers can set driver/filter in code, maximum sprite cache should probably be higher than 20 Mb on contemporary computers, and as far as I know basically nobody uses the other options anyway)

Crimson Wizard

Quote from: Radiant on Tue 15/10/2013 11:51:47people would find it much clearer and nobody would miss the other options

Err... I would definitely miss scaling filter option.

Radiant

Interesting, but shouldn't that be something that the game designer sets? I'm asking because my artists strongly suggest that only one of the filters works with their personal art style and the rest should be disabled; I imagine they're not the only ones. Aside from that, I would not expect the average player (or indeed, 95% of players) to understand what hq2x even means. I would imagine that the majority of artists don't want this option, and the vast majority of players don't use this option.

Snarky

Quote from: Radiant on Tue 15/10/2013 12:01:03
Interesting, but shouldn't that be something that the game designer sets?

No.

Radiant


Snarky

Because people have different screens and setups, play in different ways (some even in window rather than fullscreen, apparently), some computers have weird technical constraints, and people have different eyes and different preferences. Providing options is the best (only) way to ensure that the game will run and look good to different people in different contexts.

Another thing to keep in mind is that AGS is not just for commercial and professional-level releases. It also needs to support the first-time gamemakers who have no idea what they're doing, and are likely to screw something up if you give them the ability to disable various options. Honestly, people who're making these big, ambitious games don't need to use winsetup: you can fairly easily write your own configuration program yourself. And anyway, didn't someone already add a feature to optionally hide certain filters from the menu? Shouldn't that be good enough?

Radiant

That's a fair point.

My aim is simply (1) for the average casual gamer to be able to play AGS games without having to use setup, and (2) to simplify the setup screen by removing any and all options that don't do anything meaningful on contemporary computers.

#1 means that I'm in favor of automatically detecting default settings as much as is feasible, which is why this thread started; this also helps gamemakers who don't exactly know what they're doing yet. For #2, I suggest that options that refer to CRT monitors, or to "fast CPUs only" by the standards of ten years ago, or to the difference between 10 Mb or 20 Mb of memory simply aren't required any more. Certainly, I want AGS games to be playable on old systems as well; but none of these options appear to make anything unplayable on old systems either.

Galen

Seeing winsetup dropped in favour of command-line/in-game support would be a blessing. The program is needlessly complex for 95% of players. And it is a pain to navigate to for games that have an installer rather than being run from the folder (commerical games in particular).

Snarky

Winsetup could certainly be improved/simplified along the lines Radiant suggests, but I really don't see how command-line parameters would be more user-friendly, and if the only way to change the settings is in-game, then what if the game won't run because your computer doesn't support the default settings (like Mr OUXX experienced with Heroine's Quest)?

As for moving the settings into the script domain (as Calin suggests), which I assumes means providing an engine API instead of winsetup, first: it requires the ability to change the settings "live" while the game is running, which AFAIK AGS can't currently do; second: it means every game maker will have to implement a UI to change the settings, instead of getting one built-in; third: if a game maker doesn't implement this UI, players won't be able to change important settings; fourth: again, what if the default settings don't work on your computer so you can't launch the game? In summary, it strikes me as an extremely bad idea.

It would certainly be nice of you could adjust things like resolution, graphics filter and fullscreen/windowed on the fly, but I think it's something that should be handled by AGS, not the game script, and I think it's still worthwhile to have an external setup program.

Crimson Wizard

#29
To be frank, this baffles me people keep asking for changing built-in winsetup, while it is relatively easy to make a completely new setup program which looks as you like (bears your game logo, etc). You just need a gui library to make a window (C#, Java, Qt, MFC, wxWidgets etc for C++, and so forth), and code simple Allegro/Direct3D initialization to get a list of supported resolutions. The rest is reading/writing standard INI file.
I mean, you can make one right away, if you need, nothing prevents this.

Quote from: Galen on Wed 15/01/2014 16:23:15
And it is a pain to navigate to for games that have an installer rather than being run from the folder (commerical games in particular).
Simple LNK file put into Start menu with solve this problem. I know some of the commercial games already did this before (e.g. Cat Lady, Blackwell games).

Regarding what Snarky sais, my thoughts exactly, except for point 1; I think this problem may be solved. Introducing setup script API is a nice idea, but the game still requires a stand-alone setup app to make initial configuration at least.

AGD2

External setup files in commercial games do seem rather antiquated these days. Having the settings adjustable from an in-game menu could also potentially lower the amount of customer tech support a small studio needs to provide. Having said that, it seems like the ideal situation would be to allow both approaches. The game would compile and create a winsetup.exe file (which really should be renamed to just setup.exe). The game creator could also set up an in-game UI so that players could adjust game settings dynamically from the script.

This way, the majority of players never need to fiddle with winsetup.exe - but for those that do have issues getting the game to run, winsetup.exe would still exist in the game folder as a plan B.

A default settings UI could also be provided in the game template files that come with AGS so if the game creator doesn't want to (or forgets to) set one up, the generic one would still exist.

SMF spam blocked by CleanTalk