Copy Link
Add to Bookmark
Report

Demo News 137

eZine's profile picture
Published in 
Demo News
 · 5 years ago

 
______/\__________________________ __ ________________ ___ /\_______
\____ \ ________ _ _ ______ \ / \| \ ________ | \/ ______/
/ | \ _) \ \_/ \ | \ / \ \ _) \ | \______ \
/ | \ \ | \ | \ / \ \ / \ \ / \
\_____ /_______/___| /_______/ \____\_____/_______/_________/________/
\_____/ |____/
Subscribers : 2618
DemoNews 137 - 21 December 1996 Archive Size : 3683M

>------------------------------------------------------------------ Contents --

Introduction
Calendar
Top Downloads
New Uploads
Articles
Software Design for Demos ..................... Kiwidog
Ratings - What Does It All Mean? .............. Phoenix
NAID - Memories ............................... White Noise
Java and Demos ................................ 3NO
Hornet Archive And Jukebox Truth .............. David Greenman
A Demo Scene Survey ........................... Nick
The #trax Page ................................ b0b
General Information

>-------------------------------------------------------------- Introduction --

Ho ho ho, and welcome to DemoNews 137.

_____Introduction

[Note: I will be on vacation from 21-29 of December.]

1997 is about 10 days away. It's time to buy a new calendar and give the old
one to the packrat in the family. Everyone seems focused on Christmas and
the passage of another year. And why not? A "year" is a really nice chunk
of time. It's long enough to define an era of the demo scene, yet short
enough not to obscure memories of previous years.

So what does 1997 mean to me?

mkdir /demos/1997
mkdir /music/songs/1997
mkdir /graphics/images/1997
...

:D

I've been contributing to the scene since 1992. There are others out there
who have been around longer but their number is small and becoming more so.
However, as a result of the roles I've had in the scene I feel I have a
unique perspective on things. I'd like to share some history and future
predictions.

_____The Past

Since I wasn't in the PC scene until 1992 I can't really talk about things
before then. I do know that in 1992 things were drastically different then
they are now. A soundcard was a totally cool _optional_ component of your
system. Demos almost always outshined games in terms of technology and
innovation. There was no web. The Internet was still a buzzword to most of
the scene. In September, Dan Wright started the Hornet Archive and DemoNews.

1993 brought the scene a GUS and a new standard. People started jumping on
the 'net and sending international email without even logging onto a BBS! And
with that change a lot of localization in the scene fell to the wayside...
national scenes turned into continental ones. Connectivity brought us faster
access to new releases around the world. Second Reality came out and a new
generation of demo enthusiasts were born. I personally consider 1993 to be
the best year in modern PC demos history.

1994 was like 1993++. More people hopped online. PC hardware was finally
getting consistent. You could on people in the scene having a 486 and a SB
and/or GUS. The music scene was starting to take off and become almost
another entity. Everyone still knew how to navigate in DOS. Trying to run
demos under Windows 3.1 was laughable. People usually belonged to one group.
IRC was a very nice size and mostly cool people hung out there.

Then came 1995. You could count on almost everyone having an email address
and net connectivity. Demo parties started popping up everywhere. There was
explosive growth everywhere. Unfortunately, demos were starting to lose
their technological edge and public appeal. The masses who would have
dropped their jaw at Second Reality in 1993 were bored to tears with Dope.
The scene started to see the death of DOS in sight and were confused. What
OS to go to next? Windows 95, Linux, or something new?

Earlier this year I think the scene pretty much decided to stick with Windows
95, for better or worse. No longer could you count on people understanding
DOS or being as resourceful as they were in 1993-1994. A huge influx of
newbies appeared in the music scene. The BBS's have all but died and
everyone and their kid sister creates web pages. I used to give
presentations at local computer clubs and high schools about the demo scene.
The audience used to be captivated that such things existed. Those same
people today are more interested in Bevis and Butthead AVIs, obscene WAV
files, and Java applets that crash '95 than they are about demos. This is
sad.

_____The Future

