home *** CD-ROM | disk | FTP | other *** search
/ Amiga Power / AmigaPower26.zip / AP26.adf / Blitz2.about < prev    next >
Text File  |  1993-04-20  |  9KB  |  282 lines

  1. \INTRODUCTION
  2.  
  3.                          ABOUT BLITZ BASIC 2
  4.  
  5.  
  6.  
  7. Blitz BASIC 2 is a BASIC compiler for the Amiga computer from Acid Software a
  8. New Zealand company dedicated to producing top quality software for the Amiga
  9. user.
  10.  
  11. Blitz 2 comprises of a fully integrated editor/compiler environment providing
  12. a serious, productive environment for the Amiga programmer.
  13.  
  14.  
  15.  
  16. *** BLITZ MODE ***
  17.  
  18.  
  19. For the games programmer Blitz 2 offers a unique environment known as Blitz
  20. mode. Closing down the operating system and replacing it with
  21.  
  22. - a kernal of super fast graphics
  23.  
  24. - specialised sound commands
  25.  
  26. - dedicated IO library
  27.  
  28. - precise display control
  29.  
  30. No longer does the Amiga programmer need to immerse themselves in assembler
  31. and complex hardware manipulation to produce fast, professional games.
  32.  
  33.  
  34.  
  35. *** AMIGA MODE ***
  36.  
  37.  
  38. For the applications developer Blitz 2 offers complete control of the Amiga's
  39. multitasking, window based operating system. A comprehensive set of Workbench
  40. 2.0 compatible commands allow full control of
  41.  
  42. - screens
  43.  
  44. - windows
  45.  
  46. - menus
  47.  
  48. - gadgets
  49.  
  50. - intuitext
  51.  
  52. - IDCMP reports
  53.  
  54. An Intuition planner allows the creation of complex user interfaces quickly
  55. and easily generating Blitz 2 source code that can be inserted straight
  56. into Blitz 2 programs.
  57.  
  58.  
  59. \PROGRAMMING FEATURES
  60.  
  61.                       *** PROGRAMMING FEATURES ***
  62.  
  63.  
  64.  
  65. Types and NewTypes
  66. ------------------
  67.  
  68. Blitz 2 supports the following numeric types:
  69.  
  70.   quick (fixed point)
  71.   byte, word, long (integer)
  72.   and fast floating point
  73.  
  74. String handling is extensively supported.
  75.  
  76. NewTypes can be defined (similar to C structures) allowing the BASIC
  77. programmer to dramatically simplify their code. Arrays of NewTypes not
  78. only dramatically reduces the number of arrays but speeds up the code.
  79.  
  80. NewTypes also allow Blitz programmers lower level access to the operating
  81. system with all the structures used available as include files or resident
  82. in the Blitz 2 environment.
  83.  
  84.  
  85.  
  86. Linked Lists
  87. ------------
  88.  
  89. As well as multi dimensional arrays Blitz 2 supports Linked-Lists. These
  90. are single dimension arrays with a powerful command set providing
  91. much greater control of the elements in the array. Elements can be
  92. added, inserted and deleted to lists, sorting order can be retained,
  93. processing of elements is simpler and quicker and code is not only easier
  94. to read but performance is increased.
  95.  
  96.  
  97.  
  98. Extended BASIC program flow commands
  99. ------------------------------------
  100.  
  101. The following programming structures are supported in Blitz 2:
  102.  
  103. For..Next
  104. While..Wend
  105. Repeat..Until
  106. Block If/Then/Else
  107. Select..Case..Default..EndSelect
  108. On..Goto & On..Gosub
  109. Statements and Functions with shared/global variable support.
  110. Multi levelled Interrupts
  111.  
  112. and so on and so on.....
  113.  
  114.  
  115.  
  116. \LIBRARIES
  117.  
  118.                                 Libraries
  119.                                 ---------
  120.  
  121. Blitz 2 features a serious command library system that enables expansion
  122. of the command set by the experienced machine code programmer. Utilities
  123. to convert standard Amiga libraries and their .fd files to Blitz libraries
  124. means that libraries such as midi.library, turtle.library and of course
  125. all the external hardware support type libraries can be converted to Blitz 2
  126. commands in a flash.
  127.  
  128. Documentation is included for the user to develop their own libraries.
  129. Global variables from Blitz are available to commands added as well as
  130. full access to structures and all other commands. Memory control is all
  131. looked after by Blitz which will free up resources etc for the programmer.
  132.  
  133. The first Blitz newsletter includes source for several new libraries,
  134. including a high speed serial port driver as well as commands to drive
  135. the Amiga's speech device.
  136.  
  137.  
  138.  
  139. \AND MORE
  140.  
  141. InLine Assembler
  142. ----------------
  143.  
  144. The Blitz 2 compiler also includes an inline assembler as well as commands
  145. to communicate between 68000 registers and BASIC variables etc. The assembler
  146. can also be used as a standalone machine code environment.
  147.  
  148.  
  149.  
  150. Blitting
  151. --------
  152.  
  153.  
  154. Blitz 2 supports various modes of driving the Amiga's high speed Blitter
  155. chip:
  156.  
  157. Blit will transfer a graphics image onto a bitmap
  158.  
  159. SBlit will use a 1 of 7 stencil bitmaps for 8 levels of Blitting priority
  160.  
  161. BBlit will buffer the background in memory so it may be restored afterward
  162.  
  163. QBlit keeps all blit information in a 'Queue' so all blits can be quickly
  164.       erased
  165.  
  166. Block is for map type blitting, super fast word boundary blitting.
  167.  
  168.  
  169.  
  170. IFF support
  171. -----------
  172.  
  173. Blitz 2 supports both IFF graphics and sound standards so files can be loaded
  174. straight without need of conversion.
  175.  
  176.  
  177.  
  178. File Access
  179. -----------
  180.  
  181. Sequential and Random access file handling are supported.
  182.  
  183.  
  184.  
  185.  
  186.  
  187. AND THERE'S MORE.................
  188.  
  189.  
  190. For more information contact
  191.  
  192. Acid Software
  193. 10 St Kevins Arcade
  194. Karangahape Road
  195. Auckland
  196. New Zealand
  197.  
  198. Fax   64 (nz) 9-358-1658
  199.  
  200.  
  201. \DEFENDER
  202.  
  203.                               **************
  204.                               *            *
  205.                               *  DEFENDER  *
  206.                               *            *
  207.                               **************
  208.  
  209.  
  210.   Welcome to yet another Amiga version of Defender. With this version, I have
  211. attempted to faithfully recreate the original Williams/Eugene Jarvis
  212. masterpiece. Sorry ARC, but your attempt just didn't do it for me!
  213.  
  214.   Both Defender and it's excellent successor Stargate have long been
  215. favourites of mine, and I think today's game designers could learn a lot
  216. more from having a close look at what made those games so enjoyable
  217. instead of spending time on new but ultimately pointless graphic effects.
  218.   In fact, it could be argued that the power of today's computer hardware
  219. is forcing programmers and designers away from basic game design, and into
  220. a special effects contest.
  221.   However, with the advent of shareware, things may very well be looking up.
  222.   I fully support the idea of shareware, and strongly urge all other
  223. programmers and consumers to also offer their support. If you play a decent
  224. shareware game, THEN SEND THE DUDE SOME BUCKS!
  225.  
  226.   Anyway, onto the technical side of things...
  227.  
  228.   To get the game to run so smoothly, I have used an interupt driven
  229. animation routine dedicated solely to moving the player, aliens and
  230. explosions. All decision making, collision detection etc is made outside
  231. of this interupt routine, by a 'background task'. This set up means that
  232. all animation is maintained at a 50 frames a second rate, while the
  233. background task simply goes as fast as it can. This does introduce the
  234. possibillity of an alien being moved more often than checked, but in my
  235. opinion, this a good compromise for a game of this type. What do you think?
  236.  
  237.   All elements of the game (aliens, lasers, explosions etc) are kept in
  238. Blitz 2 'list' arrays, making adding or deleting elements very easy. However,
  239. due to the interupt routine, care must be taken by the background task when
  240. it wants to add a new element. Since an interupt may occur at any time, the
  241. possibility of an interupt occuring when an alien is only 'half' initialized
  242. arises. To avoid this, the 'alloff' and 'allon' subroutines allow the
  243. background task to disable interupts breifly, add and fully initialize a
  244. game element, and then re-enable interupts. If an interupt was to occur
  245. during initialization, the interupt will instead occur when interupts are
  246. re-enabled.
  247.  
  248.   Please note that the 'alloff' and 'allon' subroutines in Defender only
  249. disable and enable the vertical blank interupt.
  250.  
  251.   Defender also includes many display tricks available due to Blitz 2's
  252. 'Blitz' mode, which allows such effects as the smooth scrolling mountains
  253. and the double buffering.
  254.  
  255.   The mountains on the scanner were produced using dualplayfield mode. The
  256. score and scanner blips are drawn onto the front playfield, while the back
  257. playfield is smoothly moved back and forth with the mountains drawn on it.
  258. Since colour 0 on a front playfield allows the back playfield to show
  259. through, I have set colour 7 to black, filled in the front playfield with
  260. colour 7, and punched out a colour 0 'hole' to allow the mountains to show
  261. through in their correct position.
  262.  
  263.   The main game also uses dualplayfield mode, with the stars and mountains
  264. drawn onto the back playfield, and the aliens, lasers and explosions
  265. drawn onto the front playfield. This allows the use of the super quick
  266. 'UnQueue' command for erasing the front playfield graphics without
  267. disrupting any back playfield graphics.
  268.  
  269.  
  270.   Oh, by the way, the keyboard controls for Defender are:
  271.  
  272.   A           -> Up
  273.   Z           -> Down
  274.   SPACE BAR   -> Reverse
  275.   /           -> thrust
  276.   RIGHT SHIFT -> fire
  277.   RETURN      -> smart bomb (also for joystick mode)
  278.  
  279.  
  280.   Have fun,
  281.            Mark Sibly
  282.