Jump to content
IGNORED

Draconian (2600)


SpiceWare

Recommended Posts

EDIT: link to the final version (blog entry)

 

I started on a new project with Nathan back in March. It's now far enough along to share with the Homebrew forum.

 

post-3056-0-20119800-1399150663_thumb.png

 

 

Your goal is to destroy the space stations on each level. Use the radar, located at the bottom of the screen between the score and lives remaining, to find the stations (green dots) in relation to yourself (white dot). Destroy the stations by taking out all 6 pods

post-3056-0-27740900-1399151481_thumb.png

 

Or by hitting the occasionally exposed Energy Field.

post-3056-0-39071400-1399151516_thumb.png

 

Be careful of asteroids and mines. Also beware of the enemy ships. They currently just fly around in formation and cannot yet be destroyed, but running into them is still deadly.

post-3056-0-03864800-1399151582_thumb.png

 

For this project I came up with a slick new kernel that gives me the ability to reposition an object (player[also known as sprite], missile or ball) on every single scanline. In Space Rocks I was limited to only repositioning the players, and only every-other scanline at that. Check out my Draconian Blog Entries if you're interested in learning more about this. Sadly Blog Categories went away after a forum upgrade, so this link no longer works.  You can access my blog here, though will have to search thru the blog to find the Draconian related entries.  They start with Slick Kernel on March 22, 2014 and end with Draconian Final ROM on July 6, 2019.
 

Menu Options:

  • Level = select from 1 of 6 test levels.
  • TV Type = Select NTSC, PAL or SECAM for proper colors based on your model 2600.

Controls:

  • Left Difficulty - A= Diagnostic Display (time remaining in Vertical Blank and OverScan)
  • Left Difficulty - B = Score Display
  • Right Difficulty - A = stationary ship (used for diagnostic purposes)
  • Right Difficulty - B = moving ship
  • SELECT = return to menu
  • START = start game
  • Joystick = move around in sector
  • Fire = shoot

If you're checking this out with Stella, be sure to turn on phosphor mode!

  • open Draconian in Stella
  • hit TAB for the in-game-menu
  • select Game Properties
  • Select the Display tab
  • change Use Phosphor to Yes
  • click OK
  • select Exit Menu
  • Reload the ROM (Control-R)

NOTE: this is an early version of Draconian. Use the link at top of this post to get to the reply with the latest version.

ROM

draconian_20140503.bin

 

 

Courtesy of Nathan, 4K Desktop:

post-3056-0-03320100-1510864169_thumb.jpg

 

 

5K Desktop:

post-3056-0-98572400-1510864180_thumb.jpg

  • Like 32
Link to comment
Share on other sites

32K?!! Sorry, but I only play 4K games to be true to the original Atari. I cannot be corrupted! :D

 

The first time I played the arcade game that had another name was at a pizza place with a group from high school. It was the cocktail version, so I had to sit down and play. It was weird sitting and looking down to play an arcade game.

 

I bet this game will be one of the biggest sellers once it gets in the AtariAge store.

  • Like 2
Link to comment
Share on other sites

Hey this looks great! I know it is a Bosconian (sp?) clone, but did you get the idea for Draconian from the TRS-80 game?

http://www.lcurtisboyle.com/nitros9/draconian.html

 

 

Thanks!

While I'd planned to get a CoCo as my first computer, a Radio Shack clerk lied to me so I ended up getting a Vic 20 instead. As such, I wasn't familiar with the CoCo game.

 

The idea came from Nathan's blog entry containing ideas on how to port the original arcade game to the 2600. The arcade game's from 1981 while the CoCo game is from 1984. We start working on it via PM then posted the initial build announcing the project 8 years after Nathan's blog entry was posted.

 

The name was a coincidence. Since I've always renamed my versions of arcade games I wanted to do the same for this. We came up with a dozen names, including Atarian, Space Fortress Attack, Stellar Assault and Space Infiltrator. A couple days after we decided on Draconian Nathan discovered AtariLeaf's video about the CoCo game. We debated changing the name, but decided not to.

 

If you're interested there's a lot of other info about the development of Draconian, including discussion about the CoCo game, in my Draconian blog entries. As with my other projects the blog will see more frequent updates, and contain a lot more technical detail, than updates in this topic.

  • Like 2
Link to comment
Share on other sites

