Re: [stella] Copy Protection

Subject: Re: [stella] Copy Protection
From: "Roger Williams" <mer02@xxxxxxxxxxxxx>
Date: Fri, 23 Nov 2001 21:34:43 -0800
From: Glenn Saunders <cybpunks2@xxxxxxxxxxxxx>

> >At this point, any distinct Stella cart is a member of a small class.
> >There are probably less than a thousand distinct, completed
> >Stella programs which have ever been distributed to the public.
> I think you are underestimating the difficulty of creating a game.
> There have been many unfinished programs here on Stella, not because the
> programmers lacked technical ability, but because the ideas themselves
> left unfinished.

Having done both kinds of programming, I can say from experience
that it is a hell of a lot easier to finish a project with a short cycle
in a high-level language than it is with a long cycle time in a low-level
one.  I've done the 10 minutes to burn an EPROM, observe behavior,
no debugging information method.  The existence of reliable emulators
-- arguably the breakpoint between "pre-90's" and modern Stella
development -- has smoothed the development path considerably

It's much easier to finish an idea when a "tweak" to test a variation
represents a minute's work instead of 2 hours.  I think with a tool
like BAStella a moderately competent programmer could crank
out a pretty slick game, including pushing some of BAStella's edges,
in less than a week.  Let the same guy face the prospect of 2-6
months to finish it with the same spare-time commitment in DASM
and see how easy it isn't to keep up the enthusiasm.

> Regardless of the difficulty factor, it still takes persistence on the
> of the programmer to complete a project.
> Not only that, but if the BAStella environment constrains what you can do
> on the 2600, it actually becomes a challenge to break out of those
> to give your game more uniqueness.  It's like the 1800 bytes available to
> Bally Basic programmers.  It's an artificial constraint imposed by the
> programming environment that in and of itself provides a challenge.

It's true that BAStella would have that effect.  It's why I put the line
about "a surprising amount of originality" in the spec.  In fact, if I
didn't think that would happen I'd think the whole BAStella idea
totally unworthwhile.  I would hope and expect that people
will do totally unexpected things with BAStella, just as they have
with the 2600.  They may even do a few things that are so hard in
.asm that they've never been done, even though they really are possible.
What those things are I can only barely imagine now.

I'm still not sure if I'm going to bother to write the silly thing.  The
step is an expression evaluator, which is a highly recursive multi-stage
algorithm. This is in turn dependent upon scanners, parsers, mechanisms
for putting code in the output files, etc. none of which is really easy in
QB.  (It would be a lot easier in VB, but I'm Not Going There.  I have
_some_ respect for Stella's legacy, having lived through it and all.)
If I get that going I have to do a command parser, integrate the whole
timer check thing, and implement all the kernals and stuff.  Really it's
all simple once the expression evaluator is down and I figure out how
to do appropriate data structures in QB (a language I've not used much,
and which is considerably more limited than VB).  It's just a matter of
whether it's worth doing, and how to do it right.

> And I really don't think the classic gaming crowd will be that excited
> about a dozen tetris or breakout clones.  The novelty of getting a new
> done on the 2600 will wear off, yes, but that will only lead people to be
> more aware of these games' intrinsic quality (or lack thereof) and I see
> nothing wrong with that.

There will definitely be a devaluation though.  Right now it's a
badge of honor to have created any running Stella code at all.
Make a sprite move around the screen, put up some Playfield
text, etc. -- hey, you're real.  BAStella would raise the bar, making
such little demos into hour projects with an emulator for debugging.
Month projects become 3-day projects.  It's the reason people
use high-level languages.

Of course many things would remain impossible in BAStella, just
as it might make a few things more manageable than they are with
the standard synchronized code model.  There is an intersection,
though, where the hour .bas project meets the week .asm project.
I don't want to cheapen the work of the guy who actually figured
out how to build a whole kernal and so on from scratch.  That's
still an accomplishment to be proud of (he said modestly, having
only recently accomplished it himself :-)

While your comment about all the tetris and pong and breakout
clones is on the mark, I think there is a concern that the _presence_
of those clones (which do not exist now) will cheapen the very idea
of a VCS game a bit, since the mere fact that you got it running
without making the screen jump won't be so "special" any more.

Maybe it isn't such a big deal.  But then finding out is the reason
I'm asking around here...

--Roger Williams

P.S. Among those "unfinished games" can at least temporarily be
counted the Really Cool Thing (tm) I was planning to do with the
synthetic trig functions, since while I was idling around trying to
figure out how to extend the resolution this New Improved Idea
hit me over the head.  The other thing is still there, though, if on
hold while I think BAStella through.

Archives (includes files) at
Unsub & more at

Current Thread