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.


Topics - lance.ewing

Pages: [1] 2 3
1
AGI Development Tools / Original AGI Interpreter
« on: May 30, 2024, 11:07:23 AM »
*Split from the "C# AGILE" topic*

I reassessed the amount of original AGI source code that we have, stating now in the github repo README that it is 80%. My original estimate was based on the number of files, which is still calculated to be about 75%, with the inclusion of the extra source files from the KQ3 disk, but if we look instead at the actual amount of code across all modules, then it works out to be 82%. I rounded that down to 80% in the readme, as I didn't want to be too exact, as it probably depends a little on what exactly you count.

It looks like I should be able to increase the stated percentage even further, although I'll need to work out by how much. The reason for being able to increase it is due to some of the modules being from the library files of the Mark Williams C compiler, or from the PLINK86 OVERLAY.LIB library, which means that they're not technically part of the original AGI interpreter source. So far I've identified the OVLYM module as being the Overlay Manager module from PLINK86, and the SETJMP and PRINTF modules being from the Mark Williams libraries. I did wonder about the FILEIO module, but I've seen evidence in the slack space of some original Sierra disks that FILEIO.OBJ was a file that they compiled from source, i.e. not from a LIB file. I can't spot any other modules in the list that may have come from a standard library, so I think OVLYM, SETJMP and PRINTF are the only ones I can ignore for the purposes of determining the percentage of missing AGI source code.

Edit: The percentage didn't end up increasing that much. Ignoring those three modules, the percentage of original AGI interpreter source code that we have is approximately 83.5%.

2
Time to get the ball rolling with regards to a thread dedicated to AGILE GDX. I called it that simply because it is AGILE ported over to use the libgdx framework. So, agile-gdx is the name of the repo where I've put the code (https://github.com/lanceewing/agile-gdx), but when the web app runs in a browser, it is simply called AGILE.

https://agi.sierra.games/

The first request I have for feedback is with regards to the domain name. I managed to register the domain "sierra.games", and I've set up the sub-domain agi.sierra.games for accessing the web app. I thought that it quite nicely conveys what AGILE is all about, and it probably means more to people outside our community than something like agilegdx.com or agile.agifans.com would. If you try agi.sierra.games at the moment, you'll get a password form. I didn't want to open it up to everyone at this stage, in case it gets shared around too much before I'm ready. I may change various things over the next month and don't want to upset people that get used to how it currently is, and besides, its probably still a bit untested here and there, which is where I'll need your help. I haven't yet played a game through to completion, as I've been focusing more on the usability of the interface. I'm relying a lot of the fact that the AGILE C# version had most of the bugs resolved.

The biggest outstanding issue I have is a memory leak where it falls over after a while. Both the web and Java versions do this. I haven't seen it for a while, but that is mainly because I'm only running it for a few minutes at a time at the moment, to test specific fixes and changes. I will need to fix that memory leak before I fully release it to the world. All the other things on my TODO list are mainly nice to haves. There are a couple of bigger ones, e.g. not loading in the mobile version of Firefox, or on an ipad, but to be honest, if it loads and runs fine in Chrome, Edge and Firefox on a laptop/desktop, and on Chrome & Samsung Internet on Android, then that covers a lot of users. - I have no idea yet if it loads in Safari on a Macbook. I'm sure one of you will tell me that once I give you the password. Macbooks are very popular with web developers, so it would be great to confirm whether it works or not on there, and hopefully possible to fix if not. I'm really hoping it will be possible to fix on the ipad and iphone as well.

Let me know if you're keen to test it out and I'll send you a PM with the password. I didn't want to put it into this post. At some point I'll remove the password form. Actually, what I might do is send a PM already to people that I've seen on the site over the past couple of months, and other people I think might be interested. If you didn't get a PM, then let me know and I'll forward you the message.

The "core" of this web version of AGILE is obviously the interpreter itself, which should behave very similar to the C# version. Around that I have put a lot of usability features. For starters, it has a home screen that is modelled along the lines of things like the Android OS, Netflix, Amazon Prime, Disney+, etc., i.e. where you have pages of thumbnails that you can scroll/flick through and select. It comes preloaded with most of the AGI fan made games (there are a couple that don't work that I need to investigate further, so haven't yet included them). The first 14 games in the list are the original Sierra On-Line AGI games. It does not come preloaded with those ones for obvious reasons, but hopefully I've made it fairly easy to import them. You can either select a folder with the game files in it, or a ZIP file that contains the game files. It will then store them within the browser so that you don't have to continually import the games. Obviously this means that if you switch to another web browser, or try it on another device, you'll have to import it again, as it is tied to the browser installation. The same is true of the saved games.

