Hello everybody,
This is my first post here, so treat me gentlyÃ, :)
I'm starting to build a "realistic" AGS game, with characters and backgrounds based on real photos taken from videos.
Due to the nature of the work process, my characters are at different sizes - some are 500 pixels high, some are 400, 200, 100 and so on.Ã, Now, I'd like to use them in the game without having to resize all of them to an equal size, because:
1. if I'll make them all 400px or 500px the game will be very large (I have like 35 characters...)
2. if I'll make them all 200px it will harm the graphics quality (the characters change their size according to their location on the screen - kind of 3D style, so it's important that they'll be in high quality).
Do you possibly know of a way to upload the pictures to AGS in their original (and different) sizes, and adjust every character size separately within AGS?
By the way, all the pictures are in BMP format.Ã, Is that the best file type to use, or should I convert them to another one?
Character.Manual Scaling property (http://www.adventuregamestudio.co.uk/manual/Character.ManualScaling.htm) and Character.Scaling (http://www.adventuregamestudio.co.uk/manual/Character.Scaling.htm), perhaps?
If so - Read the manual before posting in future (and I'll lock this thread).
If not, can you explain your problem a bit more? Why are you drawing characters at different sizes? Why not just use the 'Continuous Scalling' option on the walkable area?
As far as AGS in concerned the file type used doesn't matter (well, other that JPG will probably muck up the quality), as it does it's own compression on graphics anyway, it just depends how much harddrive space you're willing to use to store the originals (they're not needed by the engine once you've imported them, but you should ALWAYS keep a backup). To post them on the forums, however, I think GIF or PNG is best - check posts in Critics Lounge for more details.
Ashen, thanks for your feedback!
I'm not DRAWING characters - I'm actually using separate frames I'm taking out from streaming videos (this is a really awesome method, BTW). The characters are all photographed, so this is why each of the characters have a different size.
I could use the ManualScaling property option, but my problem is that multiple characters (with different sizes) need to move across the screen and their size should change their size accordingly. Is it possible to determine different kinds of dynamic character scaling? For example, to have one character zoom level between 70 and 80, and the second character (in the same screen) between 100 and 130?
Not easily. However, since the CharacterScaling property can allow characters to have different scales on the same coordinates, nevermind the same screen, it's definitely possible. You'd just need to check the character's Y-coord in repeatedly_execute, and alter the scale accordingly. I believe tiagocorreia's AreaScale module (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=26724.0) uses it to achieve non-default scaling types. Perhaps you could modify that code? (Or maybe the module already does what you're after - never used it myself.)
You may also try this quick module (http://www.2dadventure.com/ags/ichascal.zip) I just mucked up, hope it does what you want.
Thanks a lot.
Since I'm only going to try it in a month or so, please tell me if case you try it and it works.
Quote from: Gilbot V7000a on Mon 10/07/2006 10:38:59
You may also try this quick module (http://www.2dadventure.com/ags/ichascal.zip) I just mucked up, hope it does what you want.
Hi,
I tried to use this module and got this message:
Error: run_text_script1: error -6 running function
'repeatedly_exectue':
Error: Array index out of bounds (index 4, bounds 0..3)
in Individual Character Scaling (line 48)
Help?
Well when I first tested it it worked, but it would crash for AGS V2.72, due to the fact that the module codes tried to access characters with out-of-bound ids (probably newer versions of AGS has better checks).
I'm too lazy to modify it to work better at the moment, but a quick and dirty fix is to change line 48 of the module code to:
if (char_scales[ii]!=100) if (character[ii].Room==player.Room) {
Quote from: Gilbot V7000a on Mon 21/08/2006 12:42:45
Well when I first tested it it worked, but it would crash for AGS V2.72, due to the fact that the module codes tried to access characters with out-of-bound ids (probably newer versions of AGS has better checks).
I'm too lazy to modify it to work better at the moment, but a quick and dirty fix is to change line 48 of the module code to:
Ã, Ã, if (char_scales[ii]!=100) if (character[ii].Room==player.Room) {
Sorry for the delay, but - thanks a lot.