Page 1 of 3

AGILE - A New C# AGI Interpreter

Posted: Mon Oct 24, 2022 6:55 pm
by Collector
This is a project that we have been working on in the SCI Programming Community. It started from an old C# attempt to create a more modern AGI IDE than AGI Studio. Several years ago I was given the source to this uncompleted project. I updated it, but it was still missing key aspects for a fully functional IDE. The backbone of it was its AGI library. Lance Ewing forked my repository and started development of a new, lightweight AGI interpreter from this C# AGI Library. I have contributed some interface features and with some feedback from others in the SCI Programming Community has lead to what I think is a fun, exciting new way to play AGI games.


Features:
  • Works out of the box. No configuration required.
  • Unlike NAGI you can close the game from the AGILE windows close [x] button.
  • Has Tandy 3 voice with noise channel audio.
  • Lightweight. Just 1.58 MB in size.
  • The Window can be resized on the fly. You can switch to full screen or windowed with "F11", "Alt+Enter", or from its context menu item "Full Screen", all while a game is running
  • It has aspect correction that can be turned on or off in real time on a right click. You can play the Sierra AGI games with their proper graphics aspect ratio (4:3).
  • You can turn it off for fan games that were designed for an 8:5 aspect ratio.
  • For those that can't stand letterboxing or pillarboxing it also has a stretch mode that will allow you to resize any windows dimension you want or completely fill the screen in full screen mode.
  • AGILE will remember your last chosen settings.

There are several ways that you can start a game in AGILE.
  1. Simply unpack into a folder on your hard drive and run AGILE.exe. A folder browser dialog will open to navigate to your AGI game's folder and launch that game. AGILE will remember this last path on the next launch. To play the same game again simply relaunch AGILE and hit "Enter"after the folder browser dialog opens.
  2. Once a game has been opened in AGILE right click anywhere in the window and choose "Create Shortcut to Game" and it will create an AGILE shortcut to your game on the desktop. This shortcut can be moved or copied to where ever you wish. You can change the icon displayed in the shortcut to something appropriate from the shortcut's properties dialog.
  3. You can drop an AGI folder on AGILE's exe or shortcut to start the game.
  4. You can copy AGILE.exe and its DLLs into an AGI game's folder and simply run AGILE from there. You could rename it to, say, "Black Cauldron.exe" and create shortcuts from it.
  5. Option to add a folder dialog context menu to start a game on a right click on the AGI game's folder in Windows Explorer.

Give it a try, but please give feedback and report any issues.

This version has an installer. It includes the option to add the folder shell extension "Run in AGILE". Right click on your AGI game folder in Explorer and choose "Run in Agile" to start the game. This can be removed with the uninstaller. To keep AGILE and remove just the shell extension, open the AGILE options (from AGILE's context menu) and uncheck "Add "Run in Agile" folder context menu item".

New version:
AGILESetup.zip
(399.35 KiB) Downloaded 476 times

Re: AGILE - A New C# AGI Interpreter

Posted: Tue Oct 25, 2022 4:52 pm
by Rath Darkblade
All right. I'm completely new to all this, so please forgive me if I ask some newbie questions. *blush* I've already looked up AGI and SCI, so I know the first game to use both was King's Quest 4. So I won't ask silly questions like "What is AGI?" or "What is SCI?", or "What are AGI games?"

Having said that ...

- What is IDE?
- What is AGI Studio?
- What is an AGI library?
- what is NAGI?
- What are letterboxing and pillarboxing?
- Are there any differences between using AGILE and other tools, like ScummVM or DOSBox?

Sorry for all these questions! *blush* I'd simply like to learn more. Thank you :)

Re: AGILE - A New C# AGI Interpreter

Posted: Thu Oct 27, 2022 4:10 pm
by MusicallyInspired
Rath Darkblade wrote: Tue Oct 25, 2022 4:52 pm - What is IDE?
- What is AGI Studio?
- What is an AGI library?
- what is NAGI?
- What are letterboxing and pillarboxing?
- Are there any differences between using AGILE and other tools, like ScummVM or DOSBox?
IDE = Integrated Development Environment. This is an all-inclusive program that includes tools for creating and compiling game scripts, creating art, and sounds for a game.

AGI Studio = IDE to make your own AGI games

Library = Programming term for specific source code that allows integration with a certain type of program/application or game engine

AGI library = The source code of the guts of the AGI engine (computing instructions on how to read all AGI assets like game logic, art, and sound and can be used to make AGI games "go" by programming your own AGI game-running interpreter EXE)

NAGI = an older custom AGI interpreter that can be run in Windows (think ScummVM but only for AGI games).

Letterboxing = When viewing a wider screen resolution than is capable of a display monitor you get black boxes on the top and bottom of the display framing the image (think watching a widescreen movie on a square display)

Pillarboxing = When viewing a taller screen resolution than is capable of a display monitor you get black boxes on the left and right of the display framing the image (think watching a fullscreen square movie on a widescreen display)

Differences between using AGILE and ScummVM or DOSBox = Preference mainly. One may want to use it for ease of use. It's much simpler than ScummVM and you don't have to fuss with DOS command settings to simulate the proper DOS environment as in DOSBox.

Re: AGILE - A New C# AGI Interpreter

Posted: Thu Oct 27, 2022 4:49 pm
by Rath Darkblade
No problem. Thanks, MI! :)

