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 - morganw

#41
I don't have a Twitch account to sign-in but am watching and it is very interesting.
#43
The easiest way is to use a different room for the close-up view since you get the transition effect for free as part of the room change, but that only works if you are willing to transition the background too.

If the close-ups are specific to their rooms then you could use room objects but that isn't as useful when you can view a close-up of something from multiple rooms.

You can directly show an image as a graphical overlay:
https://adventuregamestudio.github.io/ags-manual/Overlay.html#overlaycreategraphical
...but that is more complicated than a GUI if you want to adjust the transparency to fade it in or out.

So likely the GUI is the easiest option in this case.
#44
You can download the last revision of the old version (with timed clicks) from here:
https://github.com/adventuregamestudio/ags-template-source/archive/440e6acd32faed710aa0512f21ff404b8e80c84b.zip

If you want something that works exactly like CMI it is likely a close match but the part of the reason it was changed was because some players don't even think to try a timed click (outside of using a touch screen).
#45
I liked this game a lot and found this interesting.

#46
Basically all of the application settings are in the local appdata directory in the user profile (AppData\local\AGS) so just renaming that directory or deleting the contents would do a reset. I'm not entirely sure why it is so prone to corruption. I know in one case someone's hard drive was failing but it happens often enough that I think anti-virus might be interfering with the save process, which is a bit strange because this is using the de facto configuration management system provided by .NET rather than something custom.
#47
Are you saying that it is your intention to have a 1920x1080 video playing in your game or do you mean that you cannot find a way to down-scale it to 320x200? I'm not sure what the engine does when the video resolution doesn't match the game resolution but if the video is being down-scaled as it plays that might create some additional overhead.
#50
I've seen that programs supplied within a dmg image don't get restricted in the same way that programs distributed in a zip file do, although I imagine it may get stricter in the future. But if the app is copied into a dmg image within the CI environment I think that would likely prevent any issues relating to extended atributes flagging the files as high risk. The only thing that has tripped me up in the past is that the utility to progamatically create a dmg image now defaults to using APFS as the filesystem but not all macOS versions can open that.
#51
You need to 'unblock' (right-click, properties) the file because there is metadata stored with it that indicates it has been downloaded from the Internet.

