• entries
14
81
• views
38,182

# WIPs of days gone by - part 2

1,689 views

I mentioned in my first WIP article that I have three criteria for evaluating a game idea.

1. Is my concept really technically feasible?
2. Is it interesting?
3. Is it fun?

These are sometimes tough to answer without a prototype, so I'll often throw one together to evaluate these points.

While it may seem like insanity to code up something I may well throw away on a system as tough to program for as the 2600, I generally work in batari Basic, so it takes very little time. In a lot of ways, bB is like a RAD environment for the 2600.

a math war, in space...

Ever since I was a little kid I was fascinated by the gravity simulation in Spacewar!, and I always felt the 2600 version went light on the physics, so I thought I'd code up a version that was a bit more accurate.*

Gravity follows an inverse-square law. So if your ship moves out 2 times as far from the sun the force of gravity should drop to 1/4 of the previous amount...

Since the 6502 isn't particularly good at calculating the required math for this on the fly, I needed to use a lookup table. Using the fact that the table is symmetrical in nature, I was able to give it a decent range of coordinates while still being able to squeeze it into a single 4k bank.

After that, it was a cinch to add the code for basic gameplay.

cywar...

cywar.bas.bin

I think from a simulation point of view, cywar succeeded. Its relatively easy to put yourself in a circular or elliptical orbit around the sun, and depending on your initial velocity the orbit can be very stable. (or you can watch it slowly decay)

A few things to note:

• There are more rotational positions for the ship than in Asteroids or Spacewar 2600, providing finer control over the thrusting and shooting.
• The ship's velocity is added to the initial missile velocity.
• Flipping the difficulty switches to A makes gravity act on the missiles.
• Hitting the select switch toggles between regular and inverse gravity.

For me this prototype provided a "yes" answer to the first two questions. For the question of fun, the answer isn't all that strong. For me it's a bit fun... kind of like Combat with less variety. Or unsurprisingly, like Spacewar 2600 with a better gravity simulation.

I think the gravity mechanic might be more fun as part of a multi-screen space adventure, rather than just a straight Spacewar! knockoff. Maybe something like "journey to the planets" for the A8, with a touch of space combat like Star Trek 2600, with some planet combat like jrok's "redshirts".

Get yourself to a planet of interest, set yourself up in a stable orbit, and beam the crew down for their away mission! It's an idea that's shelf-worthy anyway.

-Mike

-----------------------------------------

* - It should be mentioned that this is by no means a slam on spacewar for the 2600. It's a 2k rom, and does an admirable job of faking gravity given those constraints.

As I started to read your entry, I was thinking "for SpaceWar! 7800 I implemented gravity using a look-up table", and the next thing I read is you did the same. (Although I think I used less than 4K for mine as I was able to fit the entire game in 4K.)

But I agree that SpaceWar, as a game, isn't as fun as many other games.

Nice that you were able to fit it in much less than 4k!

Did you spread out the coverage of each table byte to a few pixels?

I went with a 60x60 table IIRC, which served both axies. (There's a gravity-free zone at the left and right side of the screen.)

I considered using 2 smaller tables, one with broad coverage for farther away from the sun where changes are less dramatic, and another for closer to the sun where more precision is needed, but since it was a proto I went with the simplest approach.

Cool - thanks for sharing that!

It's always fun to see how someone else approached a similar problem.

×   Pasted as rich text.   Paste as plain text instead

Only 75 emoji are allowed.

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

• ### Recently Browsing   0 members

×
• Forums
• Clubs

• All Activity

• #### Subscriptions

×
• Create New...