Author Topic: Port of text adventure games to SCI  (Read 9930 times)

0 Members and 1 Guest are viewing this topic.

Offline gumby

Re: Port of text adventure games to SCI
« Reply #60 on: March 02, 2013, 01:26:58 PM »
Moved all the parser logic references out of the room scripts and into a single locale script.  This is much cleaner and takes all the repetitive logic and consolidates it in one place.

I'm also currently re-working the logic in the 'Loud Room'.  It's a bit tricky because in zcode this script conditionally bypassed the parsing routines in order to achieve the desired functionality in the room - those familiar with Zork will understand.  

I've already done something similar with the handling of the 'say' command, so that you can say anything in-game, like:
Code: [Select]
say 'gibber-jabber'                      (Nothing happens)
say I don't want to play anymore         (Nothing happens)
say "I'm taking my ball and going home"  (Nothing happens)

Good inputs are still possible & parseable:
Code: [Select]
say xyzzy     (A hollow voice says 'Fool')
say 'zork'    (At your service!)

Basically, I instructed the game to allow un-parseable inputs following the 'say' command which avoids the problem of needing every possible word in the vocab.  I'll need to do something similar, but only in that particular room.

« Last Edit: March 02, 2013, 01:28:48 PM by gumby »
In the Great Underground Empire (Zork port in development)
Winter Break 2012 Rope Prop Competition

Offline gumby

Re: Port of text adventure games to SCI
« Reply #61 on: March 08, 2013, 07:20:37 PM »
Just scored over 100 points ;D

Loud room is now functioning correctly.  Fixed a bug which now allows visiting the Temple and Maintenance rooms - I had a temporary array variable sized too small.  Canyon View can now be visited, similar issue with a another array variable sized too small to hold the room description.
In the Great Underground Empire (Zork port in development)
Winter Break 2012 Rope Prop Competition

Offline Cloudee1

Re: Port of text adventure games to SCI
« Reply #62 on: March 09, 2013, 12:16:01 PM »
I was reading through some of the stuff on the cpan link you provided a couple of posts ago. I haven't done anything with SCI's file handling, but how hard would it be to create something like the #reco feature that they have incorporated in their interperter. I think when it comes to testing and trying to duplicate memory errors, a log of all of the userevents from the start of the game till presumebly right biefore the error would come in pretty handy. Controlled simply by a boolean in the main script, createCommandFile or whatever. If it's set then inputs are written to a text file. Any thoughts on this?
Halloween Competition Brass Lantern Prop Competition Groundhog Day Competition

Offline gumby

Re: Port of text adventure games to SCI
« Reply #63 on: March 09, 2013, 03:41:42 PM »
Yeah, I've been kicking this idea around for months.  I'm primarily interested in creating file-based transcripts that could be 'replayed' within the SCI virtual machine.  This would be wonderful for automated testing for example, utilizing a modified transcript file to include expected responses.  Ultimately, I'd like to include all in-game events like mouse-clicks and keypresses (not just parser commands) coupled with some sort of timecode.

So you could start a game up, use a menu option like 'Replay transcript', pick your transcript file and then the game would play itself.
In the Great Underground Empire (Zork port in development)
Winter Break 2012 Rope Prop Competition

Offline Collector

Re: Port of text adventure games to SCI
« Reply #64 on: March 09, 2013, 04:33:22 PM »
Sounds like it could be useful for debugging. Seeing the exact sequence of events leading to an error would make it easier to track down causes. Could such a thing be crossed indexed against what was in heap and hunk?
KQII Remake Pic

Offline gumby

Re: Port of text adventure games to SCI
« Reply #65 on: July 21, 2014, 07:30:09 PM »
Okay, I'm back :).  Caught an awful case of Montezuma's Revenge while on vacation, and as a result I was able to put a lot of work into Zork.  I've uploaded a new version of the 'demo', though at this point I guess it's not really a demo anymore.

Here's a list of what's fixed in the latest version:

