Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Crimson Wizard

#1
Please tell, which exactly part of the above you are stuck with, is that using the double click module, or scripting interaction with a hotspot, or instant change room?


EDIT:
I suppose that the problem here is that AGS hotspots do not provide "on double click event" kind of interaction by default which you could run.
But AGS supports custom "verbs". This is not very obvious, but they may be added by editing existing "Cursor modes", starting with ones called "usermode1" and "usermode2".

I guess this may be done like:
1. Choose one Cursor mode and rename it to "DoubleClk" or else what you think is appropriate.
2. Now for every hotspot that would support double click you may create a event function for this custom event "DoubleClk".
3. When using Double click you determine whether there's a hotspot under mouse, and run "double click" event it:

Code: ags
function on_mouse_click(MouseButton mb)
{
    if (mb = eMouseLeft)
    {
        if (DoubleClick.Event[eMouseLeft])
        {
             LocationType loc = GetLocationType(mouse.x, mouse.y);
             if (loc == eLocationHotspot)
             {
                  Hotspot *h = Hotspot.GetAtScreenXY(mouse.x, mouse.y);
                  h.RunInteraction(eModeDoubleClk);
             }
        }
    }
}
#2
Quote from: Crimson Wizard on Sun 12/11/2023 06:25:58But to get to the actual release i'd need to do alot of tidying up.
* Add file stream to the 3.6.1 plugin API.
* Clean up plugin sources after lots of experimenting.
* Ensure plugin still runs with older engines, and correctly limits its functionality.

This is practically done, what is currently pending is to merge the new API into the 3.6.1 engine, and then I'll be able to release a plugin's update that will fully functional on Android.

As a consequence of these changes this plugin will actually be able to load OGV videos packaged inside ags game too (previously it could only load from standalone files).
#3
Quote from: Khris on Thu 16/11/2023 08:49:50@alzabel
Press F7 so the game is compiled, then use the Windows Explorer to go to the game folder, then to Compiled/Windows. In there, run winsetup.exe and you can pick a scaling method for fullscreen and window mode.
Provided you didn't change the relevant setting in the editor's preferences, this configuration is now used when you run the game from the editor by pressing F5.

I'd like to elaborate a bit.

AGS distincts game properties (these define game's internal behavior) and runtime config which tells how the game is run. Game author may provide default config, but players are free to change it using the provided setup program (or even by editing cfg file by hand).

In the Editor, there's a tree node called "Default Setup". It lets you set the config defaults.

You may also run setup application either by going into Compiled folder, like Khris explained, or doing "Build -> Run game setup" in the menu. This setup application lets you run game differently and experiment with settings, but be aware that anything you change there will be your personal settings on this exact computer, and won't affect your players.

More information may be found in the manual:
https://adventuregamestudio.github.io/ags-manual/DefaultSetup.html
#4
A while ago selmiak has requested that when objects and characters are moved by keyboard in the room editor, the editor would also display their coordinates, similar to how they are displayed when being dragged by a mouse.
https://github.com/adventuregamestudio/ags/issues/984

I tried to make this work with a small change
https://github.com/adventuregamestudio/ags/pull/2229

But that immediately raised a question of when to hide this extra label with coordinates on them.

The problem is, when you move with a mouse the hint may stay for as long as the mouse button is down.
But with keyboard, when arrow is down the object will keep moving. User may want to stop for a while to think, or check something. If I make the hint disappear in this moment, then user will have to hit an arrow once again to make it reappear, but will move object away from its location at the same time. This makes things uncomfortable, and I am concerned that this will defeat the purpose of the fix.

There are following options that came to mind (there may be others which i missed):
1. Make coordinates display all the time so long as object is selected;
2. Keep coordinates display after it's been moved by keys until it's moved by mouse or deselected;
3. Hide this hint by a timer run after user released the moving keys (but then some users may argue that timeout is not enough).

I cannot decide, so post here to ask for opinions.
Option 1) is the simpliest, but I wonder if users won't like how it looks like.


If you like to see how this works,
there's a temp build with this feature (3.6.1 based): https://cirrus-ci.com/task/6302126616346624
here's a video recorded:
https://github.com/adventuregamestudio/ags/pull/2229#issuecomment-1810476782
#5
Quote from: Dave Gilbert on Tue 14/11/2023 19:21:36Hi! I found a copy/paste bug in the latest version.

In the dialog editor tab, if I copy some text and try to paste it into one of the "option text" fields (using control-v), the text gets pasted into the SCRIPT instead of the option field.

Thank you for reporting, we're looking into this now.

As a workaround, use a "paste" command from the text field's context menu. This bug only occurs when you use keyboard shortcuts.
#6
Quote from: AndreasBlack on Wed 15/11/2023 01:18:53Edit: Sorry of-topic but...What do you mean a added background increases the room size, how much is that?

Every added thing increases the game's size. In case of room bg the numbers depend on resolution and compression factor. Room bgs are compressed with LZW, so they are not equal to a raw image pixels and it's difficult to calculate their sizes on disk. But you may take room file (roomN.crm), remember its size, add a background and see how size changes.
Whether it's a big deal or not is again a situational thing, but my point being that if it's just to fill room with color, then it's not economical to add bgs to each room for that.
#7
Coincidentally we talked on Discord about this. There were few performance fixes for Android in version 3.6.1 recently, and also 3.6.1 overall works faster. So I suggest to try using 3.6.1 Beta for building games for Android.

One problem though, most recent 3.6.1 Beta contains a bug that prevents a game from starting. So for now please use following temporary builds:
https://cirrus-ci.com/task/6489562277478400

I recommend doing a copy of your game project if you were working in previous versions (like 3.6.0).

