home *** CD-ROM | disk | FTP | other *** search
/ Virtual Reality Madness & More! / Virtual.Reality.Madness.And.More.1994.Disk1.iso / vrstudio / manual / ch14.txt < prev    next >
Text File  |  1993-08-12  |  11KB  |  371 lines

  1. ________________________
  2.  
  3. Virtual Reality Studio
  4. Part 14
  5. ________________________
  6.  
  7. Studio Game tutorial
  8.  
  9.  
  10. This tutorial for the Virtual Reality Studio covers the beginning 
  11. of the Virtual Reality Studio Game.
  12.  
  13. In Area 001 (the starting area) there is a collection of colored 
  14. boxes. These all have the same condition associated with them. The 
  15. yellow box, for example, is CUBOID 018, and has the following 
  16. condition:
  17.  
  18. IF SHOT?           starts the IF/THEN statement, so if the box 
  19.                    is shot...
  20. THEN INVIS (18)    then make the box invisible
  21. SOUND (5)          add a sound effect to coincide with the shot
  22. EXECUTE (45)       executes the conditions of Object 045
  23. ENDIF
  24.  
  25.  
  26. The condition of OBJECT 045 allow the revelation of the hidden 
  27. doorway. It is important to note that object 045 is never visible 
  28. and is used to store the following routine which can be used by all 
  29. the colored cuboids in front of the hidden doorway.
  30.  
  31. IF INVIS (17)     these lines are asking if all the boxes have been
  32. AND INVIS (18)    shot, i.e. made invisible
  33. AND INVIS (19)
  34. AND INVIS (20)
  35. AND INVIS (21)
  36. AND INVIS (22)
  37. THEN VIS (16)     and if they have been then make the secret door 
  38. LOOP  (6)         visible sets up the loop counter
  39. TOGVIS (16)       this is to toggle the visibility of the door
  40. SOUND (3)         waits for 1/60 of a second
  41. WAIT
  42. SOUND (1)
  43. WAIT              the two wait commands count for 2/60 of a second
  44. WAIT
  45. AGAIN             repeats the loop 6 times
  46. ENDIF
  47.  
  48.  
  49. From the LOOP (6) command to the end of the condition above, the 
  50. door will have been flashed 6 times by toggling the visibility. 
  51. Because the loop is executed an even number of times the door is 
  52. visible when the loop has been exited.
  53.  
  54. The door behind the boxes is object 016 and has, like all other 
  55. doorways, the following condition:
  56.  
  57. IF COLLIDED?
  58. THEN GOTO (1,12)    so you go to area 12 if you go through the door
  59. ENDIF
  60.  
  61.  
  62. We are now at AREA 012. The entrance position has been defined 
  63. using the EDIT ENTRANCE option from the top of the screen. This 
  64. means that when we collide with the object 016 (the door), we enter 
  65. area 12 at position 7932,5050,6699.
  66. It is possible to travel along the walkway until you get to a 
  67. series of cuboids that move to and fro blocking your path. The 
  68. first of these is the blue cuboid 009.  This has the following 
  69. condition:
  70.  
  71. IF COLLIDED?
  72. THEN SOUND (5)
  73. ADDVAR (10,V11)       adds 10 to variable 11 (number of times shot)
  74.                       This effectively causes damage to the player.
  75. ENDIF
  76.  
  77.  
  78. By examining the attributes on cuboid 009 we see that it is created 
  79. as moveable and start its animation from a position 7580, 
  80. 5120,6040. The animation for this object is as follow:
  81.  
  82. INCLUDE (9)     includes object 009, i.e. the blue cuboid
  83. START           to start the animation
  84. LOOP (10)       telling the program to do the next command 10 times
  85. MOVE (-50,0,0)  moves the cuboid 50 units in X direction
  86. AGAIN           repeats the loop
  87. LOOP (10)       creates a new loop
  88. MOVE (50,0,0)   moves the cuboid in the opposite direction
  89. AGAIN           repeats the loop
  90. RESTART         tells the program to start the animation again
  91.  
  92.  
  93. Once we get past the cuboids we see a pyramid (PYRMID 018) which 
  94. travels  up and down on a green elevator (CUBOID 016). The 
  95. condition for PYRMID 018 is :
  96.  
  97. IF ACTIVATED?          if this object is activated
  98. THEN INVIS (18)        then make it disappear
  99. PRINT ("YOU FIND SOME ROPE")
  100. SETVAR (25,V35)        V35 is a frame counter
  101. SOUND (4)              adds a sound effect
  102. SETVAR (1,V42)         this sets a marker to say we have the rope 
  103. ENDIF                  ends the IF/THEN statement
  104.  
  105.  
  106. The value of Variable 35 has been set at 25. The general condition 
  107. number 2 will count down this variable on every frame update until 
  108. it reaches 25. When V25 reaches the value of 2 (after 25 Frames) 
  109. the message area is cleared.
  110.  
  111. Now go back to Area 001 by using the GOTO AREA command from the 
  112. pull down menus at the top of the screen. Move round to RCTNGL 015 
  113. which acts as a doorway on the outer wall. The conditions for 
  114. RCTNGL 015 are:
  115.  
  116. IF COLLIDED?    i.e., you collide with this object
  117. THEN GOTO (1,4) then the program takes you to entrance 1 of area 4
  118. ENDIF           this ends if the statement started two lines above.
  119.  
  120.  
  121. So by colliding with this door (RCTNGL 015 ) then we go to Area 4. 
  122. Look around this area, on the far wall you will see a red triangle 
  123. and a slot. The red triangle is TRNGL 046. The conditions for this 
  124. are as follows:
  125.  
  126. IF ACTIVATED?
  127. THEN IF VAR=?(V45,0)     v45 is set to 1 the security pass is held.
  128. THEN PRINT ("ACCESS DENIED:PASS REQUIRED")
  129. SOUND (3)
  130. SETVAR (20,V45)          Primes the clear message window
  131. ELSE PRINT ("++ ACCESS GRANTED ++)
  132. SET VAR (10,V35)         clears message window in ten frames this 
  133. makes 
  134. LOOP (6)                 the sound happen 6 times
  135. SOUND (4)
  136. DELAY (4)
  137. AGAIN
  138. SOUND (1)
  139. INVIS (46)               remove the red triangle
  140. VIS (47)                 replace by a green triangle
  141. INVIS (41)               removes block so you can get to the 
  142. shuttle
  143. ENDIF
  144. ENDIF
  145.  
  146. The next line to the triangle is 049 RCTNGL, and the condition is 
  147. simply:
  148.  
  149. EXECUTE (46)      this executes the condition of object 046 which 
  150.                   is the red triangle mentioned above.
  151.  
  152.  
  153. If we now go back to AREA 001 (the starting area) we can make our 
  154. way to AREA 003. Firstly, we have to go to RCTNGL 024 which acts as 
  155. another doorway by using the following condition:
  156.  
  157. IF COLLIDED?
  158. THEN VIS (9,11)      These following lines make visible the three
  159. VIS (10,11)          pyramids and sensors so that if they have
  160. VIS (11,11)          been previously shot and made invisible
  161. VIS (14,11)          then they can be brought back into action
  162. VIS (15,11)
  163. VIS (16,11)
  164. GOTO (1,11)          go to entrance 1 of area 11
  165. ENDIF
  166.  
  167.  
  168. The GOTO statement above took us to AREA 011, a long tunnel. Along 
  169. the top of the tunnel are three laser-shooting pyramids, the first 
  170. of which is PYRAMID 011. This pyramid has the following conditions:
  171.  
  172. IF SHOT?             if the pyramid is shot
  173. THEN INVIS (11)      then make it (i.e. object 11) invisible
  174. SOUND (1)            adds a sound effect
  175. ADDVAR (50,V34)      adds 50 to the score
  176. ENDIF                ends the IF/THEN statement
  177.  
  178.  
  179. Once we get past the shooting pyramids then at the end of the 
  180. tunnel we see another door, QUAD 004. Once again this has a simple 
  181. condition to take us to another area:
  182.  
  183. IF COLLIDED?         if we collide with QUAD 004
  184. THEN GOTO (1,3)      then go to area 3
  185.  
  186.  
  187. We are now in AREA 003, the cliffs scene. Under the palm tree is a 
  188. block of gold PYRAMID 058. This has the following conditions, and 
  189. shows how to control your inventory:
  190.  
  191. IF ACTIVATED?
  192. THEN PRINT ("YOU FIND A GOLD BAR")
  193. SOUND (4)
  194. SETVAR (15,V35)     Primes the message clear counter 
  195. ADDVAR (1,V33)      adds 1 to number of gold found (instrument3)
  196. ADDVAR (300,V34)    adds 300 to the score
  197. INVIS (58)          makes the object invisible as we have picked 
  198.                     it up
  199.  
  200.  
  201. After exploring the cliffs we find a small boat floating on the 
  202. sea. If we walk onto the boat (object 051) a new condition is 
  203. activated:
  204.  
  205. IF COLLIDED?
  206. THEN SETVAR (1,V250)
  207. SETVAR (0,V249)
  208. ENDIF
  209.  
  210.  
  211. Variable 250 is used later on the check if the player is on the 
  212. boat, 1 is yes, 2 is no. In addition V249 is set to 1 the player is 
  213. in the water or to 0 if not.
  214.  
  215. The engine on the boat is PYRAMID 055. Activating this executes 
  216. object 041. Object 041 is actually always invisible, it has just 
  217. been used to store a set of conditions that actually get the boat 
  218. moving:
  219.  
  220. IF ACTIVATED?
  221. THEN IF VAR=? (V250,1)    this is asking if player is on the boat
  222. PRINT ("YOU START THE OUTBOARD MOTOR")
  223. DELAY (25)
  224. SETVAR (25,V35)
  225. IF VAR<?(V0,3500)         checks player's position in relations to 
  226. cliffs
  227. THEN START ANIM (2)       starts animation 2 (see below)
  228. INVIS (56)
  229. VIS (38)
  230. ELSE INVIS (38)
  231. VIS (56)
  232. START ANIM (4)            starts animation 4 (see below)
  233. ENDIF 
  234. ENDIF
  235. ENDIF
  236.  
  237.  
  238. Animation 2 moves the boat to the lighthouse and runs as follows:
  239.  
  240. INCLUDE (38)
  241. START
  242. VIS (57)
  243. INVIS (50)          invisible block that detects if the player is 
  244.                     off the boat
  245. SETVAR (V0,V252)    copy the view point, X, Y, Z coordinates 
  246. into....
  247. SETVAR (V1,253)     V252, V253, V254
  248. SETVAR (V2,254)
  249. MOVETO (825,41,1880)     make sure the boat is at starting position
  250. END                      render the frame image
  251. LOOP{ (154)
  252. ADDVAR (31,V252)    Add 31 to the stored X coordinates
  253. ADVDVAR (30,V254)   Add 30 to the stored Y coordinates
  254. SETVAR (V354,V1)    and update viewpoint position. This effectively
  255. SETVAR (V254,V2)    stops the player from walking off the moving 
  256. boat
  257. MOVE (31,0,36)      move boat along with viewpoint
  258. AGAIN               repeat loop
  259. INVIS (57)          make the hidden bar of gold invisible
  260. STOPANIM (2)        ends the voyage
  261. RESTART
  262.  
  263. The bar of gold is made invisible since you can only pick it up 
  264. while on the boat.
  265.  
  266.  
  267. Animation 4 is the opposite of Animation 2:
  268.  
  269. INCLUDE (56)
  270. START
  271. VIS (57)
  272. SETVAR (V0,V252)
  273. SETVAR (V1,V253)
  274. SETVAR (V2,V254)
  275. MOVETO (5599,41,6500)
  276. END
  277. LOOP(154)
  278. SUBVAR (31,V252)
  279. MOVETO (5599,41,6500)
  280. END
  281. LOOP (154)
  282. SUBVAR (31,V252)
  283. SUBVAR (30,V254)
  284. SETVAR (V252,VO)
  285. SETVAR (V253,V1)
  286. SETVAR (V254,V2)
  287. MOVE (-31,0,-30)
  288. AGAIN
  289. VIS (50)          make visible the block the that detects if player
  290. INVIS (57)        wants to climb because the boat has stopped 
  291. STOPANIM (4)      moving
  292. RESTART
  293.  
  294.  
  295.  
  296. GAME VARIABLES
  297. --------------
  298. The following is a list of all the game variables:
  299.  
  300. V11   Energy, i.e. number of times the player has been shot
  301.  
  302. V33   The number of gold bars collected
  303.  
  304. V34   Score, 0 -99995
  305.  
  306. V35   Text Timer for general condition. If it equals 1, then clear 
  307.       the text window
  308.  
  309. V38   Cash and Grab counter (frames)
  310.  
  311. V39   Cash and Grab counter
  312.  
  313. V40   Game State - 0 playing
  314.          1 - Lose (Time out)
  315.          2 - Lose (Energy out)
  316.          3 - Lose (Fell too far)
  317.          4 - Lose (Drowned)
  318.          5 - Win
  319.          6 - End game sequence
  320.  
  321. V42   Rope Carried? 0 = No, 1 = Yes
  322.  
  323. V44   Key Carried? 0= No, 1 = Yes
  324.  
  325. V45   Exit Pass Carried? 0 = No, 1 =Yes
  326.  
  327. V50   Loop Variable (for general use)
  328.  
  329. V51   Frames spent in the sea. If =50 then blackout and go to the 
  330.       desert island. if >75 then drown.
  331.  
  332. V53   X Coordinate at the Beachhead when going to the desert 
  333.       island.
  334.  
  335. V54   Inventory list indicator   0 - Not showing
  336.             1 - First object
  337.             2 - Second object, etc.
  338.  
  339. V55   Object carried counter for inventory list
  340.  
  341. V56   Inventory Request      
  342.             0- Not requested
  343.             1 - Requested
  344.             2 - Currently showing
  345.  
  346. V57   In Sea (Desert Island) 0 = No, 1 = Yes
  347.  
  348. V58   Number of frames spent in the sea
  349.  
  350. V61   Giant Nose Shot? 0 = NO, 1 = Yes
  351.  
  352. V247  Speed Trap - 0 = Off, 1 = On
  353.  
  354. V248  Cheat On? 0 = No, 1 = Yes
  355.  
  356. V249  Used to check whether the player is in the sea or not, 
  357.       0 = No, 1 = Yes
  358.  
  359. V252  X Viewpoint position, used for locking out movement 
  360.       when animating the viewpoint in Area 003. Same for
  361.       V253 and V254
  362.  
  363. V253  Y Viewpoint position
  364.  
  365. V254  Z Viewpoint position
  366.  
  367.  
  368.  
  369. *** END ***
  370.  
  371.