Most advanced BBC game?

reminisce about classic bbc micro and acorn electron games here
Related forum: adventures


jon28
Posts: 37
Joined: Mon Feb 27, 2006 4:33 am
Contact:

Most advanced BBC game?

Post by jon28 »

I was wondering what the most technically advanced BBC game was?

I'm not talking about the best game, best graphics or anything like that. Just the games which used every single trick in the book to push the hardware to the absolute limit.

Some discussion on the tricks that were used as well would be interesting.

Personally I still don't understand how Elite was made for the BBC, especially as it would run on an un-expanded tape system.

Exile would be another. I never played this at the time of release and have only had a quick play recently, but this seems a pretty major feat of programming as well.

Jon.
Moist_Mog
Posts: 76
Joined: Sun Dec 11, 2005 7:46 am
Contact:

Post by Moist_Mog »

It's got to be Sim City. I remember reading an interview with the guy who converted it from the Amiga (can't remember his name, but I'm sure someone here will know) and it used something like 20 times the amount of memory on the Amiga than it did on the BBC. I've still got the magazine in question so will try to dig it out when I'm next at my parents' place...

As for Elite... I'd guess it was written before many of the hardware-pushing 'tricks' were established so this could be a contender
User avatar
billcarr2005
Posts: 1840
Joined: Fri Sep 09, 2005 4:01 pm
Location: UK
Contact:

Post by billcarr2005 »

Sim City was written by Peter Scott.

http://www.stairwaytohell.com/authors/p ... Scott.html

Don't remember if he had any help with it, I'll check the case if I get time.
User avatar
CMcDougall
Posts: 7048
Joined: Wed Feb 02, 2005 3:13 pm
Location: Shadow in a Valley of Scotland
Contact:

Post by CMcDougall »

SSofts Speech! , Revs, E-type Jag, Holed Out! & Ricochet. :D
ImageImageImage
User avatar
Arcadian
Site Admin
Posts: 4219
Joined: Fri Nov 24, 2000 12:16 pm
Contact:

Post by Arcadian »

It's got to be Firetrack, surely?!?
PeterScott
Posts: 46
Joined: Wed Jan 19, 2005 1:23 pm
Location: London
Contact:

Post by PeterScott »

Did I see myself mentioned? Heheheh.

Yeh of everything I wrote Sim City was the hardest... and the thing I'm most proud of. It fitted into 20K, ran on an Electron even, and the original was 512K on the Amiga.

I was sent a listing in C of the original source code with a book-like doc of algorithms and formulae. It's amazing how intricate it all is, just like a real city. Plant a tree and the house next to it goes up in value (it's next to greenery). This helps reduce crime but also increases traffic flow (more expensive houses = more cars, rich people less likely to use public transport). And... well, that's one out of hundreds of examples...

I managed to get most of the original into the conversion and it's still one of my favourite games. Playing The Sims on my PSP proves how far things have come though heheh.

My vote for most advanced game? Three of the usual contenders I s'pose - Revs, Elite and Firetrack. I'd say Firetrack nudges it in that it was the only game that I remember a room full of BBC programmers going "Huh?" and wondering how it was done. Elite did that too but when it came out on other machines it kinda lost the uniqueness I think. And, to be frank, all that ferrying cargo around in order to get money to get better ships somewhat bored me. Unlike Revs which was just SO playable...
melchett
Posts: 478
Joined: Tue Jan 28, 2003 9:52 am
Contact:

Post by melchett »

PeterScott wrote:I'd say Firetrack nudges it in that it was the only game that I remember a room full of BBC programmers going "Huh?" and wondering how it was done.
Excuse the naive question but what in particular was it about Firetrack that was so technically outstanding to other BBC programmers? Was it the just the incredibly smooth scrolling or the animation of his explosions (that's what first struck me :D ) or some other feature? Interested to hear...

I think the game other than Elite than most impressed me was Sentinel. Shame the BBC couldn't quite render it fast enough (it wasn't bad) but I persevered with it and just found it incredible at the time that there were so many unique landscapes (before I had a better understanding of fractal landscapes). I played the PC version years later and it just somehow seemed to have lost something whizzing over those landscapes with your mouse - none of that "turn faster you damn thing".
jon28
Posts: 37
Joined: Mon Feb 27, 2006 4:33 am
Contact:

Post by jon28 »

The thing I always remember about Firetrack was the load music, which I still hum on a regular basis. I just had another go at Firetrack to remind me.