Today the scene is thinking about moving from DOS to Java (how odd that
sounds). I see this move as having one of two different outcomes. First, we
can rekindle some of the innovation and creativity we used to have and
totally stun the world with our productions. Or second, we get lumped into a
general category: pretty cool Java applet makers. I hope for the first but
expect the second. :(

All is not lost though.

One really neat thing the scene has is the ability to earmark its members.
Even though the public has found our secret little world and invaded it, we
still know who is _really_ in the scene and who isn't. And it isn't a fuzzy
distinction. You either are in the scene or you aren't. We know no middle
ground. I'm happy that this aspect of the scene hasn't changed. It gives us
a nice, solid, protective buffer from the outside world.

Predictions? I'm really hesitant to make any strong ones. I do know that
the scene is volatile and changing dramatically. This is not a statement I
would have made at the end of any other year except for 1996. 1997 will
affect the very core of the scene... what OS we support, how we deal with the
public (or avoid them), the death of the GUS standard, the commercial
invasion, newbies who are totally lacking in basic skills, etc.

_____Conclusion

Of one thing I am certain. 1997 will define a new era of the demo scene.

Snowman / Hornet - r3cgm@hornet.org

>------------------------------------------------------------------ Calendar --

Date Event Location Contact Points
------------ ------------------- --------- ----------------------------------
CANCELED! Demobit Slovakia demobit@elf.stuba.sk
internet.sk/demobit/english.htm
CANCELED! Tesko UK party@tesko.demon.co.uk
09 Dec 1996 Movement Israel civax@kinneret.com

* <-- YOU ARE HERE

27 Dec 1996 The Party 6 Denmark theparty@vip.cybercity.dk
www.theparty.dk
15 Feb 1997 General Probe 3 Poland s146630@ire.pw.edu.pl
28 Mar 1997 Mekka & Symposium Germany amable@aol.com
04 Apr 1997 X Takeover Holland x97take@freemail.nl
12 May 1997 The Place To Be 4 France www.mygale.org/05/dadu
22 Aug 1997 AntIQ Hungary aboy@ttk.jpte.hu
www.jpte.hu/~aboy

>------------------------------------------------------------- Top Downloads --

This represents combined ftp/http transfers for the last 7 days.

Sorry, my "get description" subroutine broke and I didn't have time to fix it
before these statistics were generated.

Total files downloaded : 182,943
Size of files downloaded : 27,130,504k

Times File Description
----- -------------------------------- --------------------------------------

-- /demos ------------------------------------------------------------------>

198 /demos/1995/a/animate.zip
155 /demos/1995/n/nooon_st.zip
135 /demos/1993/u/unreal11.zip
126 /demos/1993/s/symbolog.zip
119 /demos/1996/a/ai_strok.zip
118 /demos/1993/0-9/2ndreal1.lzh
114 /demos/1996/p/paper.zip
113 /demos/1996/m/machines.arj
109 /demos/1993/0-9/2ndreal2.lzh
108 /demos/1996/m/machines.a01

-- /music ------------------------------------------------------------------>

100 /music/songs/1995/s3m/a/aryx.zip
76 /music/songs/1996/s3m/a/athought.zip
66 /music/songs/1996/s3m/i/im_chron.zip
60 /music/songs/1996/s3m/i/im_empir.zip
59 /music/songs/1996/xm/r/raf-bost.zip
56 /music/songs/1996/s3m/f/fm-mech8.zip
56 /music/songs/1995/s3m/c/ctgoblin.zip
55 /music/songs/1996/s3m/f/fa-bung.zip
51 /music/songs/1996/s3m/c/ccs-eps.zip
50 /music/songs/1996/xm/a/anthem.zip

-- /graphics --------------------------------------------------------------->

18 /graphics/images/1996/c/chantal.zip
17 /graphics/images/1994/i/incest5.zip
16 /graphics/images/1996/a/airwar.zip
13 /graphics/images/1996/a/abc_land.zip
12 /graphics/images/1996/i/impcybor.zip
12 /graphics/images/1996/a/abc_pien.zip
12 /graphics/images/1996/0-9/3dots.zip
12 /graphics/disks/1996/pls_wild.zip
11 /graphics/images/1996/v/voyeur.zip
11 /graphics/images/1996/s/scarlet.zip

-- /code ------------------------------------------------------------------->

81 /code/effects/3d/3dtext.arj
75 /code/effects/3d/fh-3dt18.zip
74 /code/tutor/tut21.zip
73 /code/effects/tunnel/araidsrc.zip
68 /code/effects/rotozoom/pasroto.zip
67 /code/effects/blobs/blobs.zip
66 /code/effects/vector/rn_vect.zip
66 /code/effects/phong/mphong.zip
65 /code/effects/voxel/voxeltut.zip
64 /code/effects/wormhole/stargate.zip

-- /incoming --------------------------------------------------------------->

64 /incoming/music/disks/fm-plast.zip
62 /incoming/music/songs/xm/t2.zip
55 /incoming/mags/sub00004.zip
53 /incoming/demos/astralf.zip
52 /incoming/code/chaossrc.zip
50 /incoming/demos/riplview.zip
49 /incoming/music/disks/u-lucid3.zip
48 /incoming/code/dos32vbe.zip
47 /incoming/demos/1k_intro.zip

>--------------------------------------------------------------- New Uploads --

All ratings are subjective.

Filename Size Rated Description
------------------------------- ---- ----- ----------------------------------

-- /demos ------------------------------------------------------------------>

/1996/0-9/1stepfix.zip 7 ** CAC96B:in4k:??: The First Step by
| Brave Lamers
/1996/a/abc_voda.zip 808 *** Voodka by Absence
/1996/a/ai_mutha.zip 936 ***+ CAC96B:demo:01: Mutha by Astroidea
/1996/a/amitro.zip 4 + Amitro by Damage PC
/1996/a/ashes.zip 65 ** Ashes by Tate
/1996/b/booth.zip 274 ** SEN96:demo:??: Booth by MFX
/1996/b/br-1st.zip 841 [n/a] CAC96B:demo:??: First by Black
| Rainbow
/1996/c/clx_nog.zip 2802 *** SEN96:demo:??: No Garden by
| Complex
/1996/c/cob.zip 67 **** SAT96B:in64:12: Cob by Nooon,
| Orange
/1996/c/comahomo.zip 567 **+ SEN96:demo:03: Homo by COMA
/1996/d/dem3sat4.zip 404 *+ SAT96B:demo:06: Tartofraise by
| Horizone
/1996/d/dny-inac.zip 70 *** CAC96B:in64:??: In Activity by
| Dinasty
/1996/e/elite.zip 274 * The Elite Demo by Intra
/1996/e/explora.zip 1509 ***+ SAT96B:demo:02: Explora by Bomb,
| Oxygene
/1996/f/fade.zip 59 *** CAC96B:in64:??: Fade by Exact
/1996/f/fastark.zip 1283 *** SAT96B:demo:03: Fast by Arkham
/1996/f/fg-porno.zip 463 + CAC96B:demo:??: Porno by Firg
/1996/f/fizzygay.zip 61 **+ SEN96:in64:??: Peter and I Like
| Fizzy Water... by TPOLM
/1996/f/frs_clue.zip 78 **+ CAC96B:in64:??: Clue by Fresh
/1996/g/grd_eqtn.zip 58 **+ Equation by The Grid
/1996/h/h_empty.zip 66 ***+ SEN96:in64:01: Empty by Halcyon
/1996/i/io3_4k.zip 15 Intel Outside 3 4k Intro Compo
| Entries
/1996/k/kala.zip 1419 [n/a] SEN96:demo:??: Kalanviljelylaitos
| by Tempest
/1996/m/mantmag.zip 2084 ***+ SAT96B:demo:01: Magma by Mentasm
/1996/m/muna.zip 1053 * SEN96:demo:01: Muna by Hirmu
/1996/n/ntl.zip 81 ** SAT96B:in64:06: Not Too Late by
| Skytech Group
/1996/p/p-statio.zip 71 *** SEN96:in64:??: Station A. Hoffman
| by Paragon
/1996/p/pastel.zip 19 **+ CAC96B:in4k:??: Pastel by
| Controlled Dreams
/1996/p/pearl.zip 60 *** Pearl by Poison
/1996/p/pierre2.zip 910 [n/a] SEN96:demo:??: Pierre Deux by Coon
/1996/p/probe.zip 602 *** CAC96B:demo:03: Probe by
| Euthanasia
/1996/r/ravetro.zip 69 **+ CAC96B:in64:??: Ravetro by Byteam
/1996/s/sat_ast.zip 223 *+ SAT96B:demo:05: Narguileh by AST
| System
/1996/s/sck-onyx.zip 1546 ***+ CAC96B:demo:02: Onyx by Shock
/1996/s/sphere.zip 76 ***+ CAC96B:in64:01: Sphere by Mortal
| Compact
/1996/s/ste-08.zip 123 *+ N0ll 8tta by Syntax Terror
/1996/s/ste-die.zip 111 * Doo by Syntax Terror
/1996/s/ste-stlf.zip 423 ** REM96:demo:04: Don't Get Stajlish
| (final) by Syntax Terror
/1996/s/super_.zip 691 **+ SEN96:demo:02: Superman's Day Out
| by TPOLM
/1996/t/talo.zip 116 * SEN96:demo:??: Talo by P33107
/1996/t/the_cube.zip 19 *** CAC96B:in4k:01: The Cube by Fishy
/1996/t/tls_time.zip 580 *** Time by The Lost Souls
/1996/u/uf_depr.zip 1295 ** CAC96B:demo:??: Depravity by
| United Force

-- /party ------------------------------------------------------------------>

/invites/1996/cache96a.zip 532 [n/a] CAC96B::: Cache '96 Autumn
| Invitation Intro by Unicorn
/invites/1996/demol2.zip 216 *** DML96B::: Demolition II '96
| Invitation Intro by Ws, Solen
/reports/1996/p2b4_myo.zip 3516 ** The Place To Be IV Slideshow by
| Myopath Crew
/results/1996/cac96a.res 0 CAC96B::: Cache '96 Autumn Results
/results/1996/cov96res.txt 3 COV96::: Coven '96 Results
/results/1996/w96res.zip 4 WIR96::: Wired '96 Results

>------------------------------------------------------------------ Articles --

---------------------------------------------------------------------------->

:: "Software Design for Demos"
:: Kiwidog - chargrove@mail.ravensoft.com

_____Introduction

Hello everyone. :)