If you've copied the file somewhere that isn't writeable from an unelevated process (e.g. you've dragged it into C:\Program Files) then you wont be able to use the unblock button, so you'll need to do the unblocking before copying the files into place.
#52
Possibly there is some scope to present everything through the development domain adventuregamestudio.github.io. At the moment it is only used for accessing the web build of the manual but there is an open Issue to create an initial frontend which links the development resources, all the current downloads, and the manual:
https://github.com/adventuregamestudio/ags/issues/616
...if there was an officially endorsed news/review sub-site available in the same place I think that would be OK. Obviously if you would rather make some that is clearly independent of the project itself, or the content wasn't suitable for general consumption, then this approach is probably not suitable. And these are just my opinions so other people would need to be involved in the discussion too. To my mind it is beneficial for both parties as long as both are active.

The GitHub hosting is static file only so Wordpress wouldn't be possible. But you could use any static site generator; building with Jekyll can be done automatically within GitHub (without involving any additional services) but any build process that creates a static web site should be able to be integrated.

If a better domain name came up in future then it would be possible to present everything behind that new domain instead, so the only technical restriction for the content that I can think of right now would be to avoid explicit links to the domain adventuregamestudio.github.io.
#53
Quote from: timid_dolphin on Sun 20/06/2021 10:51:59
Not quite what I'm after though, I really like the user experience of the Modernized VerbCoin template which game with AGS- it's pleasingly minimal.
Is there any documentation or a thread about that particular template? I've been searching but haven't been able to find it.
At the moment the only documentation for it is here:
https://adventuregamestudio.github.io/ags-manual/TemplateVerbcoin.html

Quote from: timid_dolphin on Sun 20/06/2021 10:51:59
It seems like the Modernized Verb is hardwired to support four verb buttons, but I'd love to be proven wrong on that!
You can register up to four verb buttons but the positions are hard-coded, so as an example you couldn't have one button in the middle. The main purpose of rewriting it was to give a new starting point for something better, so in theory it is just waiting for a mathematical hero to add a generic layout method that can accommodate different shapes, icon sizes, and styles. But in the mean time you could just replace the existing layout code and the fixed layout positions.

i.e. edit this function:
https://github.com/adventuregamestudio/ags-template-source/blob/3a4224d9fbd085cf2a26edc9d669cf17df38a266/Verb%20Coin/VerbCoin.asc#L170-L212
#54
If you've just downloaded and extracted the zip file version then likely Windows has flagged everything in the zip file as coming from the Internet, and default .NET restrictions will stop the dll files from being used.

You need to "unblock" the files:
https://adventuregamestudio.github.io/ags-manual/TroubleshootingWindowsZoneID.html#how-do-i-clean-my-ags-editor-files-of-alternate-data-streams

It is much easier to "unblock" the zip file and then extract it, as it is Window's built-in unzipping process that propagates the flag to block the usage.
This problem doesn't affect the installer based version.
#55
I think there is some scope to add cross-compilation in and reduce the number of locations where something has to build, and I think two build systems can probably cover all platforms (and one can bootstrap the other if it isn't present). Unfortunately there are also political and philosophical elements to it: for each person who wants to use $buildsystem there is likely someone else who will get angry at its introduction, so unless it is introduced with a large upfront benefit there is likely to be an argument.
Spoiler
(I'm trying one out at the moment but I won't say which one)
[close]
#56
The current CI setup is probably best described as being all of the tasks that someone was previously doing manually being done automatically. There is a lot of "build this here", "copy this there", "delete these and then make a zip file", etc. To be honest I would say it borders on abuse of the services we are using. It does work but the only place where the actions are defined are within the CI config and they don't work outside of that (possibly you can use "Cirrus CLI" to run things locally but I haven't looked into it - my general experiences with Docker based services has been poor).

Ideally the build system needs to handle more of this, and the CI system just invokes the build system. The requirements for different build stages are also very different, probably different enough that I don't think a single build system can cover them all on all platforms unless it installs a language and/or environment just to build with, which is generally the opposite of what people want when building on their own machine.

In a lot of cases though I think there is no issue of binary compatibility between parts that would be missing from an Editor build, so I have considered that if there was a binary package manager for AGS script modules it could distribute release or pre-release build components (possibly on a temporary 'channel' for pre-release), and then for someone who just has Visual Studio and nothing else it is probably possible to hook a package download to the build sequence.
#57
Quote from: Snarky on Sat 17/04/2021 06:31:45
Quote from: morganw on Sat 17/04/2021 02:11:02
Permissions-wise everything is set as executable, which isn't correct in terms of the file types, but it does mean that the parts that need to be executable are executable.

So, this is a separate problem, right? Does it break anything, or is it just that some of the file properties are not technically correct? I must admit, I found the instructions rather confusing (in particular, I don't know how to "edit the file to set the permissions you want," since I do not know which permissions are needed for each file).

It doesn't break anything but there are also additional files in the archive which you didn't need to distribute. The example mtree file is a valid one you can use. It uses mode=755 for executable files and directories, and mode=644 otherwise.
#58
Quote from: Snarky on Fri 16/04/2021 22:32:31
It would also be good if a Linux user could confirm that everything is packaged up correctly.

The engine version is old enough that the PNG library issue is present, so I think for most people it isn't going to start:
Quoteerror while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory

Permissions-wise everything is set as executable, which isn't correct in terms of the file types, but it does mean that the parts that need to be executable are executable. tar on macOS should be bsdtar which supports mtree format natively, so you should be able to create a map of how to build the archive by running this in the game directory:
Code: sh
tar -acvf ../../AGSAwards.mtree *


Then edit the file to set the permissions you want, so you end up with something like this (note symlink path needs to be relative or the entry needs to be removed):
Code: ags
#mtree
./AGSAwards2020 mode=755 gid=0 uid=0 type=file
./data mode=755 gid=0 uid=0 type=dir
./data/AGS\040Awards\0402020.ags mode=644 gid=0 uid=0 type=file
./data/Readme.txt mode=644 gid=0 uid=0 type=file
./data/acsetup.cfg mode=644 gid=0 uid=0 type=file
./data/ags32 mode=755 gid=0 uid=0 type=file
./data/ags64 mode=755 gid=0 uid=0 type=file
./data/audio.vox mode=644 gid=0 uid=0 type=file
./data/lib32 mode=755 gid=0 uid=0 type=dir
./data/lib32/alleg-alsadigi.so mode=644 gid=0 uid=0 type=file
./data/lib32/alleg-alsamidi.so mode=644 gid=0 uid=0 type=file
./data/lib32/libagssock.so mode=644 gid=0 uid=0 type=file
./data/lib32/libaldmb.so.1 mode=644 gid=0 uid=0 type=file
./data/lib32/liballeg.so.4.4 mode=644 gid=0 uid=0 type=file
./data/lib32/libdumb.so.1 mode=644 gid=0 uid=0 type=file
./data/lib32/libfreetype.so.6 mode=644 gid=0 uid=0 type=file
./data/lib32/libogg.so.0 mode=644 gid=0 uid=0 type=file
./data/lib32/libtheora.so.0 mode=644 gid=0 uid=0 type=file
./data/lib32/libvorbis.so.0 mode=644 gid=0 uid=0 type=file
./data/lib32/libvorbisfile.so.3 mode=644 gid=0 uid=0 type=file
./data/lib32/modules.lst mode=644 gid=0 uid=0 type=file
./data/lib64 mode=755 gid=0 uid=0 type=dir
./data/lib64/alleg-alsadigi.so mode=644 gid=0 uid=0 type=file
./data/lib64/alleg-alsamidi.so mode=644 gid=0 uid=0 type=file
./data/lib64/libagssock.so mode=644 gid=0 uid=0 type=file
./data/lib64/libaldmb.so.1 mode=644 gid=0 uid=0 type=file
./data/lib64/liballeg.so.4.4 mode=644 gid=0 uid=0 type=file
./data/lib64/libdumb.so.1 mode=644 gid=0 uid=0 type=file
./data/lib64/libfreetype.so.6 mode=644 gid=0 uid=0 type=file
./data/lib64/libogg.so.0 mode=644 gid=0 uid=0 type=file
./data/lib64/libtheora.so.0 mode=644 gid=0 uid=0 type=file
./data/lib64/libvorbis.so.0 mode=644 gid=0 uid=0 type=file
./data/lib64/libvorbisfile.so.3 mode=644 gid=0 uid=0 type=file
./data/lib64/modules.lst mode=644 gid=0 uid=0 type=file
./data/licenses mode=755 gid=0 uid=0 type=dir
./data/licenses/ags-copyright mode=644 gid=0 uid=0 type=file
./data/licenses/liballegro4.4-copyright mode=644 gid=0 uid=0 type=file
./data/licenses/libdumb1-copyright mode=644 gid=0 uid=0 type=file
./data/licenses/libfreetype6-copyright mode=644 gid=0 uid=0 type=file
./data/licenses/libogg0-copyright mode=644 gid=0 uid=0 type=file
./data/licenses/libtheora0-copyright mode=644 gid=0 uid=0 type=file
./data/licenses/libvorbis0a-copyright mode=644 gid=0 uid=0 type=file


Commit this file and then use that as the input for the archive, so assuming you store the mtree file at the root of the project directory you would run:
Code: sh
tar -cvzf AGSAwards2020.tar.gz -C Compiled/Linux @../../AGSAwards.mtree


You can use the same file on current versions of Windows 10 (reverse the slash direction in the tar commands). Or this will do it for you.
#59
It would be bad to block the process from closing when it wasn't expected. I think how it works now may not be convenient but it is logical and correct given that this is not a console application and it doesn't know exactly where the output handles are pointing. These are the same reasons that it doesn't attempt to attach by default, which is very convenient but also introduces edge cases where it does the wrong thing.
#60
It might be easier to write it as a switch statement:
https://adventuregamestudio.github.io/ags-manual/ScriptKeywords.html#switch-case-statements
...it would also allow you to remove duplication of dialogue within the script because you can specify more than one case for the same result.

Untested example:
Code: ags
function iMachete_UseInv()
{
  switch(player.ActiveInventory)
  {
    case iPistola:
    case iPistolaDeArponCargada:
    case iLanzadorDeLianas:
      player.Say("Mejor no, podría arruinar la pistola");
      break;
    case iCraneo:
      player.Say("No quiero cortar la flecha");
      break;
    case iLiana:
      player.Say("No me interesa atar eso");
      break;
    case iFlecha:
      player.Say("No quiero recortar la flecha");
      break;
    case iIdolo:
      player.Say("La doctora lo prefiere en una sola pieza");
      break;
    case iFlechaAtada:
      player.Say("No quiero acortar ni la flecha, ni la soga");
      break;
    case iPiedra:
      player.Say("Prefiero mantenerlo en buenas condiciones");
      break;
    default:
      // do something here if nothing matched
      break;
  }
}
SMF spam blocked by CleanTalk