Commercial AGS Boot Camp - 5 common issues

Started by Dave Gilbert, Thu 08/08/2013 23:13:05

Previous topic - Next topic

StillInThe90s

Quote from: Snarky on Mon 04/11/2013 09:21:46
Two ways to understand the question, Armageddon:

Q1) If you run the game fullscreen (as most games are set to by default), it fills the screen regardless, so why upscale?
A) Not all computers/screens can set 320x200/240 resolutions, and even if they do the results aren't always great (the graphics either appear blurry or just in a small part of the screen). By turning on one of the upscaling filters in AGS, you get better compatibility. (3x and 4x might look even better depending on your screen.)

Q2) Why does Wadjet Eye do that thing (in some of the Blackwell games, at least) where the graphics are pre-scaled, so the game is actually running in a higher resolution than it looks even without an upscaling filter?
A) Mainly to be able to display text in higher resolution, I believe. Plus, the oldest Blackwell game(s) are from before AGS supported filters. I agree that it's an odd choice. (Interestingly, the beta version of Resonance did the same thing, but not the final version.)
Thanks. I guess I meant both. :)
Are there any other reasons for using upscaled graphics instead of filters, other than the ones mentioned? - If you don't want high res text, and things like that.

Uhfgood

I'm kind of curious about something.  Please forgive me as I don't know the inner workings of how save games and patching and all that works.  I'm just wondering why there's a problem with loading saved games that "break" with newer patches.  How come the game can't detect that you have an old save, and convert it appropriately to one that doesn't break the engine, and do it seamlessly so it looks like to the player that it worked as it always did?

I'm not assuming that it would be easy or simple, I'm just asking how come you have such a problem reading old save games and converting them to the new format?

Also another suggestion (which I hope doesn't make anyone angry, again I'm not assuming it will be simple, easy, or quick to make) but why not start working on a rewrite of the engine that fixes the issues outlined here, that will take care of the resolutions and d3d and what not (maybe open-gl support, and backup support in direct draw or whatever).  No change in the editor, but starting with the engine a complete rewrite which would allow 8-bit palletized color all the way up to 32-bit (maybe even some support for 4-bit color [16 color palettes] -- not that it would be native but it could be faked), any resolutions or aspect ratios you might need, etc...  Later you could add other scripting languages too so that programmers versed in whatever you used (say lua) would be able to use AGS?  Again I'm not saying this would be easy, simple, or quick to make, but why not start on that, that works with the existing editor and scripting language.  Would eventually solve a lot of problems and allow a lot more people to use it (maybe you don't want that many more people using it).

Again, I'm not trying to be a jerk or make anyone angry, I'm just curious.

Crimson Wizard

Quote from: Uhfgood on Sun 08/12/2013 05:32:31
How come the game can't detect that you have an old save
It sort of can. If contents do not match, it tells user that savedgame is incorrect and stops loading.
But there's no "game version" property, so no way to tell whether this save belongs to different version of same game, or just broken.

Quote from: Uhfgood on Sun 08/12/2013 05:32:31
and convert it appropriately to one that doesn't break the engine, and do it seamlessly so it looks like to the player that it worked as it always did?
From technical side, the biggest problem is the script data. At this moment it is stored as a single large chunk, and there's no way to tell which variables are these, are they same variables as the game expect, or different ones. Therefore engine can only check if the size of data match.
From logical side, there's probably larger problem of "conversion". First of all, it is not engine that should define how to process it, beause it knows nothing on specifics of your game, it's all just random pieces of data for it. It is the game developer that should define conversion rules, meaning there must be appropriate tools for doing so in the Editor, and engine should have means to read and execute these rules.
For example, if you changed the script variables, should removed variables just be lost, or their values copied to new ones? What if some variables have to be initialized somewhere in the midst of the game, but the player already passed that point and their initialization will never be triggered?


Quote from: Uhfgood on Sun 08/12/2013 05:32:31
Also another suggestion (which I hope doesn't make anyone angry, again I'm not assuming it will be simple, easy, or quick to make) but why not start working on a rewrite of the engine that fixes the issues outlined here,
I am tearing between laughing and crying... No, sorry, I can't talk about this... :~(

Here are some links...
The future of AGS
The future of AGS Part 2
The future of AGS III - The plan

But... I'd advise you to NOT read these. You can get crazy.

Uhfgood

Thanks for taking the time to answer, just interested is all.  Considering AGS was started by Mr. Jones in 1997 it's probably long overdue for an overhaul :-)  Not underestimating the amount of work it takes (as I'm a programmer by trade).

Crimson Wizard

Quote from: Uhfgood on Sun 08/12/2013 16:35:49
Thanks for taking the time to answer, just interested is all.  Considering AGS was started by Mr. Jones in 1997 it's probably long overdue for an overhaul :-)  Not underestimating the amount of work it takes (as I'm a programmer by trade).
Well, the answer is really "because no one got enough free time and/or dedication". It is difficult to add anything else to this.

Uhfgood

#105
Quote from: Crimson Wizard on Sun 08/12/2013 16:42:37
Quote from: Uhfgood on Sun 08/12/2013 16:35:49
Thanks for taking the time to answer, just interested is all.  Considering AGS was started by Mr. Jones in 1997 it's probably long overdue for an overhaul :-)  Not underestimating the amount of work it takes (as I'm a programmer by trade).
Well, the answer is really "because no one got enough free time and/or dedication". It is difficult to add anything else to this.


Fair enough :-)

BTW I read through each of those threads (sometimes skimming, sometimes not)

A lot of politicing I've gotta say!

Eric

Quote from: Uhfgood on Sun 08/12/2013 16:35:49Considering AGS was started by Mr. Jones in 1997

Off-topic, but thanks for posting this today. Got m'self a free Steam key for The Cat Lady thanks to you!

m0ds

#107
I have a new one to add. If you intend to have your game translated, or even if you don't but still want to go commercial with your AGS game -

DON'T USE SCI FONTS! EVER!!!!

Not for speech, not for mouse pointer text, not for GUI's - get rid of all SCI fonts immediately.

TTF fonts all the way. SCI fonts don't have accented characters (unless you've found a special SCI font that does, please tell me!!).

SCI fonts look good in English, they look good retro - but they are totally useless in the commercial world (especially if you're considering EFIGS). When it comes to translation all your SCI fonts will need to be replaced or the game will need to be programmed to load different fonts when a language is selected, it gets messy - especially if that results in an update for your players - those actions now mean all previous save games are destroyed. The easiest and most sensible thing would be to have never used an SCI font in the first place.

You'll need to figure out anti-aliasing issues for yourself, make it work with TTF, it can be a little tricky...but not impossible. UNLESS of course anyone has any inside info? I remember some talk of ways to create your own SCI fonts or update them. I only have ONE ttf font that works similar to an SCI font (good for low res) and has accented characters, I'd be grateful to know if anyone else has some ttf fonts like that too.

A secondary test is to write some accented words in your game, whether you intend to use them or not, see what your fonts are capable of beyond English. Yes of course this can be all done by a publisher or someone else at a later stage, but for those who really want the look of their game (the fonts create part of that look) to be the same throughout, under all eventualities, may heed these warnings :)

There, that's my tip for the week :P

Radiant

Quote from: Mods on Mon 17/03/2014 16:19:47I only have ONE ttf font that works similar to an SCI font (good for low res) and has accented characters
Please share?

StillInThe90s

@Mods: Sorry for being slow and ignorant but I didn't quite get all that...
Are the fonts that comes in WFN-files SCI fonts, or something else?
And why is SCI a bad idea when going commercial, if you don't plan on translating?

Anyway, I second Radiants request.

Baron

I remember lots of empty or empty-ish slots in Radiant's SCI Font Editor and am now wondering what keys/symbols I'd have to type to trigger them.  Are some of these reserved for accented characters?  Is there a map of what script/symbol/code triggers what slot, outside of the obvious A-Z, a-z, 0-9, and punctuation?  Unless they are actually standard accent codes it's probably not worth the hassle for translations, but it might be handy if you want to add your own accents/symbols without replacing underused punctuation as I've always done (Who ever uses a "tilde" in-game, anyway? ;) )

Gurok

Quote from: Baron on Tue 18/03/2014 04:28:28
(Who ever uses a "tilde" in-game, anyway? ;) )

I don't use it for tilde, but on a US keyboard, I find it cool to map it like so:

