Author Topic: The Best AGI fan-made games?  (Read 1410 times)

0 Members and 1 Guest are viewing this topic.

Offline Collector

Re: The Best AGI fan-made games?
« Reply #15 on: January 23, 2024, 07:38:28 PM »
Eric, pretty sure you already have one for the SCI Wiki. Do you want one for the AGI Wiki, too?
KQII Remake Pic

Offline Collector

Re: The Best AGI fan-made games?
« Reply #16 on: February 06, 2024, 08:18:28 PM »
I just finished completing the AGI fan release list. http://agiwiki.sierrahelp.com/index.php/Fan_AGI_Release_List_(Sortable)
KQII Remake Pic

Offline lance.ewing

Re: The Best AGI fan-made games?
« Reply #17 on: February 07, 2024, 09:59:37 AM »
Thanks Collector. That is really useful. I've been playing a little of each of these to get a feel and there are some really good ones in there, particularly from a graphics perspective. I am staggered at how prolific Robin Gravel was with regards to AGI game output. Puts me to shame with my single 14 room demo. I've struggled to add even a single room more to The Ruby Cast. Robin is a true legend! Haven't seen him on the forums here for a long time.

Offline Collector

Re: The Best AGI fan-made games?
« Reply #18 on: February 08, 2024, 11:18:46 AM »
And some of those he did two versions, one in French and one in English. Unfortunately, he used AGI Mouse with many of those, which AGILE ignores. It will load those games, but you cannot proceed once you have to select something to continue. Not sure how hard it would be to implement any of the AGI interpreter hacks or if they should be.

Robin was on the forum 2021, but disappeared again shortly after. Looks like he has deleted all of the posts he has made here for some reason.
KQII Remake Pic

Offline lance.ewing

Re: The Best AGI fan-made games?
« Reply #19 on: February 08, 2024, 01:21:51 PM »
Implementing AGI Mouse, AGIPAL, AGI256 and AGI256-2 are all fairly trivial. I've done it in my most recent AGI interpreter project (agile-gdx), which some of you may have noticed if you follow me on github. I will apply the same updates to the C# version of AGILE when I get a chance. For now I'm focusing on agile-gdx though. I'm not too far off thinking about deploying it somewhere for people to try. I'm a bit of a perfectionist though, so not wanting to let it go before I know that it is easy to use and doesn't have any major bugs.

In summary, it is AGILE for the web. The code started out being a port of the C# version, so it should be on par with that one with regards to AGI compatibility, unless I introduced a few bugs during the conversion. I used something called libgdx that I have previously used for a few emulators that I wrote (jvic, jectrex, joric), which has the code in Java but then uses that to create versions for various platforms. In the case of agile-gdx, I am targetting HTML5 (as the main target), Android, and Desktop as an extra (due to it being Java). The Desktop version could be used on machines other than Windows, which makes it more flexible than the C# version. In theory, the HTML5 version could be packaged up as a desktop version as well to target multiple desktop platforms. I haven't really focused on the Android part of it yet, because I know that will work, from having used libgdx before (Android was my main focus for those emulator projects). For this one, HTML5 (i.e. the web) is the main focus, and it is something I hadn't targeted before with libgdx, so it was a bit of a learning curve to get things working properly. But all appears to be working quite well now. It requires a couple of HTTP response headers to be returned from the serving server in order for the web browser to agree to use certain features, but that is easy to set up on something like Cloudflare Pages or similar service. Github Pages unfortunately does not let custom headers be set in the HTTP responses, so I don't think I'll be able to host the running app alongside the code repo (as I have done for some of my HTML5 games in github). So I'm currently thinking I might try out the free tier on Cloudflare Pages.

I know that there are already two ways (that I know of) to run AGI games in the browser. One is obviously the way that archive.org does it, which is to run dosbox in the browser running the original game. And we also have sarien.net, which is a conversion of AGI games into HTML5 (so not an AGI interpreter as such). What agile-gdx would give us is an actual fully functional fan made AGI interpreter that runs directly in the browser (i.e. without a DOS emulator). I've got saved games working by using a new browser feature called OPFS (Origin Private File System). It seems to work really well. I've also got the interpreter cycle working pretty much perfectly. I had to make use of a web worker so that it doesn't block the UI thread in the browser, which is single threaded and therefore blocking it is really bad. That complicated things a bit though, because the UI thread and web worker then needed a way to share state. The main way I've done that is to use something called SharedArrayBuffers. When one side puts something in there, the other side sees it immediately, so no need to pass messages or anything like that. Pretty cool for the web. This is why I need those custom HTTP response headers though, since a browser won't just let you use these features. Already the SharedArrayBuffer was backed out due to a security issue a few years ago. It is only recently that all web browsers have reintroduced it with the security headers. I think it was March 2023 that it was officially available again in all browsers.

