Jump to content
IGNORED

Calling José Pereira! Atari Lotus Challenge II for A8?


macgoo

Recommended Posts

post-6517-0-98983400-1344602404_thumb.png

 

 

There's something on your screen and explanation I am missing...

 

In bit-pairs you have 4 colours.

And in C64 you have 3common on each char and one possible different...

 

On the common colours:

-> (00) for the sides Green(s)

-> (01) for the Road Gray(s)

-> (10) for the Brown

 

Then you'll have (11) as White on the Road Lines, Greeen on Trees and all other gfxs.

And like this to have the Trees Wood along with Brown you'll need the Dark Gray.

(You'll never get this screen the way you're 'painting' it)

Then, if you need the Dark Gray the Road must be all along the same colour (that's why I did it like that and you can see this in other versions and on same type games).

The feeling of speed it's done by the Grass.

Link to comment
Share on other sites

You have 2 common colour, 1 unique for each 4x8 pixel block. 4th colour is transparent or background yes.

 

I did the original image as a static screen mockup and here it would be possible using either extended background mode. However then you can only have 64 characters in your font so a big problem for a game engine. In the static screen the road sides are grey cell colour, green is already a multicolour out of 2 global set colours and you have white as the background in extended background colour mode. This then allows you to set part of the background to green and part of the background white (ie under edge of road where it is 1 char width green and also under the grey road). Above the horizon it is still blue either by free choice (you can set 4 background colours for extended background mode) or rasters.

 

As you can see this will not work at all for a game engine, with all that complex char colour swapping and mapping to calculate you would probably get less than 1/3 the speed of the game the way I intended. As the game stands you can either have no lines (looks horrible) or black lines on the road instead of white as black is one of the global set multicolour colours.

 

Open to ideas :D This all started out as a static screen mockup nothing more and to make a fast game engine has taken a while to fit the compromises. I was told by someone on A8 you get 5 colours on char graphics for 160px double width mode and on C64 it always ends up in some char block "if only I had 1 more global colour" hence I posted it here.

 

A8 has faster CPU for executing game engine, I believe more accuracy on scanline palette swaps due to DLI system not IRQs of C64 and one extra colour for non PM graphics displayed

 

However I did it on the C64 because only one less colour and plenty of sprites at reasonable 160x100 effective resolution with unique colours for both sprites and char graphics. I never expected it to go this far, before you know it Andrew Morris or Shaun Southern will be sending me a PM somewhere wanting to know EVEN MORE! (they wrote Lotus 1,2,3 on Atari ST and Amiga/CD32)

 

Anyway final mockup with rocks changed to grey + black BUT as orange and black are MC globally set options you can add orange and make a nice 3 colour rock for unique char blocks. If trees and rocks are intelligently spaced in game design they will never overlap and it will look much nice. I will do the rocks soon but for now just made it C64 screen mode legal and technically possible without 10 million multiplexed sprites and 3x extended background mode 4 colour palette swaps mixed between the raster bars for road/grass stripe effect which would be a waste of time exploring further.

 

I hope we all had fun and learned new things on both sides anyway :D

post-33040-0-08633200-1344610708_thumb.png

Link to comment
Share on other sites

I'm going to have to refigure my road plotting idea then. I've got an idea about how to do it, but the question is 'will it be fast enough?'

 

It's happy fun 6502 algorithm time :)

 

Your routine for A8 or C64?

 

Anyone have Chris Butler's email address? :lol:

 

This is his last known game he was lead programmer on in 1999.

http://www.youtube.com/watch?v=8YQGQjDo2Ck

Link to comment
Share on other sites

1.)- I thought C64 extended Background 64 chars was only on Hi-Resolution?

 

 

 

 

 

 

 

2.)- I really don't see how you are imagine things...

This screen (or any other this type...):

You need Brown and Gray(s) and Brown and Grays(s) only possible as one of the common colours.

Char-Mode one char different colour you have only 8colours (Black, White, Dark Green, Blue, Cyan, Red, Purple and Yellow)

 

Now you have the Grass in two Greens.

You cannot have Grass as colourMap colour because it will clash with the gfxs (like the Trees).

Then if you want to have the Grass two colours but you can't waste two of the Multicolours here (same on the Road two Grays).

What you do?

 

If you set:

(00) as Brown

(01) as Dark Green/RASTER/Light Green

(10) then you have the Road Dark Gray

Because Dark Gray it's used 'all high' on the Trees next to the Brown you cannot get the Road in two grays. See the point I am trying to say.

You can do a RASTER (DLIs on A8) to have the two Greens in the same colour Register, right?

And you can as this Lotus I pricture shows:

post-6517-0-16567100-1344617449_thumb.png

You have Three chars common colours as Gray, Black and then the two Greens are the same colour register.

The colour Map it's on the the Panels Purple in the Arrows)

 

 

And now you have all the 8 colours (11) to use in alll of the chars.

Clever way and it seems like this: The White lines on the Road doesn't seem to be on the same chars as the sides gfxs.

This way you can have the White as one of the ColourMap colours.

 

 

 

 

 

 

 

 

3.)- No, the A8 it's exactly the same as C64 4colours per char.

The 5th one (that we call PF3) it's exactly like the ones of the C64 ColourMap.

We have, like you:

(00) Background

(01) PF0

(10) PF2

These are common on the chars

Then if char number <128 it takes PF2 colour or if char number =>128 it takes PF3 colour.

 

