Crazy Cavey

Discussion, Reviews & High-scores

Moderator: Moderators

Post Reply
SparkyNZ
Vic 20 Enthusiast
Posts: 153
Joined: Tue Jan 18, 2011 2:23 am

Crazy Cavey

Post by SparkyNZ »

I just dug up this game because I used to love playing it on my Vic years ago. I loaded up Vice, selected 16k and expected to load the game.. but no.. This game was for the unexpanded Vic!

Image

A few thoughts on this game..
1) How on earth did this fit into an unexpanded Vic? I don't know if it used the double-height char mode or not but it uses a screen larger than the 22x23 standard size
2) Is the raster being horizontally timed to get both multi colour and hires graphics on the same horizontal lines? See the purple and yellow platforms - they must be multi-colour.. but then aren't the green disappearing wedges non-multi colour/hires 8x8 chars?

The the cavey player.. He's clearly a multicolour character too.

The game only has 4 levels (only an unexpanded Vic) but when you see the smooth scrolling aliens etc - this game is an awesome piece of work!

Its a shame nobody took the game and made more levels on a 8k/16k Vic :-)
User avatar
chysn
Vic 20 Scientist
Posts: 1205
Joined: Tue Oct 22, 2019 12:36 pm
Website: http://www.beigemaze.com
Location: Michigan, USA
Occupation: Software Dev Manager

Re: Crazy Cavey

Post by chysn »

It's a really well put-together game, but I don't think there's anything mysterious about it. Color mode (multi-color vs. high-resolution) is set on a per-character basis with the color memory, so no raster line manipulation is required. The ghosts kind of flicker, so there's probably no heed taken of the raster position at all.

This screen size is something that can only be achieved on a PAL machine. I'm always a bit bitter about that! :D

And you're right, something like this deserved eight or ten levels at least.
VIC-20 Projects: wAx Assembler, TRBo: Turtle RescueBot, Helix Colony, Sub Med, Trolley Problem, Dungeon of Dance, ZEPTOPOLIS, MIDI KERNAL, The Archivist, Ed for Prophet-5

WIP: MIDIcast BASIC extension

he/him/his
SparkyNZ
Vic 20 Enthusiast
Posts: 153
Joined: Tue Jan 18, 2011 2:23 am

Re: Crazy Cavey

Post by SparkyNZ »

chysn wrote: Thu Sep 21, 2023 9:48 am It's a really well put-together game, but I don't think there's anything mysterious about it. Color mode (multi-color vs. high-resolution) is set on a per-character basis with the color memory, so no raster line manipulation is required. The ghosts kind of flicker, so there's probably no heed taken of the raster position at all.

This screen size is something that can only be achieved on a PAL machine. I'm always a bit bitter about that! :D
I'm guessing because it was a Mastertronic game it would have been made in the UK on a PAL machine.

I can't remember how the multicolour mode worked - except that 2 bits represented 4 colours. So multicolour mode can be enabled for one character position only? I'll have to go and have a play with that :-) I thought it was all or nothing.
User avatar
chysn
Vic 20 Scientist
Posts: 1205
Joined: Tue Oct 22, 2019 12:36 pm
Website: http://www.beigemaze.com
Location: Michigan, USA
Occupation: Software Dev Manager

Re: Crazy Cavey

Post by chysn »

SparkyNZ wrote: Thu Sep 21, 2023 6:41 pm So multicolour mode can be enabled for one character position only? I'll have to go and have a play with that :-) I thought it was all or nothing.
Bit 3 set in the color byte enables multi-color mode for that character. Some aspects of multi-color mode are all-or-nothing, like border, background, and auxiliary colors. That's the point where changing aux and border colors by timing the raster line enables fancy color shenanigans that I'll never understand. But there's nothing like that going on in this game.
SparkyNZ
Vic 20 Enthusiast
Posts: 153
Joined: Tue Jan 18, 2011 2:23 am

Re: Crazy Cavey

Post by SparkyNZ »

