AGS 3.5.0 - alpha 13 - next WIP version

Started by Crimson Wizard, Wed 21/02/2018 13:52:21

Previous topic - Next topic

Cassiebsg

Uhm... I'll try it on my MAGS game (yes, I'll make a backup of the current state in alpha 1) :)

Some good stuff in here, thanks all involved!
Looking forward to try that pathfinder on this maze.
There are those who believe that life here began out there...

Crimson Wizard

Quote from: Cassiebsg on Mon 21/05/2018 14:46:11
Looking forward to try that pathfinder on this maze.

Testing pathfinder is encouraged! So far it was tested by few people only in limited number of games.

Privateer Puddin'

Quote from: Crimson Wizard on Mon 21/05/2018 14:55:49
Quote from: Cassiebsg on Mon 21/05/2018 14:46:11
Looking forward to try that pathfinder on this maze.

Testing pathfinder is encouraged! So far it was tested by few people only in limited number of games.

Testing as well but is it worth (if feasible) having an editor setting to switch between old and new in case something unexpected pops up later?

Crimson Wizard

Quote from: Privateer Puddin' on Mon 21/05/2018 15:08:29
Testing as well but is it worth (if feasible) having an editor setting to switch between old and new in case something unexpected pops up later?

Hmm... no. :/
It would be possible to restore the old one from the git history if something goes wrong. Then figure out how to make a switch in the engine.

Cassiebsg

#44
Uhm, pathfinder seems to be doing fine