Please tell if this newer version improved anything. If there are still problems, we'll have to investigate further.
#8
Quote from: AndreasBlack on Tue 14/11/2023 14:34:56I would say add two backgrounds in the room. One that is black and one that's normal.

1. That won't hide any objects or characters in the room.
2. Adding this to any room where dialog may take place will unnecessarily increase the size of each room file. In case you need a room bg filled with color, it's more efficient to use DrawingSurface and color them by a script command.
#9
There's a mistake in Android port in this version, it does not let to start a game.

Here's a temporary editor build that has this fixed:
https://cirrus-ci.com/task/6489562277478400
#10
This is a bug in 3.6.1 which has been fixed only few days ago.

Please try this temporary editor build instead:
https://cirrus-ci.com/task/6489562277478400
#11
Please tell, which version have you run? This problem was supposed to be fixed in the past, I'd like to know if still present in the newer ones.

The workaround for this was to go to the location printed in the error message and delete "user.config" file by hand.

EDIT: apparently this was not fully fixed in 3.5.1, it's still possible to cause this error in 3.6.0 and 3.6.1.
#12
Quote from: The Great Underground Empire on Sun 12/11/2023 13:47:53Ah, there we go, thank you!  I didn't realize it was in that user folder, I kept searching the Compiled folder thinking it should be saved in there like the old Sierra games did. :grin:

Only for the reference, you can also force AGS to save in the exe dir by setting a "custom save path" in setup (not that I suggest doing that without a serious need).
#13
I made an attempt to build this for Android, it's quite rough and dirty though:
https://github.com/ivan-mogilko/ags-spritevideo/tree/android

preliminary build for a test:
https://www.dropbox.com/scl/fi/hh8fnokfl47918ixcavd9/libags_spritevideo.zip?rlkey=zgds6fc4hs5ztvri2ite5h78n&dl=0

UPDATE: the plugin is working, there are some issues, like sprite colors may be mismatched (RGB->BGR), but that is a minor problem compared to the rest.
I keep testing and fixing this in a spare time.

UPDATE 2: the biggest problem at the moment is that AGS plugins cannot read data that is not on disk, at all. Like, if a video file is packed inside the game's package, or inside Android's standard package, it cannot see and get it. Plugins only understand raw files on disk.
Idk if it's possible to force android to unpack some game files from APK. But ideal solution would be to add plugin API which requests "custom file stream" from the engine, which may load data from anywhere as needed. This is something that has to be done in AGS itself, plugin code cannot do that on its own.

This is an old problem with plugins, that has not be resolved still after all these years unfortunately.

I'm currently considering to add this ability to 3.6.1. This may be used even if you're making game in earlier versions (for example, make main game in 3.6.0, and build for Android in 3.6.1).

https://github.com/adventuregamestudio/ags/issues/2226

UPDATE 3: I got the experimental version working on Android, with video playback.
But to get to the actual release i'd need to do alot of tidying up.
* Add file stream to the 3.6.1 plugin API.
* Clean up plugin sources after lots of experimenting.
* Ensure plugin still runs with older engines, and correctly limits its functionality.
#14
To provide an alternate opinion, "programming" is often quite visible in AGS games, because of how engine is focused on particular gameplay and offers little to no foundation for another. Hence it's quite easy to notice something that was programmed from ground up as opposed to games using built-in behavior.

EDIT: but of course such category will be prone to not having enough competitors each year. So maybe consider the some kind of "special award" as with "Good character".
#15
Quote from: eri0o on Thu 09/11/2023 00:14:12I don't know if the engine can load a "naked" game28.dta file (it refused to load when I tried)

I think it is supposed to, as there should not be any difference between loading this from disk or from package. Have you tried on Windows first?
#16
I wonder if it would be possible and make sense to make special awards done by popular demand without a category, for games with outstanding features.

Then the "interesting character" award could be among these.
#17
Quote from: eri0o on Wed 08/11/2023 17:04:11Overall it would be better if there was some way per room where AGS could know everything that would be needed, then there could be some way to figure a strategy.

Yes, indeed, this would require to develop a different resource strategy for AGS games, where necessary resources are defined either by user script and settings or by automatic analysis of the scene. This is not going to be trivial, but may be necessary in the future, especially since people are trying making games in AGS which require heavy resources (hires gfx, etc).
#18
Quote from: eri0o on Wed 08/11/2023 15:51:20I have a guess Android is compressing asset files and this is making jumping through offsets very expensive when accessing these files

But this means that it may be beneficial for Android ports to preload game resources once instead of re-reading or streaming them?

Overall it seems that the standard resource strategy of AGS is not fit for the mobile, and possibly for consoles too.
#19
If not the difference with other sound formats, I'd think this is purely an issue of slow resource search.
But that won't explain
QuoteChanging the sound file for a .wav creates a seamless experience in-game, while a .mp3 will create a very short freeze (around 1 second max).
#20
Quote from: LimpingFish on Wed 08/11/2023 01:03:33
Quote from: catHere are the numbers of nominating and voting people per year.

Well, what this shows me is that fifty people (give or take ten or so) has decided both the nominees and the winners for the better part of a decade. That is a shockingly small turn out, especially if we take into account that a percentage of those numbers are also potential nominees/winners.

I have the same impression. AGS games today may be found all around the gaming platforms (Steam, GOG, itch.io etc), and I'd speculate that most popular ones are played by thousands of players in the end (might have to ask the devs for the sales number though). Yet the AGS Awards remains a business of a sort of a "closed club" on AGS forums.


Given the two tables, I see the obvious decline in interest to AGS engine in the last decade. The mid-2000ies were "golden age" for this engine, where people probably did not bother about commercial success and just made simple games for enjoyment. Today people would likely use Unity 3D for the same thing.
But I digress...
SMF spam blocked by CleanTalk