home *** CD-ROM | disk | FTP | other *** search
/ The Party 1994: Try This At Home / disk_image.bin / source / phantcyb / cyber.doc < prev    next >
Text File  |  1994-08-05  |  6KB  |  126 lines

  1. CYBERSPACE SOURCES - BY PHANTOM - A NOSTALGIA DEMOCODER
  2.  
  3. -What the...
  4.  
  5. At this moment you are the proud owner of a copy of phantom's cyberspace-
  6. sources. With these sources you can experiment with the latest in P.D.
  7. virtual-reality. These sources, when properly compiled, will run on any
  8. AT, but they will be too slow on anything less than a 386DX/33. On some
  9. very fast machines the program might be too fast. In that case, borrow
  10. your neighbours' computer. (They say that your neighbours' computer should
  11. ALWAYS be slower than yours)
  12. To run these sources, please compile demo3d.pas and makedata.pas. To obtain
  13. a cool sample WAD file, just run the makedata-program. In the current 
  14. directory a cool file will appear, quite big actually. This is a data
  15. file, with the texture data in it, and a small map.
  16. Now start Turbo-Pascal 7.0, don't do any checking (especially no stack-
  17. checking or overflow checking), don't use debug symbols and all the slow
  18. shit, just compile the program. During this process, a special graphics
  19. unit (VGA256.PAS) will be compiled, this gives you the great VGA256.TPU
  20. file. Of course you may use this also in your own program.
  21. I said also. Sorry, but I wouldn't like it if you use ANY of my routines
  22. in commercial stuff or shareware-programs. Neither would it be any fun
  23. if my cyberspace would magically appear in a dazzling new demo.
  24.  
  25. At this stage, you have probably taken a close look at the running
  26. program. So now you know what cyberspace is.
  27.  
  28.  
  29. Nostalgia? What the...
  30.  
  31. Nostalgia is the newest Dutch demogroup in Holland (A bit redundant,
  32. that 'Holland', isn't it?). It consists of four successfull screen and
  33. speaker artists. We have THREE coders: Suave, JAL, and me, The Phantom.
  34. Yes, I know there are quite some Phantoms, but hey, they can't really
  35. compete in the demoscene, so let THEY change their name. If any 'phantom'
  36. can out-perform me, I will change my name.
  37. Just for your information: We won the BiZARRE!'94 compo in Nijmegen,
  38. Holland. The first day of the compo (saturday) was the first day that
  39. I met the other guys. So you can image that we had some rough 24 hours
  40. to get our demo working! Due to this, we where not completely satisfied
  41. with the result. We won, but we didn't release it.
  42. At the time you read this, a highly improved version of ECHOES of the
  43. past is released, and now available on the Internet. If you have a GUS
  44. you will hear the great music from our musician, The REW. He's one of
  45. the finest in Holland, and can certainly compete with the world's 
  46. leading musicians. You don't believe it? Get the demo!
  47.  
  48.  
  49. Sources? What the...
  50.  
  51. Because I think the current level in public domain-games is rather low,
  52. these sources are hereby placed in the public domain. As  said, don't
  53. use it for shareware without my permission!
  54. If you would like to use Cyberspace, you will have to be a fairly
  55. good programmer, since some very important bits are missing. My routine
  56. can not display sprites at the moment, making it rather useless for games.
  57. Of course, this can be implemented. If you can do this, I think you are 
  58. qualified to use the sources. If you can't do this, the final game would
  59. have been shit anyway. If you can prove that you can do a good game, but
  60. can't program the sprites, contact me.
  61.  
  62. Maybe you would like some explanation on the sources.
  63. Here it comes.
  64. - The floor is a rotated and tilted bitmap. This bitmap consists
  65.   of little bitmaps, the little bitmaps are 32x32 pixels. You can
  66.   think of the floor as a giant chess-board. On screen you see
  67.   approx. 7 squares on the base-line, and more on the other lines.
  68.   Every square has a number (0..255), because it's directly peeked
  69.   from the map-memory. This number is the bitmap-index. So, the cool
  70.   bitmaps that where defined in MakeData are used here.
  71.   Because these tiles are rather big, and the world can consist of
  72.   128x256 tiles, the maximum size of the world is big enough for
  73.   the average game. In the demo only one half of the maximum-size
  74.   is used. Of course, you could have more than one map.
  75.   So, the floor is easy. Now the ceiling.
  76. - All the tile-edge-coords are mirrored from the floor. So an x-pos
  77.   in a tile on the floor is equal to an x-coord in a tile on the 
  78.   ceiling. All coord-calculations have to be done only once.
  79.   So, the ceiling is not so hard either. Now the walls.
  80. - Every time the algorithm wants to draw a color-0 spot on the floor,
  81.   a wall is drawn instead. So, a black square on the floor (assuming
  82.   that color 0 is black) will become a massive block of wall on-screen.
  83.   Whenever a bar is drawn from the floor to the mirrored coord on the
  84.   ceiling, that x-pos is blocked. Please note that we are drawing from
  85.   the bottom of the screen towards the middle, so, we don't first draw
  86.   the fartest [ :) ] objects, but the nearest!
  87.   When an x-pos is blocked, all walls and floors behind it are not even
  88.   calculated any more.
  89. - As you can see, the walls are not drawn with one color. This is done
  90.   by taking the value of the ceiling-tile (which you can't see because
  91.   there's a wall), and find a nice pattern in a pattern-table. Because
  92.   I draw one bar at a time, I can only assign colors to horizontal lines
  93.   on a wall, I can't do complete texture-mapping.
  94.  
  95. So, this draws my world. Things are rather fast because I don't use 
  96. screenswapping; I just overwrite the whole image. On slow computers this
  97. looks ugly, on all other systems you won't notice, and it spares me a
  98. clear-screen command.
  99.  
  100. That's it, I think the average programmer will be able to create his own
  101. world with this information. If there are questions, let me know.
  102. Please let me know if you improve my world. I would like to work on
  103. a couple of things:
  104. - Sprites, as I mentioned before
  105. - More speed, using 386 registers, especially segment-registers
  106. - Lower walls (variable hight)
  107. - Better light-to-dark 
  108.  
  109. I already have routines to tilt the screen. This looks stunning, but it's
  110. not quite perfected yet. Let me know if you're interested, I'll send
  111. you a demo.
  112.  
  113. Well, end of text, to contact me just send some E-mail to:
  114.  
  115. ADSJBI@SKFERC.NL
  116.                
  117. That's the E-mail address of:
  118.  
  119. Jacco Bikker ('The Phantom')
  120. Gestellaan 44
  121. 3431 GN  Nieuwegein
  122. Holland
  123. Phone (in Holland) 03402-33309
  124.  
  125. See you, and mail me! I need four mails monday! (I wanna magnum (insiders))
  126.