I'm also using OPFS to store the AGI game data files when a game is imported into agile-gdx, meaning that you don't have to import it every time you go to the website. The initial import is similar to the C# AGILE version, i.e. where a file dialog opens up and you select a folder. Everything in the folder then gets uploaded into the running app (it doesn't go anywhere near a server, since it all runs directly in the browser) and then it puts the files it recognises as AGI files into OPFS ready to be used the next time you go to the website. The gotcha with this is that OPFS is specific to the particular browser and machine that you are using, and also to the domain name and port of the website. So if you were to go to the website on another machine, or another browser, you would see the starting state again, i.e. no games to run yet. Also if you clear your browser data, that will also clear the OPFS storage. I would be annoyed if I did that after importing 100 AGI fan made games, so I might add a feature at some point to upload multiple games, perhaps from a single zip or something like that (I've already worked out how to unzip files within the browser with JS, so it should be easy to do).

I want to tidy it up a bit more, do some more testing, before I put it out there on the Internet, since once it gets out, I can't really take back that first release. I'd like to think that it becomes more popular than the C# AGILE interpreter, since the whole point was to make it really easy to use, without any installation required, and I think that certain communities on the Internet are going to find it quite cool to try out. So I'm hoping to make a good first impression. We might be able to attract a few more people into these forums as a result. It would be nice to get the domain name right first time as well, since, as I say, the OPFS bit (which is used for both saved games, and imported data files) is tied to the website domain name (in addition to the browser and local machine being used), so it wouldn't be great to rehost it with a different domain name later on.

Regarding Robin Gravel, I can still see his posts, including some from 2021.

Offline Collector

Re: The Best AGI fan-made games?
« Reply #20 on: February 09, 2024, 09:28:59 AM »
I have noticed that AGILE fails to load a couple of fan games not using a hacked interpreter. These usually use NAGI instead of the original DOS interpreter. I suspect that these games have memory issues. I have noticed a couple of games that AGILE does not recognize as AGI. Some of these may be because of unrecognized hashes. After I get through with updating the Wiki entries I was thinking of going through the games with my version tool to update its fan game list. I can then update the hash list in AGILE. I do have to regain access to my GitHub account since I got locked out of it after they went to the two factor login.

The user admin interface of this board was not showing any posts by Robin and the one I knew of seems to have been deleted, but I do see some threads of his if I just look through the topics list.
KQII Remake Pic

Offline lance.ewing

Re: The Best AGI fan-made games?
« Reply #21 on: February 10, 2024, 03:15:57 AM »
Let me update the detection list first. I have a whole lot of new ones from testing agile-gdx that I noticed were missing.

Offline EricOakford

Re: The Best AGI fan-made games?
« Reply #22 on: February 10, 2024, 10:20:20 PM »
At this point, I've given up trying to get SQ0 running on the original AGI interpreter. The game is simply too advanced. It's better off just getting an SCI0 remake, which I'd started work on a while ago. Maybe if the AGI pics can be converted to SCI format, I could easily adapt the AGI logic code to SCI script code.

On the plus side, I've had much better luck getting other fan games ported to AGI3.
My SCI templates
SCI0 SCI0.1 SCI1.0 SCI1.1
SCI2.1 planned

Offline lance.ewing

Re: The Best AGI fan-made games?
« Reply #23 on: February 11, 2024, 06:10:31 AM »
I did notice that there was an AGI source to SCI source converter in that big ZIP of original Sierra tools that appeared on archive.org a couple of years ago. I think they must have used that to convert the KQ4 AGI source, but that's just a guess. I can't recall if we have discussed that particular tool on this forum before. Given they had such a tool, I wonder if they had other AGI to SCI conversion tools. Converting VIEWs is probably straight forward, as long as you simply double the pixels in the X direction. The PICTUREs would be more difficult though. It would be possible to scale it in the X direction, but the end points of lines would probably not line up in order to avoid fills spilling out, and pixels would be a bit off in other places as well causing issues. I don't think it would be trivial to build something that works 100%, so it would need some human fixing afterwards for each picture. Rather than SCI0, would it be better to use a SCI version that supports bitmaps and simply stretch the drawn pictures? It would still be 16 colour, using the EGA palette, and look exactly like the 160x168 pictures. You'd have to keep a black section at the bottom, as we have in AGI, i.e. don't stretch it in the Y direction.

Offline Kawa

Re: The Best AGI fan-made games?
« Reply #24 on: February 11, 2024, 06:37:48 AM »
I have ran that AGI to SCI tool myself, tried it on Larry 1.

It is most certainly not what they used for KQ4.

Let's just say the SCI script output is basically a straight-up conversion of the AGI logic input. It reads almost exactly like logic. Completely unusable, really.


Edit: Hold on, let me run it again and attach the result, converted from the original LSL1 RM13.CG to RM13.SC by AtoS.
« Last Edit: February 11, 2024, 06:42:12 AM by Kawa »

Offline lance.ewing

Re: The Best AGI fan-made games?
« Reply #25 on: February 11, 2024, 02:56:47 PM »
Interesting. I wonder why they bothered to write such a tool, if not to use during that era when they were switching from AGI to SCI. Perhaps it was an idea they tried but it didn't pan out. Or maybe it was a first pass, as a kind of check list generated in code, and then they reworked it manually after that until it was almost unrecognisable.

Offline lance.ewing

Re: The Best AGI fan-made games?
« Reply #26 on: February 11, 2024, 03:04:10 PM »
I have noticed that AGILE fails to load a couple of fan games not using a hacked interpreter. These usually use NAGI instead of the original DOS interpreter. I suspect that these games have memory issues.

Do you have the names of the affected games?

I have noticed a couple of games that AGILE does not recognize as AGI. Some of these may be because of unrecognized hashes. After I get through with updating the Wiki entries I was thinking of going through the games with my version tool to update its fan game list. I can then update the hash list in AGILE.

I have updated the C# AGILE project so that it has my full list of md5 hashes now. Can you check those games again with the latest code?

When you say that it does not recognise them as AGI, do you mean that it says it is an unrecognisable game but still runs the game? If so, then it would be recognising it as AGI but not what game it is.

Offline lskovlun

Re: The Best AGI fan-made games?
« Reply #27 on: February 11, 2024, 03:28:09 PM »
Interesting. I wonder why they bothered to write such a tool, if not to use during that era when they were switching from AGI to SCI. Perhaps it was an idea they tried but it didn't pan out. Or maybe it was a first pass, as a kind of check list generated in code, and then they reworked it manually after that until it was almost unrecognisable.
I believe Jeff Stephenson said he wanted a clean slate when he pitched SCI to Ken Williams. So who knows. But it shows that they were not averse to such tools. I'm thinking that they may have used a similar tool for the GAL -> AGI conversion. But then again, the AGI version of KQ1 is very different in some respects, so perhaps not.

Offline Collector

Re: The Best AGI fan-made games?
« Reply #28 on: February 11, 2024, 04:51:42 PM »
I have noticed that AGILE fails to load a couple of fan games not using a hacked interpreter. These usually use NAGI instead of the original DOS interpreter. I suspect that these games have memory issues.

Do you have the names of the affected games?

I have noticed a couple of games that AGILE does not recognize as AGI. Some of these may be because of unrecognized hashes. After I get through with updating the Wiki entries I was thinking of going through the games with my version tool to update its fan game list. I can then update the hash list in AGILE.

I have updated the C# AGILE project so that it has my full list of md5 hashes now. Can you check those games again with the latest code?

When you say that it does not recognise them as AGI, do you mean that it says it is an unrecognisable game but still runs the game? If so, then it would be recognising it as AGI but not what game it is.

Now that I have gone through the list on the Wiki and fixed the individual game pages I'll turn my attention to updating my version tool. I can easily invoke AGILE for the loaded game from the tool and document issues while updating the hash entries for it. Since I need to get access to my GitHub account I can't merge your updates with my fork right now.

As to AGILE not recognizing AGI games it seems to mostly games that the interpreter and OVL files were replaced with NAGI and its required files.
KQII Remake Pic


SMF 2.0.19 | SMF © 2021, Simple Machines
Simple Audio Video Embedder

Page created in 0.033 seconds with 23 queries.