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.

Messages - AGKorson

Pages: [1] 2 3 ... 20
Andrew, are you still using the FastColoredTextBox class for your C# editor?
Yeah, that's still the plan. I forked it and added code page support to it so it will load/save files in DOS code pages. But now I'm wondering if I don't need to do that- maybe I leave the source files with Windows-1252 encoding, and then only convert to DOS code page when compiling. I'm still not sure which way is the best.

This is because .sc files are saved with the DOS to Windows translation baked in. String literals are translated back to DOS-437 on compilation, so it's the script (or heap) resources that have the e-acutes as 0x82, not the source code. Therefore, the e-acute you're entering (0xE9) is actually in the .sc files and can be found.

Any thoughts on the best approach to handling code pages in saved resources (i.e. script or, in the case of AGI, logics files)? Right now, the current VB6 WinAGI saves the text to files using the DOS code page. So the text in the file is byte-for-byte equivalent to what would be added to compiled resources. It works, but it means the files can't be edited (at least not easily) outside of WinAGI since most text editors assume Windows coded text.

I'm working on my C# implementation, and now am second guessing that approach, and am considering doing what SCICompanion does, which is saving the resources as Windows coded, and only converting to DOS code page on compilation. But that would mean I'd need a way to let users convert VB versions of resources to the C# version (not a big deal, but still more work).

I am not sure which approach is best.

Ken & Roberta's new company, Cygnus Entertainment, sends out occasional emails with updates on their Colossal Cave game, as well as other things they are involved in.  Their update for today included this:

A while back, we were approached by some filmmakers who were interested in producing a documentary about the adventure game genre, but more specifically, the story of myself, Roberta and Sierra On-Line.

We refused.

Sierra On-Line's story is an amazing one. It deserves to be told. However, we've been down this road before, on a variety of other documentary projects and nothing ever happened with them. One of the producers on the project, Cade Peterson, is a friend of a friend, and also in the game industry. Cade persisted after our refusal, ultimately convincing us his team would deliver.

The Sierra story is the thing great movies are made of. There are highs, lows, good guys and bad. We are excited to finally see it told in this documentary format.

A few weeks ago, we conducted our interview for the documentary. It was a long grueling day.

The documentary folk dug in deep, capturing some incredible footage. I had thought we might be done, but there's a lot more to cover. We?re delighted to see that some of our beloved Sierra creators like Al Lowe and Lori and Corey Cole are part of the project too? with many more to come, we?re told!

You can follow the project for updates at this link.

AGI Development Tools / Re: C# AGILE
« on: June 05, 2024, 04:29:20 AM »
Besides the Amiga OBJECT format change, the only other resource difference that I've encountered is in Apple IIgs sounds, which use custom MIDI and PCM wave file formats.

I haven't studied Atari or Mac versions because I don't have any of them. I don't have any Apple II versions either, but I would guess they are similar to the IIgs resources.

I do have TRS-80 CoCo versions, but I haven't done more than a cursory check with a hex editor. They resources appear to be normal but that's just an educated guess pending a detailed analysis.

Congratulations Lance! You've put together an amazing app. For all of us old timers, it sure does bring us back to 'the glory days' of PC gaming. And for the younger generations, hopefully it introduces them to the history that needed to happen to get us where we are today.

Well done.

AGI Development Tools / Re: CrafterCMS (Online AGI tools)
« on: May 05, 2024, 03:54:29 AM »
Yeah, 30kb of extraneous data would probably be enough to overwhelm available memory in MSDOS AGI.

The memory model for AGI is very simplistic- a 64kByte block is allocated for the game (not counting the picture buffers- they are located in a separate segment), but the agidata.ovl file occupies the first ~8K, leaving only ~56K for actual game data. The room.0 portion will typically use another 7 - 10K depending on the size of your game. Each room also needs some memory to handle displaying objects on screen. So best case scenario is around 45K or so for resources in each room. The WinAGI help file includes a detailed discussion on memory management if you want to learn more.

There is no way to adjust available memory in AGI. You get what you get. (OK, there IS one way, by using the AGI Power Pack, but that's a hack, not a built-in capability of AGI. And it's an entirely separate topic.)

If you need to know how much space a resource takes up in your game, it's displayed on the property pane beneath the resource tree. Select the resource you are interested in and the 'Size' property will give you that info. Most of your pics have sizes that seemed too big to me given the displayed output - I checked, and every single one of them has the extra bloat. You may need to check your save function to see why your pics are getting extra data appended.

You have shown me a minor bugfix that I need to make sure gets added to the next version. WinAGI should detect cases where unused data exists in resources and provide a warning to the user. And also include a way to fix the problem. In the current version, you will need to export the picture resource to a file, use a hex editor to remove the extra data, then re-import them.

AGI Development Tools / Re: CrafterCMS (Online AGI tools)
« on: May 03, 2024, 07:08:23 PM »
Russ, I took a quick look at your repo. It's a bit confusing, as there are two different WinAGI project folders, one in bins, and one in ltec-gds. It looks like the one in bins was your first try, as it's older - the other I see you were working on it last night.

I'm not sure exactly what trouble you're having. I checked, and WinAGI shouldn't throw disk/file related errors when deleting existing resources. What I suspect is that when you deleted them, logics that reference them will throw a compile error if you try compiling the game. All of the resources in the template game are used somewhere in the game, so if you delete one or more of them, you will also need to edit the logics where they are referenced.