Tilde - opening double quote
Backtick - opening single quote
Quote - closing single quote
Double quote - closing double quote

Mods, does this advice still apply if you're using sprite fonts? If so, why?
[img]http://7d4iqnx.gif;rWRLUuw.gi

Crimson Wizard

#112
Quote from: Mods on Mon 17/03/2014 16:19:47SCI fonts don't have accented characters (unless you've found a special SCI font that does, please tell me!!).

WFN fonts can have up to 256 characters (in fact its format supports any number of characters so far as total data size is less than 64 KB, but you won't be able to access the ones beyond 256, because AGS strings are single-byte char strings).
Here's one with accented characters: http://www.file-upload.net/download-7988307/MMM-Fonts-WFN.7z.html
You can also make one with this Editor plugin: http://www.adventuregamestudio.co.uk/forums/index.php?topic=48527.0


Quote from: StillInThe90s on Mon 17/03/2014 18:26:50
@Mods: Sorry for being slow and ignorant but I didn't quite get all that...
Are the fonts that comes in WFN-files SCI fonts, or something else?
WFN is font format made for AGS. AGS cannot directly use SCI fonts, so Editor converts them to WFN.

Monsieur OUXX

#113
Quote from: Mods on Mon 17/03/2014 16:19:47

TTF fonts all the way. SCI fonts don't have accented characters (unless you've found a special SCI font that does, please tell me!!).

(...)

You'll need to figure out anti-aliasing issues for yourself, make it work with TTF, it can be a little tricky...but not impossible. UNLESS of course anyone has any inside info?

I have compiled all useful info about fonts into this : http://www.adventuregamestudio.co.uk/wiki/Fonts
Most issues are on the verge of being resolved, with the new "fake SCI" fonts type (and its twin brother, the WFN type), that introduces 256 char instead of 128, and work with AGS 3.3.x or higher -- and Rulaman's tools to manipulate them.
One could argue that 256 chars is still obsolete technology, but it's good enough for most international apps.
The article also address anti-aliasing issues with TTF fonts.

I recommend everyone reads the final part (the 4 possible font strategies), it's very instructive, even for AGS veterans.
 

Crimson Wizard

I don't like the "fake WFN" term. There's nothing fake in it. The format is all the same (really) it's just that AGS was told to calculate actual number of chars based on available data rather than use "128" constant.

Monsieur OUXX

Quote from: Crimson Wizard on Tue 18/03/2014 17:38:11
I don't like the "fake WFN" term. There's nothing fake in it. The format is all the same (really) it's just that AGS was told to calculate actual number of chars based on available data rather than use "128" constant.

Well OK, but 256-chars WFN fonts are mostly converted from "fake SCI" fonts (and I believe those do exist, as opposed to genuine 128-char SCI). That's how it was introduced to me originally by the few-who-knew. At the time (only 6 months ago!), there was no reference document to clarify anything, so I assumed a lot :D

I'll correct the term in the wiki page. This will all become part of the past, with native 256-char support.
 

StillInThe90s

Thanks Crimson.
I still don't get why SCI would be bad practice in english only games, though.

m0ds

#117
They wouldn't, and didn't say it's a problem for English only games. It's the making a (commercial) game under the pretense it'll only ever be "English only" that's more "the problem". However, it's probably mostly applicable if you have some idea that you'd like to see your game in one/all of the euro languages at a later date. Also the fact that if you DO need to do a font overhaul, old save games will be defunct, and no customers particularly enjoy that notion. That issue may have been addressed in more recent versions of AGS than 3.2.1 I'm not sure. But to think you just 'import a font' and that's it as far as fonts and your game are concerned is naive, especially if you're going commercial and want to please some european players. I'm no good at remembering to make sure of this either, but hope to from now on. Make a good AGS game and it will likely be sought after in a translated format, to at least one additional language :)

Now, if AGS could have a "Make my game Russian" button - that'd be very useful!!

StillInThe90s

Ah. I thought maybe there was some technical issue that I didn't get.
Thanks Mods.


abstauber

Is 32-bit really the way to go? It seems to be a little overkill as I hardly use more than 32 colors at the moment.
Once upon a time, 32bit was the "evil" setting in AGS, that caused massive slowdowns and gave you merely nothing in return.

SMF spam blocked by CleanTalk