Author Topic: WinAGI is Back  (Read 39368 times)

0 Members and 1 Guest are viewing this topic.

Offline AGKorson

WinAGI is Back
« on: March 12, 2017, 06:50:36 PM »
Hi all!

I'm the creator of WinAGI. After the last release in 2007, I've been completely away from the AGI scene (RL sent me in a different direction). I've recently found interest in AGI again, and more specifically WinAGI, and have dusted off the dev files to see where I left off. A number of issues that were reported in the last release (1.1.22) I believe are fixed. And I have added a few more things to an update that's pretty much ready to release.

While I was creating WinAGI, I spent a lot of time disassembling the original AGI interpreters; if y'all have questions about the interpreters, I may have already found the answer for you. And there are some things that are still in the AGI spec files that are wrong (which WinAGI [and it's help files] have right, for example, the algorithm for drawing lines in PIC resources, the definition of splatter codes, the function of reserved flag f11[it's set if a particular platform supports the noise channel - it's not 'logic0 is run for first time']). I also learned a lot about commands, and how the interpreter handles data passed to them which would be really useful for game developers to know and included that in the WinAGI Help file). I may try to upload what I've learned to the Wiki, but only if moderators are cool with it.

I am not an IT guy in my day job dev and programming have always been just a hobby for me. I knew enough to be dangerous 10-15 years ago, but I have never been able to keep up-  most of the dev world has blown by me. I can do simple java scripts, and I've played around with some of Microsoft's latest Visual Studio dev environments (I created a simple phone app that solved a collectible card puzzle game just to see if I could do it), but I'm woefully ignorant of most modern dev tools. My expertise is VBA for Office and VB6 so I tend to stick with what's familiar. With the kids grown up and out of the house now, maybe I'll have more time to learn about all these other tools, and I might even try to port WinAGI to a more modern environment.