I'll leave it at that for now. Looking forward to the feedback. Thanks.

3
I'm feeling a bit "Can this possibly be true?" at the moment, but seems that it is. I discovered through searching a bit online today that the house that Ken and Roberta Williams built in 1982/3 (construction is shown in the 1982 video on their Colossal Cave youtube channel), and where they lived at during the golden years of AGI and SCI game development, is currently available to book on booking.com, for those who can afford the nightly rate:

https://www.booking.com/hotel/us/new-goldside-mansion-wsleeping-for-29-and-tons-of-fun.html#tab-main

It sleeps 20. Makes it a lot more affordable for a bigger group then.

I'm not sure I'm going to be in California any time soon, but it is on my TODO list to visit Oakhurst and see all the old Sierra office buildings at some point over the next decade. I just hope that it will still be available to book at that time, as it would be an amazing experience to stay there whilst visiting Oakhurst.

Anyone up for a 40th anniversary party based there on the 10th May 2024 (KQ1 anniversary)?  :D

Only half kidding, but in complete seriousness, it seems like an opportunity for some kind of AGI/SCI/Sierra fan convention, tied in to a relevant anniversary. Who knows how long it is going to be available for. I had seen a few years ago that the house was sold for $1000000 (which honestly seems less than I thought it would go for), but being able to book a few nights for a much smaller fraction of that seems like an opportunity not to miss.

I love the "Dark Crystal" stained glass windows either side of the front door. There could be all kinds of Sierra related references in various parts of the property. I only just started studying some of the photos I've been finding online, from some of the websites that had the house advertised for sale back in 2019/20, and this booking.com page has even more photos to look at. Seems like I'll be distracted from AGILE for a while...

4
I was "away" from the AGI community during the boom years when most of the AGI fan-made games were released, and tbh, I haven't really caught up on which ones were the best of these. I've seen Enclosure mentioned as an excellent example. Are there others that people would recommend me testing with AGILE? I'm thinking mainly of those that were complete games and didn't rely on customisations to the interpreter (such as AGI mouse & the 256 colour mod). For those who did play them, what was your top 5?


5
The Games and other Sierra Adventure stuff / 40 years ago (KQ1/GAL/AGI)
« on: January 14, 2024, 04:22:11 PM »
I thought I would start a thread in relation to the 40th anniversary of King's Quest, for covering off certain events that happened during 1984, as and when the same days occur this year. There were a few events that happened over the past week, going back 40 years ago, that are worth mentioning already:

  • 7th-10th January 1984: The 1984 International Winter Consumer Electronics Show (CES) was held in Las Vegas, at the Hilton, Riviera and Sahara Hotels, from Saturday the 7th to Tuesday the 10th January. Other than it being the event at which the Amiga computer was first demoed by Commodore, it was also where the original King's Quest game was first publicly shown off. Several magazines covered the Winter CES show in the months following, a number of which included screenshots of King's Quest.
  • 13th January 1984: This is the date that is given on the King's Quest trade mark registration as the first use of the King's Quest name in commerce. The trade mark registration was filed on the the 23rd January 1984.

Leaping forward 40 years to 2024: Something relevant to KQ1, GAL and AGI happened over the past week. On Monday the 8th January 2024, a rocket launched from Cape Canaveral carrying a moon lander. It is called the Astrobotics Peregrine Mission One lander. It has been in the news a bit this week, as things have not gone to plan and its not going to end up on the Moon after all. But how is this related to KQ1, GAL and AGI?

Well, it turns out that it contains either the ashes or DNA (whichever was chosen by the family) of Arthur Mark Abraham, the lead programmer of the GAL interpreter used for KQ1. I'm calling it GAL, given its many differences to the AGI interpreter that was used in all the later games, but, in reality, it was the beginnings of the AGI interpreter.

https://www.celestis.com/participants-testimonials/arthur-abraham/
https://www.celestis.com/launch-schedule/tranquility-flight/
       