Re: AGILE - A New C# AGI Interpreter

Posted: Sat Oct 29, 2022 5:44 pm
by Collector
Is there no interest in this? Tawm?

New version in first post.

Re: AGILE - A New C# AGI Interpreter

Posted: Sat Oct 29, 2022 8:49 pm
by Tawmis
Collector wrote: Sat Oct 29, 2022 5:44 pm Is there no interest in this? Tawm?
New version in first post.
I downloaded the first version! :D
I will grab the update.

I am currently playing GK1 for my channel, so I've not had a chance to monkey with it.

EDIT: Okay, that is pretty easy! Just launch and browse to the folder!
Image1.png


I am curious - any plans for an SCI player like this?

Re: AGILE - A New C# AGI Interpreter

Posted: Sun Oct 30, 2022 6:56 am
by Collector
Nope. That was what Free SCI was about.It was where SVM got its start for adding SCI support. Much more complicated than AGI.

Re: AGILE - A New C# AGI Interpreter

Posted: Sun Oct 30, 2022 6:59 am
by Collector
Note that While there is no toolbar or menubar, it does have a context menu for changing display settings.

Re: AGILE - A New C# AGI Interpreter

Posted: Sun Oct 30, 2022 11:06 pm
by notbobsmith
I gave it a try using Manhunter 2. It seems to work very well. I did notice that the audio pops now and then. Otherwise it is a very good emulation of Tandy 3-voice sound. And it is very easy to use.

Re: AGILE - A New C# AGI Interpreter

Posted: Mon Oct 31, 2022 6:59 am
by Collector
Which version? I haven't noticed any popping so far. The noise channel is not quite right. MI has done some sound comparisons between Agile, ScummVM and DOSBox. Agile seems to have the best tone, but DOSBox does the noise channel best.

Re: AGILE - A New C# AGI Interpreter

Posted: Mon Oct 31, 2022 11:31 pm
by notbobsmith
Collector wrote: Mon Oct 31, 2022 6:59 am Which version? I haven't noticed any popping so far. The noise channel is not quite right. MI has done some sound comparisons between Agile, ScummVM and DOSBox. Agile seems to have the best tone, but DOSBox does the noise channel best.
I downloaded the most recent version. The popping is mostly with the sound as the Orb ship whizzes by.

And I also think the music does sound better with Agile. I can't quite put my finger on it, but it sounds more like authentic hardware from my Tandy 1000. I say this not having actually heard it for more than 20 years. Take it for what it's worth.

Re: AGILE - A New C# AGI Interpreter

Posted: Tue Nov 01, 2022 2:11 am
by MusicallyInspired
It's been confirmed by a friend of mine that DOSBox actually does impose a filter over the Tandy 3-voice tones. His quote:
I believe it's because pure squarewaves sound "weird" when played through what amounts to high-end stereo equipment (our modern speakers)...
(high-end from the point of view of 80s gear)
So it's doing a sort of simulation of "cheap speaker buried in a metal box"
Here are my comparison videos for the curious:



Re: AGILE - A New C# AGI Interpreter

Posted: Tue Nov 01, 2022 8:03 am
by goatmeal
MusicallyInspired wrote: Tue Nov 01, 2022 2:11 am
Here are my comparison videos for the curious:
Hah! The sweeping in the DOSBox version sounds like it came from the Intellivision, where an object sustains hits before exploding. :lol:

(Thinking of Armor Battle or TRON Deadly Discs.)

Re: AGILE - A New C# AGI Interpreter

Posted: Tue Nov 01, 2022 5:48 pm
by Tawmis
notbobsmith wrote: Mon Oct 31, 2022 11:31 pm
Collector wrote: Mon Oct 31, 2022 6:59 am Which version? I haven't noticed any popping so far. The noise channel is not quite right. MI has done some sound comparisons between Agile, ScummVM and DOSBox. Agile seems to have the best tone, but DOSBox does the noise channel best.
I downloaded the most recent version. The popping is mostly with the sound as the Orb ship whizzes by.
During the intro? Or later?

Re: AGILE - A New C# AGI Interpreter

Posted: Wed Nov 02, 2022 12:06 am
by notbobsmith
Tawmis wrote: Tue Nov 01, 2022 5:48 pm
notbobsmith wrote: Mon Oct 31, 2022 11:31 pm
Collector wrote: Mon Oct 31, 2022 6:59 am Which version? I haven't noticed any popping so far. The noise channel is not quite right. MI has done some sound comparisons between Agile, ScummVM and DOSBox. Agile seems to have the best tone, but DOSBox does the noise channel best.
I downloaded the most recent version. The popping is mostly with the sound as the Orb ship whizzes by.
During the intro? Or later?
During the intro, like when they fly around the mountain.