AGS 3.1.1 now released!

Started by Pumaman, Wed 24/12/2008 14:02:32

Previous topic - Next topic

Pumaman

On this merry Christmas Eve, it gives me great pleasure to announce the release of AGS 3.1.1.

Changes since v3.1 are as follows:

* Added support for running normal scripts as part of dialog scripts,  and thus obsoleted the run-script, dialog_request business
* Added OGG Theora video support to PlayVideo, and enabled theora videos to be compiled into the game EXE
* Added right-click "Find Sprite By Number" option to Sprite Manager
* Added Dialog.HasOptionBeenChosen script function.
* Added basic save and load GUIs to the Default Game template
* Replaced Anti-Glide mode with a per-character setting MovementLinkedToAnimation.
* Improved auto-dedent of } in script editor to make it more useful and less annoying
* Improved performance of pathfinder when calculating a route.
* Added list of editor keyboard shortcuts to manual
* When changing between room area mask types, the current tool will be set back to the Select tool to assist the most common workflow
* Cursor mode now sets back to Select after adding a GUI control
* Discontinued support for Windows 98 due to upgrading compiler from VC6 to VC2008.
* Improved editor error messages if an error occurred reading/writing the sprite file
* Workaround for Windows error getting file list on Linux network shares
* Assign To View dialog now remembers the loop assigned to last time as well as view
* Improved editor error handling if it was unable to start the game for testing
* Fixed GetLocationName/GetLocationType not returning anything if the mouse cursor was over a GUI, but a different X/Y was being checked
* Fixed GetLocationName returning a space if a nameless object was at the location
* Fixed clicking in the corner of the screen taking you back to the desktop when using D3D driver
* Fixed D3D driver drawing an extra game loop before the room faded out
* Fixed transparent sprites not rendering correctly with D3D driver
* Fixed object "ignore walk-behinds" setting not working with D3D driver
* Fixed PlayVideo failing to play some WMV files with D3D driver
* Fixed editor crash debugging if the call stack had more than 6 lines
* Fixed call stack window not appearing if the project tree was on the left hand side
* Fixed crash if you manually set Character.Loop and the current Frame was invalid for the new loop
* Fixed crash in DisplayAt/SayAt if you passed the width in as 0
* Fixed text box stealing up/down arrow key presses (AGS 3.1 regression)
* Fixed debug console showing low-res co-ordinates for Character.Walk
* Fixed autocomplete not always correctly selecting entries containing an underscore
* Fixed a couple of potential crashes if characters had an invalid view/loop/frame
* Fixed potential crash displaying text in voice-only mode

Go to the Download page on the website to grab it.

(NOTE: If you were using the betas, this is the same as the Final 3 release).

Gilbert

Hmm Is this the same as Final3?

Since I have downloaded Final3 an hour ago and don't want to redownload it again. I won't try this out yet though (only for archiving purpose) as i'll prefer the non-installer version.

Pumaman

Good point -- yes, this is the same as Final 3. I have updated the first post to mention that.

freshpaint

What a lovely Christmas gift!  And my computer that had been out for repair has been returned to me just in time to test the new version.  Tested the blank line in dialog problem by removing all of the offending "return" statements etc. and it all works beautifully.  You're incredible and deserve to drink a lot of beer.  Now it's on to bigger and better (at least, different) problems with my stupid game!

Shane 'ProgZmax' Stevens

#4
There seems to be a problem with calling the Say function inside of the dialog script window.  It doesn't seem to interpret the word 'this' properly.  Here's an example of one of the lines in my dialog script:

cBlargh.Say("There's no getting through to this guy.  I need a plan.");


And here is how it looks in game:

There's no getting through to dialog 3] guy.

This happens with other lines that have 'this' in them as well.

Matti

Quote from: Pumaman on Wed 24/12/2008 14:02:32
* Added support for running normal scripts as part of dialog scripts,  and thus obsoleted the run-script, dialog_request business

Hey, thanks for that. The dialog requests always annoyed me.

limeTree

* Added support for running normal scripts as part of dialog scripts,  and thus obsoleted the run-script, dialog_request business

does that mean i can now,for an example,use scripting code face character during the dialogs?

limeTree

found it it ,means i can do everything
i have to press SPACE to begin script
thank you very much,this help a lot!!!

TheMagician

#8
Three small things:

1. I guess the character "/" shouldn't be allowed in Script Module names. When you use it AGS shows an error message.

2. I have a weird slow-down issue with my current 640x480 game. It is related to the "2x nearest-neighbour" filter in conjunction with VSync and a fullscreen GUI.

I've uploaded a test game that demonstrates the problem HERE.

The game speed in this game is set to 60. VSync is active. As soon as you open the fullscreen GUI (an empty GUI without any GUI-controls) the FPS drop to about 30. This doesn't happen without the graphic filter. It also doesn't happen in D3D mode. And it also doesn't happen when VSync is off. However, in the rest of the game - which is graphically very damanding - I never experienced such a drop in FPS. A simple GUI shouldn't be a problem then, should it?

3. Just for clarification: If I exclude a room from the game I can save on compile time, right? Afterwards when I reimport the room it should work just as it did before?

Pumaman

QuoteWhat a lovely Christmas gift!  And my computer that had been out for repair has been returned to me just in time to test the new version.  Tested the blank line in dialog problem by removing all of the offending "return" statements etc. and it all works beautifully.  You're incredible and deserve to drink a lot of beer.  Now it's on to bigger and better (at least, different) problems with my stupid game!

Glad to hear it's working for you!

QuoteThere seems to be a problem with calling the Say function inside of the dialog script window.  It doesn't seem to interpret the word 'this' properly.  Here's an example of one of the lines in my dialog script:

Hehe well spotted thanks, I'll fix that for 3.1.2.

The easy workaround is of course to use a dialog scripting line instead, like this:

blargh: There's no getting through to this guy.  I need a plan.

Quote1. I guess the character "/" shouldn't be allowed in Script Module names. When you use it AGS shows an error message.

Well spotted yes, it should handle this better.

Quote2. I have a weird slow-down issue with my current 640x480 game. It is related to the "2x nearest-neighbour" filter in conjunction with VSync and a fullscreen GUI.

I've uploaded a test game that demonstrates the problem HERE.

Interesting, I'll look into this.

Quote3. Just for clarification: If I exclude a room from the game I can save on compile time, right? Afterwards when I reimport the room it should work just as it did before?

If you exclude a room it will make no difference to running the game with F5 or Ctrl+F5, but might slightly speed up the F7 Build EXE process.

Pumaman

Just a quick update to announce that this has now been officially released to the website, along with the RAR release and the mp3-free engine.

Pumaman

Quote from: TheMagician on Sat 27/12/2008 13:54:24
2. I have a weird slow-down issue with my current 640x480 game. It is related to the "2x nearest-neighbour" filter in conjunction with VSync and a fullscreen GUI.

I've uploaded a test game that demonstrates the problem HERE.

The game speed in this game is set to 60. VSync is active. As soon as you open the fullscreen GUI (an empty GUI without any GUI-controls) the FPS drop to about 30. This doesn't happen without the graphic filter. It also doesn't happen in D3D mode. And it also doesn't happen when VSync is off. However, in the rest of the game - which is graphically very damanding - I never experienced such a drop in FPS. A simple GUI shouldn't be a problem then, should it?

Thanks for uploading the game. I think that all that's happening here is that when the GUI is on, it can take AGS more than 1/60 of a second (or whatever your screen refresh rate is) to render a game loop, which means that it has to wait for the second vsync, which effectively slows it to half of the screen refresh rate.

A full-screen GUI can slow the game down by about 20%, coupled with using the 2x filter on a 640x480 game to run at 1280x960, which is quite demanding for the DX5 driver.

You don't see the problem with D3D because (a) it's faster at high resolutions like 1280x960, and (b) the Vsync setting has no effect.

TheMagician

Thanks a lot for taking a look at the game CJ. Your explanation really makes sense ... the fact that the frame rate drops by exactly 50% should've been a hint to me ;) I think an easy workaround is to just disable VSync while the GUI is visible.

May I ask a few more questions concerning technical aspects.
The reason why I'm relying on the DX5 driver is because only DX5 in combination with activated VSync removes the tearing artefacts from my game. I'm using fairly large rooms (4000x3000 pixels) which scroll a lot and tearing just ruins the whole experience.My game speed is set to 60 and VSync is enabled. Let's assume somebody with an 85Mhz display is playing the game. What speed will the game be running at? The manual states that VSync "will lock the game frame rate to the monitor's refresh rate".

Will only the combination of "Game Speed = 60" and "Screen Refresh Rate = 60" effectively remove the tearing?

And one last question: the size of the rooms was also the reason why I asked about excluding and reimporting rooms (they take up to 12 seconds per room to compile). What takes the most time in the compilation process? The conversion of the background image into a specific format? I guess so because a 320x240 room with the same amout of scripting and objects as a 4000x3000 room takes considerably less time to compile.  There's no way to avoid complete recompilation of a room after you changed just a tiny piece of walkable area? (I need to do that a lot because I'm misusing walkable areas and they require much testing ;) ).

Fedx

