ELITE

Discussion, Reviews & High-scores

Moderator: Moderators

Post Reply
Merytsetesh
Vic 20 Amateur
Posts: 40
Joined: Sat Mar 02, 2024 8:57 pm
Location: Canada

ELITE

Post by Merytsetesh »

Please -- don't scroll away. I'm serious.

There's a really good project by Mark Moxon at https://www.bbcelite.com/ where he's created a disassembly of the original BBC Elite. As well, he's detailed other versions, including C64 Elite, (S?)NES Elite, Arc Elite and a rebuild/remake I've never heard of called Elite-A, which still runs on a BBC but has way more content, and the ability to buy different ships.

I played Elite on the Arc (I went straight from the Vic to the A3000) and I've played all the games since. And it's really ground my gears all my life that there's no version for the VIC. I understand why. The bitmapping makes it next to impossible. Yet something else on Mark's site caught my attention and got me thinking: Teletext Elite. That's right. Elite in Teletext mode, blocky 3x2 characters and all.

One more piece of background, and it's not something I'm proud to admit: I'm not the coder I used to be. Without going into details, I've been ill, and my ability to focus, my stamina, and my ability to figure out logical problems has been impaired.

I'm here to try to ask for help. I think on this forum there are the greatest VIC20 minds on the planet. If the VIC can run DOOM, surely we can find a way to make it run Elite if we all pull together? I've even got a couple of ideas for how the bitmap graphics could be managed, and I've been working on design: screen layouts (which I've been tinkering with), game ideas (extra ships, more components, damageable ship components).

I can't do this on my own. I just can't. Stars know I've tried, for 3 months, and every night I come away exhausted and disheartened. I know, too, that I'm new here: this is just my second post. Yet my searches for info in bitmapped graphics, VIC raster tricks and other things all led me here, so here I am.

Please. Don't dismiss this out of hand. I know it can be done. Let's make it happen. Let's bring Elite to the VIC.

Thank you.
groepaz
Vic 20 Scientist
Posts: 1187
Joined: Wed Aug 25, 2010 5:30 pm

Re: ELITE

Post by groepaz »

The bitmap shouldnt be a problem - you can do that with a charset matrix.

With fully expanded VIC20, porting Elite sounds quite doable to me - still a lot of work, obviously :)
I'm just a Software Guy who has no Idea how the Hardware works. Don't listen to me.
Merytsetesh
Vic 20 Amateur
Posts: 40
Joined: Sat Mar 02, 2024 8:57 pm
Location: Canada

Re: ELITE

Post by Merytsetesh »

groepaz wrote: Mon Mar 04, 2024 6:58 pm The bitmap shouldnt be a problem - you can do that with a charset matrix.

With fully expanded VIC20, porting Elite sounds quite doable to me - still a lot of work, obviously :)
I agree it would take a chunk of work: I'm not denying that. But the expertise is here :-)

Doing the game with a charset matrix is straightforward, but I was hoping to get away from the 16x16 limitation for the screensize. I had thought that it might be possible to flip the character memory pointer partway through the screen refresh with a timer, so it would be possible to have multiple character sets on the screen at once.

I also had a crazy idea, based on Teletext Elite, of having a predefined character set consisting of all the combinations of squares in a 4x4 grid, but of course that ends up with 65,536 combinations and so wouldn't work. (Sadly, because though it would have potato resolution it would also mean you could draw faster as you could skip every other write to memory, and drawing just becomes changing which character you're using.)

My other idea was to have a character set that's defined on the fly but not a true full bitmap. It occurred to me that since much of the screen would be black, you could have character 0 permanently set to {0,0,0,0,0,0,0,0}, and then use the remaining 255 characters to draw, wherever they're required on the screen. When you want to draw, you check to see if that cell of screen memory >0: if so, write to that character; if not, take the next value character (stored in a memory location) until you get to 255. If you can't take another character, well, you're done drawing for that frame. (Unless you combine it somehow with timed flipping, so that the screen is divided into two sections, one per 2K character RAM block.)

I was also going to try to use the VIC's character set wherever possible, such as on the information pages. I'd considered even losing the dashboard (scanner, etc.) on those pages, but maybe that would be a step too far away from the source.

Rambling now, so I'll stop. :-)
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: ELITE

Post by Mike »

Hi, Meryt,
Merytsetesh wrote:[...] it's really ground my gears all my life that there's no version [of Elite] for the VIC. I understand why. The bitmapping makes it next to impossible. [...]
it is not quite clear to me what led you to that false assumption. The VIC-20 is very well capable of doing bitmapped graphics!

The 160x192 resolution as used by MINIGRAFIK would be the direct candidate for a port, there is no need to re-invent the wheel with other, more obscure graphics modes. The focus should maybe be led on a hires (i.e. not multicolour) display, which might require a careful redesign of the scanner, so all relevant things in the bottom part of the screen still remain visible. The main part of the screen could use an off-screen bitmap to render the vector graphics there, and copy it over to the screen bitmap for a flicker-free update. I would estimate an update rate of 4 to 5 frames per second is doable. Text display could use my soft 40 column routines, no need for compromises there either.

Main issues would still be the memory requirements. The 32K version of Elite on the Acorn Electron stripped out some of the graphics (no sun, fewer ships) - one way to keep most features could be to split the game into a flight part and a station part and do overlays from disk.

What remains (and what has already been pointed out here) is the necessary work to put into this. Not only because of RL constraints of any contributors, any collab will become even more 'interesting' when the people involved live in different time zones.

...

That being said - Elite is a big thing to start out with. Maybe it is a good idea for you to start out with a smaller project to reacquaint yourself with the capabilities of the VIC-20. As I wrote, they are not as limited as you thought when you went into this discussion here, and maybe over the course of a few weeks or months the picture will become clearer. :)

Greetings,

Michael


P.S. if you know Simon Challands' ArcElite pages - he hosts a new icon set for ArcElite, those are my work. :)
User avatar
tokra
Vic 20 Scientist
Posts: 1123
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Re: ELITE

Post by tokra »

This bring me back to my very first post on Denial.

Basically I think the bitmap would pose no real problem. The viewport could just be 128x144 pixels (half the res of C64) and if you keep the instruments monochrome (like the Electron version) they can use another 128x56 pixels as demonstrated in my mockup-picture.

A 128x208 resolution poses no technical problem. It is just 208 chars in 8x16-mode and if you set the charmap up nicely it can even speed up calculations when setting a pixel. No need for raster-interrupts there.

It is a large project nonetheless. I agree with Mike that space-fighting and station-dealing should be two different parts loaded from disk. Unless you want to consciously limit yourself to a single-load that could work from tape. But I think that would be step 2 after having a working disk-version.

As wth any large project the key is to divide it up into smaller bites, that could be handled easier. The station-part could be done with the 40-column routines of MINIGRAFIK. The space-fighting part would probably need as much memory as possible to store the lookup tables that make ELITE run smooth on 6502-processors. From what I remember on Z80-systems with less memory they needed to just rely on the faster processor there. But obviously the VIC-20 like the Electron has both the 6502 and lower memory than a C64. I would say a fully expanded VIC (+32 K or even +35 K) should be allowed for this game to run.
groepaz
Vic 20 Scientist
Posts: 1187
Joined: Wed Aug 25, 2010 5:30 pm

Re: ELITE

Post by groepaz »

I'd just do what pretty much became the standard in recent days for (larger) C64 games too: use a cartridge. That eliminates all concerns with memory.
I'm just a Software Guy who has no Idea how the Hardware works. Don't listen to me.
Post Reply