But I just discovered that when you put a new object in a room it turns all objects visible. :~( I also started a blank project and added a BG and a couple sprites, then added them as objects. does the same. This is a very big bother, as I have a few big sprites that cover everything...
Also it's rather annoying that when you create a new object in a room it doesn't automaticly jump to it's settings/properties, so you can name it and adjust it... you need to actively find it in the list of objects and click on it.

EDIT: And seems like changing the Name of the object does the same thing. :~(

EDIT2: Doesn't help to lock the state of the objects either.
There are those who believe that life here began out there...

morganw

Quote from: Crimson Wizard on Mon 21/05/2018 15:12:24
Quote from: Privateer Puddin' on Mon 21/05/2018 15:08:29
Testing as well but is it worth (if feasible) having an editor setting to switch between old and new in case something unexpected pops up later?

Hmm... no. :/
It would be possible to restore the old one from the git history if something goes wrong. Then figure out how to make a switch in the engine.

I've found that switching between the engine builds can leave characters in a different position after walking, with the old pathfinder moving the character further (which was then causing a bounds check to fail). I probably need to re-test without the smooth scrolling module, but the difference in player.x was enough to cause me an issue.

Cassiebsg

My "Explore Project" has accidentaly moved out from the right panel, now every time I open AGS editor the pane is placed in the middle, and I need to manually move itback to it's place on the right pane.

Any way to force it to remember where I want it to be? Seems like me just moving it into the correct place and then closing the editor doesn't save settings like it should. :-\
There are those who believe that life here began out there...

morganw

I think one of the panels is flagged as a main one, and if that is in a strange position it can make the others go wrong. The settings are now independent of editor version, and get upgraded to the next version (so what you set in 3.4.2 doesn't affect anything older). You can find the user.config file by running this at a command prompt:

Code: dos
dir /b /s %USERPROFILE%\AppData\Local\AGS\*user.config


Just delete it to reset the settings, although if you can send me a copy I'll double check what the settings are doing.

Crimson Wizard

Quote from: morganw on Fri 01/06/2018 19:59:18The settings are now independent of editor version, and get upgraded to the next version (so what you set in 3.4.2 doesn't affect anything older). You can find the user.config file by running this at a command prompt:

Code: dos
dir /b /s %USERPROFILE%\AppData\Local\AGS\*user.config


Just delete it to reset the settings, although if you can send me a copy I'll double check what the settings are doing.

Is panel layout also saved to that config file?

Cassiebsg

#49
Uhm... :-\

well, deleting the file did nothing to alter the problem. The project window is still opening in the "middle", and the room/scripts I open next will be open in the same pane... (in the middle)... so, still not a solution (and now I learned I have a new stupid named folder on my c drive... :( )

EDIT:
Oh, wait. I just noticed there's a "layout->save" option under Window... I'll try that.

EDIT2: That seems to have done it. (nod) Unless the fact that I reloaded the dark theme at the same time did it... (roll)
There are those who believe that life here began out there...

morganw

Quote from: Crimson Wizard on Fri 01/06/2018 20:06:25
Quote from: morganw on Fri 01/06/2018 19:59:18The settings are now independent of editor version, and get upgraded to the next version (so what you set in 3.4.2 doesn't affect anything older). You can find the user.config file by running this at a command prompt:

Code: dos
dir /b /s %USERPROFILE%\AppData\Local\AGS\*user.config


Just delete it to reset the settings, although if you can send me a copy I'll double check what the settings are doing.

Is panel layout also saved to that config file?

...I may have confused it with the overall window positioning, so possibly not.

Crimson Wizard

The actual layour file is probably still %USERPROFILE%\AppData\Local\AGS\Layout.xml

declerfayt

Quote from: Crimson Wizard on Sun 13/05/2018 20:18:56
Hmm, somehow I missed this last post in March.

Quote from: declerfayt on Thu 01/03/2018 17:27:47
Quick question: as this new alpha focus mainly on the editor and save games, is a game made with this AGS 3.4.2 - Alpha 1 would still be compatible with AGS 3.4.1 - Patch 1 (the latest stable version)?

If you mean, whether it is possible to move back from 3.4.2 to 3.4.1, then probably yes, for now, because there were not any changes to game format. But there is no guarantee that this will remain so.

Quote from: declerfayt on Thu 01/03/2018 17:27:47
If not, would you think it's reasonable to start working with this alpha (I guess games made with this version will work on the forthcoming stable AGS 3.4.2)?

I guess that this release may be pretty stable. Actually I just removed "unstable" word from the title, because it may confuse people to think that it is crashing, etc. It's WIP, but should be relatively safe. Then again, even the releases that we call "stable" do have mistakes sometimes.
Also, in theory there are always ways to move your project back to previous version of AGS.

Thanks a lot for your response CW (and again great work!). With the new patch you just released, I think I'm gonna switch to the new WIP version next week :)
Lancelot's Hangover : A whole life to find the Holy Grail. One alcohol night to lose it.

Play free beta // Video trailer // Website

Crimson Wizard

Quote from: declerfayt on Fri 01/06/2018 21:32:15
Thanks a lot for your response CW (and again great work!). With the new patch you just released, I think I'm gonna switch to the new WIP version next week :)

There were a number of inconveniences in new editor interface found since, so idk if that's a good idea until we fix them.

declerfayt

Quote from: Crimson Wizard on Sat 02/06/2018 12:32:52
There were a number of inconveniences in new editor interface found since, so idk if that's a good idea until we fix them.

Thanks CW ! Maybe I'll wait a bit - tbh, the new interface is pretty cool to manage the parralax effet and the different layers of object, but it's not super urgent, I can wait for a few weeks :) Thanks for your advice :)
Lancelot's Hangover : A whole life to find the Holy Grail. One alcohol night to lose it.

Play free beta // Video trailer // Website

Martin Sedlak

Quote from: morganw on Wed 30/05/2018 21:36:43
I've found that switching between the engine builds can leave characters in a different position after walking, with the old pathfinder moving the character further (which was then causing a bounds check to fail). I probably need to re-test without the smooth scrolling module, but the difference in player.x was enough to cause me an issue.
This can happen if you click on a non-walkable area, the new pathfinder tries to get you as close as possible (unlike the old one).
Also the new pathfinder is pixel-perfect, old pathfinder did something like 3x3 pixel downsampling (or actually jumping over 3 pixels - I don't remember exactly),
so even one pixel gap is no longer walkable.
However, I think these features are actually useful and desired - even if it means adjusting game code when switching to the new engine, I hope it's still worth it :)
The new algorithm also does bidirectional path filtering when extracting waypoints, so the final paths should look a bit more natural (especially the last few segments),
old code did something similar but only in forward direction, probably not a big deal and barely noticeable.

The only drawback of the new pathfinder is increased memory usage (traded memory for performance), namely 8 times more than old pathfinder (read 8 bytes per walkable pixel),
so for example if your largest background is 3k times 1k pixels, the old pathfinder used 3 megabytes where the new uses 24.
This is still ok even on todays mobiles unless you use really huge backgrounds, but it's always good to understand the implications.
On the other hand, large (hires) areas is where the new algorithm really shines in terms of performance compared to the old one.

One potential solution would be to use lowres walkable bitmap, saving 4 times the memory by 2x downsampling in each direction, but I've no idea how much work it'd represent
in the editor and pathfinder glue code.
Maybe the best solution would be to switch to navmeshes instead, but this would add new challenges of its own and it would be a substantial amount of work, completely breaking backward compatibility...

Crimson Wizard

#56
Quote from: Martin Sedlak on Fri 08/06/2018 22:09:14
Quote from: morganw on Wed 30/05/2018 21:36:43
I've found that switching between the engine builds can leave characters in a different position after walking, with the old pathfinder moving the character further (which was then causing a bounds check to fail). I probably need to re-test without the smooth scrolling module, but the difference in player.x was enough to cause me an issue.
<...>
However, I think these features are actually useful and desired - even if it means adjusting game code when switching to the new engine, I hope it's still worth it :)

The issue here is that sometimes people are upgrading their nearly completed games to the new version of AGS, and they do not want to be surprised by extra work added when they do. So it is fair to warn them about these possible complications.

Also, something that I forgot to consider when reviewing your pull request, if pathfinder acts differently (even if better), there is a slight but real theoretical possibility that some old game breaks, if it were relying on exact places where character walks. We had similar problems in the past (not with pathfinder), when game creators were too much relying on particular quirks of the engine, and when engine got fixed or improved that broke these games. We have couple of places in the engine where less correct behavior had to be simulated under condition that the old game is being run.

Since we decided to split AGS into "backwards compatible" and "future" versions recently, we are currently considering what to do with pathfinder in "compatible" branch: whether to keep your new pathfinder, revert to old one, or have both with a way to switch between them in config.
This is not very critical, in my opinion, since we don't know if there is such game that would be broken by new pathfinder in practice (making it impossible to walkthrough), but has to be decided at some point.

KyriakosCH

Hi, sorry if this was answered - i was away for a while :)

Is there any plan to implement CW's excellent "typewriter" text animation (ala jrpgs) in a future version of the engine?
Because i am sure it would get a lot of use.
This is the Way - A dark allegory. My Twitter!  My Youtube!

Martin Sedlak

Quote from: Crimson Wizard on Fri 08/06/2018 22:31:23
Since we decided to split AGS into "backwards compatible" and "future" versions recently, we are currently considering what to do with pathfinder in "compatible" branch: whether to keep your new pathfinder, revert to old one, or have both with a way to switch between them in config.
This is not very critical, in my opinion, since we don't know if there is such game that would be broken by new pathfinder in practice (making it impossible to walkthrough), but has to be decided at some point.
I see, I never thought that the new engine may be used to run old games. For WIP games close to release it's probably never a good idea to switch to new engine anyway,
no matter what has changed.
Of course if a script relies on a certain behaviour of the pathfinder then it can break existing games.
Also since old pathfinder allowed you to walk over 1px/2px gaps in some cases, such games (with incorrect walkable areas) may break as well.
It's impossible to make the new pathfinder behave like the old one simply because it may choose more or less different paths, so if full backward compatibility is a concern,
the only option is to either revert or make the two coexist, because you can never get rid of the old pathfinder in that case.

Crimson Wizard

Quote from: KyriakosCH on Sun 10/06/2018 10:58:02
Is there any plan to implement CW's excellent "typewriter" text animation (ala jrpgs) in a future version of the engine?
Because i am sure it would get a lot of use.

Personally I was against it, because I always believed the engine should provide basic building blocks and get extended with script modules.
There is too many ways text typing could be customized, too much to add it all to the engine, IMO, so sooner or later you would need a script module anyway.
Perhaps it would be a better option to extend script event system and ease customizing text output in the script. Like allow easier scripting speech speech style, something that we were discussing in the past.

SMF spam blocked by CleanTalk