Jump to content
IGNORED

Duck Attack! - new Atari 2600 homebrew (NTSC & PAL)


e1will

Recommended Posts

2010-09-02 update: Duck Attack! is now complete: you can now find it in the Atari Age store.

 


 

Hello everyone!

 

First off I want to thank everyone on these forums (especially Nukey Shay, batari and supercat) for being so helpful whenever I've had questions. And I'd especially like to thank stephena for the work he's put into Stella; it's really a phenomenal emulator and a simply indispensable development tool.

 

I've been programming for many years, and I finally decided to take the plunge and attempt a homebrew game for the 2600, written in assembly from scratch. It's far enough along that I think it's ready to show people... I'd love to get some feedback on it, good or bad.

 

The game is called Duck Attack! and its premise is simple: collect radioactive duck eggs for points while avoiding giant, mutant, fire-breathing ducks.

 

I've written the first draft of a manual for it here, with some screenshots: http://willnicholes.com/duck

 

The game is about 60% done: 81 of the 135 planned rooms are in place, and you can get as far as Level 5. A few of the features listed in the manual aren't done yet (e.g. the pause feature) and I've still got a lot more features to put in (the big one is 'demo mode') but the basics are in place and (I think) working pretty well.

 

It's been a lot of hard work, but it's been pretty fun too. I hope you like it.

 

--Will

 

EDIT: Adding some screenshots. The latest binaries are here.

 

post-23222-126418690096_thumb.pngpost-23222-126473230676_thumb.pngpost-23222-126473239614_thumb.png

Edited by e1will
Link to comment
Share on other sites

Any screenshots?

 

There are some on the manual page, but here's another.

 

I like this one because it demonstrates one of the things I was trying to do: get three interesting-looking sprites on the same line at one time (robot, tank, duck) without flickering. The tank is drawn using the ball sprite, which is resized and moved every third scanline. The poison arrows are done the same way.

 

Here's another example, with the robot, a chomper and a bonus item (key) all on the same scanline. This is from a room behind the pink door... there are a few more rooms that should look familiar behind that door.

 

--Will

post-23222-125129879873_thumb.png

post-23222-125130011338_thumb.png

Edited by e1will
Link to comment
Share on other sites

I just gave it a very brief play at the office (PAL version). Looks good so far, I definitely will try it out later.

 

BTW: The manual mentions the hot air ballons starting at level 4, but the appear in level 1 already.

 

Ah, I need to clarify in the manual that only the blue ones give you the ability to coast over the walls... other-colored balloons will indeed appear in earlier levels, but they do different things.

 

--Will

Link to comment
Share on other sites

The remaining lives screen is only 261 scanlines. The rest appear to be 262.

 

Hmm... which emulator/version are you using? I'm seeing 262 scanlines for all of them in Stella 2.8.4.

 

Z26 version 2.13 (I dunno if it appears in more-recent versions). The scanline difference does not show up immediately. The way that I'd seen it was to go to the tank screen to the left, pick up the balloon, and get killed by the tank. The player returns to the lives screen with a high probability that the scanline count will be short by 1. When this difference is active, it appears to give a slight jitter when moving between other screens as well. Running out of time in overscan?

Link to comment
Share on other sites

The remaining lives screen is only 261 scanlines. The rest appear to be 262.

 

Hmm... which emulator/version are you using? I'm seeing 262 scanlines for all of them in Stella 2.8.4.

 

Z26 version 2.13 (I dunno if it appears in more-recent versions). The scanline difference does not show up immediately. The way that I'd seen it was to go to the tank screen to the left, pick up the balloon, and get killed by the tank. The player returns to the lives screen with a high probability that the scanline count will be short by 1. When this difference is active, it appears to give a slight jitter when moving between other screens as well. Running out of time in overscan?

 

Ah, I see it now! How weird. It must be the values I'm stuffing into TIM64T for the vsyncs... I'd been fiddling with them to get the scanline count right for PAL. I'll have to take a closer look.

 

Thanks!

 

--Will

Link to comment
Share on other sites

Wow, this looks fantastic! I'm extremely impressed -- if you'd taken a screenshot and said it was just a mockup, I think many of us (myself included) would've pooh-poohed you and assumed you were asking the impossible. In fact, I think I remember seeing your avatar and assuming it was an Atari 8-bit or C64 game!

 

The visual style reminds me very much of the Homestarrunner.com crew's approach to making pseudo-retro games (which I suspect is no accident on your part? "Somebody get this freakin' duck away from me!"), but this is actually feasible on real hardware. I look forward to exploring Duck Attack! further.

Edited by thegoldenband
Link to comment
Share on other sites

Just tried this out for a few minutes. Will play some more later.

 

Very original game and design! Also, a unique concept! I like it! :)

 

I am curious about the screens with text ( game select, credits, etc ) Did you write a minikernel for that section of the screen? It appears you are using the 6 player sprite "score" trick to display text like that?

Link to comment
Share on other sites

Any screenshots?

 

There are some on the manual page, but here's another.

 

I like this one because it demonstrates one of the things I was trying to do: get three interesting-looking sprites on the same line at one time (robot, tank, duck) without flickering. The tank is drawn using the ball sprite, which is resized and moved every third scanline. The poison arrows are done the same way.

 

Here's another example, with the robot, a chomper and a bonus item (key) all on the same scanline. This is from a room behind the pink door... there are a few more rooms that should look familiar behind that door.

 

--Will

 

Wow! Those are the most realistic 2600 sprites i've ever seen!

Link to comment
Share on other sites

Just tried this out for a few minutes. Will play some more later.

 

Very original game and design! Also, a unique concept! I like it! :)

 

I am curious about the screens with text ( game select, credits, etc ) Did you write a minikernel for that section of the screen? It appears you are using the 6 player sprite "score" trick to display text like that?

 

Thanks!

 

Yep, the text is done using the standard 6-digit score logic. There isn't any "text" logic per se, it's all just 8-bit-wide sprites put next to each other.

 

--Will

Link to comment
Share on other sites

Looks pretty good, but... huh? This looks more like a parody of a 2600 game than the genuine article. Mallards invading Pac-Man? That reminds me of one of those weird random jokes from Family Guy.

 

Well, if weird random mash-ups aren't your thing, you probably won't like these screens either. :)

 

The vast majority of the screens are entirely new, but I do slip in a few homages to my favorite games behind the pink door. Everything outside the pink door is (mostly) homage-free.

 

--Will

post-23222-125140920867_thumb.png

post-23222-12514092164_thumb.png

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