I found the above web pages in late 2022, so was already aware that Arthur had died in 2017. I hadn't heard about Celestis Memorial Spaceflights before. I didn't realise that such a thing existed!

I thought people might be interested that, exactly 40 years after King's Quest was first publicly demoed (at the 1984 Winter CES), the ashes (or DNA) of one of its primary coders was blasting off into space.

6
AGI Syntax Help / 1400 pictures?
« on: December 03, 2023, 10:51:12 AM »
Here's another challenge for @AGKorson.

Recently I mentioned in another thread that Time Zone has close to 1400 pictures. I commented that it might not be the ADL game that someone would pick to create an AGI version of, given the number of rooms/pictures.

Let's say someone did decide to take on that challenge. How might the 256 picture/room limit be overcome? It would need to be some kind of non standard approach.

I have a few thoughts, none of which I have fully thought through the practicality of yet:

* Since ADL games don't need VIEWs, perhaps the pictures could be constructed using many VIEW cells placed together with add.to.pic

* Or perhaps some clever use of picture overlays.

* Or since ADL games don't have the priority screen, the priority screen could be used for visual pictures instead, giving another 256 pictures.

* Or a combination of all the above.

* Or perhaps a power pack feature to load more than the 256 pictures (although this would restrict it to the original DOS interpreters only)

Thoughts?

7
I thought I would create a new topic, at the start of this new year, to cover anything related to the 25th Anniversary of the fan communities.

It occurred to me a view months back, probably around August/September, that the 25th anniversary of various things in the AGI fan community had already happened in 2022, or are about to happen in 2023. For example, the 25th anniversary of the original release of AGI Studio was a few months back, and PICEDIT would have been a bit before that. Likewise, the 25th anniversary of the release of the first version of the fan made AGI specs was some time last year, and the 25th anniversary of the first release of The Ruby Cast was around about now, followed by various other fan made games in 1998. It was back in 1997 that the AGI fan community pioneers first came together on the Internet and started sharing their various projects and discoveries.

I thought we shouldn't let this past and can perhaps treat 2023 as a special "25th anniversary" for the AGI fan community. SCI probably has a similar anniversary coming up very soon.

One of the main reasons I'm thinking about this, and announcing it, is to continue to motivate myself to work on AGI projects this year, such as AGILE, Visual AGI, perhaps even work a bit more on The Ruby Cast after such a long hiatus!  ;D

That last one really would be something different to mark the occasion. I've tried working on it a few times over the past 20 years, but I haven't got much further than one or two more rooms and then subsequently lost that work. But what I did find recently in a box of books was all of my original notes, drawings and maps relating to the full plan for The Ruby Cast, dating back to 1998, which was something I'd misplaced for many years (over 12 years at least) and so this has encouraged me to perhaps have another go at commencing work on it, and this time I'll use github for the source!  :D

I thought I might even write a book about AGI covering everything we've done and learnt over the years. I'm quite excited about this idea. I think it would be really cool, something to really commemorate the occasion 8) 

8
I'm not sure how common knowledge this is, but I couldn't find another reference to it online. Maybe it is an exclusive!  :)

This is apparently the building where the "top secret" King's Quest project was developed:

https://www.google.co.uk/maps/place/40459+CA-41,+Oakhurst,+CA+93644,+USA/@37.3342837,-119.6469438,3a,47.5y,172.74h,93.07t/data=!3m7!1e1!3m5!1sqBKQiibJtbWSqp44k1ypow!2e0!6shttps:%2F%2Fstreetviewpixels-pa.googleapis.com%2Fv1%2Fthumbnail%3Fpanoid%3DqBKQiibJtbWSqp44k1ypow%26cb_client%3Dsearch.gws-prod.gps%26w%3D360%26h%3D120%26yaw%3D169.79602%26pitch%3D0%26thumbfov%3D100!7i16384!8i8192!4m5!3m4!1s0x809427832af27dc9:0x21f0f236455eeb85!8m2!3d37.3339922!4d-119.6468829

It is only 300 yards down the road from the main Sierra Online building at that time, which was the one above the print shop.

I learnt the above from a recent chat I had with Bob Heitman. He wasn't involved in the project, but he remembers where the people who were working on it were based, and he did go in there at least once before its release. He said that the KQ project had a suite of rooms on the top level of that building. This would have been all the IBM work, e.g. the HomeWord team (which included Jeff Stephenson), and the KQ team, and it would have been for pretty much all of 1983 and probably the first few months of 1984. The building was built around 1981.

9
AGI Development Tools / AGI Player by Hugues Valois
« on: January 12, 2019, 05:31:21 PM »
Back in 2017, you might remember that I discovered that I wasn't the first person to write an AGI Interpreter in C#. Hugues Valois had already beaten me to it. I found his website with various pictures of his Interpreter and editors, but I couldn't find any links to the application.

Well this evening I thought I'd have a look again and it appears that he has put all of his code up on github 22 days ago, along with a first release build:

https://github.com/huguesv/AgiPlayer

https://github.com/huguesv/AgiPlayer/releases/tag/v1.0.0

http://www.huguesvalois.com/ProjectsAgiPlayer.aspx

I haven't tried it yet, but I probably will at some point tomorrow. Looks amazing.

10
Everything-Else / Thimbleweed Park released this week
« on: March 26, 2017, 11:24:46 AM »
Eagerly awaiting the release of Thimbleweed Park in about four days. Looks like it will be a lot of fun.

With it being the 30th anniversary of Maniac Mansion later this year, I'm hoping that the team working on Meteor Mess 3D might also target this year for release. That game looks pretty cool as well. The web site claims it is coming out this year.

I was thinking the ultimate would be if they could use those 3D models to create a VR version of the Maniac Mansion game. Imagine that, a full VR adventure game. There are a few people working on the concept, but nothing completed yet that I've seen. I was playing Whispering Eons and Alien Apartment recently on my Android phone with a VR headset and was thinking that this is truly the pinnacle of adventure games. Felt a bit dizzy playing them, but it has a lot of promise.

11
AGI Development Tools / agi.js
« on: March 07, 2017, 01:49:26 PM »
I noticed this last night. Looks quite interesting:

https://github.com/r1sc/agi.js/blob/master/README.md

I haven't given it a go yet. A quick skim of the code reveals a lot of commands not implemented. I think this might be the first actual JavaScript AGI interpreter. There's sarien.net but AFAIK that's a conversion to JavaScript rather than an interpreter.

12
AGI Syntax Help / Non-standard or obscure/undocumented AGI features
« on: February 27, 2017, 02:06:38 PM »
I'm not sure if this is the appropriate forum, but it seems to be the closest match. I'm wondering if anyone can recall seeing an AGI fan made game that made use of some sort of non-standard behaviour of the original AGI interpreter that none of the original AGI games made use of? I could go through all of the fan made games myself and see if I can spot anything (and I probably will start doing that now) but I was hoping someone might recall seeing something at some point.

A couple of "features" that I can imagine would be possible to implement would be:
  • Full screen graphics. I was prototyping this last night. There is a bit of a knack/hack to it, but it seems to be possible to draw outside of where the picture/animation area is by invoking multiple configure.screen and show.pic calls. I was wondering if anyone had made use of that in a game.
  • A pop-up user input window the same as in SCI. I pretty much implemented that last night in AGI Studio as well, so I know its possible. Has any fan made game made use of that?
  • Anything else that anyone can think of that never appeared in any of the original AGI games?
Attached below is a picture from the original AGI interpreter running something I hacked together last night in AGI Studio. It was a bit of an exploration of how various commands behave, mainly to come up with more things that my interpreter needs to support to be truly compatible.

Before you get too excited about the full screen graphics, there are a number of caveats about its use. It relies on leaving a ghost behind on the screen from where the picture was previously drawn. It is possible to leave part of a picture and also ghosts from views that happened to be drawn up there as well. Since these are no longer part of the picture, they'll disappear as soon as you open the menu, display a window over the area, or switch to text mode (e.g. inventory screen). Lot's of gotchas there then, but if you're happy to either redraw it when appropriate (which is quite noticeable so probably not the best), or to completely avoid all those features just mentioned (i.e. no menu, no inventory screen, and place windows so they avoid that top area), then you could utilise that area for something static.

13
That is old enough for the old MegaTokyo forums. If only they were still accessible.

Stuart George has a backup from 2004 that he says he'll check the contents of before handing over. Apparently it is a dump of the whole DB.