As I wrap up the Intro to 3D series in extremely late fashion in my spare
time, I've decided to start writing another article series on a topic not
talked about very often in demo coding... software design. This has been a
somewhat touchy subject because good coding design practices are hard to
learn in an environment where ultra-rapid speed is all that counts, and where
the coders typically are self-taught individuals in their late teens to early
twenties.

From what I've seen, there are three prevalent views among demo coders I've
talked to; they either A) think good coding practices necessitate intolerably
slow code, B) think good coding practices require unnecessary effort when
writing demo code, and/or C) think taking the time to learn good coding
practices wouldn't have much benefit as far as demos go.

While B may be true depending on your situation, A and C are most definitely
myths, and I think these myths are slowly contributing to the scene's gradual
"falling behind" as far as innovations go. The times of making tiny single
routines that look super-impressive to everyone are over, and making large
demos that have impact is getting more and more difficult with time. As a
result, people are either making crappy or unoriginal demos (such as the
3D-engine-object-show rut), or even worse, not making demos at all... and the
scene is losing its edge because of it.

For the past 5 months or so, I've been employed at Raven Software, a game
company whose games you've worst case seen on the shelves, best case played
and enjoyed (I'm not going to plug the company since this is not a sponsored
article, but you knew I'd bring them up somewhere :) In these 5 months I've
ended up learning more than I could possibly fathom previously about writing
good code. Not just fast code or small code.... _good_ code. If you don't
know what that means, you haven't had to deal with the frustration of coding
a large project, and if you think you know what it means and think it's not
as "good" really because it means bloated and slow, you're wrong.

I think that if demo coders took the time to learn some good coding practices
and software design, it would not only allow them to focus more on the demos
themselves, but would also give them more power to really do in demos what
they enjoy doing the most... creating. If you're spending forever trying to
get your code to work with your teammates' code, or if you find yourself
rewriting your VGA unit every month, that's time taken away from the fun
part, the creating.

In addition, for those of you that are thinking of bringing your programming
skills into the outside world, good software design skills are a huge plus
(I'm not saying this as a prospective employer, as I'm not... I'm saying this
as a fellow coder who wishes he could have learned 2 years ago what he's
learned in the past few months, as it would have been incredibly helpful).

If the scene's going to get out of its rut and continue to move on to
bigger-better-faster things, it's also got to add one more property to the
list... smarter. Without coding smarter, coding faster won't do you any good
once the project gets intense.

So that's what this series is about. In this article series I'm going to
show you how to start creating a comprehensive demo library and development
system, which I am working on myself only shortly before these articles are
being written. We'll build this development system from the ground up, and
in the end you'll be able to take the practices used and move them over into
your own code, whatever your language or compiler may be.

This is not a rigid "cut and paste my code and you will code perfect demos"
thing by any means; at the time of this writing I'm still working on making a
full demo, so I can't speak for this stuff being gospel (actually it can most
certainly be improved). But I think it's the _principles_ that are
important, and those don't change regardless of what language you prefer or
how fast your texture mapping algo is. Think of it as a "helpful hints" type
of thing. :)

