Jump to content

TROGBlog

  • entries
    47
  • comments
    219
  • views
    125,178

Positron: Write Cycles v0.08


TROGDOR

1,737 views

I was getting concerned that I didn't have enough half-finished Atari projects, so I started another one. Just to be safe.

 

positron08.png

Vista Operating System has chosen you to serve on the game grid.

 

positron08.zip

 

Features:

- High-resolution light trace display with pseudo 3D effect, synchronized with the player's cycle.

- Fluid cycle motion, one pixel per frame.

- Uses standard 128 bytes of RAM.

- 8LK displays 2 sprites anywhere in the game grid with no skipped scanlines.

- Two songs encoded so far. Use the right difficulty switch to select which song is played on death.

- Two cycle steering options. Left difficulty switch selects the steering mode. In amateur mode, press any of the four directions to steer. In pro mode, only left and right are used.

- 6 digit retro score display.

 

Detailed Development Log:

positron01.asm 09/06/10

- Displays a horizontal/vertical line grid in playfield graphics using 2 bytes per row.

- Added joystick control.

- Added automatic cycle movement.

- Added preliminary collision detection. Still needs work.

- Sound Fx for cycle engine and collision

- Crash music started.

 

positron02.asm 09/08/19

- Displays 1 player sprite anywhere on the field.

- Plays 2 different test songs, selectable with right difficulty switch.

 

positron03.asm 09/08/22

- Displays 2 player sprites anywhere on the field.

- Major clean up in the kernel. The 10 line kernel is now an 8 line kernel.

- Displays appropriate cycle sprites for each of the 4 directions.

- Added delta offset to correctly position sprite after turns.

 

positron04.asm 09/08/24

- Added 2 more grid rows for a total of 19.

- Cleaned up top and bottom grid display with pregrid and postgrid processing to prevent artifacts and truncation of player sprites.

- Hide the player's sprite after a crash.

 

positron05.asm 09/09/05

- Full rewrite of joystick and position code. In previous versions, the player position was tracked by the playfield lighttrace display, and the sprite graphics was tacked on to the lighttrace. Now, only the position of the sprite cycle will be tracked, and the lighttrace will be determined relative to the sprite cycle. This should make all future coding easier and more accurate, especially on turns.

- Rewrote the joystick control to use buffering to make it more responsive. Unfortunately, I don't like the results and will revert back to simple time-based sampling. Given the nature of the game grid, there is no way to make the controls instantly responsive, so they may as well only sample when the cycle sprite is at a grid junction.

- There are now 2 different control options, selectable by the left difficulty switch. Amature mode uses all 4 directions. You move in the direction you press. Pro mode only uses left and right turns, which forces the player to focus more on the direction they're traveling.

- Added 6 digit score display and some supporting score routines.

 

aapstron06.asm 09/09/06

- Reverted the joystick code back to simple non-buffered.

- Added collision detection with the outside walls.

- Sanity check in. Going to try reorganizing the grid into 4 sections, Left, Right, Horizontal, and Vertical.

 

aapstron07.asm 09/09/08

- This revision demonstrates that it is possible to move in all 4 directions with fluid playfield drawing so that the playfield never shows on the front of the cycle, and blank space never shows on the back of the cycle.

- Reorganized the grid into 4 sections: left, right, horizontal, and vertical.

- Added a direction-based offset when translating sprite position to grid location. I may need a more elegant way to handle this.

 

aapstron08.asm 09/09/13

- Bug fix. Moved the Temp1 and Temp2 variables before Vert trace buffer instead of after. This prevents artifacts from the Vert-1 logic in the horizontal trace display logic.

- Completed tweaks to the sprite positioning. It's now perfectly in sync with the display of the light traces so that no blank spaces appear, and no partial playfield graphics can be seen.

- Added code to ignore the player from pressing in the opposite direction when driving in amateur mode.

 

Known Bugs:

- Collision detection is currently disabled. It will only detect a collision with the side of the game grid.

- The pro steering mode is sketchy. It's common to make 2 turns when only one is intended. I may have to use joystick buffering for this mode.

 

Development Notes:

While attempting to install an old USB scanner on your Vista desktop computer, an unexpected driver failure has digitized you into the system! You are now at the mercy of Vista Operating System. The DRM sub-processes have determined that your executable MD5 matches Britney_Spears-Oops_I_did_it_again.mp3, and you have been targeted for quarantine and deletion. Now you must fight for your life on the game grid. Fortunately, you have commandeered a Write Cycle that will allow you to move quickly through system memory. Can you out maneuver the crafty DRM sub-processes and survive to fight another duty cycle?

 

So far this is just a technology demo. I need to add collision detection and a computer opponent before the game will be playable.

 

I had considered pitting you against VCS. But to be honest, I'd feel safer scanned into an Atari 2600 than a computer running Vista.

 

In the spirit of the game, I digitized myself into an 8K binary called serve.bin. It's included in the zip file.

 

I like the 3D look of the light traces. I will probably reuse that motif in other games, such as a maze game, or something akin to Gateway to Apshai.

 

If you've been following this blog, you may be wondering, TROGDOR, why the hell did you start another project? The awful truth is, I suffer from a chronic disorder called Atari Feasibility Syndrome. I often find myself asking "I wonder if I could do <insert game here> on an Atari 2600." If a particular game sticks in my head long enough, I start thinking about detailed implementation, and I have to code it up in a .asm file to prove it will actually work. In this case, the question was "is it possible to do a Surround style game that doesn't have such a choppy, blocky feel to it? And can I do it in 128 bytes of RAM?" The result is Positron: Write Cycles.

0 Comments


Recommended Comments

There are no comments to display.

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