The scrolling is near perfect and the in game music is excellent. But it seems a bit too easy and the sprite collision detection doesn't seem as accurate as it should be.

But my original post was about the most technically advanced, so I too would be interested in what it is about Firetrack that impressed other programmers so much.

I must admit that whilst I was always amazed by Elite, I was one of those people that never quite got it. I could never figure out how to dock and the thought of all that flying and trading never inspired me to get the hang of docking.

I know it came out on the Spectrum first, but the biggest jaw dropping moment for me was playing Knight Lore on my BBC for the first time. Though if you look at how far the 3d games were developed on 8 bit computers (including the BBC), in retrospect it wasn't that amazing.
PeterScott
Posts: 46
Joined: Wed Jan 19, 2005 1:23 pm
Location: London
Contact:

Post by PeterScott »

I think it was the scrolling that made Firetrack so jaw-dropping; it was the first Beeb arcade game to compare with the smoothness of games on the C64 or arcade machines of the time. The explosions were beautiful too, the whole thing just a tour de force...

Sentinel was astonishing but, as with Elite, it just didn't enthuse me as a player. I have to agree with Jon28, I forgot just how damn annoying it was to dock...
User avatar
Rich Talbot-Watkins
Posts: 2054
Joined: Thu Jan 13, 2005 5:20 pm
Location: Palma, Mallorca
Contact:

Post by Rich Talbot-Watkins »

I'm not familiar with Sim City, but packing all that logic into less than 20k certainly sounds like some feat!

Anyway, these would be my nominations for Beeb technical genius:

Exile

Well... I've raved about Exile so often, and I'd still consider it to be the most impressive technical achievement the Beeb ever saw.

Just considering the amount of 'world', graphics, dynamics and logic which are packed into less than 24k of the Beeb's memory is amazing enough... then considering how the authors achieved this is eye-opening.

The world was mostly generated procedurally from a complex algorithm, which would calculate the piece of scenery for a given (x,y) coordinate. Some complicated areas of the world were mapped 'by hand' and the scenery algorithm would take coordinates in these areas into account and pull return values out of these pre-mapped areas instead.

The sprite routine used by Exile was quite unorthodox. Whereas most Beeb games would effectively store sprites as copies of screen data, and just copy it to screen in the required position, Exile built sprites out of three different-coloured layers, each layer being stored as a flat 1-bit-per-pixel block, rather like a text character. This gave it several advantages:
  • Sprites were immediately reduced in size to 75% - using a total of 3 bits-per-pixel instead of the usual 4 bits-per-pixel for Mode 2.

    It could easily render sprites at any pixel, horizontally or vertically - essential for its accurate dynamics. This may not sound a big deal, but I can think of very few Beeb games which displayed sprites at any horizontal position.

    It could display the three layers in whichever colours were specified, or even turn particular layers off. This meant there was no need to store different-coloured versions of essentially the same sprite. Exile used this extensively, with different coloured monkeys/frogmen using the same sprite data - other examples of sprite data sharing are birds/wasps, keys/RCD, maggots, Triax/protection suit/player, bushes/lightning bolts... I think another ingenious use of the layers was that different frames of animation could be stored in different layers, and these turned on and off in sequence to animate the sprites.

    Sprites could be trivially flipped in horizontal or vertical directions, again potentially quartering the amount of sprite data which needed to be stored.
The most astonishing thing about this sprite routine is the fact that it was able to display sprites surprisingly quickly, despite its complexity... as anyone who's played the game can testify, there are frequently large numbers of sprites on-screen, and even if the overall framerate of the game is reduced, there is rarely any flicker.

Another interesting property of this sprite routine is how it deals with overlaying sprites on one another. All game objects are rendered behind the permanent scenery. The way this works is simple but effective: all scenery objects are rendered in colours 8-15. All game objects (sprites) are rendered in colours 0-7. The sprite routine simply looks to see which colour is being plotted onto, and only plots pixels over colours 0-7. This means that scenery is preserved in the foreground, and also means that the same routine can be used to plot and unplot sprites, as plotted pixels are actually EORed with whatever was there before. Occasionally, where two sprites overlap, you can see the tell-tale signs of EOR plotting (a mess of overplotted colours), but of course Exile hides this from the player by very rarely ever allowing sprites to overlap, due to its exceptional collision resolution...