The key points I'll be going over during this whole shindig:

- Good naming conventions
- Organization for large projects
- Code Re-Use

along with a couple demo-specific things that I've found useful, such as
process queues (fake multitasking for effects) and internal consoles for
on-line development.

This is not a basic intro series like I did last time; this is a bit more
high up. Not _too_ high up, but a bit more than before. To really gain from
these articles you'll probably have had to have had frustrations in the past
with large project organization (I could name a certain person from Psychic
Monks that would fit this category from this past NAID, but he already knows
who he is :) Trust me, I've had just as much frustration, so you're not
alone.

_____Dammit Kiwi!

Here's the part where I'm sure there will be a lot of coders screaming
"DAMMIT KIWI!", and before you do, read the whole section.

The language of choice for me to write the code for this series is C++.

If you find yourself screaming "Demos using C++? What the hell is he
thinking? C++ is bloated and slow, it's what you write Windows programs
with, not demos! This sucks!", then perhaps reality will set in when you see
that C++ code overhead is.... well....

Zilch.

That's right, nothing. No overhead. The only reason C++ code can be slower
than C code is if you abuse it, and granted it is easy to abuse... but you
don't have to (BTW when I say C++ code I mean using the object-oriented
extensions of C++... in other ways C++ is really just a superset of C).

Want proof? In later articles you'll have proof yourself with the example
source (which for the people who read my 3D articles, you'll be happy to know
that this time the example source is already written). But for now, let me
give you an example.

I have a program called PROCTEST.CPP which is the main file of a project.
Inside this program there is one "routine" declared which is a function set
framework used for a repeated operation; this routine happens to be a set of
empty functions, so they do nothing. An instance of this routine is created
by declaring a "process", which is a class that takes a routine frame to tell
it what it's supposed to do, and this process is set to "spawn" on the
execution of a particular "event", a linked-list structure holding sets of
manual spawn and kill orders.

Events can be rigged to certain things like music sync points or other
process kills, but in this case, the event is executed directly. The spawned
process is now added to the process execution queue, and this queue is
executed every frame by checking all processes in the queue, getting current
timing information for each, (built-in profiling), and executing the process'
prime functions, checking for any hooked events or internal self-kills from
the process.

Another process is created from another routine frame, but this routine does
something; it quits the program if a key is pressed. This process is also
set to spawn at the initial event, so during the main process queue cycle,
both an empty process and a key-quit process are being run, as well as all
the other empty slots in the queue being checked for validity information.