I know there's not a lot of love for VB6 and programs created in it, but it's an incredibly resilient programming environment that has worked extremely well even as Windows has gone through many major revisions. (I'm running VB6 on Windows 10 with no issues at all, and WinAGI runs perfectly on my Windows 10 Surface Pro.)  And I also know that Windows doesn't seem to the OS of choice for a lot of AGI aficionados. So maybe a Windows based app developed in VB6 is not the most sought after AGI tool.

But I really hope that people won't discount WinAGI just because of the dev tool used to create it. If you are looking to create a full featured AGI game, I submit that there is no better tool than WinAGI; it's not just a resource editor - it has built in tools that allow you to manage creation of your game from start to finish. And it also has the best editors for ALL agi resources, IMHO.

The VB syntax that I included in WinAGI seems to have been a huge turnoff for many, and caused confusion for many more. I think for my next release, I'll hide that feature so only the original Sierra programming language is shown/discussed. (I'll leave it there as an undocumented feature for myself and anyone else who doesn't believe that VB is the spawn of the devil).

I will probably issue a new release by end of the month, but if anyone has anything in particular that they like/don't like about WinAGI, I'll entertain requests, recognizing that time constraints to make code changes are the biggest factor. And if you have any WinAGI questions, message me or post in the forums.





Offline MusicallyInspired

Re: WinAGI is Back
« Reply #1 on: March 12, 2017, 08:13:12 PM »
Fantastic! This is exciting news!
Brass Lantern Prop Competition

Offline AGKorson

Re: WinAGI is Back
« Reply #2 on: March 14, 2017, 12:29:43 PM »
I'm getting close to a releasable new version. Here are most of the big changes that'll be in next version:
  • the annoying 'WinAGI isn't tested on this Windows version' popup now has the option to be turned off. (maybe I should just remove it completely? I'm actually unaware of ANY compatibility issues with ANY version of Windows since I've used WinAGI along on my systems through the years on every version of Windows since XP and never had a problem)
  • the Template loading issue that some experience is fixed
  • logic compiler bugs fixed (there were some cases where different AGI versions were not being handled correctly, and handling of inventory objects had a pretty big bug that's been fixed)
  • View loops can now be exported as an animated GIF (right now, you have to export each loop one at a time; do I need feature to do all loops in a view at once, or even every loop in every view at once?)
  • Pictures can be exported as BMP or GIF files - you can export visual screen and/or priority screen (- as with loops, do I need feature to do them en masse?)
  • Compiler Error/Warnings moved to a window instead of a text file, which improves ability to manage errors
  • VB syntax and references to it are gone ( :( )
  • In layout editor, there is an option to display the visual screen for each room instead of a generic textbox with room ID
  • In menu editor, you can choose the background (helps you see how menu will look in different rooms)
  • default small size limit for text in editors changed to 8 pt (in case settings aren't being restored properly - text size can be easily changed by clicking the Settings option under the Game menu)
  • a bunch of minor edits/fixes

Before I finalize this release, though I need your help!
What I would really like is as much feedback as I can get from as many users as possible. If there are any bugs that you are seeing, please let me know so I can address them now. If there are any features that you would like added or modified I'll try to incorporate them (recognizing that not all things are doable. And that there a ton of features in WinAGI that you might not even be aware of - so I might even be able to tell you that WinAGI already does what you want!)

Any feedback you can provide is valuable, so thank you in advance for all your help.

Offline lance.ewing

Re: WinAGI is Back
« Reply #3 on: March 14, 2017, 03:35:33 PM »
While I was creating WinAGI, I spent a lot of time disassembling the original AGI interpreters; if y'all have questions about the interpreters, I may have already found the answer for you. And there are some things that are still in the AGI spec files that are wrong (which WinAGI [and it's help files] have right, for example, the algorithm for drawing lines in PIC resources, the definition of splatter codes, the function of reserved flag f11[it's set if a particular platform supports the noise channel - it's not 'logic0 is run for first time']). I also learned a lot about commands, and how the interpreter handles data passed to them which would be really useful for game developers to know and included that in the WinAGI Help file). I may try to upload what I've learned to the Wiki, but only if moderators are cool with it.

The AGI specs probably do require a bit of a revision. I think the original parts of the content have hardly changed since they were written. A few things have been corrected along the way but there probably haven't been many. Yeah, if you have a list of items that you've identified as being inaccurate, it would be great to get them fixed. I'm sure Collector wouldn't mind with regards to his AGI wiki on the sierrahelp web site. Once we get it looking right there, we can copy the relevant bits over to the scummvm wiki. I myself would be interested to look more closely at the splatter codes. I had thought they were accurate based on comparisons between the games and what showpic generated, so I'd be keen to see where they are different. I realise that the line drawing algorithm is probably not exactly what they used, but as far as I could tell, what is in the spec produces the same result, if not in a particularly efficient way. I came up with that by trial and error rather than by disassembling the code, in fact my whole approach to decoding the data back in the early days was by looking at the data rather than the executable. - And since I mentioned GW BASIC in a post from earlier this evening, it was actually back in those days that I started decoding the data. I've still got some GW BASIC programs floating around somewhere from those days that decode AGI game data. Might try to dig them up and see if I can get them running when I have chance. Would be really nostalgic for me, which is what this is all about really.

Offline lance.ewing

Re: WinAGI is Back
« Reply #4 on: March 14, 2017, 03:41:27 PM »
Before I finalize this release, though I need your help!
What I would really like is as much feedback as I can get from as many users as possible. If there are any bugs that you are seeing, please let me know so I can address them now. If there are any features that you would like added or modified I'll try to incorporate them (recognizing that not all things are doable. And that there a ton of features in WinAGI that you might not even be aware of - so I might even be able to tell you that WinAGI already does what you want!)

That sounds like something I could help out with. To be honest, I haven't actually spent much time using all the various tools. I've focused too much on building tools rather than using them. I haven't built an AGI game since The Ruby Cast demos. So perhaps I could try adding a few more rooms to that? - Actually, to be more helpful to you, I might try to build something from scratch, perhaps convert a very small text adventure game. I have a couple in mind already. That way I'd be touching all the editors and I'd be doing it from the initial template. Might not get to it for a few days. I have some time later this week.

Offline lance.ewing

Re: WinAGI is Back
« Reply #5 on: March 16, 2017, 03:51:49 PM »
I've decided to have a go at converting a game called Space Ranger. No one will ever have heard of it since I believe it existed only as a BASIC listing for the VIC 20 published in 1985 by a New Zealand computer magazine. The author is R.M.Doull. I had a copy of that magazine issue back when I had a VIC 20. This was when I was first learning to program, and I'd already played other text adventure games like Adventureland by Scott Adams, so this particular program listing in a magazine for a text adventure really captured my imagination. I recall studying it in detail back then. - Well I located the magazine issue on archive.org yesterday evening and have studied it yet again. It has 20 rooms, about 12 inventory items, and 4 other "actors". Small enough then to attempt to convert.

The first thing I started on was a room layout using the layout tool. This is actually really cool. The one thing I can't seem to find at the moment is a way to change the text in the room box, i.e. the Room ID. I want to change the names of a couple of them but I can't seem to do this. So I had to resort to deleting the room (I did this within the layout tool) and recreating it with a different name. I was able to pick the same Logic number, which was good. When I tried to link it back up to the other rooms, I somehow ended up linking in to the middle of the room, so I attempted to delete the link, but both the link and the room box disappeared. The Logic was still there in the resource list though but I couldn't work out any way of adding it back in to the layout. If I tried the show room option, this particular room wasn't available for selection, even though it existed in the resource list and wasn't shown in the layout. So I had to delete it again, this time with the right click option in the resource list. What appeared to have happened when I reopened the layout tool is that another one of the rooms had disappeared from the layout. The links from the two rooms that it joins to were still there but the box for the room was missing. I was able to add the original room that had disappeared (and that I then deleted) back in, and I was able to join it back up to the rooms on its side, but after saving this, then closing and reopening the layout tool again, the second room that disappeared mysteriously reappeared again but the original room that disappeared that I had recreated and linked up again has now disappeared again. Not sure how to get around this now. The original deletion of the room appears to have confused the tool.
« Last Edit: March 16, 2017, 03:56:00 PM by lance.ewing »

Offline lance.ewing

Re: WinAGI is Back
« Reply #6 on: March 16, 2017, 03:59:56 PM »
I just discovered the Repair Layout option. That has reintroduced the missing room but has also added in a whole lot of extra unattached links that I assume might relate to links that I may have deleted at some point.

Edit: I was just going through and removing those extra unattached links, i.e. right clicking on them to delete, but before I finished doing this, the tool and in fact the whole IDE has locked up with the spinning circle. It's not coming back. The very last thing I was doing was attempting to remove some strange links from "Room 1", which I hadn't yet removed. This is the original room that comes with the template game. I'd left it there by itself while I was creating the rooms for the game. After using the Repair Layout option, the links around this room looked a bit strange, so as part of the removal of unattached links, I tried removing those ones as well. It was in attempting to remove one of them that it appears to have gone in to some sort of infinite loop.
« Last Edit: March 16, 2017, 04:08:48 PM by lance.ewing »

Offline AGKorson

Re: WinAGI is Back
« Reply #7 on: March 16, 2017, 09:37:49 PM »
Thx, this is just the kind of feedback I need.

The one thing I can't seem to find at the moment is a way to change the text in the room box, i.e. the Room ID.
The LogicID can be changed by selecting it in the Resource list, then choosing Description command on Resource menu. You can also change by double-clicking directly on the property box (below the resource list).  These changes are dynamically linked to the Layout editor so you will see changes made immediately. You can also select the Description command when you are editing a resource. But I can see that it would be intuitive to be able to change ID from within Layout editor- that's easy to add.

So I had to resort to deleting the room (I did this within the layout tool) and recreating it with a different name. I was able to pick the same Logic number, which was good.
When a room is deleted, any exits from other rooms to the deleted room should show up as errors (arrows pointing to red triangles). Did you see them?

When I tried to link it back up to the other rooms, I somehow ended up linking in to the middle of the room, so I attempted to delete the link, but both the link and the room box disappeared. The Logic was still there in the resource list though but I couldn't work out any way of adding it back in to the layout. If I tried the show room option, this particular room wasn't available for selection, even though it existed in the resource list and wasn't shown in the layout.
I'm not sure what you mean by 'linking to middle of room'? Can you elaborate? If the room was not in the list, then the layout editor thought it was being drawn- that's not good. If you are able to duplicate it, the exact steps taken would be helpful.

So I had to delete it again, this time with the right click option in the resource list. What appeared to have happened when I reopened the layout tool is that another one of the rooms had disappeared from the layout. The links from the two rooms that it joins to were still there but the box for the room was missing. I was able to add the original room that had disappeared (and that I then deleted) back in, and I was able to join it back up to the rooms on its side, but after saving this, then closing and reopening the layout tool again, the second room that disappeared mysteriously reappeared again but the original room that disappeared that I had recreated and linked up again has now disappeared again. Not sure how to get around this now. The original deletion of the room appears to have confused the tool.
I can't seem to replicate your situation exactly, but I do see there are some problems when deleting then re-adding rooms. After several times of adding, deleting, redrawing exits, I also got a bunch of 'straggler' lines that didn't seem to connect with anything. Selecting and moving them eventually causes a hangup. I think I can track this down though, and fix it.

Offline AGKorson

Re: WinAGI is Back
« Reply #8 on: March 16, 2017, 09:41:03 PM »
I just discovered the Repair Layout option. That has reintroduced the missing room but has also added in a whole lot of extra unattached links that I assume might relate to links that I may have deleted at some point.

Edit: I was just going through and removing those extra unattached links, i.e. right clicking on them to delete, but before I finished doing this, the tool and in fact the whole IDE has locked up with the spinning circle. It's not coming back. The very last thing I was doing was attempting to remove some strange links from "Room 1", which I hadn't yet removed. This is the original room that comes with the template game. I'd left it there by itself while I was creating the rooms for the game. After using the Repair Layout option, the links around this room looked a bit strange, so as part of the removal of unattached links, I tried removing those ones as well. It was in attempting to remove one of them that it appears to have gone in to some sort of infinite loop.
I try to put error trapping in all routines that have any potential for bad loops, but might have missed one or two. Hopefully when I fix the stuff from above it'll address these issues as well.

Offline lance.ewing

Re: WinAGI is Back
« Reply #9 on: March 17, 2017, 05:20:01 PM »
The LogicID can be changed by selecting it in the Resource list, then choosing Description command on Resource menu. You can also change by double-clicking directly on the property box (below the resource list).  These changes are dynamically linked to the Layout editor so you will see changes made immediately. You can also select the Description command when you are editing a resource. But I can see that it would be intuitive to be able to change ID from within Layout editor- that's easy to add.

I can see now why I failed to find that Description option. It appears that it is ignored when the Layout tool is currently open. To me it seemed intuitive that I should be able to change the Room ID within the property list, and I did try that, but that wasn't allowing me to edit it, and the ... button wasn't doing anything, so I assumed it was read only. I've noticed now that that property ... button does open up the Description dialog but only when the Layout tool is closed. I think if all three options (from the Resource menu, within the property table, and also directly within the Room Box) were available while the Layout tool is open, then that would make it easier.

Offline lance.ewing

Re: WinAGI is Back
« Reply #10 on: March 17, 2017, 05:44:37 PM »
I'm not sure what you mean by 'linking to middle of room'? Can you elaborate? If the room was not in the list, then the layout editor thought it was being drawn- that's not good. If you are able to duplicate it, the exact steps taken would be helpful.

Yeah, sure thing. I've been able to reproduce it on the first attempt with a brand new game. This is what I did:

1. Opened the room layout tool immediately after creating the new game from the template.
2. Placed six new room boxes named Logic 2 to 7, arranging them in a 3 x 2 arrangement.
3. Linked them using bidirection links.
4. Closed the Layout tool
5. Right clicked on "Logic 3" and selected Remove from game.
6. Opened up the Layout tool again. At this point I saw the unattached links with the red triangle pointing towards where the Logic 3 box had previously been.
7. Right clicked on each of these unattached "error" links and deleted them.
8. Added a new Room box again and chose "Logic 3" and the same logic number as the one I had removed from the game.
9. Attempted to create a bidirectional link from one of the other rooms to the new "Logic 3" box. This is where I end up with the unidirectional arrow pointing to the middle of the new room box (see attached image below).
10. I then right clicked on that blue arrow and chose to delete it.  Both the "Logic 3" room box and the blue arrow disappeared but the "Logic 3" logic is still showing in the resource list.
11. I then closed the Layout tool and reopened it. "Logic 3" room is still missing (see second image attached below).
12. I then select Repair Layout and the "Logic 3" room reappears. This time I'm able to recreate the bidirectional arrows from "Logic 2" and "Logic 5" without any issues.


Offline lance.ewing

Re: WinAGI is Back
« Reply #11 on: March 18, 2017, 05:25:13 AM »
I started drawing the first picture yesterday evening. This is as much a note to myself with regards to my Java PICEDIT tool as it is to you and WinAGI, the note being that it would be nice if there were a way of manipulating the background picture. I kept having to go back to a normal drawing tool to resize and crop the background image and then load it back in to the AGI picture editor. I was thinking that if there were a way to zoom the background picture in and out, and also to drag it around to place it exactly where you want to trace it, then I probably wouldn't have needed to use the external tool to get the background image just right. As I say, my tool doesn't provide that either, but its something I thought would be useful.

Oh, and another thing worth noting, I wasn't able to use both the Ego test tool and the background image tool at the same time. This meant that my visual measurements on whether the furniture in the room has the right size for Ego wasn't something I could do against the background image, i.e. I couldn't walk Ego around the background image to see how he measured up against things. I wanted to try that out before beginning to trace.

Offline AGKorson

Re: WinAGI is Back
« Reply #12 on: March 18, 2017, 01:16:28 PM »
I think I have been able to address the Layout Editor issues. Keeping the Layout editor and the logics in sync is tough because it's hard to anticipate all the ways a user might make changes in logics and in the editor. But I think I've got it mostly figured out. I'm also adding more checks to make sure everything stays correctly synched, and either warning user to rebuild or fixing issues automatically.

I like your suggestions for the picture editor. I can add both of them very easily.

I assume you're using version 1.1.22? If you're interested, once I've got a build ready for testing, I can provide a beta of 1.2.1 so you can see what's already been fixed/improved.

Offline lance.ewing

Re: WinAGI is Back
« Reply #13 on: March 18, 2017, 07:25:55 PM »
I also learned a lot about commands, and how the interpreter handles data passed to them which would be really useful for game developers to know and included that in the WinAGI Help file). I may try to upload what I've learned to the Wiki, but only if moderators are cool with it.

I'm going to quote the above again because I've just realised having looked a bit over your WinAGI help file that it already had most of the Saved Game format defined in it. I think we really do need to update the various AGI specs web sites with what you've learnt and have included in your Help file. People will probably look at the web sites first and won't realise that you have more up to date information in WinAGI.

Regarding a beta 1.2.1 build, yes please, whenever its ready.

Offline lance.ewing

Re: WinAGI is Back
« Reply #14 on: April 05, 2017, 04:37:55 PM »
I just want to say again that I'm really impressed with the WinAGI help file. I've been using it as the go to place for checking how things work in AGI. It's far more detailed with its explanations of the AGI commands than other sources, and what it says I've been verifying against the interpreter and the original source code fragments and so far it has been spot on.


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

Page created in 0.066 seconds with 23 queries.