Wouldn't have worked, in part because I was under age so you'd have been arrested for corruption of a minor ;)

 

High school freshman year was 80/81. That's when I was introduced to computers and started to learn BASIC by reading the manual after school (the computer classes were only for upperclassmen).

 

I got my VIC 20 for Xmas of 81 and probably started to learn machine language in 82. I did so by reading the chapter in the VIC 20 Programmers Reference Guide. I used machine language to speed up games that were too slow with 100% BASIC. An example of that would be a Super Cobra type game that was written in BASIC, but used a machine language subroutine to scroll the screen to the left.

 

I didn't have an assembler, so I hand-compiled my code on paper and stored the results in data statements. The values had to be POKEd into memory before I could call them. I wasn't able to figure out negative numbers, I'd never heard of Two's Compliment, so backward branches never went were I expected. As a result, I'd code my routines using only forward branches like this:

Loop:
    ; shift the screen data
    iny
    cpy #22
    beq ExitLoop
    jmp Loop
ExitLoop:
I finally wrapped my head around negative numbers after I got an assembler and could see what it generated for backward branches. Edited by SpiceWare
  • Like 1
Link to comment
Share on other sites

Oh, I don't know about that.

Darrell's games are (not only) technically quite different beasts compared to other 2600 games. Almost all code besides the display kernel is directly executed on Harmony's/Melody's modern ARM CPU. Which is way more powerful than the Atari 2600 CPU. And the display kernel is turbo charged too by the ARM CPU. It is providing all data much faster than the Atari CPU can do.

 

So effectively you have an ARM game which uses the Atari 2600 for displaying graphics, playing sounds etc.

  • Like 2
Link to comment
Share on other sites

Darrell's games are (not only) technically quite different beasts compared to other 2600 games. Almost all code besides the display kernel is directly executed on Harmony's/Melody's modern ARM CPU. Which is way more powerful than the Atari 2600 CPU. And the display kernel is turbo charged too by the ARM CPU. It is providing all data much faster than the Atari CPU can do.

 

So effectively you have an ARM game which uses the Atari 2600 for displaying graphics, playing sounds etc.

 

This is true, but Draconian is awesome! :)

 

Agree gamers should be aware of the difference and not to expect classic hardware games to match what is possible with the ARM.

 

It doesn't seem too different though comparing the DPC+ version of bB with its enhanced graphics to the standard version of bB that utilises only the classic hardware; if Spice should add some of his ARM routines to the DPC+ bB kernel we would see even greater bB games :)

  • Like 1
Link to comment
Share on other sites

. . . if Spice should add some of his ARM routines to the DPC+ bB kernel we would see even greater bB games :)

That would be nice. I also keep hoping that someone will figure out how to give us 39 more variables to use with the DPC+ bB kernel. RevEng recently found a way to give us 9 more variables. All we need are 39 more variables to match what we get with Superchip RAM (26 + 48 = 74). The DPC+ bB kernel with 74 variables would allow me to create just about any game I've ever wanted to make.

  • Like 1
Link to comment
Share on other sites

One thing: And this is probably a screen issue: Is it possible to move at the same speed for all directions?

 

It's possible. Code was in place at one point that compensated for the 2600's non-square pixels. I promptly removed it due to how crappy it turned out. All the stationary objects(asteroids, mines, stations) get a bad case of judder due to how object flicker and fractional movement clash with each other.

 

You can see it for yourself, along with more detail about the problem, in this blog entry. Start with the text just below the monochrome menu screenshot and download the "judder" version of the ROM.

Edited by SpiceWare
  • Like 1
Link to comment
Share on other sites

if Spice should add some of his ARM routines to the DPC+ bB kernel we would see even greater bB games :)

I've covered this before :)

 

While I won't be doing it, I have no problem with somebody else taking my routines and incorporating them into bB.

Main reason is I'm not familiar with the innards of bB, and I don't wish to learn it as I already have too many other projects going on.

Edited by SpiceWare
  • Like 1
Link to comment
Share on other sites

 

I've covered this before :)

 

 

Main reason is I'm not familiar with the innards of bB, and I don't wish to learn it as I already have too many other projects going on.

It would be pretty cool though! :) You added a nice sound effects engine for bB; maybe you could provide some hooks that don't have to integrate directly with the kernel.

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