Sound confusing? That's okay. Sound huge? Understandable. Sound object
oriented? Extremely. Wanna know how long it takes to execute a frame,
built-in-profiling-multi-process-execution and all?

On my P75 at work, 0.000244 seconds, under Win95 even. This is an accurate
timing, as I'm reading the PIT directly (< 900ns granularity) which is not
affected by Win95's timing quirks except to point out that normal interrupt
latency exists (i.e. without interrupts the result would be even better than
it already is!).

So if you want to complain about overhead, you're complaining about the wrong
thing. We're talking about a small fraction of a screen clear's worth of
clock cycles, for something that on the outside might appear "bloated and
slow". If you want to spend your time complaining about clock cycle loss,
optimize your polygon routines more... but don't go whining that C++ is
inherently slow; you'd be barking up the wrong tree and only doing yourself a
disservice. How you _use_ the language is what counts.

There, now that that's said...

_____So What Exactly Are We Planning To Do?

I'm planning to cover this development process piece by piece, first with how
to arrange for large projects, followed by naming conventions, and then on to
starting the library itself. Once you get the hang of how the system works,
the library's internals won't matter too much (we'll only be doing a few of
them with this series); you'll be able to use your existing knowledge to fit
the pieces together. The internals we will be building here will be the ones
you might not have dealt with, namely the process queues and internal console
mentioned before... so if you take nothing of the software design process
away with you, you'll at least take away two more techniques that one way or
another could help you in your coding.

I'll also be going over some of the nuances of using C++ for you C folks
here as we go on; there's really not as much to learn as you might think.

This series will undoubtedly spread over many articles, but unlike my 3D
series there's no rigid "this article this topic" structure or timeline
(which should make Snowman happy as far as size limits go :) I don't plan
on the series lasting forever, but there might be a few weeks between
subsequent articles to compensate for the fact that I have a job to deal
with too (still, there shouldn't be too much lag... the code's already done
this time, and the article-writing time isn't nearly as long as the code-
writing time, so we should be in good shape).

BTW, all my code will be written for Watcom C++ 10.0+, so when you see code
or makefile references, that's what I'm using. Any specific stuff to the
compiler though should be minimal, and besides as I said before, it's the
principles that matter.

Well, now that I've taken up half my article space for this opening volume,
we might as well begin... :)

_____Setting Up for Large Projects

There are several principles that come in handy when you want to move from
a small project arrangement to a large project one.

1. Multiple Directories and/or Version Control

If more than one person is working on the project, Version Control software
is a good idea, whether you make it yourself or get some kind of actual VCS
package like RCS or MS SourceSafe (BTW I highly recommend SourceSafe for you
MSVC developers out there). Version Control lets you "check out" files from
a particular project, edit them, and check them back in when you're done...
that way no two people are editing the files at the same time. It can get
nasty if two people are updating a module and one person is making additions
to an older version than another person has, and when the updates are
completed the stuff from the older version remains while other newer version
changes by other people are wiped out. Version Control prevents this from
happening.

If you're a single person, Version Control might also be helpful to you, but
if you don't have it, then you'll want something else to help structure where
your files are located (as there is no package present to manage the
locations for you like VCS will), such as multiple source directories.
Breaking down your project into multiple subdirectories for individual
components can help assist in making changes and updates, as you always know
where your code for a given type of module should be.

2. Make Use of Library Files

The .LIB extension seems all too uncommon these days, but it can be very
helpful. For one, projects using a common .LIB will not link with any dead
code from the library; only the functions used will be linked in (for you
Pascal folks, this basically means use units extensively). In addition,
the .LIB can then be a project in itself, so any of the code meant for the
library can be kept in the library project _only_ and nowhere else, allowing
you to keep track of where you should make changes. Not to mention that
if the the .LIB is a project, then when this project is updated and other
projects are meant to use the .LIB, all that's required is a relink by the
other projects, and everything is new and fresh.

3. Use IDE Projects and/or Makefiles

If you have an IDE associated with your compiler that supports projects, take
advantage of it. If you don't (or you just don't want to use it, like in the
case of Watcom's Windows IDE which I despise), and makefiles are supported,
use them. Even better, in the case of projects that use common resources
(like a common .LIB as mentioned above), you can set up a single makefile
with variables that can be changed on the command line for individual
projects. As an example, my arrangement has a subdirectory \PROJECTS, with a
single makefile PROJECTS.MAK. Each project I make goes underneath this
directory, and they all build with ..\PROJECTS.MAK, so there's only one
makefile to change if changes are required.

4. Use Generators

Generator programs, such as programs to generate a class frame with a
particular name or "buildme" batch file for a particular project, only take a
few minutes to write yet can save you an incredible amount of time and
headache. In the case of the above PROJECTS.MAK example, having a small
program called NEWPROJ that creates a project directory and writes a batch
file "BUILDME.BAT" in the dir with the line "wmake /f ..\projects.mak
TARGET=(command line param)" is quick and simple to write, but saves a nice
chunk of time in the long run.