Exile uses some very accurate colour interrupts to provide the water level plotting further on in the game. The water is rendered as a cyan scanline at the surface, followed by blue below. This was achieved by simply changing the background colour palette at the appropriate moment, of course taking into account the screen scrolling - something which is only possible by very accurate timing, and the fact that the game 'took over' the interrupt processing entirely. This technique has been done a few times before, notably Gary Partis' Sphere of Destiny, in order to animate the track, but is worth pointing out nonetheless.

Graphics aside, Exile also had some revolutionary gameplay elements - the object dynamics and collisions are modelled realistically - both collisions with scenery (getting rebound angles perfect) but also collisions between two game objects - and other things such as line-of-sight of characters are also implemented perfectly - quite how it was able to do such things so quickly, when there wasn't even a map stored anywhere, and instead the contents of each scenery tile had to be calculated, I'll never know.

The Exile engine is surprisingly robust, and is able to deal with all sorts of unexpected events. All game objects are created 'equal' and so, for example, the game copes perfectly well with having multiple players in the scene at once if you contrive such a thing. In the case where you litter the world with a number of permanent objects, e.g. keys, there is even code - which is never normally called - which will 'explode' excess litter with a small white flash, to save them from eating up memory and CPU time (even huge numbers of keys in piles perform perfect collision resolution with one another, stacking up like bricks).

Add in the sampled sound on the enhanced version which fits perfectly with the game, and the simple but spot-on sounds for the monkeys, dripping liquid, birds, wasps and the rest... it's a work of virtual perfection.

As you can see, I've spent a lot of time dissecting Exile in the past...

Read more here: http://exile.acornarcade.com/ (Andrew Weston's tribute site)


Firetrack

Well, I don't have so much to say about Firetrack as I have about Exile :)

But Mr Pelling certainly put together a tight little package here. I think he was the first to use the 'vertical rupture' technique for pixel-by-pixel vertical scrolling, which is certainly Firetrack's big technical achievement. This technique doesn't necessarily require accurate timing, but Firetrack's method does.

It works by making use of a video chip register which is able to adjust the number of scanlines in a PAL frame line-by-line. Changing its value has the effect of moving the screen up and down by single pixels. However, doing this naively will always result in a huge screen-roll when adjusting it back to its 'base' position again. What Orlando realised was that if he was adding scanlines to the top of the screen, he needed to remove some again further down, and that way the vertical position of the screen could move by pixel amounts as desired, whilst avoiding the 'roll'. The way he achieved this was through very careful timing that effectively created one character block at the bottom of the screen which had extra scanlines added into it, which replaced what had previously been two regular character blocks. (trying to be as non-technical as possible here, but can elaborate if desired!)

Also, I just love the music in Firetrack, and the graphical style with shadows and those nice explosions, is just perfect.


Elite

Well, it has to get a mention really. The hugest technical achievement in Elite for me is the maths behind it. Remembering that it was developed very early on in the Beeb's life, and nothing like it had been attempted before, it was a very brave and groundbreaking product. 6502s are notoriously bad at multiplication and division, so the fact that Bell and Braben were able to do the necessary 3d transforms - rotation and perspective - and also calculate the hidden faces so as not to render hidden lines was a real achievement, considering the speed that game ran at. The pseudo-random seeded galaxy generation is not a big deal particularly for me - but the actual 3d rendering has to be given a mention.
Last edited by Rich Talbot-Watkins on Mon Jul 31, 2006 11:43 am, edited 1 time in total.
User avatar
Kecske Bak
Posts: 752
Joined: Wed Jul 13, 2005 8:03 am
Location: Mélykút, Hungary
Contact:

Post by Kecske Bak »

Can I wave a paw for runners up prizes for the BBC version of Uridium (which does some very interesting things) and the Peter Scott's Barbarian 2.

Barbarian 2 surely deserves a mention due to the sheer quantity of graphics it manages to squeeze into a Beeb - and the size of some of them too is pretty impressive.
garfield
Posts: 547
Joined: Mon Jan 03, 2005 1:38 am
Contact:

Post by garfield »

Rich Talbot-Watkins wrote: Anyway, these would be my nominations for Beeb technical genius:

Exile

<snip!>
Another great post from RTW. I was most impressed (and still am) with your disection of EXILE's scrolling routine on the BBC Micro mailing list a few years ago!

This brings me to a tangental point about the mailing list archives: they're somewhat incomplete (missing numerous posts).
Googling the BBC Micro mailing list archives occasionally results in some dead links, but Google's cache function sometimes HAS some pages archived, leading me to conclude that the mailing list archives must have had a fuller collection of posts at some point in the past.

