Hunting 3d Construction Kit projects... - Sinclair

This is a discussion on Hunting 3d Construction Kit projects... - Sinclair ; The boring back story is that I'm in the process of writing a Freescape interpreter for OpenGL. So my program loads the original geometry and processes the original Freescape Control Language scripts, but displays everything full screen and such that ...

+ Reply to Thread
Results 1 to 8 of 8

Thread: Hunting 3d Construction Kit projects...

  1. Hunting 3d Construction Kit projects...

    The boring back story is that I'm in the process of writing a
    Freescape interpreter for OpenGL. So my program loads the original
    geometry and processes the original Freescape Control Language
    scripts, but displays everything full screen and such that you have
    real-time movement around the levels.

    The aim is to eventually support the commercial Freescape titles, once
    their data has been fully decoded. So far all I have managed is to
    decode the 8bit Construction Kit file format. I have copies of the kit
    demo game, Escape and Cyborg Intrusion (the latter two being the only
    Construction Kit-produced games that World of Spectrum has to offer)
    that generally seem to work.

    I was wondering if anybody here has any more projects or games that
    they would be willing to send over? I mostly want to test and improve
    my code. I'd also like to be able to release it with a bunch of built-
    in titles, so if anybody has anything that they're willing for me to
    redistribute (in an entirely non-profit way) then that's even better.

    I guess in theory Amstrad and C64 Construction Kit titles should be
    acceptable at some point in the future, for now it'd probably get all
    the colours wrong. So I intend to post to those groups separately, at
    a more appropriate time. Though if anyone does have any of those
    titles then please send them over.

    Hopefully my spam filter won't throw too many away, pointers to http
    or ftp places from which I can obtain Construction Kit projects are
    also welcome.

    I'm posting from Google groups and am not sure what it does for anti-
    spam email protection. I'm with gmail for my email, prefix
    thomas.harte if it does anything too odd.

    I've posted a youtube video of an earlier version of my code playing
    the demo game that may be of interest: http://www.youtube.com/watch?v=EBiO8Ifs23I

  2. Re: Hunting 3d Construction Kit projects...

    Sinclair PC200 512k (V1.5) on 6 August 2008
    Loading Thomas Harte .SYS.....
    : The aim is to eventually support the commercial Freescape titles, once
    : their data has been fully decoded.

    I take it you're aware of ?

    --
    --------------------------- ,@@.o ,@@. SPELL SUCCEEDS
    John Elliott | @@@@ @@@@ n \_O_
    CHAOS in a sig... | '||` '||` Hr \I `
    --------------------------- JL JL I\ /\\

  3. Re: Hunting 3d Construction Kit projects...

    Yep that gave me quite a head start on figuring out the 3d
    Construction Kit format, but it's incomplete. Apart from not covering
    any of the releases after Total Eclipse and missing one object type
    (type 15, which is used to include global objects in a scene), it
    doesn't really explain how the scripting works.

    Specifically, it doesn't really cover area or global scripts. It says
    where they are and what length they are, but not what to do with them.
    What does it mean for an area to be collided with or shot? If just
    interpreted the same as object scripts and with the top bit ignored or
    with any intuitive interpretation, many of those scripts do things
    like immediately destroy objects which obviously aren't meant to be
    immediately destroyed, erroneously teleport you out of areas
    immediately upon entry, etc.

    So the task for Driller/Dark Side/Total Eclipse is to figure those
    scripts out. The task for Castle Master onwards is pretty much to
    figure everything out. I'm not even sure if those games are using
    Freescape v2, as in the Construction Kit (with a brand new scripting
    language that favours area scripts over object scripts), v1 as partly
    documented there or some sort of intermediate version.

    On 6 Aug, 20:09, John Elliott wrote:
    > Sinclair PC200 512k (V1.5) on 6 August 2008
    > Loading Thomas Harte .SYS.....
    > : The aim is to eventually support the commercial Freescape titles, once
    > : their data has been fully decoded.
    >
    > * I take it you're aware of ?
    >
    > --
    > --------------------------- * * * ,@@.o *,@@. * * * * *SPELL SUCCEEDS *
    > John Elliott * * * * * * *| * * * @@@@ * @@@@ * * * * * * * * n * * \_O_
    > CHAOS in a sig... * * * * | * * * '||` * '||` * * ** * * * * Hr * * \I `
    > --------------------------- * * * *JL * * JL * * * * * * * * *I\ * * /\\



  4. Re: Hunting 3d Construction Kit projects...

    Thomas Harte wrote:

    >
    > I was wondering if anybody here has any more projects or games that
    > they would be willing to send over? I mostly want to test and improve
    > my code. I'd also like to be able to release it with a bunch of built-
    > in titles, so if anybody has anything that they're willing for me to
    > redistribute (in an entirely non-profit way) then that's even better.


    I wrote a small 3DCK game for the 2006 crap games compo, Advanced Shed
    Simulator, which you can download here:
    http://www.mattrudge.net/cgc2006/games.html

    The snapshot is running in Test mode (I didn't compile it as a
    standalone game), so you can access the editor with the Freescape
    Command Language instructions, etc, by pressing Caps Shift + x

    It's very basic, and probably won't be of much use to you, but feel free
    to use it as you like.

    Cheers,

    Daren

    --
    Walkthrough recordings of speccy games: http://www.rzxarchive.co.uk/
    Speccy game endings: http://www.worldofspectrum.org/speccyspoilers/

  5. Re: Hunting 3d Construction Kit projects...

    On Aug 7, 9:57*am, Daren wrote:
    > Thomas Harte wrote:
    >
    > > I was wondering if anybody here has any more projects or games that
    > > they would be willing to send over? I mostly want to test and improve
    > > my code. I'd also like to be able to release it with a bunch of built-
    > > in titles, so if anybody has anything that they're willing for me to
    > > redistribute (in an entirely non-profit way) then that's even better.

    >
    > I wrote a small 3DCK game for the 2006 crap games compo, Advanced Shed
    > Simulator, which you can download here:http://www.mattrudge.net/cgc2006/games.html
    >
    > The snapshot is running in Test mode (I didn't compile it as a
    > standalone game), so you can access the editor with the Freescape
    > Command Language instructions, etc, by pressing Caps Shift + x
    >
    > It's very basic, and probably won't be of much use to you, but feel free
    > to use it as you like.
    >
    > Cheers,
    >
    > Daren
    >
    > --
    > Walkthrough recordings of speccy games:http://www.rzxarchive.co.uk/
    > Speccy game endings:http://www.worldofspectrum.org/speccyspoilers/


    Thanks! If it has any scripting at all in it then it'll probably be
    some help. There are lots of tiny things that the manual doesn't quite
    clarify, or subtle differences between the 8bit and 16bit engines that
    I've probably not yet picked up on which can really make a difference
    to some titles but no difference whatsoever to others. Things like how
    long an object remains tagged as collided with; the 16bit scripting
    language seems to atomically check and reset, the 8bit returns the
    value for the last discrete movement. That plus the fact that I've
    just extended the 16bit language a bit so that 8bit scripts can be
    easily adapted means that there are various areas where I've probably
    made mistakes; I'm reading the tokenised 8bit scripts, converting them
    into ASCII in my custom version of FCL, then sending them off
    elsewhere to be tokenised into the internal data structures and later
    run.

    Anyway, I had a poke around yesterday and arranging things to respect
    the colours of CPC and C64 files when necessary was relatively easy,
    so I guess I can go and pester those communities too. I grabbed a
    couple of C64 Construction Kit titles last night but the site that WOS
    seems to treat as its Amstrad equivalent doesn't have a helpful search
    engine. I've pointed Google at it with a few obvious queries and not
    found anything, but I wouldn't describe myself as overly confident
    that there's nothing to be found on there.

    Trivia fact to bore your friends with: all three 8bit versions of the
    3d Construction Kit demo game were saved by the Amstrad CPC version of
    the kit. They even entered an incorrect value for the colour
    information in one sector of the Spectrum demo, in a way that isn't
    possible on the Spectrum version of the kit.

  6. Re: Hunting 3d Construction Kit projects...

    On Aug 7, 9:57*am, Daren wrote:
    > Thomas Harte wrote:
    >
    > > I was wondering if anybody here has any more projects or games that
    > > they would be willing to send over? I mostly want to test and improve
    > > my code. I'd also like to be able to release it with a bunch of built-
    > > in titles, so if anybody has anything that they're willing for me to
    > > redistribute (in an entirely non-profit way) then that's even better.

    >
    > I wrote a small 3DCK game for the 2006 crap games compo, Advanced Shed
    > Simulator, which you can download here:http://www.mattrudge.net/cgc2006/games.html
    >
    > The snapshot is running in Test mode (I didn't compile it as a
    > standalone game), so you can access the editor with the Freescape
    > Command Language instructions, etc, by pressing Caps Shift + x
    >
    > It's very basic, and probably won't be of much use to you, but feel free
    > to use it as you like.
    >
    > Cheers,
    >
    > Daren
    >
    > --
    > Walkthrough recordings of speccy games:http://www.rzxarchive.co.uk/
    > Speccy game endings:http://www.worldofspectrum.org/speccyspoilers/


    Actually, your code did throw up one question. You've written
    something like (I'm not at my development machine, so this is from
    memory):

    IFCOLLIDED?
    AND
    CMPV
    IFLT
    THEN
    ...

    Matching the FCL conditionals has required quite a bit of reading
    inbetween the lines; when you wrote that where you of the opinion
    that:

    a) "IFCOLLIDED? AND CMPV" together modify the various flags, IFLT
    tests them; or
    b) "IFCOLLIDED? AND (CMPV IFLT)" together end up modifying an implicit
    status flag, THEN proceeds only if it is set?

    Some of the ways FCL has made individual statements act a lot like
    compound statements is pretty tidy, I just wish they'd documented it
    more honestly.

  7. Re: Hunting 3d Construction Kit projects...

    Thomas Harte wrote:

    >
    > Actually, your code did throw up one question. You've written
    > something like (I'm not at my development machine, so this is from
    > memory):
    >
    > IFCOLLIDED?
    > AND
    > CMPV
    > IFLT
    > THEN
    > ...
    >
    > Matching the FCL conditionals has required quite a bit of reading
    > inbetween the lines; when you wrote that where you of the opinion
    > that:
    >
    > a) "IFCOLLIDED? AND CMPV" together modify the various flags, IFLT
    > tests them; or
    > b) "IFCOLLIDED? AND (CMPV IFLT)" together end up modifying an implicit
    > status flag, THEN proceeds only if it is set?
    >
    > Some of the ways FCL has made individual statements act a lot like
    > compound statements is pretty tidy, I just wish they'd documented it
    > more honestly.


    IFCOLLIDED doesn't exist for the speccy version, it's IFHIT instead. I
    had a quick look through the conditions, but couldn't find the one above
    (with IFCOLLIDED replaced by IFHIT).

    It's been a couple of years since I last looked at 3DCK, this was the
    last project I did. So I'm a bit rusty on it.

    Looking at the manual available from the WoS page
    (http://www.worldofspectrum.org/infos...cgi?id=0000029)

    The entry for IFHIT is as follows:

    -----------------------
    IFHIT
    Full Name: If Object Hit

    Class: Conditional Instruction (Interrogator)

    Format: IFHIT P1

    THEN

    commands...

    [ELSE

    commands...]

    ENDIF


    Function:
    This command checks if an object P1 has been collided with (or walked
    on). A true or false is returned.

    Example: IFHIT 4

    THEN

    INVIS 4

    VIS 5

    ENDIF


    In this condition the system checks if object 4 has been collided with.
    If it has then object 4 becomes invisible and object 5 becomes visible.
    This could be used to remove a door (object 4) and replace it with an
    open doorway (object 5).

    Note: IF's cannot be nested!

    -----------------------


    But this doesn't really answer your question regarding the order in
    which multiple conditional statements are run. Sorry I couldn't be of
    more help.

    Cheers,

    Daren

    --
    Walkthrough recordings of speccy games: http://www.rzxarchive.co.uk/
    Speccy game endings: http://www.worldofspectrum.org/speccyspoilers/

  8. Re: Hunting 3d Construction Kit projects...

    On 8 Aug, 22:09, Daren wrote:
    > Thomas Harte wrote:
    >
    > > Actually, your code did throw up one question. You've written
    > > something like (I'm not at my development machine, so this is from
    > > memory):

    >
    > > IFCOLLIDED?
    > > AND
    > > CMPV
    > > IFLT
    > > THEN
    > > ...

    >
    > > Matching the FCL conditionals has required quite a bit of reading
    > > inbetween the lines; when you wrote that where you of the opinion
    > > that:

    >
    > > a) "IFCOLLIDED? AND CMPV" together modify the various flags, IFLT
    > > tests them; or
    > > b) "IFCOLLIDED? AND (CMPV IFLT)" together end up modifying an implicit
    > > status flag, THEN proceeds only if it is set?

    >
    > > Some of the ways FCL has made individual statements act a lot like
    > > compound statements is pretty tidy, I just wish they'd documented it
    > > more honestly.

    >
    > IFCOLLIDED doesn't exist for the speccy version, it's IFHIT instead. *I
    > had a quick look through the conditions, but couldn't find the one above
    > (with IFCOLLIDED replaced by IFHIT).
    >
    > It's been a couple of years since I last looked at 3DCK, this was the
    > last project I did. *So I'm a bit rusty on it.
    >
    > Looking at the manual available from the WoS page
    > (http://www.worldofspectrum.org/infos...cgi?id=0000029)
    >
    > The entry for IFHIT is as follows:
    >
    > -----------------------
    > IFHIT
    > Full Name: If Object Hit
    >
    > Class: Conditional Instruction (Interrogator)
    >
    > Format: *IFHIT P1
    >
    > * THEN
    >
    > * commands...
    >
    > * [ELSE
    >
    > * commands...]
    >
    > * ENDIF
    >
    > Function:
    > This command checks if an object P1 has been collided with (or walked
    > on). A true or false is returned.
    >
    > Example: *IFHIT 4
    >
    > * THEN
    >
    > * INVIS 4
    >
    > * VIS 5
    >
    > * ENDIF
    >
    > In this condition the system checks if object 4 has been collided with.
    > If it has then object 4 becomes invisible and object 5 becomes visible.
    > This could be used to remove a door (object 4) and replace it with an
    > open doorway (object 5).
    >
    > Note: IF's cannot be nested!
    >
    > -----------------------
    >
    > But this doesn't really answer your question regarding the order in
    > which multiple conditional statements are run. *Sorry I couldn't be of
    > more help.
    >
    > Cheers,
    >
    > Daren
    >
    > --
    > Walkthrough recordings of speccy games:http://www.rzxarchive.co.uk/
    > Speccy game endings:http://www.worldofspectrum.org/speccyspoilers/


    Oh, right, yeah it ends up translated into IFCOLLIDED? (x) in my
    8/16 bit composite version of the language because 8bit support is a
    relatively late addition so I've mostly just extended the 16bit
    tokens. It doesn't really make any odds while I'm only supporting
    binary 8bit files and they contain already tokenised versions of FCL
    scripts.

    I'm going to bet that the interpreter just doesn't do compound
    statements, making it most likely that AND just reads as 'next time
    you modify the implicit status flag, do an and with the old result',
    and THEN is 'if status flag is not set then jump to next ELSEIF or
    ENDIF'.

    Anyway, thanks again!

+ Reply to Thread