home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Power
/
AmigaPower26.zip
/
AP26.adf
/
Blitz2.about
< prev
next >
Wrap
Text File
|
1993-04-20
|
9KB
|
282 lines
\INTRODUCTION
ABOUT BLITZ BASIC 2
Blitz BASIC 2 is a BASIC compiler for the Amiga computer from Acid Software a
New Zealand company dedicated to producing top quality software for the Amiga
user.
Blitz 2 comprises of a fully integrated editor/compiler environment providing
a serious, productive environment for the Amiga programmer.
*** BLITZ MODE ***
For the games programmer Blitz 2 offers a unique environment known as Blitz
mode. Closing down the operating system and replacing it with
- a kernal of super fast graphics
- specialised sound commands
- dedicated IO library
- precise display control
No longer does the Amiga programmer need to immerse themselves in assembler
and complex hardware manipulation to produce fast, professional games.
*** AMIGA MODE ***
For the applications developer Blitz 2 offers complete control of the Amiga's
multitasking, window based operating system. A comprehensive set of Workbench
2.0 compatible commands allow full control of
- screens
- windows
- menus
- gadgets
- intuitext
- IDCMP reports
An Intuition planner allows the creation of complex user interfaces quickly
and easily generating Blitz 2 source code that can be inserted straight
into Blitz 2 programs.
\PROGRAMMING FEATURES
*** PROGRAMMING FEATURES ***
Types and NewTypes
------------------
Blitz 2 supports the following numeric types:
quick (fixed point)
byte, word, long (integer)
and fast floating point
String handling is extensively supported.
NewTypes can be defined (similar to C structures) allowing the BASIC
programmer to dramatically simplify their code. Arrays of NewTypes not
only dramatically reduces the number of arrays but speeds up the code.
NewTypes also allow Blitz programmers lower level access to the operating
system with all the structures used available as include files or resident
in the Blitz 2 environment.
Linked Lists
------------
As well as multi dimensional arrays Blitz 2 supports Linked-Lists. These
are single dimension arrays with a powerful command set providing
much greater control of the elements in the array. Elements can be
added, inserted and deleted to lists, sorting order can be retained,
processing of elements is simpler and quicker and code is not only easier
to read but performance is increased.
Extended BASIC program flow commands
------------------------------------
The following programming structures are supported in Blitz 2:
For..Next
While..Wend
Repeat..Until
Block If/Then/Else
Select..Case..Default..EndSelect
On..Goto & On..Gosub
Statements and Functions with shared/global variable support.
Multi levelled Interrupts
and so on and so on.....
\LIBRARIES
Libraries
---------
Blitz 2 features a serious command library system that enables expansion
of the command set by the experienced machine code programmer. Utilities
to convert standard Amiga libraries and their .fd files to Blitz libraries
means that libraries such as midi.library, turtle.library and of course
all the external hardware support type libraries can be converted to Blitz 2
commands in a flash.
Documentation is included for the user to develop their own libraries.
Global variables from Blitz are available to commands added as well as
full access to structures and all other commands. Memory control is all
looked after by Blitz which will free up resources etc for the programmer.
The first Blitz newsletter includes source for several new libraries,
including a high speed serial port driver as well as commands to drive
the Amiga's speech device.
\AND MORE
InLine Assembler
----------------
The Blitz 2 compiler also includes an inline assembler as well as commands
to communicate between 68000 registers and BASIC variables etc. The assembler
can also be used as a standalone machine code environment.
Blitting
--------
Blitz 2 supports various modes of driving the Amiga's high speed Blitter
chip:
Blit will transfer a graphics image onto a bitmap
SBlit will use a 1 of 7 stencil bitmaps for 8 levels of Blitting priority
BBlit will buffer the background in memory so it may be restored afterward
QBlit keeps all blit information in a 'Queue' so all blits can be quickly
erased
Block is for map type blitting, super fast word boundary blitting.
IFF support
-----------
Blitz 2 supports both IFF graphics and sound standards so files can be loaded
straight without need of conversion.
File Access
-----------
Sequential and Random access file handling are supported.
AND THERE'S MORE.................
For more information contact
Acid Software
10 St Kevins Arcade
Karangahape Road
Auckland
New Zealand
Fax 64 (nz) 9-358-1658
\DEFENDER
**************
* *
* DEFENDER *
* *
**************
Welcome to yet another Amiga version of Defender. With this version, I have
attempted to faithfully recreate the original Williams/Eugene Jarvis
masterpiece. Sorry ARC, but your attempt just didn't do it for me!
Both Defender and it's excellent successor Stargate have long been
favourites of mine, and I think today's game designers could learn a lot
more from having a close look at what made those games so enjoyable
instead of spending time on new but ultimately pointless graphic effects.
In fact, it could be argued that the power of today's computer hardware
is forcing programmers and designers away from basic game design, and into
a special effects contest.
However, with the advent of shareware, things may very well be looking up.
I fully support the idea of shareware, and strongly urge all other
programmers and consumers to also offer their support. If you play a decent
shareware game, THEN SEND THE DUDE SOME BUCKS!
Anyway, onto the technical side of things...
To get the game to run so smoothly, I have used an interupt driven
animation routine dedicated solely to moving the player, aliens and
explosions. All decision making, collision detection etc is made outside
of this interupt routine, by a 'background task'. This set up means that
all animation is maintained at a 50 frames a second rate, while the
background task simply goes as fast as it can. This does introduce the
possibillity of an alien being moved more often than checked, but in my
opinion, this a good compromise for a game of this type. What do you think?
All elements of the game (aliens, lasers, explosions etc) are kept in
Blitz 2 'list' arrays, making adding or deleting elements very easy. However,
due to the interupt routine, care must be taken by the background task when
it wants to add a new element. Since an interupt may occur at any time, the
possibility of an interupt occuring when an alien is only 'half' initialized
arises. To avoid this, the 'alloff' and 'allon' subroutines allow the
background task to disable interupts breifly, add and fully initialize a
game element, and then re-enable interupts. If an interupt was to occur
during initialization, the interupt will instead occur when interupts are
re-enabled.
Please note that the 'alloff' and 'allon' subroutines in Defender only
disable and enable the vertical blank interupt.
Defender also includes many display tricks available due to Blitz 2's
'Blitz' mode, which allows such effects as the smooth scrolling mountains
and the double buffering.
The mountains on the scanner were produced using dualplayfield mode. The
score and scanner blips are drawn onto the front playfield, while the back
playfield is smoothly moved back and forth with the mountains drawn on it.
Since colour 0 on a front playfield allows the back playfield to show
through, I have set colour 7 to black, filled in the front playfield with
colour 7, and punched out a colour 0 'hole' to allow the mountains to show
through in their correct position.
The main game also uses dualplayfield mode, with the stars and mountains
drawn onto the back playfield, and the aliens, lasers and explosions
drawn onto the front playfield. This allows the use of the super quick
'UnQueue' command for erasing the front playfield graphics without
disrupting any back playfield graphics.
Oh, by the way, the keyboard controls for Defender are:
A -> Up
Z -> Down
SPACE BAR -> Reverse
/ -> thrust
RIGHT SHIFT -> fire
RETURN -> smart bomb (also for joystick mode)
Have fun,
Mark Sibly