Tuesday, July 10, 2007

My God, it's full of stars!


I'm not sure if I like stationary background stars (this time I nicked the idea from Uridium) as wall chars have couple of empty pixels at the edges. This means that stars will disappear before they reach the ship. This could be explained with diffraction in the micro-atmosphere around the ship, of course...

Adding stars would be quite cheap - I only need to check for underlying char being "outside_of_deck" and replace that char with animated star char. Actually I check the next one too, to be able to have two pixels wide stars. Animating the star chars is even easier:

.stx
ldx #0
lda #0
sta Font+chr_STAR*8,x
sta Font+chr_STAR*8+8,x
 
lda vScroll
eor #7
tax
stx .stx+1
ldy hScroll
lda bits,y
lsr
ora bits,y
sta Font+chr_STAR*8,x
lda #0
ror
sta Font+chr_STAR*8+8,x


First it clears previous star pixels, then calculates new Y position, stores it for the next round and plots two bits into chars.

Don't mind the regular position of stars, that's just test data. Stars are exactly 64 chars apart from each other. If this gets used then star positions get randomized every time you enter a deck.

4 comments:

Mike said...

Hay!! Looks just like this spectrum one!! ;)

http://www.jmk1.freeserve.co.uk/fakery/paradrd.gif

TNT said...

Oh, my eyes!

What's even worse than the colors is the text "Paradroid is an example of a game that could be converted easily(*) to the Spectrum. Only the bottom two-thirds of the screen scrolls, there are few sprites on screen and each one is a single colour.

However, you'd need some sort of flip-screen or 8-pixel scroll to make the game like this screen, as you'd get a lot of attribute overlap if you scrolled smoothly. The inability to mix bright with non-bright within a character square makes the screen a bit more bold than I'd originally intended.

(*) Relatively easily..."


I'd like to see it running (and scrolling!) every second frame with 10+ active droids on Spectrum ;)


Back to stars... I could only show them when deck is cleared, that would enhance the darkening effect. You can't see the stars as long as lights are on, right? This would also mean that I have (almost) all the time in the world to do whatever magic is needed to display them without color clashes.

Mike said...

Yeah...smooth scrolling would be nasty. But I suspect a 128K version would be possible - not sure about having colours in it though!

TNT said...

I think it would be better to drop colors completely, all those clashes would make your head ache. Maybe some wall color could be kept if collision boundaries stopped player droid earlier.

I think I will give background stars a change, but only when deck is cleared. That means I can use sprites for stars near the walls, and tweaked "random" distribution makes its best to place stars so that there are never more than six non-char stars. I'm definitely not adding sprite multiplexer because of some dots!