Jump to content
  • entries
    657
  • comments
    2,699
  • views
    900,539

The Return of the Judder


SpiceWare

1,701 views

A long time ago in a galaxy far, far away.

 

 

 

Er, wrong space saga ;)

 

 

 

Nathan and I aren't in agreement on pretending the pixels are square - Nathan doesn't like how the left/right movement is a different speed than up/down movement when we treat the Atari's pixels as though they were square, while I don't like the judder that occurs when we compensate for the Atari's 12:7* pixel aspect ratio.

 

So I've added TRUE 45°, a new menu option. When enabled all movement routines will compensate for the non-square pixels, the ship graphics will change, and the horizontal range of the shots will be decreased so the auto-repeat pattern stays the same (compare the auto-repeat pattern in the judder build to see why I changed the horizontal range).

blogentry-3056-0-33777800-1409512294_thumb.png

 

The starfield generation has been revised. The original routine only used 0-159 for the X values, which meant as you flew left/right the same stars would show up almost immediately on the opposite edge of the screen (not quite immediately because 8 pixels are hidden by the HMOVE that occurs on every scanline). The new routines use a range of 0-255 and only draws stars when they're onscreen. This makes it take a while before the stars wrap to the other side.

 

The X change resulted in the starfield looking a bit sparse, so I revised the Y spacing to be a constant of 2 scanlines (it used to be random value of 2-5 scanlines). Since the Y spacing is now constant, I was able to eliminate the 128 byte RAM array that saved the Y spacing.

 

I've also added the gradual ramp up of the player's ship speed that occurs when a new level starts (or your ship is respawned).

 

 

ROMs

draconian_20140831.bin

draconian_20140417_judder.bin

 

Source

Draconian_20140831.zip

 

* See comment by EricBall in this Space Rocks blog entry

 

Addendum: TRUE 45° now permanently enabled, menu option gone. Revised horizontal shot movement.

draconian_20140905.bin

  • Like 1

10 Comments


Recommended Comments

Not really, everything was already coded up for fractional positioning.

 

The SpriteX and SpriteY values are defined as 16 bit values - specifically unsigned short int.

 

The range for X is 0-511 so X values use 7 bits for the fraction.

 

The range for Y is 0-1023 so Y values use 6 bits for the fraction.

 

so X movement for 1:1 uses a value of +/-128 while 12:7 uses +/-74.

Link to comment

Surprisingly enough, I don't find the judder to be as much of an issue as before.

 

I believe that's because in the 4-17 build there was no gameplay logic, not even collision detection, so you just flew around and looked at the sprites. Now when you fly around you are actively trying to avoid objects and/or shoot the other objects.

 

I'm now debating leaving True 45° on all the time and remove all the "square pixel" data tables and images as well as the menu option.

Link to comment

If it doesn't judder too much then IMHO leave it on and remove the option. Save the menu space for typical features the user will recognize without opening an instruction manual.

Link to comment

Hm... it should only jitter when there's frames with only vertical movement and others with only horizontal movement. If you e.g. have a constant horizontal movement of 1 pixel per frame and only adjust the vertical height fractionally it should look totally smooth :)

Link to comment

All the asteroids, mines and stations are fixed in positions, so they shift around in the viewing port at exactly same speed when the player flies around the quadrant.

The judder only shows up when there's sprite flicker and fractional movement going on. So you'll see it when you fly left/right or diagonally. The speed is 1.0 when you fly up/down (after the ramp up has finished that is) so you won't see judder then.

 

I think it could be considered a moiré effect.

Link to comment

I went ahead and removed the menu option and all the "square pixel" routines. Currently revising how the shots move - the player's horizontal shots once again travel the full width, though at the original speed so they maintain the same cadence. Next up is increasing the number of directions for the station's shots from 8 to 16.

 

Probably won't see a new build until tomorrow though as I'll be downtown later today for Love Street, The Houston Scene.

Link to comment

Had a lot of fun yesterday - after checking out Love Street, The Houston Scene we walked over to Discovery Green and checked out Wings of the City.

 

This morning I decided to take a look at a video recording of Bosconian and saw some things I wasn't expecting so I've decided I'm going to do some more research before I start on the next change.

 

Because of this, I've added an addendum to the blog with a new build from Friday.

Link to comment
Guest
Add a comment...

×   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...