Author Topic: CrafterCMS (Online AGI tools)  (Read 10299 times)

0 Members and 1 Guest are viewing this topic.

Offline russdanner

Re: CrafterCMS (Online AGI tools)
« Reply #15 on: February 26, 2024, 09:42:50 PM »
Hi everyone.

I am pleased to e-meet you. I had no idea this site (or all the games and discussion) existed. Awesome! Thanks for the "add."

A quick thank you to anyone who has or is playing the game. I am happy to make improvements and fix bugs, etc, as long as it doesn't change the points/plot. I added some basic analytics on what people enter as commands in each room, which has been educational. I clearly need to improve my vocabulary, Also every bit of the game and the tools that built it are open source if that helps anyone. Thanks again if you have given the game a go. I hope you got a few chuckles and moments of nostalgia from it.

Lance and I briefly chatted about the game's "compatibility issues." Some of these are compiler bugs and should be easy to address. I'll do that ASAP. There may be [are] other issues that are true engine compatibility issues because I "built to" AGI.js.  These may take a bit more effort, but I think it would be worth it to address them as well.

I suppose a whole other topic is AGI.js.  The project felt dormant when I found it, but I revived and extended it enough to meet my goals. It sounds like there are alternatives with more robust adoption. I'm not married to keeping AGI,js alive if there's a better answer. I do appreciate all the original work that went into it. The lot of you who are keeping these games and game engines alive are heroes <3

Offline lance.ewing

Re: CrafterCMS (Online AGI tools)
« Reply #16 on: February 27, 2024, 03:06:59 AM »
Hi Russ. Welcome to the site! Congrats again on the interesting approach to a suite of AGI development tools. Thank you for all the hard work you have put into it. As @AGKorson (author of WinAGI) will know from a chat I had with him a few months ago, one of my longer term goals was/is to build a web based AGI development "IDE". My current project (web version of AGILE) is meant to be a step towards that, in addition to what I think will be well received as a standalone interpreter. When I saw your tools, I thought, "Wait a second! This is almost exactly what is needed for the editor side of things". I haven't yet played around enough to see how polished it is, as I was struggling to load a game into it, but given you used it to build Let Them Eat Cake, then it must be a long way towards something that other people can also use.

As I mentioned via email, both myself and @AGKorson should be able to help you debug some of the export issues. Earlier messages in this thread covered the OBJECT file already. A good resource for technical information, in addition to the AGI specs, is the help section of the WinAGI tool. It contains the biggest collection of technical information about AGI and how it works. Andrew has put a massive amount of effort into that. I just checked and it does indeed have very detailed pages covering the various file formats. Looking at what it says about the OBJECT file, I don't think it specifically calls out the order of the first two bytes. I think with AGI though, it is generally LO byte then HI byte (@AGKorson may know of exceptions to that), so the following code has it the wrong way around:

https://github.com/russdanner/craftercms-sierra-agijs/blob/master/sources/studio/plugin-agi-studio/src/packages/agistudio-components/src/agibridge/AgiLogic.tsx#L799

I see from the source that the code to populate the header section with the pointers to each item is commented out. That would explain why it is all 00s then. Regarding the use of "Avis Durgan" (interesting side note, if you do not already know, is that this is Jeff Stepheson's wife's name, who also worked at Sierra Online for a while, and whose name he also hid in a number of the hires text adventures that came out prior to the AGI era), it is the whole file that is encrypted. So rather than XORing the bytes as they're being added to the byte array, you should leave it as the final step, i.e. write all the bytes unencrypted then encrypt the whole byte array from the start, where every 11 bytes starts again with the "A". I would recommend either the WinAGI source or VisualAGI source as a reference, both of which have OBJECT file encoding logic, if it were not for the fact that neither repo is publicly available at the moment. I'm sure that either @AGKorson or @Collector would set you up with access to the relevant code though.

btw, if you have analytics set up on your game site, do you know yet how many people have finished the game? Or are close to finishing?

Offline AGKorson

Re: CrafterCMS (Online AGI tools)
« Reply #17 on: February 27, 2024, 02:16:16 PM »
HI Russ! Welcome!  It's great to find more people who are interested in keeping the spirit of AGI alive.

I haven't played through the entire game yet, but I did check out the first room, and also scanned through the source code for both the game and your tools. I too noticed a few things regarding incompatibility along the lines of what Lance has mentioned. I see you based your work on the older version of the AGI specs. Unfortunately those haven't been updated in a LONG time. Since those were written, we've learned a lot more detail about AGI, including file format, interpreter operation, glitches and bugs in both the interpreter and the games that need to be considered, etc. I've fully disassembled all v2/v3 MSDOS AGI interpreters, and documented the results in the WinAGI help file. It's probably better to start there than with the older AGI Specs - at least unless/until someone does a full update of them.