- Completely rewrote and fully implemented the Queue and QueueInterrupt functions (this is what makes the 'daemons' or 'timers' work)
- Fixed Random() function implementation, it was generating negative numbers but code was expecting only positive ones
- Fixed parsing of preposition 'at'
- Fixed JigsUp (death handler) functionality - wasn't referring to correct text res # to pull the values from
- Array-driven print functionality had their parameter values swapped
- Fixed printing random values from text res when index contained mathematical operation (LeakDaemon)
- Cosmetic:  Changed room scripts to be named the actual room instead of 'rmXXX'
- Fixed issue with attempting to print a single integer with the AppendMsgBuffer routine
- Vocabulary:  When a word is both a noun and an adjective, only give it the noun class.  Otherwise parsing was failing under certain scenarios (this was a fun one, I'll have to do a write-up on it at some point)

Out of heap errors are less frequent too.  I was able to score upwards of 150 points in this version before the game crashed on me.

The one bug that is really irritating is that sometimes the 'state' of things seemingly gets reset.  The kitchen window will occasionally close itself, sometimes treasures disappear from the trophy case.  Sometimes the 'visited' property gets reset so you'll get the initial description of an object even though you've seen it before.
In the Great Underground Empire (Zork port in development)
Winter Break 2012 Rope Prop Competition

Offline Collector

Re: Port of text adventure games to SCI
« Reply #66 on: July 21, 2014, 07:45:08 PM »
Welcome back! Too bad that we can't have a "managed" SCI with an automatic garbage collector. I can't think of anyway to do that from the template game or some add-in. Perhaps from a new compiler? It would be one hell of a thing to program, but if there were some script analyzer to look through the scripts for things like references to nonexistant resources and anything unused remaining in heap. It would probably have to be able to add code to defragment free heap.
KQII Remake Pic

Offline Cloudee1

Re: Port of text adventure games to SCI
« Reply #67 on: July 25, 2014, 08:11:33 AM »
Ok, the game entry has been updated.
Halloween Competition Brass Lantern Prop Competition Groundhog Day Competition

Offline gumby

Re: Port of text adventure games to SCI
« Reply #68 on: July 25, 2014, 07:57:02 PM »
Zork in French (screenshot below).  This has been one of my goals of this project from the very beginning.  A French version of this game does not exist, so I'll be doing all the translations with the help of my wife & mother-in-law (oh yeah and Google Translate).
« Last Edit: July 25, 2014, 07:59:51 PM by gumby »
In the Great Underground Empire (Zork port in development)
Winter Break 2012 Rope Prop Competition

Offline Collector

Re: Port of text adventure games to SCI
« Reply #69 on: July 25, 2014, 08:47:00 PM »
You're on Win8 now?
KQII Remake Pic

Offline gumby

Re: Port of text adventure games to SCI
« Reply #70 on: July 25, 2014, 09:26:09 PM »
Yeah.  The border gave it away (I have no idea)?  And extremely unhappy about it.  Laptop, Windows 8 with no touchscreen can kiss my...
In the Great Underground Empire (Zork port in development)
Winter Break 2012 Rope Prop Competition

Offline Collector

Re: Port of text adventure games to SCI
« Reply #71 on: July 25, 2014, 10:36:36 PM »
Have you tried Classic Shell? Also, it looks like MS is going to try to bury 8 faster than they did Vista. http://www.computerworld.com/s/article/9249971/Microsoft_wants_you_to_forget_Windows_8?taxonomyId=125&pageNumber=1
« Last Edit: July 25, 2014, 10:41:07 PM by Collector »
KQII Remake Pic

Offline gumby

Re: Port of text adventure games to SCI
« Reply #72 on: February 13, 2016, 07:04:47 PM »
Ok, I'm seriously considering ditching all my previous efforts on this project and starting from scratch.  It kills me to do so, but I don't think I can overcome the heap consumption issues.

I love the parser, but I'm thinking about going the point and click route.  What worries me is the simplification of the game and how many different interactions that I need to make a cohesive game.  On the surface it sure seems like the standard set of PNC actions should work (walk, talk, look, use).  Still, I'm apprehensive.  The one thing that I am considering is making it in first person because of all the navigation that needs to take place in the game.  There's a lot of moving between screens and I would hate to have the player spend an inordinate amount of time just walking around the world getting from place to place.

Feedback would be greatly appreciated.
In the Great Underground Empire (Zork port in development)
Winter Break 2012 Rope Prop Competition

Online Kawa

Re: Port of text adventure games to SCI
« Reply #73 on: February 13, 2016, 08:17:43 PM »
I don't see why you couldn't do it first person, really. The closeup portraits in the Larry games come to mind. Just don't call SetUpEgo for starters, heh.

Offline Collector

Re: Port of text adventure games to SCI
« Reply #74 on: February 13, 2016, 09:20:00 PM »
What about dialog trees, la QfG? Still simplified from a parser, but at least it allows more interaction and misdirection that just point and click. You could decompile QfG3 for some examples.
KQII Remake Pic


SMF 2.0.11 | SMF © 2015, Simple Machines
Simple Audio Video Embedder

Page created in 0.192 seconds with 21 queries.