milestone2.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <meta content="text/html; charset=ISO-8859-1"
  5. http-equiv="content-type">
  6. <title>SuperTux - Milestone 2 Specifications</title>
  7. </head>
  8. <body>
  9. <div style="text-align: center;"><big>SuperTux Milestone 2</big><br>
  10. <br>
  11. <div style="text-align: left;"><span style="font-weight: bold;">Spoiler
  12. Warning:<br>
  13. </span><small style="font-weight: bold;">This document contains a very
  14. detailed description about SuperTux milestone 2, including every new
  15. feature, as well as the full story.</small><span
  16. style="font-weight: bold;"><small style="font-weight: bold;"> If you
  17. only want to play SuperTux and you are not interested in the
  18. development process, you should not read any further, as it will give
  19. away a lot of surprises; however, if you are involved in developing the
  20. game, reading this is a requirement.</small><br>
  21. </span></div>
  22. <div style="text-align: left;"><small><br>
  23. <br>
  24. Worldmap:<br>
  25. After finishing Antarctica by beating the worlds boss, a cutscene,
  26. replacing the currently displayed text, will be shown. (For a detailed
  27. description of cutscenes, see section "Story".) Tux will then advance
  28. to world 2, the forest island. Its worldmap will be built using the
  29. same, possibly enhanced, format that Antarctica uses. The worldmap will
  30. be designed as follows: The island consists of four sections. A light
  31. friendly looking forest where Tux starts his journey, a ghost forest
  32. section, and a transition between them; in the center of the island,
  33. surrounded by the ghost forest is the world's castle, called Dark
  34. Forest Keep. Levels will be spread throughout the whole island,
  35. distributed as follows: 50 per cent of the levels are inside the light
  36. section, 30 per cent inside the haunted section, with one or two levels
  37. inside the transition area. The remaining 20 per cent will take place
  38. inside the castle.</small><small><br>
  39. </small><small>Other than on the Antarctica worldmap, the levels should
  40. be placed on different paths, so that there is always a choice between
  41. at least two levels. Exceptions to this (i.e. levels with no
  42. alternative to choose from) are<br>
  43. a) the first level,<br>
  44. b) levels on one path that are in some way connected by story,<br>
  45. c) the (first) transition to the ghost forest section, and<br>
  46. d) the castle levels.<br>
  47. The primary goal of the forest world is to beat the boss at the final
  48. castle level. In order to get there, Tux needs to collect five keys
  49. scattered throughout the island which will open the door to the castle.
  50. Thus, the paths on the worldmap should lead into five dead-ends that
  51. hold the levels in which the key can be found. The path to the castle
  52. is accessible from after the first level. However, when Tux tries to
  53. enter the castle, he can't unlock the door without all five keys.<br>
  54. </small><small><br>
  55. <br>
  56. Levels:<br>
  57. Unlike Antarctica, forest levels can have variable sizes, both
  58. horizontally and vertically. In addition to that, levels can have a
  59. number of different sectors of variable size, connected by doors,
  60. portals, script events and spawn points. Due to this variability, there
  61. is no recommended level size anymore; the "perfect size" of a level
  62. solely depends on its design.<br>
  63. The three different themes on forest world -light forest, ghost forest
  64. and castle- are each represented by a matching tileset. All forest
  65. levels use one of these tilesets; a general rule should be not to mix
  66. them.<br>
  67. Levels in the transition area between light and ghost forest, however,
  68. follow a different design: Those levels will have a light sector and a
  69. very similar looking ghost forest sector. Throughout the level, Tux will
  70. need to travel between the sectors to solve puzzles and find his way
  71. through the level. Transition between the worlds can happen by either<br>
  72. a) actively walking through a portal,<br>
  73. b) being beamed into the other world without warning, using invisible
  74. triggers, or<br>
  75. c) being caught by special badguys that have the ability to carry you
  76. over to the other world.<br>
  77. </small><small>Levels have the ability to autoscroll in all four
  78. directions. There is no fixed ending sequence like in Antarctica
  79. anymore; level designers can use scripts to determine the ending
  80. conditions of a level. These can include picking up an object, killing
  81. a certain enemy or reaching a certain area.<br>
  82. </small><small>For more general information on level design, read the
  83. file "levelguidelines.txt" in the docs directory of the SuperTux
  84. repository.<br>
  85. Level events can be automated using scripts in order to create in-game
  86. cutscenes.<br>
  87. <br>
  88. <br>
  89. Scripting:<br>
  90. Milestone 2 will feature a scripting system that can be used to
  91. customize events and objects inside a level. </small><small>Any level
  92. object and badguy can trigger a script; the language used for them is
  93. Squirrel. </small><small>Scripts are embedded in a level object
  94. definition inside the level file, macros can be defined in external
  95. .nut files. </small><small><br>
  96. </small><small>They can be used for the following actions:<br>
  97. &nbsp;&nbsp;&nbsp; -Create cutscenes<br>
  98. &nbsp;&nbsp;&nbsp; -Customize level objects and powerups<br>
  99. &nbsp;&nbsp;&nbsp; -Transform a level<br>
  100. &nbsp;&nbsp;&nbsp; -Manipulate levels by adding or removing objects and
  101. badguys<br>
  102. &nbsp;&nbsp;&nbsp; -Finish a level<br>
  103. </small><small><br>
  104. <br>
  105. </small><small>Powerups:<br>
  106. In Milestone 2 in general, the favored way of enhancing Tux'
  107. abilities will be through level objects that temporarily grant Tux
  108. special abilities (see Level Objects section for more details), rather
  109. than permanent powerups like fire and ice shots. Those will still be
  110. there, but they'll remain relatively weak, so they don't get in the way
  111. of level design. An ice shot will be implemented, the fire shot's
  112. behavior will be improved [need more detail here]. The fire shot gets
  113. a new ability to burn through specific tiles to reveal paths. These
  114. paths, however, should contain only bonus items like coins; it must be
  115. possible to finish a level without needing the fire powerup.<br>
  116. &nbsp;&nbsp;&nbsp; -Ice shot<br>
  117. &nbsp;&nbsp;&nbsp; -Fire melts ice, ice freezes water<br>
  118. &nbsp;&nbsp;&nbsp; -Super Buttjump (timed)<br>
  119. General idea: More level objects than powerups, they can be placed
  120. where they are needed.<br>
  121. Powers like fire must not get in the way of level design<br>
  122. </small><small><br>
  123. <br>
  124. </small><small>Permanent Abilities:<br>
  125. &nbsp;&nbsp;&nbsp; -Flapping<br>
  126. &nbsp;&nbsp;&nbsp; -Butt Jump (permanent for big tux)<br>
  127. Always big Tux in forest world?<br>
  128. <br>
  129. <br>
  130. </small><small>Level Objects:<br>
  131. &nbsp;&nbsp;&nbsp; -Coin - collect 100 coins to get an extra life.<br>
  132. &nbsp;&nbsp;&nbsp; -Bonus Block - contains powerups.<br>
  133. </small><small>&nbsp;&nbsp;&nbsp; -Message Box - a special bonus block
  134. that contains a message. Implemented as telephones.</small><br>
  135. <small>&nbsp;&nbsp;&nbsp; -Ambient Sound - plays a looping sound effect
  136. inside the defined range.<br>
  137. &nbsp;&nbsp;&nbsp; -Timer - adds a time limit to a level.<br>
  138. &nbsp;&nbsp;&nbsp; -Particle System - adds background visual effects
  139. like clouds, snow, and rain.<br>
  140. </small><small>&nbsp;&nbsp;&nbsp; -Door - respawns Tux at a defined
  141. spawn point when activated.<br>
  142. </small><small>&nbsp;&nbsp;&nbsp; -Spawn Point - defines the place
  143. where Tux appears after walking through a door.<br>
  144. </small><small>&nbsp;&nbsp;&nbsp; -Bell - When touched, Tux respawns at
  145. the bell after dying.</small><br>
  146. <small>&nbsp;&nbsp;&nbsp; -Trampoline - Tux can jump on them for a very
  147. high jump; can be carried around.<br>
  148. &nbsp;&nbsp;&nbsp; -Falling Block - solid block that falls down shortly
  149. after being touched.<br>
  150. &nbsp;&nbsp;&nbsp; -Powerup - an object that represents a powerup, such
  151. as egg, flower, star, extra life, or potion.<br>
  152. &nbsp;&nbsp;&nbsp; -Message Trigger - display a message as soon as Tux
  153. enters their range. Used to mark secret areas.<br>
  154. &nbsp;&nbsp;&nbsp; -Sequence Trigger - executes a script on contact.<br>
  155. &nbsp;&nbsp;&nbsp; -Moving Platform - [still needs to be defined.]<br>
  156. &nbsp;&nbsp;&nbsp; -Camera Blocker - prevents the camera from scrolling
  157. into a specific direction. Instantly kill Tux on contact.<br>
  158. &nbsp;&nbsp;&nbsp; -Carryable Block - Blocks that can be carried around
  159. and stacked.<br>
  160. &nbsp;&nbsp;&nbsp; -Bubble Dispenser - Releases bubbles that Tux can
  161. use to travel upwards.<br>
  162. &nbsp;&nbsp;&nbsp; -Ice Cube/Straw Block - a block that can be
  163. destroyed by the fire shot. Appearance depends on the world it's used
  164. in.<br>
  165. <br>
  166. <br>
  167. Badguys:<br>
  168. &nbsp;&nbsp;&nbsp; Poison Ivy - Forest equivalent to Mr. Snowball.<br>
  169. &nbsp;&nbsp;&nbsp; Mr. Tree - Large badguy that walks around slowly.
  170. Needs to be jumped on twice.<br>
  171. &nbsp;&nbsp;&nbsp; Mr. Rocket - Shot out of a dispenser and flies
  172. straight into one direction. Explodes on collision.<br>
  173. &nbsp;&nbsp;&nbsp; Dispenser - Frequently shoots rockets or drops other
  174. badguys.<br>
  175. &nbsp;&nbsp;&nbsp; Zeekling - Flies around straight left or right, and
  176. straight towards Tux when he gets close.<br>
  177. &nbsp;&nbsp;&nbsp; other badguy ideas: bird creatures, moles, ghosts<br>
  178. <br>
  179. <br>
  180. Bosses:<br>
  181. &nbsp;&nbsp;&nbsp; Yeti<br>
  182. &nbsp;&nbsp;&nbsp; Forest Boss needed!</small><small><br>
  183. </small><br>
  184. <br>
  185. <small>Engine:<br>
  186. Apart from the code needed to create the game elements mentioned above,
  187. one goal is to make it easier to add custom content. Though it will not
  188. go as far as allowing total conversations of the game, it should be
  189. possible to easily change or add game content like graphics, levels and
  190. sounds without touching the code. This will be accomplished by using
  191. the PhysFS library for data handling, as well as adding functions to
  192. browse the data folders for custom levels, worldmaps and scripts. All
  193. game data, except music files, will be stored in a .zip archive located
  194. in the data directory. Additional data paths can be specified using
  195. command line options.<br>
  196. OpenGL only.<br>
  197. <br>
  198. <br>
  199. Graphics:<br>
  200. &nbsp;&nbsp;&nbsp; Tilesets:<br>
  201. &nbsp;&nbsp;&nbsp; Forest: light green and light brown, rain<br>
  202. &nbsp;&nbsp;&nbsp; Ghost Forest: dead trees, dark brown, dark green,
  203. dark grey, Fog, Ghosts<br>
  204. &nbsp;&nbsp;&nbsp; Castle: add dead flowers and plants on the walls<br>
  205. &nbsp;&nbsp;&nbsp; Tilable level backgrounds<br>
  206. &nbsp;&nbsp;&nbsp; Portals<br>
  207. &nbsp;&nbsp;&nbsp; no more pipes<br>
  208. <br>
  209. <br>
  210. Sound:<br>
  211. &nbsp;&nbsp;&nbsp; Ambient sounds<br>
  212. &nbsp;&nbsp;&nbsp; Sounds with added environment effects (echoes, etc.)<br>
  213. <br>
  214. <br>
  215. Music:<br>
  216. Musical themes will be added for the following events and environments:<br>
  217. a) Two themes for the light forest world<br>
  218. b) Two ghost forest themes<br>
  219. c) One castle theme<br>
  220. </small><small>d) Boss fight music<br>
  221. e) Game-Over music<br>
  222. </small><small>f) Credits theme</small><br>
  223. <small>There might be different Boss fight and game over themes for
  224. every world.<br>
  225. An enhanced version of the main theme will be used.<br>
  226. <br>
  227. <br>
  228. Story:<br>
  229. More focus on the story<br>
  230. Cutscenes at beginning and end of every world, maybe one interlude per
  231. world.<br>
  232. <br>
  233. <br>
  234. Level Editor:<br>
  235. The in-game editor will be replaced by the external editor Flexlay.
  236. With the release of milestone 2, Flexlay should support all newly added
  237. features like new level objects, new badguys, and scripting. Binary
  238. packages should be available for all platforms that run SuperTux.<br>
  239. </small></div>
  240. </div>
  241. </body>
  242. </html>