http://nelsonit.net/~jon/BeebEmul8/
http://nelsonit.net/%7Ejon/BBCMicro/
http://www.mdfs.net/Archive/BBCMicro/
ivor_the_injun
Posts: 250
Joined: Sat Aug 27, 2005 2:36 am
Contact:

Post by ivor_the_injun »

Nah, none of that Exile/Firetrack/Elite malarkey.

For me, it simply has to be Auf Wiedersehen Pet. :lol:

It still makes me laugh that someone paid £6.99 to get me that as a birthday present.
GarethW
Posts: 18
Joined: Tue May 03, 2005 6:32 pm
Contact:

Post by GarethW »

Hmm, quite a difficult question, not being a programmer, but nevertheless I'll give it a go (based on the Electron mind you, not the posh BBC lol).

Exile - without a doubt - how this game got crammed onto the Electron is beyond me.

I wish I'd played Sim City, but I'd moved onto other computers by then. Curses!
User avatar
Kecske Bak
Posts: 752
Joined: Wed Jul 13, 2005 8:03 am
Location: Mélykút, Hungary
Contact:

Post by Kecske Bak »

Rich Talbot-Watkins wrote:The sprite routine used by Exile was quite unorthodox. Whereas most Beeb games would effectively store sprites as copies of screen data, and just copy it to screen in the required position, Exile built sprites out of three different-coloured layers, each layer being stored as a flat 1-bit-per-pixel block, rather like a text character.
Didn't Citadel do this as well?
AJW
Posts: 984
Joined: Sun Feb 15, 2004 2:01 pm
Contact:

Post by AJW »

Exile - without a doubt for the reasons RTW mentions and more!

I've always thought Exile was the culmination of programmers trying to push ever more out of the BBC and curiously the secret wish that I'd like to see a sequel worthy of the original gives me hope in the future of the Beeb's successors.

I've tried to generate a pattern similar to Exile's map based on incremental values passed to a routine but I can't achieve anyhing nearly so magnificent. I marvel at the formula they could have used to do this.

Honestly we can only wax lyrical about Exile to Peter Irvin so much but what they achieved was incredible.

The behaviour of the creatures - how they became interested and investigated at your presence and eventually agitated in movement and sound. How could anybody ever have thought the BBC Micro could even reach this complexity?

The only downside was the difficulty which put many off but it's still a marvel. The technology behind the water level just confirms what I already thought!
BeebInC
Posts: 118
Joined: Sun Mar 19, 2006 11:58 am
Contact:

citadel

Post by BeebInC »

>>Didn't Citadel do this as well?

Yes it did
User avatar
Cybershark
Posts: 720
Joined: Wed Jun 14, 2006 11:16 pm
Contact:

Post by Cybershark »

Exile was a breathtaker for sure.

but one i've not seen mentioned here was a PD game called Pantheon by Benny Lonstrup and Lars 0sterballe. this game was a single load but contained a MODE1 vertical scrolling shooter in the style of Firetrack and then went into Citadel territory with a MODE2 arcade/adventure as the main feature. had the very nice touch of having both foreground and background scenery sprites :shock:
this one almost got released by Superior as can be evidenced by the 'SUPERIOR SOFTWARE PRESENTS...' loader with it :lol:

it's on one of the GLM PD disks if anyone wants to go look it up btw.

EDIT: heh, it's also in the Lost & Found section of the site here :wink:
AJW
Posts: 984
Joined: Sun Feb 15, 2004 2:01 pm
Contact:

Post by AJW »

No idea why that didn't get released. The graphics were great. I always assumed it was because it was too difficult. Has anybody got anywhere with it?
User avatar
Cybershark
Posts: 720
Joined: Wed Jun 14, 2006 11:16 pm
Contact:

Post by Cybershark »

yeah, i did get some way with it.

from what recall the plot was that your ship had crashed (after the first act) and you had to reassemble the pieces. it was all flying kicks and punches which always made it feel more like Bruce Lee than Citadel i think.
the arcade adventure revolved around using different items - or perhaps combinations of items, i forget - at the various temples. by 'worshipping' the deities in such a manner (or more likely, disrespecting them) various effects occured around the map eg flooding, earthquakes, etc. these would then allow further exploration.
User avatar
Dave Footitt
Posts: 998
Joined: Thu Jun 22, 2006 10:31 am
Location: Abandoned Uranium Workings
Contact:

