Re: [stella] Programming "Mindsets"?!?

Subject: Re: [stella] Programming "Mindsets"?!?
From: Glenn Saunders <krishna@xxxxxxxxxxxx>
Date: Fri, 2 Jan 1998 22:01:22 -0800 (PST)

On Fri, 2 Jan 1998, Ruffin Bailey wrote:
> "schools of thought" that I put each part of a game into... games that 
> are dictated by the hardware, and games that are truly creative.  

Few games for the 2600 were dictated by the hardware.  Getting a stable
display was a struggle.  Nothing was every made easy on the 2600.

> Football would be one of the first, assuming each team is a player and 
> the ball's a ball.  There's two digit scores, and the timer is used for 

Football, as poor as it is, is still an example of an innovation, namely
the venitian blind routine.  That, and the constraints of memory (I think
it was only 2k) make it an acheivement in itself, albeit overshadowed by
others.

> the clock.  Pac-Man is another; basically Football imo where one player 
> isn't repeated with a playfield-player collison check thrown in.  What a 
> hack!

What do you mean by a playfield-player collision check?  Do you mean
intelligent vs. constant flicker routines?

I happen to know all of the decisionmaking that went on regarding Pac
Man's programming.

> Things like Chopper Command where another player is coaxed out of the pf, 
> as I understand it, and Space Invaders with rows and rows of 
> non-flickering objects (though a non-flickering Commie Mutants might be a 
> better example) are truly creative.  

One could be harsh and say that any arcade port can't be creative because
it's just a clone of the arcade.  My point is that having met the original
programmers and learned a lot about the system, I have respect for all of
them.  Even the relatively primitive early games had a LOT of blood sweat
and tears put into them regarding ROM limitations and very limited
development/debugging tools.

You take a game like Air-Sea Battle.  One of the first games, and written
before the hardware was complete, yet it is also the first instance of
sprite reuse and color changes.  Technically speaking, there isn't a heck
of a lot of difference between the innovations in Air-Sea Battle and
Oystron.  Both exploit the capability of the 2600 to create the appearance
of many sprites out of only a few.  Only Larry Kaplan did not have a PC
cross assembler or a RAMCART development station, nor the mature
understanding of the VCS that we have today.

That's why games like Air-Sea Battle, Surround, and Canyon Bomber are so
important.

There really are only a few of the early 2600 titles that seemingly have
no innovation in them.  And of those, you have to always be mindful of the
context of 20 years ago in which a game machine that could deliver color
and 160x200 res sprites was such a leap up from the previous machines
that these games easily impressed people in their primitive forms.

As far as bang for byte, Kaboom is probably the best looking and best
playing 2K game out there, so I understand memory wasn't the only
excuse.  But not everyone has the skills of David Crane and Larry Kaplan.

> throw in fancy, truly creative aspects (for me anyway!) like diagonal 
> platforms, roving missiles, and other less Combat-ive characteristics.

What makes the 2600 such a cool system (and unfortunately I am just an
observer of the process) is how the choices that each programmer makes to
squeeze the game design into the 2600 all contribute to the individual
"signature" of the game that would not happen nearly as much if all of the
machine's capabilities were instantly and easily accessible at all times
(like the Atari 400/800 for instance). 

There is no single right or wrong way to write a 2600 game.

If you've got banked ROM to work with, and extra RAM, you can do more
elaborate things, as Solaris, Star Wars:The Arcade Game, and Stargate can
attest to, but in a 4K environment it's all a bunch of careful tradeoffs.

6K RAM in the supercharger is quite a bit nicer, but it's still a little
cramped if you reserve 2K for swap space in a multiload environment, in
which you are back to just 4K for the kernel.

Not necessarily all (SW:TAG has complete kernels in 4K, I know from beta
EPROMs I borrowed from Bob Smith) but a great many of the most impressive
2600 games had kernels for single game modes that crossed banks.  Bank
switching wasn't just used for extra game depth/levels.  The logic
necessary to generate an extremely dynamic display like Solaris definitely
took more than 4K at any one time. 

So until anyone comes up with a nicer banked ROM development station,
tradeoffs will have to be made, and even then, the 2600 can only do so
much for each scanline.  That's why David Crane developed the DPC chip
for Pitfall II, to free up cycles for video and generate sound on the fly.

Yet the upside is that it's the smaller games that tend to have more
individual character, as they deliver only a limited subset of the 2600's
features, whereas the larger games tend to have more of a sameness in the
way they tend to pull every trick in the book at once.

Solaris like the Iliad to the haiku of Kaboom's glorious 2K.

> Anyway, I was just wondering what kinds of _mindsets_, not merely 
> approaches, you more experienced programmers take when beginning a 
> project?

The two mindsets are to create a kernel first, then the game, or create a
game design first and get the VCS to do it.  Both approaches work, but the
former leads to less disappointment.

Some game designs just don't lend themselves well to the 2600, and you
will have to decide whether or not flicker is acceptable, for instance, or
a lot of utilization of the blocky playfield.

Those things don't bother me, but they do bother some.  Few if any
Activision games, by design, had flicker, and few of them utilized the
playfield as a dynamic game element, so that was their priority.

Doug Neubauer, on the other hand, embraced flicker.

It's a matter of taste.




--
Stella list is Administered by krishna@xxxxxxxxxxxx <Glenn Saunders>
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/stella.html
+-shameless plugs-------------------------------------------------------+
| Stella documentary at http://www.primenet.com/~krishna                |
| Nick's VCS links via http://www.primenet.com/~nickb/atariprg.htm      |
| Write the best game, win framed autographs of famous Atari alumni!!   |
+-----------------------------------------------------------------------+

Current Thread