#13
Hi Chris! Really good job here!
But I have a problem with low res and hi res coordinates. When I change the resolution from 320x200 to 640x480, the default GUI looks terribly small. Is there a way to change that? Because I don't like doing GUIs, I prefer editing the default one. Thanks!

EDIT: Nevermind, I figured it out!  ;D
- The gamer doesn't dies... he respawns -

Pumaman

Quote from: TheMagician on Wed 31/12/2008 01:51:40
The reason why I'm relying on the DX5 driver is because only DX5 in combination with activated VSync removes the tearing artefacts from my game. I'm using fairly large rooms (4000x3000 pixels) which scroll a lot and tearing just ruins the whole experience.My game speed is set to 60 and VSync is enabled. Let's assume somebody with an 85Mhz display is playing the game. What speed will the game be running at? The manual states that VSync "will lock the game frame rate to the monitor's refresh rate".

Well, AGS will attempt to render 60 frames per second, but each time it will wait for the next screen redraw. So you'll probably end up with a game speed of about 50-55, but it's hard to say for sure.

What the text in the manual means is that if you set the game speed to 500 but enable vsync, you shouldn't expect the actual game speed to go above 60/75/85 (or whatever). The tearing shouldn't be a problem.

Quote
And one last question: the size of the rooms was also the reason why I asked about excluding and reimporting rooms (they take up to 12 seconds per room to compile). What takes the most time in the compilation process? The conversion of the background image into a specific format? I guess so because a 320x240 room with the same amout of scripting and objects as a 4000x3000 room takes considerably less time to compile.  There's no way to avoid complete recompilation of a room after you changed just a tiny piece of walkable area? (I need to do that a lot because I'm misusing walkable areas and they require much testing ;) ).

When you load or save a room, AGS has to compress/decompress the background(s) along with the walkable area/hotspot masks. It's this compression and decompression that takes the majority of the time, and with backgrounds of that size it's no surprise that it can be slow!

However, each room should only get recompiled when you change it, or change a global script header file.

QuoteI have a problem with low res and hi res coordinates. When I change the resolution from 320x200 to 640x480, the default GUI looks terribly small. Is there a way to change that? Because I don't like doing GUIs, I prefer editing the default one.

Well, the default game's GUI is designed for 320x200. Therefore, when you increase the resolution, it will look a bit silly.
Just edit the default GUI and change its size and move the buttons around until they fit your resolution.

marajin

Good stuff!

Just wanted to note a little something though, I'm currently set up on Vista 64bit and noticed that while 3.1.1 is seemingly working fine for all other functions, it will crash when attempting to create a new game, this goes away when 'run as administrator'. 3.1 didn't do this and I've noticed that 3.1 is set to run at Admin already, so I assume was set to do so by default but 3.1.1 doesn't. I clean installed 3.1.1 to double check.

Not a big problem since it's trivial to set for the user but it momentarily confused me so I thought I might note it here lest it catch anyone else out.

Anyway, thanks for another great release!

Pumaman

Thanks for reporting this. I have tried it out on Vista and do get the same problem.

After investigation it turns out that as a result of upgrading to the compiler to Visual Studio 2008, Vista now classes AGS as a "new" application instead of a "legacy" application, and therefore doesn't provide its workarounds to allow writing to Program Files.

What's happening is that when you go to Start New Game, AGS creates a couple of temporary files in the editor directory in Program Files. This is not allowed in Vista, but in previous versions because AGS was a "legacy application" it got away with it. Now it doens't.

I'll fix this problem, but it now creates the question of what to do with templates, because also with 3.1.1 if you try to create a Game Template or Room Template, it will fail with an error because it tries to save it to the AGS Program Files folder. I'll look into this.

As you've spotted, in the meantime if you're using Vista you can work around this by right-click on the AGS Editor in the start menu and choosing "Run as administrator".

marajin

I was going to make a note about fixing the thing permanently with the installer but looks like you already did it in 3.1.2. Too quick for me! For those wondering, just right click the icon, click properties, head to the compatability tab and check the box to always run as admin, this will fix 3.1.1 on vista without needing to always right click and 'run as administrator'

Dualnames

Well, I'm pming the files with some instructions but while I was working on a game using AGS 3.1.1 a weird thing happens. I have a character doing (NPC) walking around the room then I use the default save game dialog save the game(in the meantime the character is walking) then i wait a little the character goes to a different position and restore that game.
Weird thing is that the NPC position doesn;t go back to the one it was when I saved the game.
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

Pumaman

Is the NPC the last (ie. highest-numbered) one? If so this bug has already been fixed by 3.1.2 beta 1.

SMF spam blocked by CleanTalk