For what you want to do (create a new game based on your existing resources), the best path would be to create a new blank game. Then import all your resources (I'm sorry I don't have a bulk import function - maybe that's something I need to add in a later version).  If your logics are fully compatible with original Sierra, they should then compile with no errors. But I suspect there will be a bit of tweaking required to iron everything out. WinAGI will help you with that- if you try to compile a logic (or the whole game, which automatically recompiles all the logics), it will identify errors (displayed in red and indicate that the logic can't be compiled until you fix the condition) or warnings, which offer helpful advice on how to improve your code or avoid game runtime errors. You can ignore the warnings if you want - you don't have to deal with them to compile and run your game.

I did notice that in your first try (the files in the bins folder), you had your defines file listed as logic zero. That would indeed cause a problem. Logic zero MUST be the main logic - the one that runs every cycle and never gets unloaded. It looks like you got that straightened out when you tried using the template.

It also looks like you figured out how to use the global defines file. That makes it very easy to manage defines that are used across multiple logics. Here's a tip for you - you don't need to include defines for logic, view, picture, sound resources; their IDs are considered global defines by default. So if you've given your resources IDs that match what's in your globals.txt file, you can remove all those defines from the file.

There is a ton of helpful information in the Help file that should show you how to do all the things you need to finish adding all your resources and getting things running. And you can also always contact me, either here in the forum, or by PM, and I'd be happy to answer any questions you have - either about how to use WinAGI to do what you want, or generic AGI related questions.

I did a quick test of it this afternoon (Windows 11, Edge). It's really quite impressive!

So far, the only thing I found is the '5' key on number pad is supposed to stop ego motion. Looking at your source, that should be easy enough to add.

I also agree with Charles. I don't care for the blurry upscaling. If possible, a setting allowing user to choose the scaling mode would be nice.

I am very interested in how you got the sound to emulate the original. I'd like to do the same in WinAGI if possible. Do you think it would be possible to port that to C#?

The article text implies that Ken Williams was interviewed when he still thought that the PCjr was going to be a big success.

Given that the article is in a publication called "PCjr Magazine", I am more inclined to believe it was wishful thinking and spin from the editors than anything else. Notice the comment about soaring sales was not in quotes. Ken said it about took them under. I am not so sure he said (or even had the sentiment at the time) that sales were expected to soar. I'd guess it was the writer making that statement. Even if everyone else saw the writing on the wall, I imagine PCjr Magazine would continue to spin things in a positive light.

AGI Development Tools / Re: CrafterCMS (Online AGI tools)
« on: March 28, 2024, 03:27:55 PM »
The Power Pack Demo intentionally contains a lot of content that only works with the power pack. But I will take a look at it to see if I can strip out those parts. The exploration parts can probably be converted to true AGI without too much effort.

Everything-Else / Re: Laws should be written in computer language
« on: March 26, 2024, 04:02:17 PM »
Yeah, I agree. But with my conspiracy theory hat on, I'd say there are a lot more 'bugs' in legalese, and that many of them are there intentionally! :-D Lawyers probably consider them to be 'features' and not 'bugs'.

Everything-Else / Laws should be written in computer language
« on: March 26, 2024, 11:13:48 AM »
I was reading a recent US Supreme Court decision that involved how to interpret a statute that had a number of conditions that had to be met in order for a certain outcome to be triggered. The politics of the case and decision are not relevant to this post, plus it's always safer to avoid politics in forums such as these. But if you are interested in reading the source document, you can find it here:

The issue at hand in the case is how to read a section that lists three clauses as conditions to be met in order to get access to a particular outcome. The problem is the wording that was used in the statute. To paraphrase, it says:

Outcome X is granted if the applicant does not have-
  • condition A;
  • condition B; and;
  • condition C;
The plaintiff argued that ALL THREE must be met to prevent outcome X. The defense argued that any ONE of the three prevents outcome X.

Personally, I believe the defense is more correct when you look at the context, but regardless, it made me think how much hassle and confusion could be avoided if complex conditional clauses in legal writings were written in computer language. It would be simple to test in order to determine if it gave the intended results and would almost completely eliminate ambiguity.

It doesn't take much exposure to writing code to learn to appreciate how important it is to understand exactly what outcome you want, and then be able to construct conditional clauses that give the desired results. In this case, if they had used something like C# to write this clause, all confusion would easily have been eliminated. If the true intent was the defense's position, a clause like
Code: [Select]
if ( !A && !B && !C )
would work perfectly.

On the other hand, if the plaintiff's reading was what they really wanted, they could have written
Code: [Select]
if ( !(A && B && C) )

It's fascinating to me to read through all the linguistic arguments both sides go through to figure out how to parse the text. They actually touch on Boolean logic (although they don't explicitly label it as such) - trying to explain how 'not', 'and', and 'or' relate to each other when constructing complex conditionals. But in the end, you have two sides arguing over how to convert imprecise English text into the precise Boolean logic needed to consistently apply the statute.

But if the statute was just written in code in the first place, all ambiguity could be eliminated. And if there's still ever doubt about what the result should be with any given set of conditions, you can replace courts and lawyers with a simple compiler! A win for everyone, I say.

Maybe I should run for congress on that platform!

Or maybe we can just wait for AI to achieve sentience. I suspect our cyber overlords will handle all their legal affairs with much cleaner language than what we use today. It'll probably be in machine code, though, so they'll be the only ones who understand it.

AGI Development Tools / Re: CrafterCMS (Online AGI tools)
« 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.

AGI Development Tools / Re: CrafterCMS (Online AGI tools)
« 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.

AGI Development Tools / Re: CrafterCMS (Online AGI tools)
« 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: 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: If you want to create a full featured AGI game in the old Sierra style, there's no better game development system out there.

Pages: [1] 2 3 ... 20

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

Page created in 0.067 seconds with 20 queries.