I don't have time to do a detailed analysis of your code, but I'm happy to answer any specific questions you might have about any particular game or interpreter issue. I'm up to my eyeballs in C# code right now, as I'm trying to learn it on the fly while porting WinAGI from VB6 to C#. It's taking a lot of effort to teach this old dog new tricks! If you want to follow along, the repo for the port is available here: https://github.com/AGKorson/WinAGI-GDS. None of the editors are working yet, but most of the code for handling game files and resources is complete, and so far it seems to be able to open and preview all game resources error free. So you might find some useful code in there. Or maybe not- I'm still quite new to C#, so I'm probably not writing real efficient, clean code yet. but it is (will be) functional.

When I do get around to the editors, I will certainly look at including support for CrafterCMS/AGI.js versions of resources.



Oh, and here's a plug for WinAGI: you can download the latest version here: http://agiwiki.sierrahelp.com/images/c/c6/WinAGI_2_3_6.zip. If you want to create a full featured AGI game in the old Sierra style, there's no better game development system out there.

Offline Collector

Re: CrafterCMS (Online AGI tools)
« Reply #18 on: February 27, 2024, 06:24:19 PM »
I wanted to take a look at how far you have come along with the C# port, but it fails to build 'EngineResources.resx'

MSB3103   Invalid Resx file. System.Xml.XmlException: An error occurred while parsing EntityName. Line 319, position 50.

  <data name="4067" xml:space="preserve">
    <value>Invalid character in define name: !" & QUOTECHAR & "#$%&'()*+,-/:;<=>?@[\]^`{}~ and spaces are not allowed</value>
  </data>
KQII Remake Pic

Offline AGKorson

Re: CrafterCMS (Online AGI tools)
« Reply #19 on: February 27, 2024, 09:51:00 PM »
yeah, I was editing that one outside of VS, and forgot that some symbols can't be included as literals - '<' and '&' for example. I just fixed it about 10 minutes ago. Give it a try now.

Offline russdanner

Re: CrafterCMS (Online AGI tools)
« Reply #20 on: February 27, 2024, 10:26:30 PM »
Hi AGKorson,

I'll take a look at the WinAGI source code. I am not a .Net developer. I code Java and React/Typescript on the regular. I have a background in C and C++, so I should be able to fake my way through it. 

Once I get my bearings more on what's useful long-term, I'll decide what to do with the JSON source formats I came up with, the logic files (which should be pretty close to other AGI source files), the tools, and the engine.
There are a lot of parts here:
1. the source formats
2. the tools that build them/CrafterCMS
3. the AGI.js engine
4. the Let Them Eat Cake game

I know I'd like the resources game to run on any AGI engine and be loadable in any tools. 

It seems like there's a major bias toward Windows in the tools community. I'm over here with my Linux box and Mint :)  I can sort of run the tools in the community with WINE but it's pretty dodgy.

Offline russdanner

Re: CrafterCMS (Online AGI tools)
« Reply #21 on: February 27, 2024, 11:06:49 PM »
@Lance

I've just introduced them. I added event hooks on said(...) that put/sub events that the web page can listen for.  My goal was to learn what updates were needed to WORDS.TOK to make the game more accessible.  I should add a lot more events (but I don't want to impact anything for the user)

I have about ~500 players in the last 2 months across the following counties and one person in Poland who has a bot or something running constantly.
Poland
United States
Canada
Australia
France
Sweden
United Kingdom
Norway
Germany
Greece
China
Netherlands
Austria
Czechia
Denmark
New Zealand
South Africa
Belgium
Chile
Finland
India
Italy
Mexico
Argentina
Bolivia
Brazil
French Polynesia
Israel
Portugal
Spain
T?rkiye

Only a handful of people have contacted me to say they won.
I don't see any rooms in the last week and a half (since I've been collecting room data) that indicate a win.

Offline lance.ewing

Re: CrafterCMS (Online AGI tools)
« Reply #22 on: February 28, 2024, 12:23:48 PM »
It seems like there's a major bias toward Windows in the tools community. I'm over here with my Linux box and Mint :)  I can sort of run the tools in the community with WINE but it's pretty dodgy.

These days, my main machine is a Microsoft Surface Pro 7+ tablet running Windows 11, and as of a few days ago, I've got Linux running on there with the Windows Subsystem for Linux, as per your CrafterCMS instructions for setting that up as a requirement.

I've also been aware that the tools are mostly for Windows. It is partly why I decided to write the original version of AGILE in C#, despite Java being the language I know best, not only to learn C# in the process, but also so that it would be available for others in the AGI/SCI community to pick up and further extend. Now that AGKorson is porting WinAGI over to C#, there might be a way to integrate the C# AGILE interpreter into WinAGI more easily. Visual AGI is a partly built AGI tool suite that is also written in C#, so that could also be completed one day with AGILE integration.

