From ScummVM :: Wiki
< AGIWiki
Revision as of 14:29, 24 February 2013 by Sact (talk | contribs)
Jump to navigation Jump to search

WinAGI Game Development System
Developer(s): Andrew Korson
Stable release: 1.1.22 WinAGI
Preview release:
Operating System: Windows
Available in: English
Type: IDE

WinAGI Game Development System

WinAGI is a full featured game development system, that includes editors that provide full control over of all resources in an AGI game. It includes many new integrated tools to assist in game design and development, allowing you to create new AGI games more efficiently and with less effort.

The WinAGI Game Development System was created by Andrew Korson. It may be distributed under the terms of the GNU General Public License.

Compatibility with AGI Studio

WinAGI can read AGI games that have been created with AGI Studio and supports the same logic syntax that AGI Studio supports. However, certain features of WinAGI are not supported by AGI Studio, namely:

  • resource names
  • the alternate, Visual Basic-like syntax (though WinAGI can convert between the two syntax styles)
  • WinAGI project files
  • WinAGI resource file names (for example, WinAGI uses a .lgc extension for logic files, while AGI Studio uses .txt)
  • the global defines editor file format

It is important to note that once you migrate your project to WinAGI, moving the entire project back to AGI Studio would require another significant migration effort. Although the chances are good that you will find WinAGI's feature set good enough that you will no longer need to use AGI Studio, it is worth keeping in mind when considering the switch that AGI Studio has not been updated in some time and does not support WinAGI's new features.

WinAGI Features

Most of WinAGI's features are customizable via the Settings command, allowing users to configure the design environment to suit individual preferences. Users can use menus, keyboard shortcuts or toolbars for most actions, depending on preferred input method.

WinAGI provides many enhancements to your AGI game to assist in development. These enhancements won't be part of the final game, but make the design process go much more quickly:

  • Resource List: A tree-based layout of your game, with easy access to key properties for your game, and individual resources
  • Resource IDs: Each resource can be given an ID to help identify it in logics. This improves readability.
  • Preview Window: All resources can be previewed
  • Import/Export: WinAGI allows you to import and export all resource types, and support several format types for each resource type.
  • Printing: All resources can be printed from within WinAGI.
  • Compiler: WinAGI includes a robust game compiler that allows you to do a full game compile; compile to a new directory; rebuild volume files to reduce slack space, and compile only those logics which have had their source code changed
  • New games can be created from templates or from scratch

Resource Editors

WinAGI includes highly capable editors for all AGI resource types. Every editor includes multiple levels of Undo.

Logic Editor

Features of the Logic Editor:

  • A rich text editor with customizable syntax highlighting
  • AutoText complete feature for AGI commands
  • Supports the 'official' AGI syntax
  • Supports a VB based alternate syntax
  • Includes a tool to easily create loop structures (such as or do...while)
  • Includes a tool to 'clean up' the message section, eliminating clutter and wasted space in compiled logics for unused messages

Picture Editor

Features of the Picture Editor

  • Toolbar for easy access to common actions
  • Drawing tools for all standard picture draw commands
  • New tools for drawing circles, rectangles, trapezoids
  • Test mode that allows you to use any view to validate how the view interacts with the picture
  • Cut, copy and paste feature alllowing easy control over multiple drawing commands
  • drag-an-drop movement control over individual coordinates as well as selections of commands
  • Vertical and horizontal flipping of drawing commands
  • Split and Join feature allowing much finer control of the drawing action
  • Work in split screen mode, or toggle between visual and priority screens
  • Load background images to allow tracing of existing graphics images
  • Show or hide priority lines to help manage picture priority
  • Multi-level Undo capability

Sound Editor

Features of the Sound Editor:

  • Toolbar for easy access to common actions
  • Staff based graphical design window
  • Easy manipulation and complete control of each note property via propery window
  • Preview sounds as MIDI output
  • Choice of MIDI instruments when previewing sounds
  • Import and export sounds as Nick Sonneveld's sound script formatted files
  • Export sounds as MIDI files
  • Multi-level Undo capability

View Editor

Features of the View Editor:

  • Toolbar for easy access to common actions
  • Common pixel based editing tools; pencil, line, box, solid box, eraser
  • Selection tool to easily cut, copy, paste move cel data
  • Clipboard support to allow pasting of cel data, entire cels and entire loops among different views
  • Multi-level Undo capability


Features of the OBJECT Editor:

  • A search-in-logic feature to easily find instances of an inventory object in your game logics
  • Ability to edit the Maximum Screen Objects value for your game, instead of being stuck with the default of 16
  • Automatic detection of duplicate items
  • Multi-level Undo capability


Features of the WORDS.TOK Editor:

  • A toolbar for easy access to common actions
  • Undo command
  • A search-in-logic feature to easily find instances of a word in your game logics
  • Drag-and-drop functionality to add words to logics

WinAGI Tools

Besides the editors for all resource types, WinAGI includes some additional tools to assist in game design.

Layout Editor

To assist in overall game design, WinAGI includes an graphical based Layout Editor. With this editor, you can set the overall design of your game by adding rooms and the exit conditions (i.e. commands based on edge codes or other conditions). The layout editor is integrated with the Logic Editor, meaning that as you add, remove, edit various exits, WinAGI will automatically insert the correct code to move ego from room to room. The Help file provides detailed instructions on how to use the layout editor.

Menu Editor

Instead of manually creating menus, WinAGI offers a Menu Editor that allows you to design your menu in a graphic environment. You can see exactly how the menu will look while you are editing it. Once you have created your menu, WinAGI will automatically create the code and insert it into your logic source file.

Global Defines

WinAGI offers an alternative to the traditional #include file to manage defined names. The Global Defines editor provides a table based editor to easily manage your list of defines. Names defined in the Global Defines list are available to all logics.

In addition, the names for reserved variables, flags and numerical constants are built in to WinAGI's compiler, and don't need to be explicitly defined for each logic.

Custom Tools

WinAGI provides a custom Tool menu that allows you to easily launch other programs or utilities, link to web pages, or to documents, such as text files, etc.

Help File

The WinAGI help file provides documentation for all feautures available in the development system.

It also includes a detailed, up to date AGI reference section that explains all aspects of AGI.

For help with programming, a detailed logic command reference is also supplied that fully describes every single AGI command, and includes programming notes and examples.