It's even more restrictive than C64 because you have 3common colours and more 8 that is 11colours per line.

We only can have 5 (there's ways to turn this into more colours, off course but depends of the game/screen...)

Edited by José Pereira
Link to comment
Share on other sites

Didn't really understand what you need to know as white lines were for static mockup screen but latest screen I uploaded was black lines instead of white. This is how it could work for me. (Ignore the cars and clouds as these are multicolour sprites with their own palette of 3 colours and transparent to show what is underneath,blue sky in this case or grey of road).

 

Global background colour for sky is set to blue at vertical=0, with a raster interrupt used at the point the ground meets the sky the global background colour is set to green for the ground.

 

For char block graphics below sky at point of horizon

Global multicolour 1= Black

Global multicolour 2= brown

(rocks, road and trees can exist here but overlap from ground to sky so this is why sky must be background colour set to blue and ground background colour set to green then trees can be written anywhere and you will see sky and ground showing through)

 

So for the trees you can pick green as the unique colour for the char block you are writing to, I chose green. So tree is green as free choice colour and can also use global multi colour (GMC) too which give black, brown and green. You could set green as a one of the GMC and have brown as the free colour too, but then the rocks have only black and green + 1 free colour to use, green is not useful for rock graphics so you would be limited to 2 colour graphics.

 

For the rocks you can use black and brown as they are GMC 1 and 2 too but as long as it is in a different 4x8px char block you can set the colour to orange or red to make nice golden rocks.

 

The green on the ground each side of the road is the background colour of screen we set to green with raster interrupt. Now the reason this is green AND tree green is the same colour ie free selected char colour number 3 for tree graphics, it is duplicated because when you make the light/dark green stripes on the raster interrupt which changes the value set for background graphics. This means you will get the stripes on the grass next to the road but not on the green leaves of the tree as you are changing only background colour from horizon to bottom of screen with raster interrupts just like Space Harrier

 

The road can have brown or black in each 4x8px char block of course as all char positions can so we use grey as the free colour number 3 to make the road shape over striped green background colour, and we can do black stripes of course over green or grey area of ground as this is one of the global colours for whole screen. The road uses less chars than the left and right side of the road = so drawing in just the road = faster game engine.

 

As I understand it on A8 you mean if ROM character written to screen is between 0-127 you get colour PF2 and if you write ROM character 128-255 you get PF3 colour?

 

On C64 maximum colours in one 4x8 pixel block is 1+3 set for entire screen and fixed (multicolour 1 and 2 plus background colour) This is fixed for ALL chars on screen unless you do a raster interrupt (or DLI on A8 I guess). The only extra colour you can choose is one more unique colour for each 4x8 char block. It looks like then we are both limited to maximum 4 colours in each 4x8px char block and the same design restrictions would apply.

 

On C64 you can have all 16 colours on screen of chars yes BUT 3 of those colours are the same in all chars on the whole screen technically and only one colour can be different and selected for each char block of 4x8 pixels. Also only 4 colours can exist in any 4x8 pixel block (3 of which are the same for the whole screen). Anything beyond that is down to raster interrupts to swap colour registers for background, MC1 and MC2 global multi colour registers.

 

To get white lines on grey road you would need TWO free colours as you can't change multicolour global colour 1 or 2 across a horizontal line and you are using two of black/green/brown to make the trees. So as trees need black brown and green you can have only the following on road depending on what colours you design to set MC1 and MC2 for screen

 

background + grey char colour of road + MC1 black + MC2 brown

background + grey char colour of road + MC1 black + MC2 green

background + grey char colour of road + MC1 green + MC2 brown

 

White is impossible to have on road unless you are making trees with snow on them and change black on screen to white for MC1 or MC2 register :)

 

(sky/ground blue/green background set by simple raster at Y position of horizon using raster interrupt across whole scanline so doesn't really matter for road graphic chars in grey written to screen)

Edited by macgoo
Link to comment
Share on other sites

I understand your point of view but i would do other way. For me the road would look better with white stripes. Road all as dark gray and you have it for the trees instead of black. Now you have also dark gray to use on the sides gfxs like the rocks. As i see things the white can be (11) as it doesn't seem to be on the same chars as the sides gfxs.

Link to comment
Share on other sites

But the trees need green (different green to background) black and brown.

 

Road needs grey and background is green but separate register to green on trees. This means road can only have grey + whatever you set as multicolour 1 and 2 so that means grey+black+brown.

 

If you draw lines only on edge of road 1 char separating grey and white boundary sure, but white lines inside grey road is impossible. If you remove the green/light green raster effect on ground then you can make the grey on road the background colour and the green of the grass at side of road the same colour register as green in the leaves of the tree. This means the white on the grey of the road is an open canvas and you can use any colour you like in each char block. If the green is set as Multicolor1 or Multicolor two and brown or black is set as free colour for char block you lose 3 colour rocks (unless rocks have green mould on them hehe) but you can do the white lines on grey road AND green grass exactly as my first picture.

 

Hell you could even blow 3 sprites for the lines on the grey road and move the white lines at edge of road 1 char outside grey/green boundary. There are many options. But 3 sprites for all cars you must overtake is not enough, that means one large car and one small car in distance or three small cars in distance maximum. Not very exciting with only 2 cars to overtake :)

 

It's all compromise and needs a lot of thinking. I was interested how it would best be possible on A8 though not the difficulties of my C64 proposed game engine :lol:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...