For module frames, doing a similar program that writes an entire module
template with a specific name saves tons of grunt work cut&paste time, and by
the same token gives you a common frame to work with so your code is
consistent. I wrote my class frame generator in 15 minutes, but I'm positive
it's saved me at least 5 hours of grunt work time by now. :)

5. Have Effective Naming Conventions

This last one is a topic unto itself, which I'll get to next time. Having
some kind of standard way to name your variables, functions, and structures
may seem too "nitpicky" or "anal" at first, but it can save you phenomenal
headache over time, ESPECIALLY if there's more than one person involved in
the project. I'll get into specifics in the next volume.

_____Conclusion

Welp, my space has run out, so I'm taking off. Next time we'll discuss all
the ins and outs of good coding style and naming conventions, and why no
matter what convention you choose, you should choose one.

Until then, :)

Chris Hargrove
a.k.a. Kiwidog/Terraformer,Hornet alumni
Technology Programmer, Raven Software

Disclaimer: These articles are in no way affiliated with Raven Software, and
represent the views and opinions of the author solely.

---------------------------------------------------------------------------->

:: "Ratings - What Does It All Mean?"
:: Phoenix / Hornet - phoenix@hornet.org

_____Introduction

Ratings - What Does It All Mean?

Ever since last year, we at the Hornet Archive have been stamping a little
rating onto each demo, song, musicdisk, artwork, and sometimes even coding
util that gets uploaded. These ratings have certainly helped people in
deciding which releases are the "best" and which to not waste their time
downloading, but at the same time they've been a source of controversy and
confusion.

Assuming you've cared at all, you've probably asked yourself "what do all
these stars and other weird ratings mean?" Well, here's your humble demo
reviewer to attempt an answer to that, with my personal scale for demos.

_____The Scale

+ - Total crapola. Offensive. A bad joke. Why did you make me watch
this?

* - Ugly. Lame. An average joke.

*+ - A really poorly done serious demo. Effects from 1991, bad gabber,
no design. Or, a pretty good joke demo. :)

** - Still below par. Old/overdone effects, unfitting music, little to
no gfx.

**+ - Mediocre. May have some modern effects, but poorly used. Music
could use some improvement.

*** - Decent/slightly above par. The minimum of what I'd expect from
current demos. The music is listenable and fits with the demo. Has
modern effects, but some may be overdone. Some OK gfx.

***+ - Very good. May have a new effect or two. There's some design with
graphics and transitions. "Catchy" music. I start keeping demos on
my hard drive at this level.

**** - Excellent. These are usually the smaller party winners. A
memorable design/theme with good gfx (if any). Many interesting
effects, and high quality, well-synchronized music. I start
recommending demos to others at this level.

****+ - Outstanding. I'd only give about 5 or so demos this rating per
year. Usually the major party winners, they contain almost all new
effects, including one or two ingenious ideas. Well-fitting music
once again, and usually top-notch graphics, if not design.

***** - Godlike. I'm saving this for the mother of all demos. After
watching several hundred of them, deep inside I still believe that
there will be some that make me fall off my chair.

[rip] - Uh oh. Contains mostly code/gfx/music that obviously came from
another release, but wasn't credited. I've given a couple of these,
and deleted one intro that was a complete rip. Boo.

[n/a] - Most of the time, this means I could not get the demo to work. My
current system is: 486-DX4/75, 8MB RAM, 1MB ET4000 VLB VGA, GUS ACE
512k, and SB Pro. Not too great for recent demos (although I think
it should be), but hopefully it will soon be: 6x86/120, 16MB RAM,
2MB S3D PCI VGA. Under various software configurations I can run
about 90% of the demos, but my goal is 99% under the new system.

(blank) In my departments, party results and pictures do not get rated;
graphics programs and newsletters do not either.

_____Factors In Demo Ratings

Some of those demo ratings may seem a little more unusual than others, but I
have a logical explanation for each one. These are some of the factors that
go into the ratings.

Music + catchy, well-synchronized, style fits mood of demo
- boom chi boom chi rez boom rez chi

Code + new effects, creative combination/use of old effects
- old effects, and even worse, overused effects (e.g. 2D embossing/
bump, tunnels, polar plasma, polar ANYTHING, lens flare, circling
bobs [they may have looked pretty in Caero but they're just bobs :)]
strobing vectors, etc.)

Design + creativity gets points (e.g. Toasted, Paper). So do transitions,
well drawn logos and pictures, and good use of color.
- trying to imitate stuff done before, or just not having any design
I'm neutral on "thematic" demos (like Craw Prod. stuff). Sometimes
they work, sometimes they don't.

_____The Hitlist

If it was not made clear in DN #135, here's who rates what:

/demos, /party - Phoenix (me :)

/graphics, /mags - GD

/music - a small group of people, who should probably remain anonymous since
this directory gets the most threats from ratings. :) JTown is the
file mover, however.

/code - Gee, I don't think any of us know who rates this. :) Sometimes it's
Snowman, sometimes Trixter, it's even been Daredevil before.

_____Conclusion

Anyway, I hope I helped clear up some confusion in demo ratings. All that is
left is confusion in other ratings.. well, I'll leave that to them. :)

---------------------------------------------------------------------------->

:: "NAID - Memories"
:: White Noise - jeff@ego.psych.mcgill.ca

You were at NAID, in 95 or 96? You entered something in a competition there?
A song, a graphic, a demo, an intro? Then you can help the Ultimate NAID
collection. Have a look at naid.conceptech.qc.ca, the NAID - Memories and
help us out by sending in what you submitted.

Also, should you have pictures of the party in digital format, or artifacts
such as ticket stubs or anything that you think could be nifty to add to this
Monument to NAID, please send it over.

The ftp site is at ftp.naid.conceptech.qc.ca/incoming/naid

Thanks for your help. Long live the memories...

White Noise.

(used to be in Hornet now lost somewhere in a void between his keyboard and
his schoolbooks)

---------------------------------------------------------------------------->

:: "Java and Demos"
:: 3NO (formerly Vector) / Vinlandia, Tpolm Kanada - jnoel@public.nfld.com

Hello again. Last week, I outlined my desire to explore Java as a possible
demo platform. Since the publication in DemoNews last week I have received a
number of responses, all positive. I have decided that instead of doing a
newsletter, I will write a regular column in DemoNews on the subject, most
likely every 2 weeks or so.

Just some brief notes for this week. I noticed on cspid (C-sped? :) about a
week ago mention of a web site with some demo-effects on it. Everybody
interested should check this out - it has a number of fire effects, as well
as a little starfield, which run directly in the web browser. You can find
this at http://www.uni-koblenz.de/~cohnen. It's a good example of what can
be achieved even at this early stage.

Also, one of the best sources of general Java information is the Sun Javasoft
site, http://www.javasoft.com. This contains various tutorials and docs,
including a complete outline of the High-level Java language and the Java
virtual-machine (JVM) specification.

This brings up an important point - I would like to start keeping track of
sources of demo-oriented Java sites, and will hopefully put up an index site
at some point. If anyone knows of any good sites, please email me.

The next thing I would like to talk about is Java music-playing. I was
talking to Mikmak on irc the other day, and he seemed quite interested in the
possibilities of Java, despite some of the shortcomings. (NO unsigned types
- argh!). He is apparently working towards a Java version of mikmod, and
told me that Rao has been playing with as well. In any event, if music can
indeed be played properly in Java, we could be seeing a few basic demos being
produced in the near future.

A Java tracker could also be interesting - portability is assured, and would
be a step towards more direct, on-line co-op composition. Makes me think of
that little blurb on the Kosmic web-page. :)

The last thing I want to mention is the whole issue of Windows 95 and DirectX
demos. Part of the reason I want to start exploring Java as a demo platform
is because of Windows 95 and DirectX. I feel DOS is gradually losing it's
relevance, and I also think it would be horrible if we all started making
Win95 and DirectX demos.

As one person on cspid said, it wouldn't be about finding new tricks but
finding bugs in the OS, and from my own experiences with Windows programming
I have to concur. I think Java is a much more exciting platform for demos,
because it is virtually uncharted territory. Besides, there's no reason why
Java in the future couldn't support all the accelerated hardware that DirectX
is supposed to.

Well, this is all I have for this week, and my next column will be 2 weeks
from now, hopefully. Have a good holiday, and make sure to email me if you
have any feedback, info, or good ideas.

---------------------------------------------------------------------------->

:: "Hornet Archive and Jukebox Truth"
:: David Greenman

_____Introduction

When the Hornet Archive started running out of room, one of the suggestions
people made over and over again was to have a CD jukebox on wcarchive for
additional storage. I tried explaining why this was a bad idea, but people
wouldn't listen. Here with us today is David Greenman, official maintainer
of ftp.cdrom.com (wcarchive).

_____The Scoop

> David, could you write a 3-4 paragraph summary of why using online CDROMs
> as additional storage for wcarchive is not feasible? I've have been
> getting asked this over and over again. As much as I try to explain about
> slow seek times, bad performance in multi-user environments, etc., your
> words would carry much more weight.

Here are a few of the reasons:

1. [most important] The archives change too frequently (usually daily), and
this makes permanent storage impractical.

2. We don't have physical access to the machine without an hour's drive to
San Francisco; see #1. We don't pay CRL for micro-management of the
machine, and co-location is the only way we can afford to provide the
level of service that we do. Getting them to insert one or two CDROM's a
month is perhaps possible, but one a day (or even one a week) is not.

3. Single CDROM drives are expensive in the MB/drive area - much more
expensive than hard drives. While juke boxes bring this price down
considerably, we can't use them because they are designed for single-
reader access, not 500-reader access. I'm afraid that the little carousel
would really be a spinnin'. :-) ...and people would see about 512 byte per
10 seconds transfer rates.

You could argue that some archives don't change (like releases of software,
for instance), but even for those, we simply have no archives that are
trafficked so infrequently that #3 wouldn't kill you every time. Archives that
are so unpopular where #3 wouldn't be a problem would (should) be deleted
since they don't contribute significantly to the value of the archive.

