Allegro.cc - Online Community

Allegro.cc Forums » The Depot » My Freescape remake

This thread is locked; no one can reply to it. rss feed Print
 1   2 
My Freescape remake
Thomas Harte
Member #33
April 2000
avatar

Freescape is a 3d filled-polygon first person adventure game engine from the 1980s. Well known games produced with Freescape include Driller, Total Eclipse and Castle Master, and most titles were released for a combination of Spectrum, CPC, C64, Amiga, Atari ST & PC.

In the early 90s, the Freescape engine was used for the 3d Construction Kit (or Virtual Reality Studio if you're American). As a result, the workings of the engine were documented. And now I'm trying to reimplement it. For now I just want to be able to load project files from the 3d Construction Kit — I've made no decisions concerning reverse engineering or otherwise trying to steal data from any of the previous commercial titles.

Anyway, here are some screenshots:

{"name":"594691","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/4\/2\/42d133675182628a3049bf44713f0a98.png","w":1440,"h":900,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/4\/2\/42d133675182628a3049bf44713f0a98"}594691 http://www.allegro.cc/files/attachment/594692

And I've even uploaded a video of me playing the 3d Construction Kit demo game in my reimplementation. Or what works of it, anyway — my partial implementation of the Freescape scripting language is a bit patchy at the minute.

Did anybody here ever use the 3d Construction Kit or Virtual Reality Studio?

Neil Walker
Member #210
April 2000
avatar

That's excellent and bizarrely despite the simplicity, the graphics are really good and suite what you're doing. Perhaps it's the pastel colours :)

Add some cel-shading and I reckon you're onto a winner.

Neil.
MAME Cabinet Blog / AXL LIBRARY (a games framework) / AXL Documentation and Tutorial

wii:0356-1384-6687-2022, kart:3308-4806-6002. XBOX:chucklepie

LennyLen
Member #5,313
December 2004
avatar

oooh, Driller, now that was a fun game.

Thomas, do you know if this was the engine used to make Carrier Command?

X-G
Member #856
December 2000
avatar

I've played that! Wow, memories.

--
Since 2008-Jun-18, democracy in Sweden is dead. | 悪霊退散!悪霊退散!怨霊、物の怪、困った時は ドーマン!セーマン!ドーマン!セーマン! 直ぐに呼びましょう陰陽師レッツゴー!

Thomas Harte
Member #33
April 2000
avatar

Thanks to all for positive comments!

Quote:

That's excellent and bizarrely despite the simplicity, the graphics are really good and suite what you're doing.

Well, you know, the graphics aren't mine. It's the original demo game as shipped with the 3d Construction Kit. Well, the 16-bit versions anyway — I think the 8-bit demo game is quite different, inkeeping with the 8-bit versions of Freescape not really supporting animation.

Quote:

Add some cel-shading and I reckon you're onto a winner.

Yeah, that's probably worth looking into. At the minute the scenes aren't even dynamically lit.

Quote:

Thomas, do you know if this was the engine used to make Carrier Command?

I don't think it was. Besides anything else, the Realtime people were always much better at fast 3d than the freescape people — see e.g. the filled polygons of Starstrike 2. Plus, the C64 runs the Freescape games with the expected 3d graphics, but the C64 version of Carrier Command is a 2d nonsense — whereas the Spectrum got a proper 3d version.

Quote:

I've played that! Wow, memories.

If you could give me any tips as to exactly what I'm meant to be doing, that'd be helpful — it's kind of hard to assess/fix my FCL (Freescape Control Language, the scripting language of Freescape) interpreter as it is.

X-G
Member #856
December 2000
avatar

From the video I think you did exactly what you're supposed to do. It's really a quite strange little game. I can't remember if you're supposed to make the space shuttle launch using the keys or not.

--
Since 2008-Jun-18, democracy in Sweden is dead. | 悪霊退散!悪霊退散!怨霊、物の怪、困った時は ドーマン!セーマン!ドーマン!セーマン! 直ぐに呼びましょう陰陽師レッツゴー!

Thomas Harte
Member #33
April 2000
avatar

Quote:

From the video I think you did exactly what you're supposed to do. It's really a quite strange little game. I can't remember if you're supposed to make the space shuttle launch using the keys or not.

Hmmm. I know there's definitely supposed to be a way to get to a hidden door on the back wall of the initial area, but my script interpreter is preventing that from working. Once you go in there, there is a thin walkway and lots of blocks swinging back and forth which are meant to make it difficult for you to get across and collect a rope. I assume the rope is the 'correct' way to get down into the water off the cliff, I can just jump because I haven't implemented damage from drops yet. Then you are eventually meant to get on the space ship, but in my version you can do that already due to another scripting bug.

You're meant to get five pieces of gold to persuade the shopkeeper to give you his scuba gear, and poking around inside the files reveals at least one underwater area where a shark and a fish swim back and forth, and the bathroom shown in the screenshot at the top. I currently have no idea how you're supposed to get to either of those.

On the plus side, a fix I made this morning makes most of the animations work better than before. E.g. the shopkeeper should look like this:

http://www.allegro.cc/files/attachment/594695

The multiple ears & eyes on the original shot (and in the video) are bits that are switched on and off to create 'animation'.

X-G
Member #856
December 2000
avatar

I do remember the underwater area and the scuba gear, but I don't remember how to get it. I don't remember the rope area though... as far as I remember it, you could make it out to the island just by jumping onto the boat.

--
Since 2008-Jun-18, democracy in Sweden is dead. | 悪霊退散!悪霊退散!怨霊、物の怪、困った時は ドーマン!セーマン!ドーマン!セーマン! 直ぐに呼びましょう陰陽師レッツゴー!

OICW
Member #4,069
November 2003
avatar

Looks pretty interesting. Once again my imagination was sparked, damn you ;)

[My website][CppReference][Pixelate][Allegators worldwide][Who's online]
"Final Fantasy XIV, I feel that anything I could say will be repeating myself, so I'm just gonna express my feelings with a strangled noise from the back of my throat. Graaarghhhh..." - Yahtzee
"Uhm... this is a.cc. Did you honestly think this thread WOULDN'T be derailed and ruined?" - BAF
"You can discuss it, you can dislike it, you can disagree with it, but that's all what you can do with it"

Thomas Harte
Member #33
April 2000
avatar

Well, two bug fixes later (specifically: when you're detectable by "sensors", a type of object that is invisible but often used by game logic to keep track of your position, and an incorrect implementation of 'loop/again' which always ran one fewer than the correct number of times), I can show you the room that gets you the rope in my own game engine:

http://www.allegro.cc/files/attachment/594697

The blue and orange things swing left and right to try to block your path, the green platform moves along a diagonal, and the white thing on top of it is a rope (an H.264 .MOV of me getting to and then momentarily viewing the room is attached).

There's definitely an animation of using the rope to climb down to the boat, but then when I start the boat engine, it zooms off away from me and I'm left just hovering. So more FCL fixes ahead, I think.

Quote:

Looks pretty interesting. Once again my imagination was sparked, damn you

If you want to obtain the 3d Construction Kit (I think Home of the Underdogs has it, this site definitely does) and make a quick game, I'd be more than happy to try it against my Freescape implementation!

OICW
Member #4,069
November 2003
avatar

Quote:

If you want to obtain the 3d Construction Kit (I think Home of the Underdogs has it, this site [planetmic.com] definitely does) and make a quick game, I'd be more than happy to try it against my Freescape implementation!

Quite an interesting offer, but I am afraid I don't have that much time. Plus there are numerous other ideas around my head and I must say I'm not so big fan of retro games.

However you've just inserted an idea for 3d exploration adventure into my head.

[My website][CppReference][Pixelate][Allegators worldwide][Who's online]
"Final Fantasy XIV, I feel that anything I could say will be repeating myself, so I'm just gonna express my feelings with a strangled noise from the back of my throat. Graaarghhhh..." - Yahtzee
"Uhm... this is a.cc. Did you honestly think this thread WOULDN'T be derailed and ruined?" - BAF
"You can discuss it, you can dislike it, you can disagree with it, but that's all what you can do with it"

Thomas Harte
Member #33
April 2000
avatar

Quote:

However you've just inserted an idea for 3d exploration adventure into my head.

Oh, well, it wasn't me. All objects and gameplay (if you ignore the pixel resolution, frame rate and general method of interaction) are Incentive's, from 1991. I was surprised at how reminiscent the whole thing was of one of those "I'm trapped in a room" Flash games...

RE: the main topic, some more fixing of FCL interpreters and messing around later and I've figured out what you're meant to do in the game. If you don't mind having the entire gane spoilt for you, then check it out.

I think I'll try to clean some things up, fix a few bugs (which I deliberately avoid for the purposes of the demo), come up with a scheme for chucking a new title screen on there and outputting state variables in a way consistent with the new interface, then put it out as a complete 'remake'.

EDIT: if any OS X users stumble by, is there any chance of giving the attached binary a go? I'm really interested to know whether I succeeded in building a universal static lib of FreeType...

ngiacomelli
Member #5,114
October 2004

Thomas: looking very nice. Sadly, your binary crashes instantly upon running for me in Leopard.

Not sure if this is helpful to you:

1Process: FreescapeGL [3856]
2Path: /Users/nialgiacomelli/Downloads/FreescapeGL.app/Contents/MacOS/FreescapeGL
3Identifier: com.thomasharte.freescapegl
4Version: ??? (???)
5Code Type: X86 (Native)
6Parent Process: launchd [75]
7 
8Date/Time: 2008-03-09 22:31:24.940 +0000
9OS Version: Mac OS X 10.5.2 (9C31)
10Report Version: 6
11 
12Exception Type: EXC_BREAKPOINT (SIGTRAP)
13Exception Codes: 0x0000000000000002, 0x0000000000000000
14Crashed Thread: 0
15 
16Dyld Error Message:
17 Library not loaded: /usr/local/lib/libfreetype.6.dylib
18 Referenced from: /Users/nialgiacomelli/Downloads/FreescapeGL.app/Contents/MacOS/FreescapeGL
19 Reason: image not found

Thomas Harte
Member #33
April 2000
avatar

Quote:

Library not loaded: /usr/local/lib/libfreetype.6.dylib

Grrrr. Obviously I've built a dynamically linked version of freetype. UNIX tools infuriate me.

EDIT: not to turn this into a "help me use my compiler" thread, but it really makes me annoyed when:

./configure CFLAGS="-arch i386 -arch ppc -mmacosx-version-min=10.4" --enable-shared=no --enable-static=yes

Produces a file that does not statically link.

ngiacomelli
Member #5,114
October 2004

I'll bump the thread so that you can reply when you have a new file for us OS X people to test!

Thomas Harte
Member #33
April 2000
avatar

Yes, well, I've yet to figure out my FreeType issue. And I'm sufficiently clueless about UNIX stuff that I'm not sure I'll be stumbling upon an answer any time soon. I might go and appeal for help on the FreeType mailing list. They'll probably slap me down for not being able to figure out what they consider to be a relatively simple thing, but I'll survive somehow...

So, my main reason for posting again: I've found documentation of the binary format used internally by original Freescape games Driller, Dark Side and Total Eclipse. So I've quickly hacked up an importer for them and can now present a little, completely colour incorrect demo of me getting lost near the start of Dark Side:

http://www.youtube.com/watch?v=hjuJ_pk2XIw

http://www.allegro.cc/files/attachment/594712

OICW
Member #4,069
November 2003
avatar

May I ask what is it with that shooting to reveal doors etc.?

[My website][CppReference][Pixelate][Allegators worldwide][Who's online]
"Final Fantasy XIV, I feel that anything I could say will be repeating myself, so I'm just gonna express my feelings with a strangled noise from the back of my throat. Graaarghhhh..." - Yahtzee
"Uhm... this is a.cc. Did you honestly think this thread WOULDN'T be derailed and ruined?" - BAF
"You can discuss it, you can dislike it, you can disagree with it, but that's all what you can do with it"

Thomas Harte
Member #33
April 2000
avatar

Quote:

May I ask what is it with that shooting to reveal doors etc.?

Don't ask me. It's part of the scripts included in Dark Side. I guess it's just because interaction was so limited back then. Since the 3d display couldn't really update in real time, any form of interaction that didn't require a realtime update was favoured. And shooting is one such example because in the original you can 'set the cursor free' and move it around the screen without changing the 3d view.

OICW
Member #4,069
November 2003
avatar

Ok, I'll take it as one of the characteristics of that engine :)

[My website][CppReference][Pixelate][Allegators worldwide][Who's online]
"Final Fantasy XIV, I feel that anything I could say will be repeating myself, so I'm just gonna express my feelings with a strangled noise from the back of my throat. Graaarghhhh..." - Yahtzee
"Uhm... this is a.cc. Did you honestly think this thread WOULDN'T be derailed and ruined?" - BAF
"You can discuss it, you can dislike it, you can disagree with it, but that's all what you can do with it"

Thomas Harte
Member #33
April 2000
avatar

Right. If anyone OS X'y is reading this, can they give the new attached file a go? I'm reasonably confident that I've successfully built and linked to a static FreeType now. Sometimes I really wish I weren't such a UNIX-dunce.

Re: the actual game, I think the swimming portion may be temporarily broken. That's to do with some changes I implemented so that it should be able to load and run 8-bit Freescape games too, one day. Everything up to the swimming should work. And, to be honest, I may have fixed that too but forgotten.

kazzmir
Member #1,786
December 2001
avatar

It worked fine on OSX for me. I made it to the island, I guess swimming worked, but mostly I was just walking on water and a shark was biting me or something.

Am I supposed to be able to pick up the key on the palm tree? I shot my laser thing at it but nothing happened.

Thomas Harte
Member #33
April 2000
avatar

Quote:

It worked fine on OSX for me. I made it to the island, I guess swimming worked, but mostly I was just walking on water and a shark was biting me or something.

Oh, no, there's a later swimming bit where you're under water which requires a vehicle change. I think I've temporarily broken my implementation of the other vehicle type. And if you reached the island by just jumping off the cliff then you took advantage of the fact that I haven't implemented damage from falling too far yet.

Quote:

Am I supposed to be able to pick up the key on the palm tree? I shot my laser thing at it but nothing happened.

Oh, yeah, sorry — I probably should have posted full controls:

  • WASD/cursors — move around

  • mouse — rotate view

  • left button — shoot

  • right button — activate (if you're close enough)

  • space — toggle crouching

Amongst other things not cleared up yet, if you crouch into a small space and stand up again then your head goes through the ceiling. Also, one of the object types is meant to shoot back at you, but doesn't yet. That plus the lack of damage for huge drops means that there are almost no hazards yet.

EDIT:
Anyway, the main point was to make sure that I've finally fixed up my FreeType issues (which also affected my ChristmasHack '07 entry, and have so far kept if off my website). I'm glad I've managed that.

Richard Phipps
Member #1,632
November 2001
avatar

It just shows how far 3D games have come. :)

Thomas Harte
Member #33
April 2000
avatar

Quote:

It just shows how far 3D games have come.

Mine haven't — they're usually rubbish. My original motivation for all this stuff was just to have a good understanding of a real-life complete game engine (albeit from history).

OICW
Member #4,069
November 2003
avatar

Quote:

It just shows how far 3D games have come. :)

I don't get it. :-/

[My website][CppReference][Pixelate][Allegators worldwide][Who's online]
"Final Fantasy XIV, I feel that anything I could say will be repeating myself, so I'm just gonna express my feelings with a strangled noise from the back of my throat. Graaarghhhh..." - Yahtzee
"Uhm... this is a.cc. Did you honestly think this thread WOULDN'T be derailed and ruined?" - BAF
"You can discuss it, you can dislike it, you can disagree with it, but that's all what you can do with it"

 1   2 


Go to: