A86: List / Challenge idea (was dismissal)


[Prev][Next][Index][Thread]

A86: List / Challenge idea (was dismissal)




I agree!  This list has little value as it is, without losing any more good
programmers!  I'm interested in seeing some graphics demos, is anyone else?

I think we should have some contests.  The game of life has been used for
many optimization challenges (this was Michael Abrash's first challenge),
but I doubt too many people are up to writing a full screen game of life at
30+ fps.  Besides, it would take too much time to write just for something
cool to look at.  Something useful would be better.

I'm all for grayscale graphics.  I was scared of doing grayscale for the
longest time.  But once I started, I'm hooked!  There's nothing
better...black and white just looks so plain!  So my two ideas are
grayscale...

First, screen transitions/effects.  There are all kinds of cool ways to
clear the screen.

- One way that's very easy on the PC (one line in C!) but would take a
little more doing in asm is just filling the screen with black dots, at
random spots until it's (almost) cleared.  This was used in Wolfenstein 3D
(remember that game?!) when you died...the screen was filled with red dots
simulating blood.
- Another way is sheers.  This is where the screen is cut away at many
places at the same time.  You might do it horizontally, where colums in
multiples of 8 are cleared.  Or it can be done at a 45 degree angle, where
say every 8x8 square is being rotated or swept away (hard to say, I know,
maybe a demo).
- Doom had a cool transistion.  The screen was eaten away by a bunch of
"worms" that floated down the screen.   There are several ways to do it.
You can just have the columns filled in with black at different intervals
until it's cleared.  Or they can be shifted down.  I actually think Doom
scaled the strips down, but I don't remember (that'd take some doing!).
- I had an idea to do an explosion like effect.  There isn't enough memory
or time (processor-wise) to do all 8192 pixels (using all of page 1 and some
_very_ clever coding might make it possible), but you could do it in 8x8
blocks or so.  Each block would be given x and y velocities and the screen
would seem to "explode" with all of the blocks going in random directions
and speeds.

We could come up with rules and see who could do the neatest looking effect.
Since there's no good way to time code, we'd need a judge to tell who's
looked the best.

The other idea for a challenge is a fastest routine challenge.  The two
routines that come to mind are a grayscale PutSprite and a Line routine.
Both would be useful.  Since there are so many ways to do a putsprite, we'd
need a standard for it.  I suggest an 8x8, masked grayscale putsprite, with
clipping.  Background saving?  Interleaved or layered sprites?  Hmm....the
same set of calling registers should be used.  "Standard" is BC for x,y and
HL for the sprite.  Should the buffers have to be contiguous?  For the line
routine, I think that Jimmy Mardell's FastLine routine would be considered
standard.  That routine would be tough to beat :)


>About the boycott, I think it is stupid. We have lost several talented
>programmers from this list. Microsoft has done worse stuff than ticalc
>did, but are you are all still using Windows, because it is the best out
>there for today's applications (don't respond Linux and Mac people! I
>don't want to start a war over this!).




Follow-Ups: