[Peter Peters' web site] [PvdH] [Home] [Top] [Index] CSS features best viewed with
Microsoft's Internet Explorer 3.02
or (still a bit buggy) Netscape 4.03
Made with CSS


KiteFlightuser's guide


This document was automatically generated from the hypertext on-line help system (ver 2.09) of a program called KiteFlight. This PC program, developed by Peter van den Hamer, is used by sports kite enthousiasts to visualize the motions of one or more dual-line stunt kites.

Last modified: 25-Jan-98 at 16:39.


..

Contents

Note that this HTML file is generated from KiteFlight's on-line documentation via a script and is thus structured as a single main file and only uses a subset of the HTML markup language. The file contains links to 14 images (kf_*.gif).

[Peter Peters' web site] [PvdH] [Home] [Top] [Index]


About KiteFlight

[Peter Peters' web site] [PvdH] [Home] [Top] [Index]


Getting started with KiteFlight

[Peter Peters' web site] [PvdH] [Home] [Top] [Index]


Advanced KiteFlight topics

[Peter Peters' web site] [PvdH] [Home] [Top] [Index]


What's KiteFlight?

KiteFlight is an MS-DOS program which can simulate the movements of dual-line stunt kites or stunt kite teams. The movements of the kites are controlled by control files written in a kite simulation language called KF1. KF1 control files have file names which end with the extension ".KF1".

For casual users, KiteFlight is thus the viewing program for .KF1 files (just like there are viewing programs for .GIF or .GL files). A large collection of 'official' compulsory figures are provided with KiteFlight. Several full-length routines written by well known-teams are also provided.

For the real enthusiasts, however, KiteFlight is also a tool with which to create your own routines and ballets. The "programming" of your own KF1 routine isn't all that hard to learn (no previous computer programming experience is needed). In one case, a class of 11 year olds in a Maryland suburb of Washington DC learned the basics of KF1 and created their first designs in less than 3 hours (and reportedly enjoyed themselves in the process; see KiteFlight in the Classroom).

KiteFlight was originally developed as a tool for the Dutch 6-person team The Dike Hoppers. This team uses KiteFlight as a tool to visualize, develop and learn their ballet and precision routines and to make hardcopies for taking home. In their experience, it is less work to develop, discuss and optimize a routine using KiteFlight than to make lots of sketches and series of paper diagrams.

KiteFlight is also suitable for expressing individual and team Compulsories. A typical compulsory is about 10-20 lines of KF1, can be automatically simulated, is unambiguous and can be transferred on floppy or via E-mail. Simo Salanne of Finland has created a library of the AKA/STACK/AJSKA compulsories which are distributed with KiteFlight and are also available on Internet.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [KF1] [Related programs] [The book] [Technical info] [Performance] [Reviews] [Weak points] [Updates] [Release history]


.

A brief sample session

This section provides step-by-step instructions for a simple sample session:

  1. Start KiteFlight. Press Escape to close the Program Info window.

  2. You should now be looking at an almost empty screen. Load a KF1 control file by first pressing Alt-L. Double click on the file entry KFDEMO.KF1 to select it for animation. Alternatively use the Tab and Arrow keys to move the cursor to the KFDEMO.KF1 entry and then press Return twice.

  3. The contents of the KF1 control file will now be shown in a window entitled KFDEMO.KF1. Press Alt-R to Run this file.

  4. The animation of this KF1 control file will last about 20 seconds. After the animation stops, press any key (or click a mouse button) to return to the menus.

  5. Press Alt-X when you want to leave the program. If a Dialog box is still open, you will normally have to close it by pressing Escape before you can exit the program.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index]


How to handle Windows

KiteFlight is controlled in a way which is similar to the way in which you use Microsoft Windows or other modern user interfaces. Although KiteFlight can be operated using only the keyboard, the use of a Mouse is recommended.

Most actions (like clicking on the on-screen buttons) should be fairly intuitive. Some less obvious shortcuts available for mouse users:

Close
Close a window by clicking on the [Box] in a window's top left corner. This is equivalent to clicking on Cancel or pressing Escape.

Resize
Windows are made larger or smaller by dragging their lower right-hand corner. Not all types of windows can be resized.

Zoom
Expand window to full size by clicking on the [^] in the window's top right corner. The window returns to its previous size by clicking on the [Double-Arrow] (same corner). Not all types of windows can be resized.

Move
Move window by dragging its title bar.

Find
If a window becomes covered by another window, you can use Tile (Alt-T) or Cascade to arrange the open windows in such a way that you can see them all.

Scroll
The contents of windows with scroll bars can be 'scrolled' horizontally and vertically by dragging the scroll bar's "Box", by clicking on the "^" or "Down-Triangle" or directly clicking on the scroll bar itself (page up/down).

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Zoom window] [Close window]


Dragging the mouse

In computer jargon, 'dragging' an object means that you position the mouse cursor on top of an object, push down the Mouse's left button without releasing it, and move the mouse. Dragging is used to move objects or to cause an object to change size.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Mouse] [Click]


Clicking the mouse

In computer jargon, 'clicking' on an object means that you position the mouse cursor on top of the object, and then briefly press the Mouse's left button. Clicking is typically used to select objects or to trigger commands.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Mouse] [Drag] [Double click]


Double clicking the mouse

In computer jargon, 'clicking' on an object means that you position the mouse cursor on top of the object, and then briefly press the Mouse's left button twice. It is important that the interval between both clicks be reasonably short (otherwise the computer interprets the event as two separate clicks). Double clicking is typically used to trigger major commands (e.g. opening a file).

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Mouse] [Click] [Drag]


.

Mice and Trackballs

Oh oh, a user has just clicked on something to find out what a mouse is...

Unlike the rest of humanity, computer users think that mice are rollable pointing devices with (usually 2 or 3) buttons on top. Rolling the mouse across your desk results in moving a mouse cursor on the screen. The use of a mouse for KiteFlight is optional, but recommended.

If you use a trackball rather than a mouse, don't worry. From a software perspective, a trackball is simply a mouse lying on its back. Mouse drivers are thus also suitable for trackballs.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Click] [Double click] [Drag] [WindowHandling]


The mouse cursor

The mouse cursor is the graphical device which moves on the screen when you roll the Mouse. Within KiteFlight, the mouse cursor looks like a white rectangle. The position of the mouse cursor on the screen has no direct consequence: the position is recorded and used by the computer when the mouse is clicked, double clicked or dragged.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Click] [Double click] [Drag] [WindowHandling]


.

Mr. Simo Salanne

Simo is STACK's national director for Finland. Although few people think of Finland as the heart of human civilisation, Simo managed to play a significant role in the KiteFlight saga. This is partly because Simo apparently knows everybody who is Somebody in kiting: to find out if a hotshot is really Somebody, ask if they own one of Simo's kite pins (blue thread hanging from the left wing tip).

Once you realize that Finland was actually created to serve as the Internet world's ftp and WWW archive, it will not come as a surprise that Simo is electronically well connected. Internet and a cellular phone allow Simo to reach out and rub shoulders with all the poor and famous in the kite flying community (electronically speaking - forget those Finnish saunas for a moment).

Simo's claims to a place on KiteFlight's Hall of Fame list include:

Simo is the only flier who has competed in every single European Cup. Since September 1995, Simo is also chairman of the STACK Rules and Regulations committee (STARRC) which is responsible for proposing changes to the rule book to the STACK International Executive Committee.

Simo can be reached on Internet at salanne@csc.fi.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [STACK] [Compulsories] [rec.kites]


..

AKA, AJSKA and STACK

The AKA, STACK and AJSKA are stunt kite associations for respectively North America, Europe and Japan. They publish rule books and organize competitions in which you can demonstrate that you understood the rule book. These rule books contain diagrams for basic figures known as the Compulsories or as compulsory figures. Simo Salanne has encoded these compulsories in the KF1 language.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Coordinate grid]


Compulsories

Compulsories are standard figures used in kite flying competitions. The list of compulsories has been standardized by the three stunt kite associations: the AKA, STACK and AJSKA.

The library of compulsories provided with KiteFlight was created by Mr. Simo Salanne of Finland based on the 3rd edition of the STACK Rule Book. The library has been recently extended with new compulsories based on the 1993 and 1994 World Cup and Euro Cup matches, as provided by Mr. Hans Jansen op de Haar.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Coordinate grid]


The KF1 language

KF1 is the name of a simple language used in KiteFlight to control kite flying routines. The language provides instructions with which to define the number of kites in a routine, their initial positions and colors, their flight paths as well as information about how the routine is decomposed into segments.

Flight paths are defined as sequences of straight lines and arcs. The original version of the KF1 language assumed that all kites fly at the same speed. This limitation was removed in KF1 2.0.

Note that, apart from KiteFlight itself, there are two other programs which support the KF1 language: XKF and PSKF, both developed by Mr. Lee Hetherington.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [KF1 syntax] [XKF] [PSKF] [grid]


Mr. Lee Hetherington

Lee Hetherington is a computer science graduate student (at MIT) who wrote a KF1-compatible kite simulator called XKF. XKF is quite similar to KiteFlight, but runs on UNIX workstations which support the X Window System. Curiously, Lee wrote XKF after reading only the KF1 documentation files: XKF become operational before Lee had ever seen KiteFlight run.

Lee also wrote a prototype program called PSKF which reads KF1 control files and generates a PostScript file for printing on PostScript printers. Persons interested in the source code (in C) of either program can contact Lee by E-mail at ilh@goldilocks.lcs.mit.edu (Internet address).

Note that recompiling XKF requires a fair amount of expertise with UNIX and 'X'. Expressed differently: if you don't know what is meant by UNIX, X or Internet, don't bother asking for XKF because it will not run on your computer.

Lee's claims to a place on KiteFlight's Hall of Fame list include:

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [XKF] [PSKF]


The XKF Program

XKF is a stunt kite routine animation program written by Lee Hetherington. XKF is compatible with KiteFlight in the sense that it can handle KF1 control files. Unlike KiteFlight, XKF runs on UNIX workstations which support the X Window System.

Some differences between the current (Jan. 1997) versions of XKF and KiteFlight:

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Lee Hetherington] [PSKF] [KF1]


The PSKF Program

PSKF is a printing program for printing diagrams on PostScript-type printers by converting KF1 control files into PostScript files. It was written by Lee Hetherington. PSKF basically converts a KF1 and a PostScript header file into a new PostScript file which shows the entire routine described in the KF1 control file.

PSKF is available as C source code from Lee Hetherington. Some differences between the current (Jan. 1997) versions of PSKF and KiteFlight:

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Lee Hetherington] [XKF] [KF1]


Stunt Kites

"Stunt Kites to Make and Fly" is the first kite book by Servaas van der Horst and Nop Velthuizen. Ordering specifics: THOTH Publishers, 1991, ISBN 90-6868-052-8 (English version). The book is also available in Dutch (both authors are Dutch, ISBN 90-6868-035-8)

To quote Joost Wesseling's review of the book in the rec.kites kite bibliography on Internet's UseNet:

"Many people in Holland use this book, together with the German book by Schimmelpfennig, as guideline when building their own kites. I have never spoken to anyone who was disappointed."

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [sequel] [van der Horst] [Velthuizen]


Stunt Kites II

"Stunt Kites II: New Designs, Buggies and Boats" is the second kite book by Servaas van der Horst and Nop Velthuizen. As the title suggests, this book (May 1994) is the sequel to their first book "Stunt Kites to Make and Fly". The book is available from THOTH Publishers in English, Dutch, German and French:

To quote the conclusion of its review in Kite Lines: "For while this volume was written for intermediate and advanced stunt kiters, I think that anybody with an interest in sports kites should find this an excellent reference. It is timely and current, but like its sister book, is bound to withstand the test of time. It is a definite must-have."

The relationship between "Stunt Kites II" and KiteFlight is that the two products are loosely bundled: the book contains references to the floppy, although you can acquire either without the other. The reasons why the two products are linked in the first place are that the floppy also contains two programs for printing kite plans for kites in the book (SPUTNIK and PLOT), and last but not least, that the authors of both programs on the floppy prefer to leave the dirty work of selling their products to a professional organisation.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [previous book] [van der Horst] [Velthuizen]


The KiteFlight Hall of Fame

Peter van den Hamer
author of KiteFlight
Simo Salanne
wrote library of KF1 Compulsories
Nop Velthuizen
coauthor of Stunt Kites I and II
Dieter Sattler
translated KF1.DOC to German
Christian Bonato
translated KF1.DOC to French
Jean-Marc Henry
distributed KF demo by mail in France
Lee Hetherington
author of XKF program
Zoran Milenovic
author of Install program
Peter Peters
initially hosted KiteFlight's Web pages
Cees van Hengel
early discussions and ideas
The Dike Hoppers
first KiteFlight users

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [How you can help] [The teams]


Mr. Nop Velthuizen

The well-known Dutch kite and buggy enthusiast, Nop Velthuizen, is co-author of "Stunt Kites to Make and Fly" and "Stunt Kites II: New Designs, Buggies and Boats". Nop is also one of the original members of the Dutch team The Dike Hoppers. In late 1994, Nop formed a new team called The Dust Devils.

Nop's claims to a place on KiteFlight's Hall of Fame list include:

Nop can be reached by E-mail as nop@euronet.nl on Internet.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Stunt Kites] [Stunt Kites II] [Servaas van der Horst] [Vlieger-Op]


.

Mr. Dieter Sattler

Dieter Sattler of Hannover, Germany is a member of the top-class German team Fun Unlimited. Fun Unlimited ranked 4th in the 1995 EuroCup competition for teams in Hamm, Germany. During the team ballet routine, Dieter broke a leading edge spar of his kite, but managed to complete the routine successfully anyway.

Team members of Fun Unlimited are:

Dieter's contribution to KiteFlight is his dedicated translation of the KF1.DOC language description into German (originally because he wanted to be sure he understood it!).

Dieter can be contacted by E-mail at dieter@fununltd.han.de on Internet.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Hall of Fame]


Mr. Christian Bonato

Christian Bonato of Le Versoud, France is a KiteFlight (and Plot) user who translated the KF1.DOC language description file into French.

Christian can be contacted by E-mail at Christian.Bonato@gsi.fr on Internet.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Hall of Fame]


Mr. Cees van Hengel

Cees van Hengel is an ex-member of The Dike Hoppers. He contributed to KiteFlight's predecessor as well as to several of the ideas in KiteFlight itself. Cees is the STACK National Director for The Netherlands since April 1994.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [The Dike Hoppers] [Hall of Fame]


Mr. Servaas van der Horst

Servaas van der Horst, is co-author of Stunt Kites to Make and Fly and Stunt Kites II. New Designs, Buggies and Boats. Servaas has a wide variety of interests including boomerangs, bats, producing programs for Dutch television, Bernini scooters and obviously kites. The only known common denominator of all these items is that each can readily become airborne.

Servaas owns (and uses) a pair of antique computers. If you own a Hercules or CGA-type machine, you largely owe it to Servaas that KiteFlight "runs" on your machine.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Stunt Kites] [Stunt Kites II] [Nop Velthuizen]


Mr. Peter Ruinard

Peter Ruinard is an ex-member of The Dike Hoppers and the primary author of a program which was the predecessor to KiteFlight. The Kite program consisted of 1600 lines of C code which served as the basis of KiteFlight, although only a fraction of the original lines is left. Equally important, the format of KiteFlight's KF1 control files is still very similar to that of Kite.

Peter Ruinard is author of the PLOT and SPUTNIK programs on the Kite distribution floppy and can be reached by E-mail as peru@caiw.nl on Internet.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Hall of Fame] [SPUTNIK] [PLOT]


Mr. Peter van den Hamer

Peter van den Hamer is the author of KiteFlight. Peter and his family own (and occasionally do fly) three identical Fizz Phantoms, a single (don't ask) Flexifoil Pro-Speed 6+ and a few smaller kites.

Peter has a Ph.D. in applied physics (superconductivity), and is currently employed in the Information Technology branch of Philips Research Laboratories in the Netherlands. His professional interests are in the computer-aided management of design information and design process improvement.

Peter can be reached on Internet as vdhamer@msn.com or by snail mail at "Karel de Stoutelaan 6, 5583 XD Waalre, The Netherlands".

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [KiteFlight] [Hall of Fame]


The Dike Hoppers

The Dike Hoppers is a 4-person (previously 6-person) stunt kite team from Holland. The team was founded in 1989 and has a long history of local and international competitions. One of their finest competition results was a 4th place at the World Cup in Bristol in 1991.

Since then, many of its original members have dropped off to become STACK officials, write kite books or move to the Far West:

    original                 current
  Han Akkerman            Han Akkerman
  Hans Jansen op de Haar  Cora van Dorp
  Rob Jansen op de Haar   Henk Hilbrands
  Cees van Hengel         Marco Schaap
  Gerard Scholtes
  Nop Velthuizen

Other persons who have in recently (until late 1994) flown in the team are Dirk van Alewijk, Els Boelhouwer, Rob Meijer and Ed Wens (see Sky Bandits).

Other ex-members include Peter Ruinard who wrote the predecessor of KiteFlight together with Ed Wens en Cees van Hengel in late 1992.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other teams]


The Dust Devils

The Dust Devils is a Dutch 5-person stunt kite team founded at the end of 1994. Several team members have previous kite team experience and several are known buggy enthusiasts:

The Dust Devils were ranked 5th in the 1995 EuroCup for teams (Hamm, Germany, flying without Stef Tours). Their ballet and precision routines at this event were ranked 3rd and 6th respectively (in a field of 12 competing European teams).

The Dust Devils use KiteFlight to develop parts of their routines.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other teams]


Astro Chicken

The stunt kite pair Astro Chicken was founded in 1993. The pair consists of Robert van Roon and Arjo Rozendaal, both from Rotterdam, Holland. They fly Kick, Kick SUL and Kick V5 kites. Although they normally practice on a beach near Rotterdam, they also use a field near the city to get used to the bad wind conditions which one sometimes encounters in competitions.

The pair won the Dutch national championships in both 1995 and 1996.

The name "Astro Chicken" was incidentally derived from an television interview with a British scientist. The scientist stated that space would be a lot less boring if it were populated with animals. "Astro chickens" was the name he gave to a space-proof animal species which mankind could create by breeding or genetic manipulation. There is also major scientific evidence suggesting that in the late 1980's the Sierra Online corporation successfully introduced this extraterrestrial poultry in their series of Space Quest missions.

Astro Chicken wrote the following about how they use KiteFlight:

"We use KF to check our routine. When drawing a routine on plain paper we noticed that we got different interpretations about sizes of figures and height of lines."

"We also think KF is a nice tool to avoid, what we call, 'impossible' figures. We think it is not right when one of the kites has to make a smaller turn to reach the same altitude for instance. You will see that in our routine ASTRO.KF1 there are no irregularities in sizes or speed control (except for a Rainbow or a Refuel, of course)."

You can contact Astro Chicken by E-mail at roro@grafix.xs4all.nl or joly@xs4all.nl.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other teams]


Menu usage

The KiteFlight program is controlled by a pull-down menu system. The top-level menu entries are shown in the menu bar at the top of the screen. An entry in the menu bar can be activated in several different ways:

  1. by clicking on the word in the menu bar with the Mouse.
  2. by pressing Alt-Z where 'Z' is the first letter of the word Example: Alt-F causes the File submenu to appear.
  3. pressing F10, then moving the highlight to the appropriate entry and pressing Return to activate that entry.

Clicking on most menu items causes a submenu to appear. You can select items in this submenu in much the same way as in the menu bar:

  1. by clicking on the word in the submenu with the mouse.
  2. by pressing Z where 'Z' is the first letter of the word. Example: within the File submenu, "l" causes the Load... menu to appear.
  3. by moving the highlight to the appropriate entry using the arrow keys and pressing Return to activate that entry.

Other menu-related conventions:

Alt
Keyboard shortcuts for frequently used commands are listed to the right of the menu entry (e.g. "Alt-X" for eXit in the File submenu.

"..."
The dots in entries like "Load..." indicate that selecting that item will cause a Dialog box in which further selections can be made.

gray
Entries shown in gray are disabled under the current conditions (e.g. Run! are shown in gray until a file is loaded).

>
Entries like "Info >" indicate that selecting that entry will cause a submenu to appear.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Menu commands]


Menu commands

The menu bar contains the following entries:

 File  Run!  Edit  Options      Window  Help

Double click on any of these entries for more information about that entry.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Menu usage]


The "File" submenu

The "File" submenu contains commands related to the loading and saving of KF1 files. Click on one of these commands for more information:

     Load...        Alt-L
     Change dir...  Alt-C
     New
     Save           Alt-W
     Save as...
     eXit           Alt-X

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Menu commands] [Menu usage]


The "Load..." dialog box

"Load..." causes a dialog box to appear in which you can select an existing KF1 control file for loading. You can alternatively activate the "Load..." dialog box by pressing Alt-L or clicking on the word "Load" on the screen's Status line.

Load dialog box

You can do the following within this dialog box:

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [File submenu] [Change dir...]


The "Change dir..." dialog box

"Change dir..." causes a dialog box to appear in which you can go to another directory or to another drive.

You can do the following within this dialog box:

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [File submenu]


The "New" command

The "New" command in the File submenu creates an empty window labelled "Untitled". The window can be used to directly enter a new KF1 program from the keyboard or via Cut and Paste. It can also be used to create an empty, editable file for any other purpose (e.g. taking notes).

When the Untitled window is Saved, the program will prompt for a file name under which to save the contents of this window.

Warning: if you create new windows in extraordinary quantities (e.g. using New), the function Windows|Tile will become extraordinarily slow (minutes!). Until Tile has completed its job, you will not be able to issue any new keyboard or mouse commands.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [File submenu]


The "Save" command

The "Save" command in the File submenu saves the currently active editing window to disk. During saving, the original file is overwritten. If you do not want this, use "Save as...".

The "Save" command is disabled (gray) if there is no active editing window. This may mean that no file has been loaded yet. It is also disabled if the active editing window has not been modified (see *) since it was loaded.

If you forget to save a modified file (*) and try to exit the program you will be asked if you want to save that file.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [File submenu] [Load...]


The "Save as..." dialog box

The "Save as..." command in the File submenu saves the currently active editing window to disk while allowing you to specify a new file name and directory path.

"Save as..." causes a dialog box to appear in which you can select a new or existing file name under which to save the file. You have the following options in this dialog box:

The "Save as..." command is disabled (gray) if there is no active editing window. This may mean that no file has been loaded yet. It is also disabled if the active editing window has not been modified (see *) since it was loaded.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [File submenu] [Save]


The "eXit" command

Use the "eXit" command in the File submenu when you want to leave the program. You can activate this command by pressing Alt-X or clicking on the "eXit" entry on screen's Status line. You can currently use Alt-Q as an alternative to Alt-X.

If there are editor windows which have been modified and thus might need saving, you will be asked whether you want to save these.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [File submenu]


The "Run!" command

The "Run!" command on the Menu bar causes the KF1 control file in the active editor window to be animated. You can alternatively press Alt-R or click on the Run! entry on the screen's Status line.

The "Run!" command is disabled (gray) if there is no active editing window. This usually means that no file has been loaded yet.

Animating a KF1 control file is an automatic process consisting of the following steps:

  1. The file is compiled. On slow machines, large KF1 files may take a few seconds to compile. The time needed to compile small files is not normally noticeable. If the KF1 file contains an error, a dialog box appears describing the error and stating its line number. The remaining steps are then skipped.

  2. The screen is placed in animation mode and the background grid is drawn.

  3. There is a one second delay which allows the image on your screen to stabilize.

  4. The animation is started (with a click sound). The animation can be aborted by pressing the Escape key or clicking on the right mouse button. Certain types of KF1 programming errors can also cause the animation to stop (with "Press any key to view error message" on the bottom line).

The animation ends with another click sound. Pressing any key (or any mouse button) will switch the screen back to the control mode and display the command menus.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index]


Editor windows

The currently active window is an editing window. The window was opened by the Load command. If the window contains a valid KF1 routine, you can use the Run! command to compile and animate it. Alternatively, you can edit its contents and then Save or Run! it.

Editing windows can only handle files smaller than about 64000 bytes. KF1 files will normally be much smaller than this limit.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [editing keys] [Load...]


Editing and the "Edit" submenu

When an editor window is active, various basic editing commands are available for editing the contents of the window. They include the common editor functions like moving the cursor, adding text, deleting text and switching between insert mode and overwrite mode. See editing commands for a list of these keys and their meaning.

The "Edit" submenu in the menu bar provides several additional commands. You can click on one of these commands for more information:

     Find...        F2
     Replace...     Alt-F2
     Search again   Alt-S
     Undo           Alt-U
     Block commands >

The built-in editor can handle files with a size of up to about 64000 bytes.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Menu commands] [Menu usage]


The "Find..." dialog box

"Find..." causes a dialog box to appear in which you can specify the text which you are looking for. The Find... dialog can alternatively be accessed using function key F2 (this convention is compatible with a major Word Processor from Utah).

The "Find..." dialog allows you to enter the "Text to find" and allows you to specify two control settings using so-called check boxes:

    [ ] Case sensitive
    [ ] Whole words only

You can activate either option by clicking on the item, thereby causing an [X] to appear.

A "Case sensitive" search considers the texts "KiteFlight" and "kiteflight" to be different. The default search mode (case insensitive) allows you to enter a word without having to worry about upper or lower case.

A "Whole words only" search for "lead" or "ding" will not find the text "leading edge". The default search mode will find pieces of text which are parts of larger words.

After a match is found, the match is shown highlighted. If you type any text before moving the cursor, the highlighted text is replaced by the new text. The editor also contains a more powerful Replace function.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Edit submenu] [Search again]


The "Replace..." dialog box

"Replace..." causes a dialog box to appear in which you can specify the text which you want to replace. The Replace... dialog can alternatively be accessed using the Alt-F2 keyboard command (this convention is compatible with a major Word Processor from Utah).

The "Replace..." dialog box allows you to enter the "Text to find" and the "New text". It also allows you to specify four control options using so-called check boxes:

    [ ] Case sensitive
    [ ] Whole words only
    [X] Prompt on replace
    [ ] Replace all

You can activate any option by clicking on the item, thereby causing an [X] to appear. By factory default, the "Prompt on replace" option is active.

A "Case sensitive" search considers the texts "KiteFlight" and "kiteflight" to be different. The default search mode (case insensitive) allows you to enter a word without having to worry about upper or lower case.

A "Whole words only" search for "lead" or "ding" will not find the text "leading edge". The default search mode will find pieces of text which are parts of larger words.

The "Prompt on replace" option will request a confirmation before the replacement is made.

The "Replace all" option is used when you want to replace all occurrences of the "Text to replace".

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Edit submenu] [Find]


The "Search again" command

"Search again" (or Alt-S) causes the last search (Find...) to be repeated.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Edit submenu] [Find]


The "Undo" command

The "Undo" command (or Alt-U) is a simple safety net which can be used to undo the deletion or insertion of text in the editor.

