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 - Nicktatorship

Pages: [1] 2
AGI Development Tools / Re: WinAGI 1.1 BETA available for download
« on: May 19, 2017, 03:16:25 AM »
Nice! Will definitely check it out.

Yeah, a macbook air, surface pro 4, ipad 3, and a couple of phones (both of which were older models not being used anymore). That's what we know about at the moment. It must have been a quick fill a bag and run I think. Larger items left alone.

Really sorry to hear that.

That looks really good. I can still see a few pixels here and there that aren't quite right.

What are you using for your line drawing algorithm? The exact algorithm used by Sierra in AGI is pretty simple, and uses only integers. If you implement that algorithm, you'll get lines that come out exactly as Sierra drew them.

Here's a pseudo-code example of the Sierra line algorithm:
Code: [Select]
void drawline(int X1, int Y1, int X2, int Y2)
  //assumes X1 != X2 and Y1 != Y2
  //assumes pset knows correct color to set
  int xPos, yPos, DX, DY, vDir, hDir;
  int XC, YC, MaxDelta, i;
  //determine delta x/delta y and direction
  DY = Y2 - Y1; vDir = (DY<0? -1, 1);
  DX = X2 - X1; hDir = (DX<0? -1, 1);
  //set starting pixel
  xPos = X1; yPos = Y1;

  //invert DX and DY if they are negative
  if(DX < 0) DX *= -1;
  if(DY < 0) DY *= -1;
  //set up the loop, depending on which direction is largest
  if(DX >= DY) {
    MaxDelta = DX;
    YC = DX / 2;
    XC = 0;
  else {
    MaxDelta = DY;
    XC = DY / 2;
    YC = 0;
  //draw line
  for(i == 1; i == MaxDelta; i++) {
    YC += DY;
    if(YC >= MaxDelta) {
      YC -= MaxDelta;
      yPos += vDir;
    XC += DX;
    if(XC >= MaxDelta) {
      XC -= MaxDelta;
      xPos += hDir;
    pset(xpos, ypos);

For plotting, there's good information in the WinAGI help file that explains how to code that, including brush sizes and shapes. For splatter plotting, the actual algorithm that Sierra used is a lot simpler than the bit array in the AGI specifications that has been used for years. Here's the actual Sierra algorithm:
Code: [Select]
//read starting pattern from picture data stream
pattern = pattern | 1
//set starting pixel to first pixel on top row of desired pen shape
do {
    newPatt = pattern >> 2
    if ((pattern & 1) == 1) {
      newPatt = newPatt ^ 0xB8
    pattern = newPatt
    if ((pattern & 3) == 2) {
    //draw this pixel
  //move to next pixel, in left-to-right, top-to-bottom order
while !done //loop until all pixels in desired pen shape are tested

If you haven't already done it, make sure your fill algorithm handles cases where the visual and priority pens are set/not set; if only visual pen is set, fill will use boundary lines it finds in the visual picture; if only priority pen is set, fill will use boundary lines it finds on the priority screen; if both pens are set, fill will set pixels in both images, but will only use the visual screen boundaries it finds.

If you have any questions about AGI resources, take a look at the WinAGI help file - it's got a ton of information. Or you can message me/post here.

I did see Lance's line-draw algorithm in the picture specs, though this one is literally just using the default line function in the Python Imaging Library. I was lazy, though, so there are a few differences. Also been doing some refactoring (which I may have mentioned) to get things into a separate class that could be used almost standalone in something else.

I'll have to try the method for the brush to see how close I can get - I have a few test PICs I've created to test out the actions my existing art didn't have (e.g. x/y corners or relative lines) so will do the same there. Start making a shell of a View decoder last night, though this time incorporated some improvements to the structure of how bytes are parsed (e.g. making a function to take two bytes, flip the order and scale up the big end appropriately).

-- Interlude --

A long time ago, though not as long ago as my original AGI days, I used to work with a bunch of people to make mods for Lionhead's The Movies, which meant writing python scripts for blender to move information back and forth, to make creating new content for the game much more accessible. I'm sort of using them as a reference/framework for how to structure my scripts, particularly for the new View one.

-- End Interlude --

I've definitely been hitting the wiki and the AGI Help files over the past few weeks, though the latter was more trying to reverse-document my original code for The Lost Planet (since I no longer had the logic text files).

One of the things that's important to me with how I'm approaching the classes, is I'd like to make it so you can programmatically create a resource, whether by adding code or reading from an xml or even just import a PIC and export it back out.

And y'know, since Lance is doing a C# AGI Interpreter (though probably distracted right now because of awful people doing crappy things), and you're doing a new version of WinAGI, here's what's on my mind - is there any thought at the moment to putting together a hypothetical 'v4' interpreter?

Like, incorporating the Hercules-like/(SCI0) interpreter from the start, maybe resolution improvements, or at least, less restrictions on resource numbers? The one that comes to mind is we've had AGI Mouse additions, and certainly we've had it catered for (even in our own games) through ScummVM, but instead of replacing existing 'unknown' commands as the original AGI Mouse implementation did, it'd be plausible for new v4-only ones to be added?

Even things like having a toolset (WinAGI) that didn't have a limit on PIC resource sizes, with an interpreter that didn't either, would be amazing. Nothing I'd be banking on, but is there a potential discussion to be had there?

So aside from working out what I want to do, I started poking around with python/SDL2 two nights ago, and made some babysteps on a reader of the Picture format. Not sure why I'm doing it, other than to stretch some old mental muscles, but it's.. alright? Top is the original, and bottom is what the prototype can do.

Most of what it does is create a list of draw commands (as a class) and populates the details of each command. Only the regular lines are drawn currently, which was to verify I had the right structure. In this case the draw is multiplying coordinates rather than mapping to 160x200 and doubling up from there.

It's not much, but it's kinda on this level.

And here's how all that is looking now. Had a friend advise using PIL to handle images, instead of working direct with SDL so I did that, and gradually added code to handle the different draw actions. It probably diverges in places and isn't *quite* finished but it's getting there. I also split out the reader/imager for AGI pics to a class of its own, so I can very neatly call the shambles from other code that is still neat.

The one little bit of different, is that I *also* made it able to spit out a control-lines only image.

Here's the three it can do:

It's a bit hacky in the picture class, and would like to make it better in time. Also still need to write the pen/plot tools, and give it the means to generate a picture file back out (from the stored commands on the class in python, *not* from other images).

Still don't know what I'll do with it after this. I doubt I have it in me to write a full-blown AGI interpreter, but I'd like to take this somewhere too. It's certainly been giving me a lot of ideas.

One's from Space Quest 1, and the other is from when you visit SQ1 in Space Quest 4. Probably redrawn/modified.

You can do it :) It's really just reading byte by byte, working out what draw command it's trying to do (yay agi wiki reference), storing the list of coordinates, and then firing off some line commands.

Now I'm kinda wondering if it would be possible to do an AGI-to-SCI0 convert for PICs, even if it would turn out awful.

So aside from working out what I want to do, I started poking around with python/SDL2 two nights ago, and made some babysteps on a reader of the Picture format. Not sure why I'm doing it, other than to stretch some old mental muscles, but it's.. alright? Top is the original, and bottom is what the prototype can do.

Most of what it does is create a list of draw commands (as a class) and populates the details of each command. Only the regular lines are drawn currently, which was to verify I had the right structure. In this case the draw is multiplying coordinates rather than mapping to 160x200 and doubling up from there.

It's not much, but it's kinda on this level.

The Games and other Sierra Adventure stuff / What are we working on?
« on: April 19, 2017, 08:38:36 PM »
So Hi, Nick here, newest member of the forums with all the unbridled energy paradoxically entwined by possibility that comes with it.

Who's about? What are you working on? Are you making a game? Making tools? Got some side-project in the works that completely unrelated to anything on the forums? Let's chat! Let's talk! Let's get stupidly excited!!

My current bit is carrying a notebook around with me, and plotting out a fresher look at my old AGI game, The Lost Planet, incorporating as much of the original concept as I can, while also trying to update and modernise (though still sticking with AGI of course). Some of the time is plotting story, planning rooms or gameplay elements, while also inching back into the world of AGI logic programming. Last night I redid the menu in a new logic file (using WinAGI instead of AGI Studio), being sure to actually document the logics and streamline where I was able.

Expecting that whatever I do short-term will be highly iterative - getting the framework of the game in place, structured well enough that I can redraw or restyle things later. It will mean reusing a lot of the original assets to begin with, but despite the much broader scope intended, hope it won't get too out of control.

Your turn!  :D

So, this is kind of an old thread, but today while searching around (trying to determine if someone I found was the same person as from AGI past), I found an old comment on a post on the osdev forums. Then realised I was talking about Nat Budin, and *then* realised I recognised Nick Sonneveld's username too. I did another search and just, did one of the old forums get consumed by osdev, or were we just... spread out there too?


Maybe this was already known, but it's striking me as bizarre.

EDIT: Okay, seems a lot of mega-tokyo may have ended up in forum 11 also? Still some vestiges of what once was.

EDIT 2: Cross-referenced it with some of the posts in the snapshot Lance linked to earlier in the thread and yeah, looks like the Off-Topic and OS Dev bits are still intact on the main osdev site.

AGI Development Tools / Re: WinAGI is Back
« on: April 17, 2017, 08:17:39 PM »
A couple of months back I discovered that The Ruby Cast demo was on as well. Amazing what turns up on there, and great to know now that The Ruby Cast is preserved in that form.

Isn't it cool? Totally unexpected, too.

Well I guess you are "back" whenever you post a message on here. That's kind of how I view it. I got lost in a bit of VIC 20 nostalgia at the start of last year. I spent literally 6 months staring at a microscopic photo of the silicon layers of the video chip used in the VIC 20 and was trying to reverse engineer the schematic. Made quite a bit of progress while I was at it, perhaps covering about a sixth of the surface. I guess I was away from the AGI community over that time but made another return in the second half of last year.

The Ruby Cast is certainly unfinished business for me. I will eventually focus enough to continue working on that.

Yeah, I suppose I am. Spent a bit of time over the weekend trying to retrace original ideas, plan how a 'remastered/restored' version of The Lost Planet might fit into the wider setting/story (that's changed a bit since I originally did the game), plotting out required rooms, how the game might differ, etc etc. I guess that's kind of telling.

That'd be great to see The Ruby Cast continue - I remember it somewhat (though haven't retouched it since), and given it was around before AGI Studio, it's one of those little hallmarks of what it was like back then.

AGI Development Tools / Re: King's Quest VI AGI remake!?!?!?!?
« on: April 17, 2017, 07:57:51 PM »
Great find! Found it mentioned in a thread on the AGDInteractive forums here -

Nice SQ4 agi pic in the same:

AGI Development Tools / Re: WinAGI is Back
« on: April 14, 2017, 06:43:52 PM »
I was around for some of early AGI, somewhere between the AGDS stuff being found by the community but before Peter Kelly released a version of AGI Studio. Not sure how long I was working on The Lost Planet before doing any kind of release (there may have been a weird 0.01b version as I first made anything). For me AGI came at a time where I was trying to create an adventure game in Allegro and some C variant, but this was a way to actually make something with a feel similar to what I'd grown up with.

I knew SCI was being researched but making games with it didn't seem imminent at the time. After some taste of a SCUMM-ish interface thanks to AGI Mouse, and then the difference that 256 colours brought, I foolishly decided to throw in with AGS, which was a lot more work for a solo non-artist. I thought about going back to AGI a few times, but found all of my backups of what I'd been working on in AGI were gone. Strangely I *do* still have my AGS backups for The Lost Planet which was never much more some screens and an interface, so, very strange turn of events in total.

I did go through periods of nostalgia, where I would search around, but could rarely find more than broken mirrors, especially after the "Ultimate AGI/SCI" site moved and became less a thing. It was a few years back that I did find a playthrough of TLP on YouTube, and a running copy on, but it was never the complicated mess of a solution I remembered best, and only this past week found *that*, setting right a bit of memory.

Still deciding if I'm "back" but tools and such are definitely familiar. While I know I could try SCI instead, it does feel like i've got unfinished business with the state of my past AGI gamey stuff.

I think it was by choice, but I don't remember. The get.string line is still happening at 22,0, so it might have been something I intended to change later - there's a lot of that in that version. I did find that using spacebar to open the dialogue worked around the lost character issue reasonably enough. It definitely faked the parser approach, rather than actually changing the input type like I've also seen being possible.

The main ones that stand out (compared to the wiki) are Naturette 4, Hobbits, and Pirate Quest. According to the folder, Naturette 4 wasn't released, so that might be one such. I haven't really tried/explored them beyond my own.

Yeah, it was on the forums that I found this - linked to someone's private hosting - though I'd also seen it years back too. I was specifically looking for the 0.9 version of The Lost Planet, which I'd not been able to find anywhere. I don't think it's a fully comprehensive list, but even having different versions of the same game is something a little different to most listings I'd found.

Pages: [1] 2

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

Page created in 0.03 seconds with 20 queries.