home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer 2000 January / CD-Gamer_2000-01_04_cd.bin / shware / balls / balls101.exe / makemape.txt < prev    next >
Text File  |  1999-08-25  |  13KB  |  337 lines

  1. 3D-engine v4.0   -   I've got some BALLS v1.0
  2. (C) Sebastian Aaltonen 1999    (SHATTERSTORM)
  3. ---------------------------------------------
  4.  
  5. This document discusses about making a level.
  6.  
  7.  
  8. --BACKGROUND--------------------------------------------------------------------
  9.  
  10. I've got some BALLS' levels are made from 3d-models, which are
  11. made from polygons. To make your own levels you'll need a program
  12. which can make 3-dimensional polygonmodels.
  13.  
  14. BALLS' 3d-engine uses it's own file format (.3DO). With the 
  15. converter delivered with the game (MAKEMAP.EXE) you convert levels
  16. you have made with your 3d-modeller to format that engine uses.
  17.  
  18. At this moment there is only a converter for propably the most
  19. common 3d-modeller, 3D Studio. The converter has been designed for
  20. 3DSMAX versions 1/2/2.5 but it may work with others as well. The
  21. converter uses 3DSMAX's ASE-asciiformat.
  22.  
  23. If you own some other 3D-modeller which saves to it's own ascii-
  24. format, could you send few example modelfiles so that I could make a
  25. converter for that program also.
  26.  
  27. If your 3d-modeller can save to commonly used .3DS-format, then
  28. you can make your own levels but you'll have to send those 
  29. levels to me first so I can convert them to appropriate format.
  30.  
  31.  
  32. -- 1. From here it all begins --------------------------------------------------
  33.  
  34. This instructions about making a level have been designed for 3D Studio MAX.
  35. If you want to make levels with other programs you'll have to wait for new
  36. converters to come out or you'll have to send your level to me in .3DS-format:
  37.  
  38. NOTICE!
  39. 3D-Studio MAX can not load RLE-packed BMP-pictures so you'll have to convert
  40. them to normal BMP-pictures. For this purpose one of the best programs is
  41. Paint Shop Pro (shareware). You can load the pictures one at the time and save
  42. them to normal BMP-files or you can use batch-conversion tool. If you don't
  43. change your pictures 3d Studio says "FILE NOT FOUND" when you open the picture
  44. and it won't show it. In practice you may use 3d Studio with RLE-packed pictures
  45. but you won't see them when you are making the level. The game can use both file
  46. formats.
  47.  
  48. I assume that you already know the basis for 3d Studio MAX and I won't teach
  49. them in this part.
  50.  
  51. When you are making a level you should use as simple objects as possible and
  52. polygon count should be in a completed level about 1000, of course that 
  53. depends from the size of the level. If your level is much larger than normal
  54. you may use more polygons. (2000++)
  55.  
  56. You can see the levels Polygon/vertex count from menu:
  57. FILE -> SUMMARY INFO.
  58. You'll see polygon count from "Mech totals - Faces".
  59.  
  60. NOTICE!
  61. There can't be more than 2000 polygons or vertexs in a SINGLE object.
  62.  
  63. You'll get started easiest by editing "map.max" example level...
  64.  
  65.  
  66. -- 2. Materials ----------------------------------------------------------------
  67.  
  68. When you have made few objects to your level you'll propably want to see how
  69. does your level looks like with textures.
  70.  
  71. From menu TOOLS -> MATERIAL EDITOR you'll get into the material editor where
  72. all materials are made.
  73.  
  74. Making a new material:
  75. 1. Choose an empty material (ready).
  76. 2. Change "Ambient" to completely black (from basic parameters)
  77. 3. Change "Diffuse" to completely white
  78. 4. Click MAPS and choose diffuse (click on NONE)
  79. 5. Choose "Bitmap" (in a sidemenu New/All) and press OK
  80. 6. Click "Bitmap parameters - Bitmap"
  81. 7. Go to the directory where BALLS is and choose a texture (BMP).
  82.    (with "View..." button you may watch textures) and then press OK.
  83. 8. Put "Show map in viewport" on. (that cubebutton on the controlbar)
  84. 9. Assign your material to your level (third button on the controlbar)
  85.  
  86. Special things for materials
  87. ----------------------------
  88. Glow:
  89. "BASIC PARAMETERS - AMBIENT"
  90. If you'll change ambient color from black to something else the 
  91. object will glow that color in the game even if it wasn't in a light.
  92.  
  93. Object's color:
  94. "BASIC PARAMETERS - DIFFUSE"
  95. If you'll chage diffuse color from white something else then object
  96. will be colored with that color. Fully black objects won't take effect
  97. from lights.
  98.  
  99. 2-sided    
  100. "BASIC PARAMETERS - 2-SIDED"
  101. You may make 2-sided objects when you choose this. Two sided objects
  102. every polygon will be drawn from both sides but colliding rutines will
  103. work only from the other side so avoid these.
  104.  
  105. Alpha Blending: (transparency)
  106. "EXTENDED PARAMETERS - OPACITY - TYPE"
  107. "Filter" means that the object isn't transparent.
  108. With "additive" you'll get transparency which brightens the color.
  109. With "subtractive" you'll get transparency which darkens the color.
  110.  
  111.  
  112. -- 3. Lights -------------------------------------------------------------------
  113.  
  114. Without lights you won't see anything in the game so you'll have to use
  115. them.
  116.  
  117. Basic light:
  118. 1. Create - Lights - Omni
  119. 2. Adjust the color from the color button
  120. 3. Adjust the size from the "shadow parameters - size"
  121.    Size 10000 means primary light which reaches everywhere and it won't fade.
  122. 4. Adjust the size of the glow from "shadow parameters - raytracebias"
  123.    0.2 = normal size, 0 = no glow, 1 = 5X size etc...
  124. 5. Place your light to proper place
  125.  
  126.  
  127. Moving light:  (read the "Special Objects" part)
  128. "MOV=XXYY","SPD=?"
  129. The point will move along certain path. The path is made with POINTS. Two
  130. first numbers (MOV=XXYY) means the number of path and the rest two means
  131. first routepoint where the point will go.
  132. SPD defines the speed of the moving light.
  133. For example:
  134. MOV=0301_SPD=5    - The point will move along path 3 and it's speed is 5.
  135.  
  136.  
  137. -- 4. Special objects ----------------------------------------------------------
  138.  
  139. In BALLS there are few special object types which you'll have to use. All
  140. special types are written to objects NAME and they are separated from each
  141. other with _ -mark.
  142.  
  143. Rotating object:
  144. "ROX=?","ROY=?","ROZ=?"
  145. Object rotates in different rotating planes and rotating speeds.
  146. for example ROX=5  - object will rotate along x-plane in a speed of 5.
  147.             ROZ=-3 - object will rotate backwards along z-plane in a speed
  148.                      of 3.
  149.  
  150. Speed increasing object (trampolines and speedarrows etc...):
  151. "ADS=XXYYZZ"   (fast speed)
  152. "ADs=XXYYZZ"   (10 x slower speed)
  153. Gives speed for the ball to a certain direction.
  154. XX is speed.
  155. YY is angle (vertical), so that: 00= < 20= \/ 40= > 60= /\  (values 0-79)  
  156. ZZ is angle (horizontal), so that: 00=DOWN 40=HORIZONTAL 80=UP  (values 0-80)  
  157. For example:
  158. ADS=100080 - Object gives speed to the ball sraight upward        
  159.  
  160. Penetratable object:
  161. "NOCOL"
  162. The ball will go through these objects like they did'nt exist. NOCOL objects won't
  163. affect balls behaviour in any way.
  164.  
  165. Special object: (don't use with NOCOL. Only 1 for each object)
  166. "SP?"
  167. A special ability of object, like:
  168. SP2  -  Gate, which turns the ball to normal.
  169. SP3  -  Gate, which turns the ball to red.
  170. SP4  -  Gate, which turns the ball to yellow.
  171. SP5  -  Gate, which turns the ball to blue.
  172. SP6  -  Gate, which turns the ball to green.
  173.  
  174. Moving object:
  175. "MOV=XXYY","SPD=?"
  176. The object will move along a certain path. The path is made with POINTS.
  177. Two of the first numbers (MOV=XXYY) means the path's number and the rest
  178. two means the routepoint where the object will first go.
  179. SPD - value gives the travelling speed to object.
  180. For example:
  181. MOV=0301_SPD=5  - Object will move along route 3 and it's speed is 5.
  182.  
  183.  
  184. -- 5. Points -------------------------------------------------------------------
  185.  
  186. Every special item, the starting place of the ball and routepoints are
  187. placed with POINT-object type. (CREATE - HELPERS - POINT)
  188.  
  189. The type of the points depends from their name:
  190. START      - The starting point of the ball
  191. DIA        - Collectable diamonds
  192. ROU=XXYY   - Routepoint:  XX=route's number, YY=the number of the point
  193. RWT=?      - Routepoint's waiting time (60 = 1 second)
  194.  
  195. for example
  196. ROU=0402_RWT=120  - Route 4's second routepoint. At that point the object
  197.                     will stop for two seconds.
  198.  
  199.  
  200. Moving point:  (read the specialobjects part)
  201. "MOV=XXYY","SPD=?"
  202. The point will move along a certain path. The path is made with POINTS.
  203. Two of the first numbers (MOV=XXYY) indicates the paths number and the
  204. rest of the two means the routepoint where the the point will first go.
  205. SPD defines the speed of the point.
  206. For example:
  207. MOV=0301_SPD=5   - The point moves along the route 3 and it's speed is 5.
  208.  
  209.  
  210. -- 6. Background ---------------------------------------------------------------
  211.  
  212. In the game's levels there is a background picture which is "rolled" in
  213. the background.
  214.  
  215. This is how you do a background:
  216. 1. First make a basic material where you'll load a BMP as a diffuse. (chapter 2)
  217. 2. From main menu click RENDERING - ENVIROMENT
  218. 3. Click "Enviroment map" box. (NONE)
  219. 4. Set BROWSE FROM "Mtrl editor" and choose background from the 
  220.    background's BMP menu. (there is a green box in front of it)
  221. 5. Choose INSTANCE from the next question. (and OK)
  222.  
  223.  
  224. -- 7. Optimizing ---------------------------------------------------------------
  225.  
  226. I mentioned about the maximum recommendation of 1000 polygons in the first
  227. part. Of course it might have happened that your level has exceeded this 
  228. limit. And even if it hadn't is optimizing always a good thing to do.
  229.  
  230. With "File - Summary info" you may check your level's polygon count. It can
  231. be seen from "Mesh totals - Faces".
  232.  
  233. Use "Modify - Optimize" to every object. You can adjust optimize's effect by
  234. increasing face/edge -thresh's value. The higher the value, the less details
  235. will be left after the optimize so it is wise to try different values to find
  236. the best possible alternative.
  237.  
  238. After the Optimize objects texture coordinates will go nuts so use "Modify -
  239. UVW-mapping" to every optimized object to return texture coordinates in place.
  240. "Box-mapping" is the best alternative in most cases.
  241.  
  242. You should use "EDIT MESH" to objects and with it delete faces which won't be
  243. seen in the game like bottom faces of the level.
  244.  
  245. NOTICE! Don't make route for ball by squeezing boxes to none but if you want
  246. thin levels then delete BOX's bottom and side faces with "EDIT MESH" and leave
  247. only the topface. (remember to use 2-sided texture)
  248.  
  249. NOTICE! The ball will bounce only from the other side of the faces even if 
  250. they were 2-sided textured. If you want to flip faces "working" side then 
  251. the change may be done with NORMAL-tool and selecting "FLIP NORMALS".
  252.  
  253.  
  254. -- 8. Saving in .ASE-format ----------------------------------------------------
  255.  
  256. The converter (MAKEMAP.EXE) can read only 3d-models in ASE-format (for now). 
  257. So you'll have to export your 3d-model to ASE-format.
  258.  
  259. (Remember always to save your level normally to MAX-format too, because
  260. 3d Studio can't load .ASEs...)
  261.  
  262.  
  263. This is how you do it:
  264. 1. File - Export
  265. 2. Choose ASE-format (Ascii Scene Export)
  266. 3. Go to BALLS' directory
  267. 4. Write your level's name and press OK
  268. 5. ASCII-export menu will pop up, mark (ONLY) the following:
  269.   - Mesh Definition
  270.   - Materials
  271.   - Mapping Coordinates
  272.   - Geometric
  273.   - Lights 
  274.   - Helpers
  275.   - Use keys
  276. 6. Press OK when you are ready.
  277.  
  278.  
  279. -- 9. MAKEMAP.EXE --------------------------------------------------------------
  280.  
  281. Open DOS-prompt and go to the BALLS directory.
  282. Ensure that the levele you made is in the directory (level.ase).
  283. Now you can convert your level with MAKEMAP so that 3d-engine can use it.
  284.  
  285. So write (in DOS):
  286. MAKEMAP level
  287.  
  288. for example
  289. MAKEMAP cybercity
  290.  
  291. Now there should come all kind of rubbish to screen for a while. Then
  292. copy your new level (level.3do) to maps-directory:
  293. COPY LEVEL.3DO MAPS
  294.  
  295. Now you may try your level with SINGLE-MAP -option from main menu. But
  296. read forward...
  297.  
  298.  
  299. -- 10. IT WON'T WORK!!!!! ------------------------------------------------------
  300.  
  301. It is possible that the game will crash when you'll try to start your 
  302. level. There may be multiple reasons. Here are few of the most common
  303. which I've noticed in my friends' levels.
  304.  
  305. 1. Texture's filenames may be only 8 letters long. 
  306.    (because of the DOS-converters)
  307.  
  308. 2. Textures must be in BMP-format, they must be box shaped and their
  309.    width and height must be in 2nd potency
  310.    for example 256x256, 128x128, 64x64, 32x32, 16x16... The maximum size of textures
  311.    is 256x256...
  312.     (these limitations are due the limitations of some 3d-cards but because
  313.      the game must work on as many 3d-cards as possible these limitations must
  314.      be followed)
  315.  
  316. 3. If your texture directory (=BALLS) is in a such place that in it's
  317.    directory is long filenames there may be some problems because of the
  318.    DOS-converters.
  319.  
  320. 4. Some of your objects may have more than 2000 polygons or vertexes -> use
  321.    optimize.
  322.  
  323. 5. There must be a START-place and at least one diamond in the level (DIA).
  324.  
  325. 6. Check if you use old-version of the MAKEMAP.EXE (or BALLS.EXE). Only use
  326.    MAKEMAP.EXE with the BALLS.EXE of the same version number. 
  327.  
  328. ... If you can't get started, then look "map.max" example level...
  329.  
  330.  
  331. --------------------------------------------------------------------------------
  332. EMail me if you didn't understand something, if something was wrongly explaned or
  333. if you didn't get your level working.
  334.  
  335. EMAIL: seaalton@hotmail.com
  336. WWW-SITE: www.kolumbus.fi/seppo.j.aaltonen/shatter
  337.