chysn wrote: Thu Sep 21, 2023 9:48 am It's a really well put-together game, but I don't think there's anything mysterious about it. Color mode (multi-color vs. high-resolution) is set on a per-character basis with the color memory, so no raster line manipulation is required. The ghosts kind of flicker, so there's probably no heed taken of the
This is really cool! I learnt something new about the Vic today. I had no idea 16 colours could be used in characters. I thought that was just for border colour only and only 8 colours could be used. I certainly didn't expect the aux colour to be one of 16 colours.
SparkyNZ
Vic 20 Enthusiast
Posts: 153
Joined: Tue Jan 18, 2011 2:23 am

Re: Crazy Cavey

Post by SparkyNZ »

chysn wrote: Thu Sep 21, 2023 6:50 pm Bit 3 set in the color byte enables multi-color mode for that character. Some aspects of multi-color mode are all-or-nothing, like border, background, and auxiliary colors. That's the point where changing aux and border colors by timing the raster line enables fancy color shenanigans that I'll never understand. But there's nothing like that going on in this game.
I fancy having a go at raster timing on the Vic. Sounds like fun.. and I'm sure it will be way harder than the C64. :-)
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Crazy Cavey

Post by Mike »

SparkyNZ wrote:I'm sure it will be way harder than the C64. :-)
Not really. See here. Source is included.

Victragic's rendition of Pitfall! creates the background graphics by changing $900F mid-line!
groepaz
Vic 20 Scientist
Posts: 1187
Joined: Wed Aug 25, 2010 5:30 pm

Re: Crazy Cavey

Post by groepaz »

Raster tricks are actually easier than on VICII - since there are no "bad lines". Very straight forward :)
I'm just a Software Guy who has no Idea how the Hardware works. Don't listen to me.
SparkyNZ
Vic 20 Enthusiast
Posts: 153
Joined: Tue Jan 18, 2011 2:23 am

Re: Crazy Cavey

Post by SparkyNZ »

Mike wrote: Fri Sep 22, 2023 8:20 am Not really. See here. Source is included.
Thanks Mike. I might come back with some questions when I am able to work through this.
SparkyNZ
Vic 20 Enthusiast
Posts: 153
Joined: Tue Jan 18, 2011 2:23 am

Re: Crazy Cavey

Post by SparkyNZ »

Mike wrote: Fri Sep 22, 2023 8:20 am Not really. See here. Source is included.
So $9004 is the vertical beam position. Isn't there a high bit for the position, or is there only 256 lines due to the Vic'2 resolution? I know PAL has more scan lines than NTSC but I don't know the differences off hand. Or is $9004 a count of 2 scan lines ie. 1 byte = 512 lines?

If I understand correctly, your code waits for line 17 and then 19. Is that to make sure that we're at the top of the display? Do you check 19 to make sure that it isn't wrapping around at near the bottom of the display for example?

Then I see there's a delay at Init_06.. and this is called a few times with ever increasing line values in Y.

Did you happen to post an overview of what your code is doing? There's quite a lot to absorb here. I am interested in knowing what the bare minimum requirements are for a stable raster routine that can change the aux (or border) colour on a particular line and at a particular horizontal position - it would be useful to find a resource that explains how the timing is done.. I am also wondering how tight-loop timing would work within a "game loop" too. A raster routine would need priority to display the right colours at the right time.. so would a game loop do other things once the raster has reached the bottom of the screen.. or reached a line where we don't care about register hacking/changing anymore?
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Crazy Cavey

Post by Mike »

SparkyNZ wrote:Did you happen to post an overview of what your code is doing?
I put a follow-up thread here in the Programming section, as that overview would be badly placed in a discussion thread about a particular game in the Game section. :wink:
SparkyNZ
Vic 20 Enthusiast
Posts: 153
Joined: Tue Jan 18, 2011 2:23 am

Re: Crazy Cavey

Post by SparkyNZ »

Mike wrote: Fri Sep 22, 2023 8:30 pm
SparkyNZ wrote:Did you happen to post an overview of what your code is doing?
I put a follow-up thread here in the Programming section, as that overview would be badly placed in a discussion thread about a particular game in the Game section. :wink:
Good man. I'll go check it out :-)
Post Reply