home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Hack-Phreak Scene Programs
/
cleanhpvac.zip
/
cleanhpvac
/
PHANTCYB.ZIP
/
CYBER.DOC
< prev
next >
Wrap
Text File
|
1994-08-05
|
6KB
|
126 lines
CYBERSPACE SOURCES - BY PHANTOM - A NOSTALGIA DEMOCODER
-What the...
At this moment you are the proud owner of a copy of phantom's cyberspace-
sources. With these sources you can experiment with the latest in P.D.
virtual-reality. These sources, when properly compiled, will run on any
AT, but they will be too slow on anything less than a 386DX/33. On some
very fast machines the program might be too fast. In that case, borrow
your neighbours' computer. (They say that your neighbours' computer should
ALWAYS be slower than yours)
To run these sources, please compile demo3d.pas and makedata.pas. To obtain
a cool sample WAD file, just run the makedata-program. In the current
directory a cool file will appear, quite big actually. This is a data
file, with the texture data in it, and a small map.
Now start Turbo-Pascal 7.0, don't do any checking (especially no stack-
checking or overflow checking), don't use debug symbols and all the slow
shit, just compile the program. During this process, a special graphics
unit (VGA256.PAS) will be compiled, this gives you the great VGA256.TPU
file. Of course you may use this also in your own program.
I said also. Sorry, but I wouldn't like it if you use ANY of my routines
in commercial stuff or shareware-programs. Neither would it be any fun
if my cyberspace would magically appear in a dazzling new demo.
At this stage, you have probably taken a close look at the running
program. So now you know what cyberspace is.
Nostalgia? What the...
Nostalgia is the newest Dutch demogroup in Holland (A bit redundant,
that 'Holland', isn't it?). It consists of four successfull screen and
speaker artists. We have THREE coders: Suave, JAL, and me, The Phantom.
Yes, I know there are quite some Phantoms, but hey, they can't really
compete in the demoscene, so let THEY change their name. If any 'phantom'
can out-perform me, I will change my name.
Just for your information: We won the BiZARRE!'94 compo in Nijmegen,
Holland. The first day of the compo (saturday) was the first day that
I met the other guys. So you can image that we had some rough 24 hours
to get our demo working! Due to this, we where not completely satisfied
with the result. We won, but we didn't release it.
At the time you read this, a highly improved version of ECHOES of the
past is released, and now available on the Internet. If you have a GUS
you will hear the great music from our musician, The REW. He's one of
the finest in Holland, and can certainly compete with the world's
leading musicians. You don't believe it? Get the demo!
Sources? What the...
Because I think the current level in public domain-games is rather low,
these sources are hereby placed in the public domain. As said, don't
use it for shareware without my permission!
If you would like to use Cyberspace, you will have to be a fairly
good programmer, since some very important bits are missing. My routine
can not display sprites at the moment, making it rather useless for games.
Of course, this can be implemented. If you can do this, I think you are
qualified to use the sources. If you can't do this, the final game would
have been shit anyway. If you can prove that you can do a good game, but
can't program the sprites, contact me.
Maybe you would like some explanation on the sources.
Here it comes.
- The floor is a rotated and tilted bitmap. This bitmap consists
of little bitmaps, the little bitmaps are 32x32 pixels. You can
think of the floor as a giant chess-board. On screen you see
approx. 7 squares on the base-line, and more on the other lines.
Every square has a number (0..255), because it's directly peeked
from the map-memory. This number is the bitmap-index. So, the cool
bitmaps that where defined in MakeData are used here.
Because these tiles are rather big, and the world can consist of
128x256 tiles, the maximum size of the world is big enough for
the average game. In the demo only one half of the maximum-size
is used. Of course, you could have more than one map.
So, the floor is easy. Now the ceiling.
- All the tile-edge-coords are mirrored from the floor. So an x-pos
in a tile on the floor is equal to an x-coord in a tile on the
ceiling. All coord-calculations have to be done only once.
So, the ceiling is not so hard either. Now the walls.
- Every time the algorithm wants to draw a color-0 spot on the floor,
a wall is drawn instead. So, a black square on the floor (assuming
that color 0 is black) will become a massive block of wall on-screen.
Whenever a bar is drawn from the floor to the mirrored coord on the
ceiling, that x-pos is blocked. Please note that we are drawing from
the bottom of the screen towards the middle, so, we don't first draw
the fartest [ :) ] objects, but the nearest!
When an x-pos is blocked, all walls and floors behind it are not even
calculated any more.
- As you can see, the walls are not drawn with one color. This is done
by taking the value of the ceiling-tile (which you can't see because
there's a wall), and find a nice pattern in a pattern-table. Because
I draw one bar at a time, I can only assign colors to horizontal lines
on a wall, I can't do complete texture-mapping.
So, this draws my world. Things are rather fast because I don't use
screenswapping; I just overwrite the whole image. On slow computers this
looks ugly, on all other systems you won't notice, and it spares me a
clear-screen command.
That's it, I think the average programmer will be able to create his own
world with this information. If there are questions, let me know.
Please let me know if you improve my world. I would like to work on
a couple of things:
- Sprites, as I mentioned before
- More speed, using 386 registers, especially segment-registers
- Lower walls (variable hight)
- Better light-to-dark
I already have routines to tilt the screen. This looks stunning, but it's
not quite perfected yet. Let me know if you're interested, I'll send
you a demo.
Well, end of text, to contact me just send some E-mail to:
ADSJBI@SKFERC.NL
That's the E-mail address of:
Jacco Bikker ('The Phantom')
Gestellaan 44
3431 GN Nieuwegein
Holland
Phone (in Holland) 03402-33309
See you, and mail me! I need four mails monday! (I wanna magnum (insiders))