Stuart George has sent through a backup of the old Meka Tokyo forums data, i.e. the backup referred to in the quote above. I haven't yet had a chance to look at the data, but I thought I'd get the discussion started about what we think would be the best way to make this available again on the Internet in read only form. It would be ideal if it could be included as part of this sciprogramming site, but I'm not familiar with hosting forums and forum software, so not sure what would be involved and whether that would technically work out or not. Does sciprogramming.com use the same forum software?

I'll take a look at the file now and see what the names of the DB tables are.

14
AGI Development Tools / C# AGI Interpreter
« on: December 04, 2016, 03:56:08 PM »
Well I've finished the C# tutorial app that I've been working through on my phone over the past few weeks. It hasn't just been the tutorial though. As I've mentioned, I converted the VVVV game to C#, but I've also started to put together the beginnings of a C# AGI interpreter, something that I began about a week ago while I was still working through the tutorial.

What I've done is to fork the AGI/SCI Developer code base. I've forked it for a few reasons: One is because it might be dangerous for me to start contributing to the real thing at the moment. I figure that I can prototype something on the forked repository and then if I actually get something working, Collector can pull that back in to the main project. The other reason is so that I can make use of the AGI Library that comes with the AGI/SCI Developer. It already has code for loading the game data. It's structured for the purposes of the Editor, but it isn't far off what I'd need for the Interpreter. And it makes sense that if the Interpreter is to be integrated in to the editor that it uses the same classes for holding the game data so that the editor simply says "Here's the game data...  Interpret it!!"

Initially my plan was to port MEKA to C#, but that has evolved to some degree. What I'm now doing is looking over four sources of information as I build each component, those sources being the original AGI source code fragments, the original AGI documentation, the MEKA source code, and the AGDS documentation (i.e. the Russian project, which has quite a detailed explanation about the workings of the interpreter cycle).

I'm starting to the look at the AGI source code fragments very closely now and it looks like it has pretty much the complete animation code. There isn't anything missing in that area. I should be able to replicate the animation side of things quite well. It also includes the main top level interpreter cycle loop, but lacks the code for the execute logic routine. We can pretty  much guess what that does though, and there's quite a high percentage of the individual test and action commands represented in those original AGI source fragments as well. It's more complete than I originally thought. The C# project will be an object oriented representation of this logic.

I have yet to implement a single test or action command. I'm trying to lay the foundation first, which at the moment is working on the top level interpreter cycle and the animation code. Soon I'll be ready to dive in to the execution logic routine, but to be honest, its going to be weeks before I actually try to run it.

15
Everything-Else / Adventures in C#
« on: November 25, 2016, 05:19:03 PM »
As mentioned in another thread, I'm going to attempt to teach myself C# over the coming months, with a goal to eventually fully port my old MEKA AGI interpreter to C#, thereby hopefully making it useful to the Visual AGI project. I'm also hoping to pick up some experience that will then make me useful in contributing to other parts of the Visual AGI project.

I've got some experience with writing a few simple games in Java, JavaScript, and way back in the late 90s, in C. I've also written a few VIC 20 emulators, the first in Pascal, then in C, and then in Java (the first two also having some assembly code included).

One of the first things I start thinking about when picking up a new language is how I'd implement the game loop. The emulation loop used in the emulators is similar in many ways.

What I started looking at in the case of C# was how to get direct access to the pixels of a Bitmap as an array of ARGB values. Turns out it wasn't as difficult as I was expecting. When I ported my Java VIC 20 emulator to use the libGDX library so it could run on Android, I had to work with an abstraction of OpenGL, which when you want to update every pixel on the screen on every frame is actually not as straight forward as you might think. The GPU doesn't really want to help you when you intend sending it a whole screen full of pixels on every frame.

I don't know what's happening under the hood with this approach, but the following is what I've found through Googling on C# and direct access to Bitmap pixels:

http://stackoverflow.com/questions/24701703/c-sharp-faster-alternatives-to-setpixel-and-getpixel-for-bitmaps-for-windows-f

The first answer works fine for me. The Bits array gives me exactly what I want. I've currently got a little window running in Visual Studio with coloured pixels being placed in random positions.

Pages: [1] 2 3

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

Page created in 0.092 seconds with 18 queries.