Post by Dave Footitt »

Obvious ones for me: Elite (Will always be my number 1), Exile, Firetrack...

Sentinel for its filled 3D niceness and huge number of levels, also 3D Pool - again for its lovely realtime filled polys, and being a joy to play!



Dave
User avatar
sorvad
Posts: 2190
Joined: Wed Aug 24, 2005 1:13 pm
Location: Back of beyond
Contact:

Post by sorvad »

Was 3D pool first done on the Arc and then ported to beeb like E-Type ? I think that was a bold decision as I wouldn't have thought it could do a decent job on a beeb but I think it came out OK. Only briefly played it several months ago but seem to remember it seemed ok from my few seconds of play.
User avatar
Dave Footitt
Posts: 998
Joined: Thu Jun 22, 2006 10:31 am
Location: Abandoned Uranium Workings
Contact:

Post by Dave Footitt »

Not sure, I think it came out on most 8 bits at the same time, so I'd have thought it was wrote on one of those. Can't fault the lad for putting the effort in of dithered filled polys and matrix/vector operations in 6502!
User avatar
sorvad
Posts: 2190
Joined: Wed Aug 24, 2005 1:13 pm
Location: Back of beyond
Contact:

Post by sorvad »

Yes, I agree there, I think he did a good job of that. Must have a proper play at it sometime.
tom_seddon
Posts: 879
Joined: Tue Aug 30, 2005 12:42 am
Contact:

Post by tom_seddon »

[quote="Dave Footitt"]Obvious ones for me: Elite (Will always be my number 1), Exile, Firetrack...

Sentinel for its filled 3D niceness and huge number of levels, also 3D Pool - again for its lovely realtime filled polys, and being a joy to play!

Dave[/quote]

Yeah! Sentinel seriously floated my boat, graphicswise. Move sideways and... oh my! 50Hz! You don't see *that* often. Not even on Xbox :)
User avatar
Kecske Bak
Posts: 752
Joined: Wed Jul 13, 2005 8:03 am
Location: Mélykút, Hungary
Contact:

Post by Kecske Bak »

Cybershark wrote:Exile was a breathtaker for sure.

but one i've not seen mentioned here was a PD game called Pantheon by Benny Lonstrup and Lars 0sterballe.
I think Citadel is one of the most underrated BBC games technically. It fitted in absolutely masses and used some very clever techniques to do so. I like the way it's graphics were stored, and how it coped with making things climable or deadly to touch.

And, unlike Exile or Elite, it was relaxing and fun to play. Exile and Elite were too much like hard work to be games for me!
User avatar
Dave Footitt
Posts: 998
Joined: Thu Jun 22, 2006 10:31 am
Location: Abandoned Uranium Workings
Contact:

Post by Dave Footitt »

Kecske Bak wrote: I think Citadel is one of the most underrated BBC games technically. It fitted in absolutely masses and used some very clever techniques to do so. I like the way it's graphics were stored, and how it coped with making things climable or deadly to touch.
I agree, I loved Citadel, although never finished it, sadly. I've not looked into the code or anything like that (get enough of that during the working day!) - how does it store its graphics?

Citadel was also the first time I heard Speech! running, I remember setting it loading, then going to the kitchen for a cup of tea (similar to how you do with some PSP titles these days ;)) and upon hearing speech ran back into my bedroom, gobsmacked!

Happy days :)

Dave
AJW
Posts: 984
Joined: Sun Feb 15, 2004 2:01 pm
Contact:

Post by AJW »

Even the author of Exile admits that the only downfall of the game was the difficulty!
User avatar
Kecske Bak
Posts: 752
Joined: Wed Jul 13, 2005 8:03 am
Location: Mélykút, Hungary
Contact:

Post by Kecske Bak »

Skirmish was a pretty advanced game in some respects. I loved the cassette loader, and what was going on with the lava pools at the bottom? It was only recently that emulators seemed to be able to cope with this properly.

And does anyone know who Delos D. Harriman was - I know he went on to write something called Bolo?
User avatar
Kecske Bak
Posts: 752
Joined: Wed Jul 13, 2005 8:03 am
Location: Mélykút, Hungary
Contact:

Post by Kecske Bak »

http://en.wikipedia.org/wiki/Bolo_%28computer_game%29

Well I never, I never thought I'd find the answer on Wikipedia!
Post Reply

Return to “8-bit acorn software: classic games”