Undo can handle the deletions and insertions since the last cursor movement (e.g. arrow keys) command. If the cursor location has changed since the last deletions or insertions, the Undo command is shown in gray to indicate that it is disabled.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Edit submenu]


...

The "Block commands" submenu

The "Block commands" submenu contains commands which operate on selected blocks of text. You can select a block of text by dragging the Mouse across that piece of text. This causes the selected text to light up.

The following commands are available in this submenu:

    Cut    Shift-Del
    Copy    Ctrl-Ins
    Paste  Shift-Ins

Cut deletes the selected text area and places a copy in the Paste buffer (which is sometimes known as a "Clipboard"). Copy places a copy of the selected text in the Paste buffer without deleting it. Paste inserts a copy of the text in the Paste buffer at the current cursor location. Pasted text remains in the Paste buffer.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Edit submenu]


(Un)modified editor windows (*)

An "*" symbol is shown in the lower left-hand corner of editor windows which have been modified. If any modified windows are still open when the user tries to exit KiteFlight, the program will ask whether the contents of these windows should be saved or discarded.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index]


.

The Paste Buffer or Clipboard

The Paste Buffer is a buffer to which blocks of text can be copied using the Cut and Copy commands. The contents of the Paste Buffer can be copied into the currently active editing window using the Paste command.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [BlockMenu]


.

The meaning of Cancel

Many of the dialog boxes in KiteFlight have two buttons labelled Cancel and OK at the bottom. The general rule is that clicking on OK confirms whatever choices you made in the dialog box, while clicking on Cancel discards these choices.

By convention, clicking on the close box [Box] is equivalent to pressing Escape on the keyboard or to clicking on the Cancel button shown on the screen.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Menu usage]


The meaning of OK

Many of the dialog boxes in KiteFlight have two buttons labelled Cancel and OK at the bottom. The general rule is that clicking on OK confirms whatever choices you made in the dialog box, while clicking on Cancel discards these choices.

Because some dialog boxes do not allow you to make any selections, these only have an OK button. Clicking on this button tells the system that you have read the contents of the message in the dialog box.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Menu usage]


Dialog boxes

Dialog boxes are small windows which can pop up. They are typically used for:

Most dialog boxes have OK buttons at the bottom. Dialog boxes in which data can be entered have an additional Cancel button with which you can discard the changes which you have entered.

For rather technical reasons ("modal windows"), the options on the menu bar are not operational while a dialog box is open.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [OK] [Cancel]


The "Options" submenu

The "Options" submenu in the menu bar provides access to a number of dialog boxes with which you can control how KiteFlight works. You can click on one of these commands for more information:

Options submenu

Pressing Cancel within any of these dialogs discards any changes to settings which you made. Pressing OK finalizes the changes which you made. Any changes you make are automatically saved in a KF.CFG file and will be restored when you re-enter the program.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Menu commands] [Menu usage]


..

The "Animation options" dialog box

The "Animation options" Dialog box allows you to configure options related to KiteFlight's animation of KF1 control files:

Animation options dialog box

Flight speed
The higher the number, the faster the kites fly. The default value of 1.00 corresponds to 25 units per second.
Start animation
Radio buttons that determine which part of the routine is animated. The animation can start at the start of the routine (more precisely: at segment #1) or at a specified segment number. If the user wants the animation to start at, say, segment #3, the previous 2 segments are also displayed (this is a current limitation of the program). During this 'prologue', the trail mode is always off.
Stop animation
Radio buttons that determine the end of the part of the routine which is animated. The animation can either continue until the end of the routine, or can end after a specified number of segments (e.g. 1).
Trail mode
Determines whether or not the kites leave trails during the selected part of the routine. "Off" means that there will be no trails. "On - permanent" means that the kites will create trails. "On - ribbon" simulates a ribbon tail with adjustable length. "On - smoke" causes the kite tails to gradually disappear after an adustable delay. The length of ribbon and smoke trails is determined by the "length" setting. The default length is 200 user units. The "percent" setting only affects smoke tails. It indicates how many percent of the trail length evaporates. The default value is 25%. Note that the ribbon and smoke trail modes require extra memory and CPU time to keep track of the trail dots which are written to the screen and which must be erased at a later time.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other options]


....

The "Display options" dialog box

The "Display options" Dialog box allows you to configure options related to the graphics used during animation of KF1 control files:

Graphic display options dialog box

Background
This radio button determines the color of the background displayed during animations. The default color is black. You may need to select a white background if you want to capture the screen image using a screen capture utility.
Video modes
This determines the display resolution using during the animation. The list of modes depends on the detected graphics hardware. Sometimes the higher resolution video modes are not supported by a particular video board. See the documentation of you video board for a list of modes which it supports.
Enable SuperVGA
This checkbox is only available when the version of KiteFlight supports SVGA and when the available hardware supports the VESA software interface standard for SuperVGA hardware. Changes to this option take effect the next time the program is started. When enabled, the SuperVGA option causes the list of 'normal' VGA video modes to be replaced by a list of high-resolution video modes.
Zoom factor
Determines the scaling of the image displayed on the screen. The default value of 0.9 displays the STACK/AKA grid spanning across 90% of the width of the screen.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other options]


The "Control mode options" dialog box

The "Control mode options" Dialog box allows you to configure options which relate to the text-mode windows used to operate KiteFlight. The following options are available:

Control mode options dialog box

Screen mode
This radio button determines whether the screen is set to 25-line or to 43/50-line mode.

43-line mode is only available on EGA video boards. 50-line mode is only available on (S)VGA video boards. The 43/50-line mode displays more information on the screen at any one time by reducing the size of the characters.

Enable coaching
This check box determines whether coaching messages are displayed on the blue background of your screen.

Options related to the graphics modes used during animation are covered in the Display options dialog box.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other options]


The Coach

The Coach giving advice

Once in a while, KiteFlight may surprise you with a message on the blue backdrop. The coaching message is most readily visible when the program starts, but can also be seen if all open editor windows are closed. Coaching messages can change during a KiteFlight session to reflect changed circumstances or sometimes just because the program feels like it.

Note that the built-in "electronic KiteFlight coach" is moderately intelligent: the messages depend on the current circumstances as well as the way in which you typically use KiteFlight. If this makes you nervous, you can disable the Coach.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index]


.

The "Sound options" dialog box

The "Sound options" Dialog box allows you to configure options regarding to the sounds KiteFlight sometimes makes using the PC's built-in speaker. The following options are available:

Sound options dialog box

Volume
You can choose between the levels "Normal", "Quiet" and "Silent". Silent disables all sounds. Quiet replaces all sounds by click sounds.
Test
The items "Aborted", "Click", "Done" and "Aborted" represent the 4 types of sounds which may occur. Clicking on any of these items causes the sound to be generated in a way consistent with the Volume setting.

These features are dedicated to Mr. Simo Salanne (who likes to work late at night too).

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other options]


.

The "Editing options" dialog box

The "Editing options" Dialog box allows you to configure options concerning KiteFlight's built-in text editor. You can select the following options in this check box:

Editing options dialog box

Create backup files
Selecting this option causes the editor to create a backup file (e.g. MYFILE.BAK) whenever a file is modified. By default, KiteFlight does not create backup files.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other options]


The "System options" dialog box

The "System options" Dialog box allows you to configure several rather technical options and primarily intended for testing purposes. The options in these radio boxes are:

System options dialog box

Timing mode
You can choose between using a low and a high precision timing mode. The low precision mode causes kites to jump 18.2 times per second, resulting in dotted trails. The high precision mode causes a much smooooooother flight. The two modes use different methods to read out the PC's counter/timer hardware.
Unhandled event handling
This mode determines what happens if you Click the Mouse or press a key and KiteFlight decides that that was not an appropriate thing to do under those conditions (an "unhandled event"). In this mode, you get a pop-up window with a warning. You would otherwise get an "error" sound.
Display available memory
You can optionally display the amount of free "heap" and "stack" memory on the bottom line. Some people like to display the free heap space in a corner of the screen because it keeps changing cheerfully.
No randomize
In this mode, the random number generator used for coaching will produce the same sequence every program run. Note that if you want absolute repeatability, you should also prevent KiteFlight from updating the CFG file because the statistics in this file also influence the coach.
Allocate XXX KiloBytes
This option enables you to reduce the "heap" memory available to KiteFlight. If you, for example, allocate 1000 KBytes, KiteFlight will have about 1 MByte less memory in which to run. You should not use a non-zero value during normal use because it wastes memory and somewhat increases the risk of encountering problems.

If KiteFlight sometimes misbehaves on your system, check that you are displaying the amount of free heap memory because you might be running out of memory.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other options]


.

The "Reset options" command

The "Reset options" command resets the state of all options-related Dialog boxes to their "factory defaults" state. You will be asked to confirm the request before it is carried out.

The "Undo changes" command

The "Undo options" command returns all options-related Dialog boxes to their state at the time you started the program. This is done by reloading the CFG file in which these settings are stored. You will be asked to conform the request before it is carried out.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Options menu]


The "Window" submenu

The "Window" submenu in the menu bar provides access to a number of dialog boxes with which you can manipulate windows. You can click on one of the following commands for more information:

     Cascade
     Tile    Alt-T
     Zoom    Alt-Z
     Resize/move
     Next    Alt-N
     Close

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Menu commands] [Multiple edit windows]


.

The "Cascade" and "Tile" commands

The commands Cascade and Tile are useful if you have more than one editing window open (see Multiple edit windows). They help find windows which have been partly or entirely covered by other windows.

Cascade arranges all the windows in such a way that you can see the top and left edges of each window. Because the top edges contain the window titles, this allows you to rapidly find and select the window you want.

Warning: Because Cascade requires extra memory, it will not work when you are very low on memory.

Tile arranges all the windows in such a way that they do not overlap. If two windows are open, each gets half of the screen area. If six windows are open, each gets one sixth of the screen area. This option is useful if you need to quickly switch between windows without rearranging the screen layout. You can access Tile from the Window submenu, by pressing Alt-T or by clicking on the Tile entry at the bottom of the screen.

Warning: When you have dozens of windows open, Tile becomes slow and you will simply have to wait. I can't imagine why you would want to open dozens of windows, but its possible.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Window commands]


Multiple edit windows

If you load a file into an edit window, and then load a second file without closing the first file, you will have two simultaneously open edit windows. Many users will not really notice this because the second window normally covers up all of the first window. We recommend using the Cascade or Tile commands whenever you suspect that there are hidden windows open and you want to find them.

The ability to have multiple edit windows open gives you a number of useful options:

When multiple windows are open, the selected window has a more prominent border. When you type text, it will appear in the active window. If you press Run!, the active window is animated.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Cascade] [Tile]


The "Zoom window" command

The Zoom command changes the size of a window: a small window is enlarged to its maximum size. If you Zoom a window which has already been 'zoomed' it returns to its previous size. It is thus a convenient way of temporarily examining the contents of a window.

The zoom command can be issues in three different ways:

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Window commands] [Resize]


The "Resize/move window" command

The Resize/move command temporarily places the program in a mode in which the currently active editing window can be resized or moved. This involves three steps:

  1. Select the Resize/move command from the Windows menu.
  2. Use the arrow keys to move the active window or use the shifted arrow keys to resize the window. Note that the window frame is colored green during this step.
  3. Press Return to lock the current window size and position. The window's frame now becomes white again.

For information about how to resize and move a window using the Mouse, see Window Handling.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Window commands] [Zoom]


The "Next window" command

The Next command causes the next window to become active. Using Next repeatedly causes the 'focus' to cycle through all open windows.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Window commands]


The "Close window" command

The Close command closes the currently active edit window. If you modified the contents of the window, you will be asked whether you want it saved before it is discarded.

The Close command can be issues in three different ways:

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Window commands] [Window Handling]


The "Help" submenu

The "Help" submenu contains commands which provide various forms of help. You can click on one of the following for more information:

     Help system...    F1
     KF1 syntax...
     Info              >
     Function keys     >
     Bonus Alt keys    >

Pressing F1 is the recommended way to access the Help system. It takes you to the hypertext help browser which you are currently using.

KF1 syntax is for KF1 programmers: it displays a window with a brief summary of the KF1 language.

Info provides a number of status screens about the state of KiteFlight.

Function keys and Bonus Alt keys provide a list of function keys (e.g. F1=Help) and Alt keys. Note that clicking on any item on this list activates the command.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Help system]


The Help System

The Help System provides context sensitive help. The preferred way of accessing it is to press F1 (or click on the Help item at the bottom of KiteFlight's text screen).

The Help System reacts to pressing F1 by placing you inside a hypertext-based help browser at a location which corresponds to the part of KiteFlight you were using. Thus if you press F1 while you were in a particular dialog box, you will immediately get a description of how to use that particular dialog box. You can exit the Help System by pressing Escape.

Help System

The words on the help screens which are shown in yellow are links to related topics. Double clicking on one of these topics bring you to the corresponding description. Although the Help System does not provide a way to get back to the previous topic, it does provide two mechanisms meant to avoid getting stuck: the where you will find an alphabetic index of all help topics and the Home screen where you will find a table of contents of major topics.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other ways to get help]


The "Info" dialog boxes

The "Info" submenu provides access to a number of dialog boxes which give you detailed information about KiteFlight and its status.

     Program...
     File...
     Run...
     Mouse...
     Memory...
     Environment...

The Program dialog box tells you which version of KiteFlight you are running. This is the same dialog box which appears when you enter the program. In addition to the version number, the window tells you if you are running a demo version.

The File dialog box tells you the full file path of the currently active editing window. If the window was opened using New it will display an explanation of why the window is labelled "Untitled".

The Run dialog box gives information about the last animation run: how many seconds the animation lasted, how many times ("frames") the positions of the kites were recalculated, and how fast the kites moved in units/second and in screen pixels/second. The number of frames/second depends on the number of kites and the speed of your computer. If the number of frames/second is higher than the number of pixels/second, the animation is "ideal": a faster computer would produce the same animation quality. On slow machines (e.g. 286), the number of frames/second can be lower than the pixels/second, meaning that the kites move, on average, in steps of more than one pixel between screen updates. When possible, an estimate is given of the critical speed: the highest speed at which trails are not dotted.

The Mouse dialog box provides information about the currently loaded mouse driver: whether or not a driver is loaded/enabled and the driver's version. If the version number is below 6.00, the dialog box says "This is a very old version". In such cases, KiteFlight replaces certain advanced calls to the mouse device driver by using slower ones. Because Microsoft is the industry standard for mouse drivers, other manufacturers generally return a version number which indicates which Microsoft mouse driver version they are compatible with.

The Memory dialog box tells you how much memory is available in a memory pool known as the "heap". Typical values are 100K-200K when KiteFlight runs in normal mode and several megabytes when KiteFlight runs in protected mode. This value can be displayed in the lower right-hand corner of the screen (see System Options). The Memory Info dialog box also shows how space is available on the stack is (part of memory used for temporary last-in-first-out storage).

The Environment dialog box provides certain technical information about the environment the program is running in. This includes information about whether a DOS extender is used (along with its type, version number and its compatibility to the DPMI specification). It also indicates if KiteFlight is running under Microsoft Windows or not. You as a user probably know this already, but the point is that this is a lot harder for a program to find it: it wakes up inside an environment which looks pretty much like DOS, but which might be a 'DOS box' within Windows.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Alternative forms of help]


The "KF1 Syntax" help window

KiteFlight contains a window with a very concise definition of the syntax of the KF1 language. The window is accessed within the Info subwindow of the Help window. The window has an auxiliary window which explains the notation used to describe the syntax.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Alternative forms of help]


.

The compile error window

This window appears when you attempt to Run! a file which contains a syntax or Compile error. The window describes the problem and usually specifies the line number on which the error occurred. These line numbers are true line numbers: empty lines and comment lines are counted.

Run-time errors are errors detected during the animation itself (rather than during compilation), an animation run can abort. After the user presses a key to acknowledge the error, a window appears which describes the type and location of the problem.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Run!]


The KFDEMO.KF1 file

The file KFDEMO.KF1 is a small KF1 control file which is supplied with KiteFlight. It describes the flight paths of two kites and runs for about 20 seconds. It demonstrates a few KF1/KiteFlight basics:

[Peter Peters' web site] [PvdH] [Home] [Top] [Index]


Disabled Commands

Under certain conditions, KiteFlight commands can be temporarily disabled. Disabled commands are shown in gray to indicate that clicking on that item will not have any effect. When disabled commands are re-enabled, their color changes back to the normal text color.

Example: you cannot use the Run! command, unless you previously loaded a KF1 control file. The Run! command also becomes disabled if you first load a KF1 control file and then close the file's editor window.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Menu usage]


The KF.CFG file

KiteFlight automatically saves the current settings of all options-related Dialog boxes to disk, thereby making these settings "permanent".

The settings are saved in an ASCII file, KF.CFG, which is located in the same directory as the KiteFlight executable. If your executable has a file name KF*.EXE (e.g. KFP.EXE), the configuration file will be named KF*.CFG (e.g. KFP.CFG) instead of KF.CFG. You can edit or even delete the KF.CFG file, although it is easier to change settings using the Options dialog boxes in KiteFlight itself.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index]


The rec.kites group on Internet's UseNet

"rec.kites" is an unmoderated newsgroup on UseNet dedicated to kite making and flying. It is basically a platform for kite-related discussions and a place to ask questions about kites. The traffic on rec.kites is currently about 20 messages per day. My own contacts with Simo Salanne, Lee Hetherington, Marty Sasaki, Ron Reich, Michael Graves and others are a result of rec.kites.

In addition, rec.kites features a set of periodically updated files with frequently asked questions about kites (FAQ), kite book reviews and reviews of commercial kite designs.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index]


.

Internet

Internet is an international computer network. It is the closest thing to an "Information Superhighway" currently in existence: until recently, it primarily connected universities, institutes and technology-oriented companies across the globe. Since the rise in interest in WWW in late 1994, Internet is also becoming relevant for home use.

Most UNIX workstations are linked to Internet, although many other local or wide area networks and service providers (e.g. CompuServe, America Online, Prodigy) provide varying degrees of access to Internet. The main Internet services are:

The current trend is towards higher-level, friendlier and more intelligent network browsing services (Archie, Gopher, WAIS, World Wide Web).

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [updates by Internet] [rec.kites]


The technology behind KiteFlight

Warning: This is a technical topic, and is here primarily for technophiles who want to take a look in the cockpit.

KiteFlight was developed using Borland's C++ compiler (4.5) and Borland's Turbo Vision (2.00) user interface class library. KiteFlight consists of:

Some technical notes:

* On fast PCs the kites fly just as fast as on slow PCs: on extremely slow PCs, the limited CPU performance results in a 'low frame rate' and dotted trails. The overall shape and timing of flight paths are, however, not affected. See also Performance.

* KiteFlight contains a simple KF1 compiler which creates entries in a table (containing instruction codes, parameters and loop pointers). These entries are interpreted during the animation itself.

* KiteFlight's kernel consists of a loop which reads the current time, computes the new location of each kite, determines if this is identical to the current location (after rounding to integer pixel coordinates) and, if necessary, updates each kite's on-screen position. See also Performance.

* KiteFlight uses a 80x87 floating point coprocessor if available. More recent Intel microprocessors have floating point support built into the processor itself. This support is equivalent to a 80x87 unit.

* Graphic are written to the screen using Borland's BGI interface. The standard BGI/BGX drivers are used as well as (for protected mode only) a special VESA16.BGX driver which supports VESA 16 color SuperVGA modes. This driver requires a VESA compliant video board (or a VESA driver loaded from your Autoexec.bat file).

* The KiteFlight code has been extensively analyzed with Borland's Turbo Profiler to improve performance.

* Considerable effort has been spent ensuring precision: due to the employed technique, positional or timing errors due to the finite loop time and finite on-screen step size do not accumulate.

* KiteFlight 2.0's KF32.EXE runs in protected mode. The employed 16-bit DOS extender is Borland's RTM.EXE and associated DPMI 'driver'. In protected mode, KiteFlight typically has several megabytes of free memory (instead of e.g. 100 Kilobytes).

* When KF32 detects that it is running under Microsoft Windows, an alternative high-resolution timer is used which behaves itself much better under Windows. This routine, which uses a special 32-bit Windows VxD service, cannot be used on the 16-bit versions of KiteFlight because it requires a 386 processor.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [KiteFlight] [Performance]


KiteFlight performance issues

KiteFlight's kernel consists of a loop which reads the current time, computes the new location of each kite, determines if this is identical to the current location (after rounding to integer pixel coordinates) and, if necessary, updates the kite's on-screen position.

The quality of the animation ("performance") thus depends on how fast KiteFlight can (1) calculate these positions and (2) update the display. Both obviously depend on the speed of the hardware, and the number of kites being animated. Which factor is more dominant depends on the actual conditions.

The Run info window provides 2 metrics for performance: the frame rate (number of position calculations per second) and the speed of flight (in pixels/second). If the speed of flight is low compared to the frame rate, KiteFlight spends most of its time recalculating positions without updating the screen. This happens when you have a fast CPU, low resolution and above all a low setting of the speed. Typical values are several thousand frames/second for 2 kites flying horizontally at low flight speeds (e.g. 0.1) on a modern machine.

As the flight speed is increased, the frame rate drops (linear with speed) because of the required extra screen updates. This decrease continues until a critical speed is reached at which the kites move exactly one pixel between recalculations. At speeds above the critical flight speed, the frame rate stays constant because the display is updated after each recalculation anyway. Consequently, the critical speed is the speed above which trails become dotted. When possible, an estimated value of the critical flight speed is shown in the Run Info window.

On a 66MHz 486-DX2, the critical flight speed for 2 kites flying horizontally is between 18 and 23. The exact value depends on what's in your CONFIG.SYS and AUTOEXEC.BAT files. Some memory managers (e.g. QEMM) and mouse driver are known to slow down performance (specifically of floating point calculations).

If no coprocessor is available (or disabled using SET 87=no) the critical speed drops to between 10 and 15. Note that critical speeds well above 1 are good enough, so you never have to bother about all this if you have a reasonably fast machine. The moral of the story is that if you do use a 386 or (shudder) 286 and want to simulate large teams, the critical speed can drop to below 1. If you don't like dotted lines, you have the following options:

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [KiteFlight's internals]


Reviews of KiteFlight

In addition to these reviews, we have also received comments and ideas for improving KiteFlight from various testers and users. To date, almost all the 'complaints' have been more or less valid suggestions for extending or improving KiteFlight. See KiteFlight complaints.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [KiteFlight] [Complaints]


Announcement in Cerfs Volants

"Nop Velthuizen, le hollandais de Vlieger Op... est en train de mettre au point un programme informatique (PC) pour concevoir des routines de ballets. Finnes les gibouillis sur le papier, tout se fera sur l'écran d'un micro et pourra être imprimé au propre. On pourra faire évoluer jusqu'à 10 CV simultanément et le programma comportera en mémoire le book de toutes les figures AKA/STACK,. Son nom: KiteFlight, tout simplement!". [from March/April 1994 issue #7 of (defunc) French "Cerfs Volant" magazine]

Translation/summary: The well-known kiting Dutchman, Nop Velthuizen is publishing a PC program for designing ballet routines. This should put an end to messing around on paper. You view the routines on a PC and get neat printouts. It can handle up to 10 kites and comes with a complete library of AKA/STACK routines. The program's name is "KiteFlight", "tout simplement"!

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other reviews] [Complaints]


Feedback from Ron Reich

"The simulations are incredibly realistic. I feel that the constant speed of the images should encourage flyers to try and accomplish the same execution with their kite. I attribute a considerable amount of my success in compulsory figures to the fact that I always tried to make my kite fly at constant speed through the maneuvers. I tried to make it look like a machine on a guided track." [E-mail to author and Simo Salanne, 1-Feb-94]

"I just had a look at the 'CHARIOTS' simulation. I am speechless. I wish I could fly it as well as the simulator. You guys are incredible. The applications for this type of presentation are only limited by the imagination of the user. I can foresee this as a judges training aid." [E-mail to author and Simo Salanne, 2-Feb-94]

Ron Reich is author of the book 'Kite Precision' and leader of the world famous team "The Flight Squadron" which has won multiple US National Championships and the first World Championship.

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other reviews] [Complaints]


Review in Drachen Magazin - 1

"Flugsimulatoren sind eine recht bekannte Art mit, besser gesagt, auf einem Computer zu spielen. Aber KiteFlight is kein Spielzeug, sondern ein Entwurfs- und Animationswerkzeug, um Flugfiguren und -routinen zu erstellen."

Translation: see the original English text as published a year later in the new Drachen Magazin International.

[Correspondent Simo Salanne in German-language DRACHENmagazin, 1994 May-July Issue, page 75]

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other reviews] [Complaints]


Review in Kite Lines

"The display is simple, but the motion of the kites is very realistic."

"The KF1 script language is quite simple to use. Anyone with some experience in BASIC or DOS batch language should be able to create custom routines."

"For the casual flier, KiteFlight provides an interesting method of studying compulsory maneuvers. For teams, KiteFlight is a powerful new tool for developing multikite choreography."

[columnist Michael Graves in Spring-Summer 1994 (V10/N4) issue of Kite Lines, page 15]

"P.S. Kiters purchasing this book for its plans will be interested in the companion floppy disk available separately for $14.95. The IBM-compatible software allows the user to print out full-sized templates for any of the book's plans. The disk also contains the KiteFlight program by Peter van den Hamer that simulates stunt kite maneuvers."

[editor Ilene Atkins in review of Stunt Kites II in Fall 1994 issue of Kite Lines, page 22]

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other reviews] [Complaints]


Review in Drachen Magazin - 2

"KiteFlight bringt das komplette STACK-Pflichtfigurenprogramm live auf den Bildschirm. Plot berechnet und zeichnet... Wir konnten leider nicht alle Programmparameter prüfen, da das Programm sich nicht mit der exotischen Grafikkarte unseres Redaktionsrechner vertrug"

Translation/summary: The graphics in Plot and KiteFlight didn't work properly on the editor's PC and attributes this to his "exotic" graphics hardware. Mr. Voss later informed us that the problem has been solved and that a future review will appear in DRACHEN magazin.

[review of Stunt Kites II in German-language DRACHENmagazin, 1994 Aug-Oct Issue, page 94]

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other reviews] [Complaints]


Review in Drachen Magazin International

[This review by correspondent Simo Salanne in the new English language DRACHEN Magazin International (1995 May-Jul issue, page 43) previously appeared in an abridged version in the German Drachen Magazine.]

"Computer flight simulators are well known entertainment in computer games, but KiteFlight is not a toy. It is a design and animation tool to create sport kite flying figures and routines. It also will create diagrams to be printed on paper."

"In a magazine I cannot show the animation. But try to imagine the small kite triangle moving on the computer screen, with a speed that feels the same as if you were flying your favourite kite in a gentle breeze. The speed can be changed to adapt the simulation to different kites and wind speed conditions."

"You can optionally make the kites draw a trail of its flying path on the screen, and make 'snapshots' of the kite's positions. And it's not only one kite, but you can simulate the whole team! That's the real power of KiteFlight. KiteFlight originates from the six person Dutch team, the Dike Hoppers, who have successfully used it to design and learn their amazing routines."

"KiteFlight can be used for:"

"An example of a KiteFlight simulation program (KF1 program) for a compulsory figure called 'Hairpin' and the diagram are shown in picture 5 [a screen shot]."

"The author of KiteFlight is Peter van den Hamer from Holland. KiteFlight was published with the book Stunt Kites II by Servaas van der Horst and Nop Velthuizen, but is sold separately. The book is not needed to run KiteFlight."

"A demo version of KiteFlight and simulations from the rule book compulsory figures can be found on rec.kites archives and a link to KiteFlight WWW-documentation is found on Kite Flyers Site."

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other reviews] [Complaints]


Review in American Kite

"The diskette is an innovative and exciting concept... KiteFlight shows complete STACK compulsory maneuvers in motion on the screen as well as a sample routine from Ron Reich. It is a potentially wonderful tool for training new flyers and judges. The jacket also states that 'with a minimal amount of programming, you can also add your own figures for single or multiple kites.' Maybe so, we didn't get that far."

"The value of the diskette is multilevel. Frankly it's a gas to load it up and explore. It is user-friendly, easy to load and test (but in the modern world of software its is also slow and a bit clunky). We were charmed by these characteristics and, to be fair, did not spend enough time using the system to be proficient. But we will as time allows. If you're into kites and have an affinity for speeding electrons, you'll want a copy of Kite 1.0."

[review on page 14 of Fall 1994 issue of American Kite magazine]

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other reviews] [Complaints]


'KiteFlight in the Classroom' by John Burke

The following quotes were extracted from information provided by John Burke, a teacher at the Robert Frost Middle School in Montgomery County MD, a suburb of Washington DC. John used KiteFlight in three 50 minute classes which constituted part of a full four day "interdisciplinary unit focussing on Kites". The students were 11 years olds (sixth grade). John prepared an abridged version of the documentation of the KF1 language, and created a few exercises to help the students master the main KF1 commands and coordinate systems. The students were then allowed to develop their own flight fragments.

"The miniunit, especially KiteFlight, generated far more enthusiasm than I expected. So much so, that many students want to use their free time, during the school day, to work on their routines!"

"The program itself is very easy to use. The debugging feature is excellent! The students were thrilled to see the results of their programming efforts. I was concerned that it would not be 'visually stimulating' enough considering that they are of the Sega/Nintendo generation [..]. I was completely wrong! I believe the fact that they were in complete control of the outcome: not reliant on some easy to use, slick interface that generated a lot of output based on limited input from them. This was quite gratifying, as a teacher, to see this response."

"As you can tell from the video [tape made during these sessions], the flight paths have little to do with actually flying kites. However, the mathematics and problem solving skills employed make this an outstanding program for young people. The kite aspect does make it appealing to the students. I can imagine that students as young as 5th grade, ten year olds, could use this software."

[John Burke's last known E-mail address was bdp@access.digex.net on Internet]

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other reviews] [Complaints]


Review in Windberichten

"Voor de prijs van fl 19,50 krijg je een leuk en gebruiksvriendelijk programma in huis en met een beetje geduld schrijf je je eigen balletroutine (freestyle routine kan natuurlijk ook). Deze kun je aan je teamleden geven zodat deze thuis kunnen bekijken hoe het ballet er van het volgende seizoen uit moet gaan zien."

"Er ontbreken diverse Solo en Team figuren en zijn er geen Duo figuren opgenomen, laat staan 4lijnen figuren. De documenten met de beschrijvingen zijn allemaal (de programma's zijn van nederlandse makelij) in het engels evenals de schermen en menu's, commercieel gezien wel begrijpelijk, maar voor mij wel jammer want nederlands beheers ik nu eenmaal beter."

Translation/summary: Nice and user-friendly program which allows your team members to study the new ballet routine for next season. Several solo, team and quad-line compulsories are missing. It would be nice to have a Dutch language version of the program ['missing' solo/team compulsories are not official yet].

[review by Marco Schaap in Oct. '94 issue of STACK Netherlands bulletin]

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other reviews] [Complaints]


Review in Drachen Magazin

"Das überaus erfolgreiche Programm Kite 1.0 zum Ausdruck von Segelschablonen verschiedener Lenkdrachenmodelle bzw. Entwurf von Wettbewerbroutinen liegt nun als überarbeitete und erweiterte Version Kite 2.0 vor. Alle 65 offiziellen AKA/STACK Pflichtfiguren für Einzelpiloten, Paare und Teams kann man sich auf den Bildschirm zaubern. Ebenso die Routinen der Teams Wolkenkratzer, Dike Hoppers, BlueWings und Dust Devils."

Translation/summary: The very successful disk Kite 1.0 is now available in a modified and extended version Kite 2.0 containing all 65 official AKA/STACK Compulsories and routines from various teams.

"Man kann dieze Routinen nach Wunsch ändern oder auch eigene entwerfen. Hierzu ist jedoch das Erlernen einer Reihe von (nich allzuschweren) Programmschritten erforderlich. Nach unserer Meinung ein gelungenes Hilfsmittel für engagierte Wettbewerbspiloten."

Translation/summary: The routines can be edited or you can design your own. This does require learning a set of (not too difficult) programming instructions. In our opinion this is a well-designed tool for enthusiastic competition kite flyers.

"Unser Wunsch an die Programmierer Peter van den Hamer und Peter Ruinard: Die Routinen sollten sich durch einfachen Tastendruck einfrieren und wieder starten lassen können. Idealerweise sollten sich die bis dahin geflogenen Figuren, bzw. die leuchtenden Pixel auf dem Monitor dann löschen lassen, da kompliziertere Team-Routinen so viele Linien auf dem Monitor hinterlassen, daá man nich immer durchblickt. Kite 2.0 kostet DM 22.50 und ist im Fachhandel bzw. über den DRAma-Schop erhältlich."

Translation/summary: We have a suggestion for the program's author(s): it should be possible to stop and restart a routine at the press of a button. It would be even nicer if you could then erase the trails on the screen because complex team routines can really clutter up the screen. [Note by PvdH: the free KiteFlight 2.08 upgrade provides a new smoke tails option which does not clutter up the screen.]

[review in German-language DRACHENmagazin, Issue 5/95, page 28]

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other reviews] [Complaints]


Review in Vlieger Magazine

"Een programma, geprogrammeerd door Peter van den Hamer, waarmee je ballet en precisieroutines voor teams of duo's kunt programmeren en op scherm kunt zien hoe het er op het vliegerveld uit zou moeten zien. Dit programma is te gebruiken zonder het boek. Door middel van een simpele programmeertaal kun je een routine schrijven en die aan je teamleden of duopartner geven, zodat die thuis op de PC de routine kan bestuderen."

Translation/summary: KiteFlight allows you to program ballet and precision routines for teams/pairs and to check what the routine should look like on the field. The program can be used without the book. A simple programming language allows you to write a routine and pass it to your team members for review on their PCs at home.

"Het programmeren is niet al te moeilijk. Zelfs ik, niet gehinderd door enige wiskunde knobbel, heb na enig oefenen en het doorlezen van de documenten die ook in het programma zitten, een aantal duofiguren geprogrammeerd. Een zeer uitgebreide 'helpfunctie' helpt de beginnende programmeur op zijn weg. Als je tijdens het programmeren je routine wilt uittesten en je hebt een fout gemaakt, dan geeft het programma zelf aan welke en in welke regel. Zelf verbeteren doet het helaas nog niet."

Translation/summary: The programming is not too difficult. After some practice and reading through the documentation, even I managed to create several routines for pairs. Extensive help texts guide the novice user. If a programming error is detected during testing, KiteFlight indicates the type and location of the error (but you still have to correct it yourself).

"Wat zijn de nieuwe zaken in KiteFlight:"

Translation/summary: The main changes are (1) HD instead of DD diskette, (2) installation onto hard disk, (3) KF displays useful tips which become progressively more advanced as you become more experienced, (4) new SPEED instruction, (5) new SYNC instruction, (6) segment number is now shown in corner of screen, (7) extra 32-bit version, (8) improved support for Windows 3.1 and 95 and Warp.

"Met de nieuwe commando's SPEED en SYNC wordt het programmeren een stuk gemakkelijker en ziet het er op het scherm een stuk mooier uit. KiteFlight is bruikbaar zonder Stuntvliegers I en II, PLOT en SPUTNIK echter niet. Was the programmeur van KiteFlight 1.0, volgens de documentatie, nog te inspireren tot het maken van Quad-KiteFlight door hem een Rev I of II te sturen, nu is hij ook tevreden met een Synergy Deca. Het is nog niet mogelijk om slides te maken of achteruit te vliegen. Het koppelen van een balletroutine met een MOD-file gaat ook nog niet. [..] Kortom een must voor de vlieger- en computer-o-fiel."

Translation/summary: Two new instructions significantly reduce the programming effort and increase animation quality. KF can be used without either book. In the documentation of KF 1.0 the programmer said that he could be inspired to write Quad-KiteFlight with a donated Rev I or II, but in KF 2.0 he is apparently also willing to accept a Synergy Deca. Limitations of KF: no slides or reverse flight and no support for MOD sound files. [..] In short, a must voor computer-minded kite lovers.

[review by Marco Schaap in Dutch magazine Vlieger, Issue 5/95, page 5]

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other reviews] [Complaints]


Review by Peter "Pan" Leclercq

The following review of KiteFlight 2.0 was written in April 1996 by Peter "Pan" Leclercq, a member of the Belgian team Highlife.

INTRODUCTION

"This review of KiteFlight describes my experiences programming a full-sized team routine. I will described the techniques I used as well as the problems I encountered. By 'full-sized', I mean a routine which lasts roughly 5 minutes. Note that persons creating much smaller routines (e.g. compulsories) probably will not encounter most of the problems described here."

"As a pioneer KiteFlight user, I had promised to write a demo routine which could be distributed along with the KiteFlight software. My initial attempts to write a full-sized routine using KiteFlight 1.0 failed because of difficulties in writing transitions between the various segments in a routine. Because these transitions typically require speed changes and complicated flight paths, they were virtually impossible to program without the Speed and Sync commands which later became available in KiteFlight 2.0. Once KiteFlight 2.0 became available, I had the tools I needed to proceed."

PROGRAMMING TECHNIQUES

"The design of a team routine is a non-trivial activity which involves lots of iterations. My technique for programming a full-sized team routine involves first making a storyboard with one diagram per section of the routine. If you draw each diagram on a grid like that used by the STACK Compulsories, you can immediately determine the kites' coordinates as needed to create a KiteFlight script. I incidentally believe that a program like KiteFlight can be a useful tool to visualize a routine, especially in the period in which the team members do not know the routine by heart yet. In our experience, many flyers have difficulty mentally visualizing a storyboard as an actual routine. This visualization step is obviously even more difficult for novice flyers. Tools like KiteFlight are the only practical solution for this problem."

"I used a new KiteFlight segment for each diagram in the storyboard. This simplifies the mapping between the storyboard and the animation (e.g. allowing you to automatically stop the animation at the end of a particular diagram via the settings in the Animation Options menu)."

"It is important to write the routine in such a way that it can be easily maintained and extended. One way of achieving this flexibility is to use relative coordinates instead of absolute coordinates where possible. I cannot claim that I have really experienced the benefits of this approach myself yet because our routine was programmed after it had become stable."

SKIPPING SEGMENTS

"I tend to regularly check my KF1 routine while I am writing it. One thing about KiteFlight which annoyed me, is that (in the current version) you always have to run a routine from the very beginning. It would be much more convenient to be able to have the program animate a range of segments (e.g. segments 5 to 10). Peter van den Hamer told me that he has plans to add this feature in the future. In fact, the user interface in KF 2.06 (available to registered users via Internet) is already adapted to accommodate this future feature."

"I was able to partly solve this problem myself by splitting the routine into 2 or more parts during the development. You should choose a convenient place to split the routine (e.g. an interim landing of all kites). When the development work is done, the parts can be pasted together to create the complete routine. I later learned of an alternative technique (described in KiteFlight's KF1.DOC file) in which the first sections of a file are accelerated by means of the 'Speed 100' and 'EndSpeed' commands. This makes the stable parts of the routine pass by in 'fast forward' mode (100x normal speed). KiteFlight's documentation claims that this acceleration does not result in any loss of precision whatsoever as long as the speed changes are placed in 'safe' spots in the routine."

MAXIMUM ROUTINE SIZE

"My 5 minute routine for our 4 person team is quite long: it consists of about 1550 individual commands grouped into 56 segments. Unfortunately, during the final stages of the routine development, I discovered a previously unknown bug or limitation in KiteFlight. The number of individual commands in a KF1 routine is limited to about 1500 commands due to the maximum size (64 Kbytes) of a dynamic data structure used internally within the program. Attempts to reduce the number of instructions failed. Although Peter van den Hamer provided me with a temporary version of KiteFlight which was able to pack more instructions into the 64 KB space, this version has certain other disadvantages. Peter stated that the problem would be given high priority and would be fixed in a future upgrade of KiteFlight."

REVERSE LANDINGS

"The final difficulty which I encountered is the lack of support for reverse flight (e.g. the final moments of a two point landing). One work-around is to create a series of KF1 instructions which progressively reduce the altitude of a kite by 'manually' repositioning it (with a short delay to ensure that the landing takes a finite amount of time). This technique takes about 20 instructions per landing:"

	For 1			; code for kite 1
	   KitePos 0 5 "^"	; place kite at y= 5 with nose up
	   Wait 1		; short delay
	   KitePos 0 4 "^"	; place kite at y=4 with nose up
	   Wait 1		; short delay
	   :			; etc.
	   KitePos 0 -5 "^"	; done!
	EndFor

"The routine I wrote for our team Highlife includes a total of 11 landings, which implies about 200 extra instructions just to make these landings smooth. You can shorten this by using just the final KitePos 0 -5 "^" instruction, but this means that the kites suddenly 'jump' down to ground level instead of landing gradually."

"An alternative work-around for reverse landings involves using a 'Repeat ... EndRepeat' loop to reduce the number of instructions:"

	For 1 2 3 4		; all kites
	  Repeat 10		; repeat 10x
		Speed 100	; temporarily increase speed
		KiteDH 1 "v"	; fly down one unit (fast!)
		EndSpeed	; restore old speed
		KiteDH 0 "^"	; turn nose up again
		Wait 1		; briefly wait in this position
	  EndRepeat
	EndFor

"On my machine this technique caused a flickering image because the kite is sometimes displayed 'nose down' and sometimes 'nose up'."

"One can debate how serious this flaw is: on the one hand I like to have a flawless simulation of my routine, but on the other hand landings only take a few seconds within a five minute routine. I currently use the 'jump' solution because I needed to reduce the number of instructions. Although hardly elegant, any kite flyer will immediately recognize what was really intended. The KiteFlight documentation incidentally lists this problem in it's list of 'Top 10 Complaints'. Peter van den Hamer told me that the problem will be solved by extending the KF1 language in the future. Work on this issue is complicated because Peter wants to provide support for quad-line kites using the same language extensions."

CONCLUSIONS

"It is widely known that KiteFlight is a fine and powerful tool to visualize team- and individual routines on a computer screen. The program proved to be surprisingly reliable. Unless you make a programming error, you should never encounter any real problems. If you do make a programming error, the compiler gives you the exact location and a recognizable description of your error."

"In order to create a routine in KiteFlight, you occasionally need to do some elementary geometric calculations (mainly using the Pythagorean Theorem to calculate ratios of distances in order to determine appropriate speeds). The Sync instruction introduced in KiteFlight 2.0 further reduces the amount of manual calculations by automatically determining the delays needed to get kites synchronized."

"Although full-length routines require quite some perseverance, the results are extremely valuable to visualize and memorize a kite routine. In fact, the time needed to create a KiteFlight version of a routine is only a small fraction of the time needed to design the routine using pencil and paper and the time needed to learn the routine using practice sticks."

"All-in-all, I found KiteFlight to be a marvelous tool to transform your kite routine into an on-screen animation. It can particularly benefit teams during the learning phase of a new routine. The limitations described above and the many hours spent in creating our routine are outweighed by the final results: even after having seen my own routine 100 times, it is still a joy to see the little kites sweep across the screen in impeccable precision!"

"Don't walk, just fly... KiteFlight ! Peter 'Pan' Leclercq"

[Peter Peters' web site] [PvdH] [Home] [Top] [Index] [Other reviews] [Complaints]


.

Top 10 complaints about KiteFlight

  1. KiteFlight doesn't support 4-line kites.

    Correct. A donated Rev I/II or Synergy Deca just might inspire me.

  2. How about a version of KiteFlight which runs under, e.g., Microsoft Windows?

    All versions of KiteFlight run well under DOS and OS/2 (see OS/2 tuning. Under the various incarnations of Windows (3.1x, 95 and NT), most versions are unable to draw solid trails and the movement is jerky. The KF32 version of KiteFlight 2.0 has a special feature which allows it to run smoothly under most versions of Windows. A 'true' Windows version of KiteFlight has low priority because of the effort involved.

  3. It takes a lot of effort to write a large KF1 team routine.

    I regard this as a major issue and many changes to KiteFlight reflect this. But: (a) I think we all underestimate how difficult the technical and creative aspects of writing routines are. A good word processor or score editor will only do so much in helping you write reports or symphonies. (b) Team routines are much more work to write than individual routines because of timing. In fact, when you think about it, routines are really 4-dimensional artworks (X, Y, time, multi-kite). (c) KiteFlight 2.0 incorporates a new Sync instruction which greatly simplifies timing issues when used correctly. The planned AutoSpeed instruction should also help somewhat.

  4. Why can't I enter routines graphically?

    There have been discussions on this topic on Internet. The central issue is whether a simple graphic notation can effectively convey all the necessary information. Although the geometry of the flight path can obviously be described graphically, timing and other control information seem to be much trickier.

  5. How about a "higher" level language?

    There have been extensive discussions on this point too. I think that a more powerful language is possible, but will be very tricky to design and implement. Wh