|WikiProject Video games||(Rated Start-class, Mid-importance)|
Merge of Freescape and Ian Andrew
I've suggested that Ian Andrew be merged into the history section of this article as the Ian Andrew article is extremely short.
What about the construction kits then? It could be used to create stand alone titles. "The great thing about the system is that it creates stand-alone programs so you can load them without having to reload 3D Kit." // Liftarn
How did it work?
How did it work on a technical level? Did it use depth sorting? Or did it use some kind of BSP approach? Shinobu 16:41, 2 September 2007 (UTC)
- From using the 3d Construction Kit, objects are usually built from 3d primitives such as cubes and prisms. You can place abitrary lines and polygons of up to six sides, but constructing scenes from them uses quite a lot of memory compared to using the 3d primitives.
- Playing the games and using the kit shows that Freescape (on 80x86 at least) actually has a quite low-precision polygon drawer, which frequently causes polygons that should exactly meet up to not quite join, leaving pixel seams along edges. Observing those provides further evidence of the fact that many objects are composed of the primitives as often faces that should be hidden by contact (e.g. where a prism sits exactly on top of a cube) become slightly visible.
- Furthermore, occasional sorting errors suggest that the primitives (3d and 2d) are being sorted and drawn with the painter's algorithm. In any case, it'd be surprising if they were using BSP. First of all, it doesn't fit very nicely with constructing a scene from 3d primitives and secondly it hadn't really made it's way from academic papers into the thought processes of people writing realtime games yet.
- It's likely, given the time and in the environment (i.e. pre-internet) that Freescape was constructed that the authors just invented a lot of the techniques themselves. That would explain the low precision polygon drawing (most people when writing their first code don't consider it obvious that you need to think in terms of sampling a space defined by real numbers and just write polygon fillers as an extension of Bresenham lines or other algorithms that discard subpixel accuracy), reasonably inventive solutions to things like collision detection (all collisions are versus the bounding boxes of objects) and strange limitations (3d primitives may not be freely rotated, which probably saves almost nothing in drawing and collision costs).
- All this is original research, of course, and so not suitable for the body of this article. I'm pretty sure that it would be possible to make a better-than-Freescape engine for the same hardware for someone who works with 3d rasterisation now, as the distribution of ideas and level of community experience is just several orders of magnitude better than it was in the mid-80s. Nevertheless, Freescape is a technical marvel and an incredible achievement — evidenced by its lack of serious competition if nothing else.
- By the way, I'm user ThomasHarte but don't have my login details with me and am not using my own PC, so I'll have to sign this with an IP for now: 188.8.131.52 (talk) 10:17, 28 February 2008 (UTC)