There is QT AGI Studio that runs on Linux (https://git.cromer.cl/cromer/qt-agistudio/releases). I haven't tried that much myself. There is also the Java version of my PICEDIT tool that can run on Linux, but that is a standalone tool that modifies the PICTURE files directly. It isn't integrated with anything and you need to manually import the created/modified pictures into another IDE, such as WinAGI or AGI Studio.

This is one of the reasons that I see a lot of promise with the online tool suite that you're working on, since it would be available to people regardless of platform. I assume that you will probably run an instance of the tools somewhere online once you have it working well? If so, then people could sign up and start building AGI games on there, and it would keep a backup of the files in the database, ready to continue development the next time they log in. It is the ultimate really, similar to these modern web based sites like Construct3 or Scratch. I see that as a long term way to gain some interest in AGI again, from a different generation, one that is used to using online visual tools to build webhosted games. We might even be able to get the tool used in some school lessons  ;D.

Big dreams.

Offline lance.ewing

Re: CrafterCMS (Online AGI tools)
« Reply #23 on: February 28, 2024, 12:25:59 PM »
yeah, I was editing that one outside of VS, and forgot that some symbols can't be included as literals - '<' and '&' for example. I just fixed it about 10 minutes ago. Give it a try now.

I didn't realise that you had the repo of the C# version available yet. I'm keen to give this a try as well. Adding it to my list to hopefully try out this evening.

Offline lance.ewing

Re: CrafterCMS (Online AGI tools)
« Reply #24 on: February 28, 2024, 12:33:27 PM »
I have about ~500 players in the last 2 months across the following counties and one person in Poland who has a bot or something running constantly.

Wow! That's quite a list of countries. I'm surprised by some of them. Sierra On-Line must have been known almost everywhere.

I'm originally from New Zealand, so I know that they were popular there. I'm currently based in the United Kingdom, so I'll be one of the hits from there.

There were certainly a few phrase combinations that didn't work for me. I can't recall them now, but it sounds like you would have them in your list. As I mentioned in my email, I most recently got up to the part where I crashed the space shuttle ******* ******* * ********. That's probably a spoiler, so won't say what actually happened. I think that must be roughly half way through. Hopefully I'll get a chance to continue playing this evening.

Offline Collector

Re: CrafterCMS (Online AGI tools)
« Reply #25 on: February 28, 2024, 05:11:36 PM »
yeah, I was editing that one outside of VS, and forgot that some symbols can't be included as literals - '<' and '&' for example. I just fixed it about 10 minutes ago. Give it a try now.

That fixed it. The fix was what I was about ready to try if I had had more time to mess with it. More remnants of VB than I would have thought, but I guess not too surprising given it seems to be more of a port. One point of curiosity is that I was under the impression of is that you were going to use the FastColoredTextBox control for the logic editor and it looks like you are using just a RichTextBox, or is that just place holder?
KQII Remake Pic

Offline AGKorson

Re: CrafterCMS (Online AGI tools)
« Reply #26 on: February 28, 2024, 07:56:44 PM »
I was under the impression of is that you were going to use the FastColoredTextBox control for the logic editor and it looks like you are using just a RichTextBox, or is that just place holder?
Yes, that's just the preview window - no editing yet. I still got a ton of work to do on basic game and resource handling before I will start on the editors. (I'm in the middle of fixing the logic decode functions right now, so the Import function is pretty fouled up at the moment. But it will open and display games from a v2.3 wag file just fine.

Offline Collector

Re: CrafterCMS (Online AGI tools)
« Reply #27 on: February 29, 2024, 07:59:48 AM »
Understood. Just curious, no rush.
KQII Remake Pic

Offline lance.ewing

Re: CrafterCMS (Online AGI tools)
« Reply #28 on: February 29, 2024, 08:19:11 AM »
@russdanner, I played your game again for a bit last night. Died again a few times. There's a lot of ways to die! Reminds me of the original KQ. Is there a save game feature yet? I got as far as obtaining the cake, which must be getting close now, then stuck my head in somewhere I shouldn't have. I'll try again this evening.

Offline russdanner

Re: CrafterCMS (Online AGI tools)
« Reply #29 on: February 29, 2024, 09:37:03 AM »
@russdanner, I played your game again for a bit last night. Died again a few times. There's a lot of ways to die! Reminds me of the original KQ. Is there a save game feature yet? I got as far as obtaining the cake, which must be getting close now, then stuck my head in somewhere I shouldn't have. I'll try again this evening.

You are getting there but there are several difficult puzzles in front of you and one major easter egg so to speak.

You can type SAVE and RESTORE top open the dialogs for those actions.

I should hook up F5 and F7 like the good ol days.  I was asked by a speed runner to make the game more speed-run-friendly but my guess is that the speed runners will want it to run on SCUMVMM



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

Page created in 0.048 seconds with 22 queries.