Of course there is also the problem that, while specific software releases
don't change, new ones do come out occasionally and the sum total of all new
software releases that are put up on wcarchive each day would still make
#1/#2 a show-stopper.

David Greenman
Core-team / Principal Architect, The FreeBSD Project

---------------------------------------------------------------------------->

:: "A Demo Scene Survey"
:: Nick - stilgar@crush.wwnet.net

[Editor's note: You won't believe how much trouble I had in printing this
text. Nick emails me a survey (for a class project), I fill it out, send it
back, and promise to put a copy in DemoNews. Then I lost the survey. Then
the deadline passed. Finally, Nick decided that he'd would persue the
project outside of school and could extend the deadline. So here we go.]

_____Introduction

Note: I realize that time is limited, so if you don't feel like answering all
the questions, don't; the first two and the demographics would be nice, or
maybe just skip the first five, and head straight into the multiple choice.

_____Essay Questions

1. What does the scene mean to you?

2. In your mind, what is the best quality of the scene?

3. What is your favorite demo? Why?

4. What first interested you about the scene? Or, how did you first learn
about/get into/whatever the scene?

5. Do you see Microsoft as a necessary evil, or just evil? ;)

_____Multiple Choice

6. Do you think the scene will shed its underground? roots?

A. Yes.
B. No.
C. I hope not!

7. Do you think the scene will ever be superseded by larger (perhaps
corporate) interests?

A. Maybe.
B. No way!
C. Why are you asking this?

8. By the year 2000, do you think the scene will have:

A. Grown immensely
B. Grown, but not by an extreme margin
C. Stayed roughly the same size
D. Started to die out
E. Become a force to reckon with

9. By the year 2000, how do you see your relationship with the scene?

A. Still immersed in the wonderful world of demos.
B. Reduced role.
C. Casual Observer.
D. Moved on to other things.

10. How do you plan to use your experience in the demo scene to support
yourself later in life (or how *did* your experience..)

A. Go into business for myself.
B. Find a job in a related computer industry.
C. It has really just been a hobby.
D. I plan on using the experience to change the computing status quo.

_____Demographic Information (optional)

Age:
Country:
Group:

_____Conclusion

When you are done, please cut out this survey from DemoNews and mail it to
stilgar@crush.wwnet.net. Thank you for your time.

---------------------------------------------------------------------------->

:: "The #trax Page"
:: b0b / Chill, Ultrabeat, Mazurka - b0b@datex.ca

There's this little page out here on the www called the #trax page. It's the
semi official home of all the people who frequent the IRC channel, #trax. In
recent times, people beyond the scope of the #trax culture have also logged
onto the page and added their entries. It has become more of a demoscene
megalink page now. The page gives people the ability to edit their own
entries; most people log onto the page to modify their bio's on a regular
basis so the page stays very up to date for the most part. Or so that's the
theory. :)

Currently the page has over 340 people listed, over 150 pictures of scene
people, and about 20+ group listings (and growing). One of the newest
features of the page gives everyone the ability to add/edit and delete
'releases' to their bio's. Your releases can be hyperlinked to an FTP or
HTTP server where the file might be stored. This feature although VERY cool
has not really caught on. :( So let's see you people adding in your
releases!!!

Recent updates include:

- fixed links section (took out pictures, looks nicer now).
- fixed some source code bugs that no one else really noticed.
- added about 15 new pics and updated about 10 other pics.
- added about 4 new groups.
- shrunk the damn logo so that it doesn't take nearly as long to load now.
- fixed all the pages so that you can resize them and they don't screw up.

Some people may have noticed lately that there were a lack of updates. The
reason being that I got very busy at my "real job". Luckily things have
slowed down due to the X-mas season and I was able to reply to the 100+
messages in my mailbox regarding the page. If there anyone now who has sent
me something via e-mail and has not received a reply please resend your
message.

Lastly, there are still over 100 people who have not logged onto the page to
change their default password. On 01 February 1997, I will be deleting all
entries that have not updated your password.

The default password is: XXXXXX

Six x's. So login and change it if you havn't.

Thanx.

And remember: http://www.spaz.com/trax

>------------------------------------------------------- General Information --

_____The Hornet Archive

Master Site : USA (California) - (ftp|www).hornet.org/pub/demos
Mirrors : Portugal - ftp.telepac.pt/pub/demos
Sweden - ftp.luth.se/pub/msdos/demos
South Africa - ftp.sun.ac.za/pub/msdos/demos
USA (Wisconsin) - ftp.uwp.edu/pub/demos
USA (Pennsylvania) - ftp.co.iup.edu/code (from /demos/code)

_____DemoNews

New issues are posted to /incoming/info.
Old issues are in /info/demonews.
Supplemental files are in /info/dn_other.

How to subscribe:

Mail - listserver@unseen.aztec.co.za
Body - subscribe demuan-list FIRST_NAME LAST_NAME _or_
Body - subscribe demuan-list HANDLE

DemoNews is sent to your e-mail's "Reply-To" field.

_____Contact Address

questions@hornet.org

>------------------------------------------------------------------------------

EODN

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT