Designing Games with Xconq - Designing with the Mac Interface

Go to the first, previous, next, last section, table of contents.

## Designing with the Mac Interface

Designer's tools and capabilities are available via the Design item in the Edit menu, or by typing ``design'` into the Command window. The display changes to show you everything in the world, you get a number of special privileges (such as the ability to look at and move ANY unit), and you get a designer's tools palette.

- Using the Palette
- Mac Interface Images
- IMFApp
- Mac Interface Sounds

### Using the Palette

In general, palette items use Option-click and Option-Shift-click to cycle through possible values, and many also have a popup menu. Also note that the selection can be changed without changing the tool; you have to click in the tool and get a heavy border around it before the tool is actually changed. Each type of designer tool has a distinct cursor when over a map window, so look for that as well.

`Normal`
  In this mode the mouse behaves just as in normal survey mode.
`Painting Terrain`
  If you select the terrain item in the palette, then clicking/dragging in a map paints the current terrain type displayed in the palette (Option-clicking the terrain item cycles through all the types, Shift-Option-click does the same thing in reverse order). The background terrain type can be cycled via Command-click and Command-Shift-click.
`Creating Units`
  The unit item includes a popup of all unit types. Use it to select the unit type you want to create, then clicking on a map window will place the unit at that location. Unit placement ignores stacking limits, terrain compatibility, and other issues, so you may be able to place a unit but not have it successfully appear there when a player tries to use the game module. The side item includes a popup with all the sides listed, including the "independent" side. Use it to set the side with which a new unit will be created. Not all units are allowed on all sides - Xconq marks the sides that are allowed with the current unit type, and the unit types that are allowed with the current side.
`Painting People`
  If you select the side item in the palette, you can click/drag in a map to set the side of the people in the cells clicked or dragged over. Note that the chosen side affect either people painting or unit creation, depending on which item is selected as the painting tool.
`Creating Named Features`
  The features item in the palette includes several buttons and a popup menu that displays all the features currently defined. You can click on the buttons to create, destroy, and rename a feature. You can add or remove cells of a feature by painting in any map.
`Setting Brush Size`
  The Brush item sets the area of effect of the painting tools. A brush radius of 0 (the default) results in painting affecting only the cell in which the mouse is clicked or dragged, while a radius of 1 causes the adjacent cells to be affected also. Adjust the brush size up and down by option-clicking and option-shift-clicking in the brush item.
`Painting Elevations`
  You can set the elevations of terrain by selecting the elevations item in the palette, then painting in any map.
`Painting Views`
  When you select this item, you get a tool that toggles the designing side's view of a cell. The toggle goes between unknown terrain and an accurate view of the cell and any units in it.

### Mac Interface Images

If you want to change the icons and pictures in an existing game, or if you want to define new ones, you can do this either with a resource editor such as ResEdit, or with a resource compiler such as Rez, or by editing the portable "imf" files. Xconq can use PICTs, icons, and patterns to draw with; collectively these will be called "images". A group of images that all represent different views of the same thing is an "image family". The concept is similar to the icon families used by Macintosh programs, but is much more general, since you can have any number of images of different sizes and depths, as well as images embedded in each other.

#### Icons and Patterns

The resource file `:lib-mac:Images` is the main repository of Mac imagery. You can resource-edit this file, close it, start up Xconq, and see the results. For instance, if you want to improve the appearance of the "city20" image, you will find a 32x32 `'cicn'` with that name as well as a 16x16 'sicn'. You can modify these as you like. Note that the 'sicn' includes a mask sicn, as does the `'cicn'`. Masks are optional, but improve the appearance of the images. If you have a new type in a game and you want an image for it, just create a resource, such as a `'cicn'`, give it the name of the type or its `image-name` property, and you're done.

The standard resource types for images are `'cicn'`, `'ICON'`, `'PAT '`, `'ppat'`, `'SICN'`, and `'PICT'`. If a resource of one of these types has a name matching the `image-name` (or the type name if no image name is defined) of a type in a game, then Xconq will use that resource. There are two additional resource types: `'XCic'` and `'XCif'`. The `'XCic'` resources are named colors that can be referred to via `color` properties of types and sides. `'XCif'` resources are raw image family forms in GDL syntax. If the contents of an image family can be totally defined by the standard resource types, then there need not be an `'XCif'` resource, but if an image has any embedded subimages, or a specific location for subimages, then this information will be in the `'XCif'` resource. You can edit by defining this resource type as `'TEXT'`, which will give you a text editor for the resource, or by just opening the `'TEXT'` editor on the resource. For more details about the syntax of image families in GDL, see the reference manual.

Warning: don't ever make a `'cicn'` with id 256! For some reason, if there is a `'cicn'` 256 in either the application or in any of the resource files that it has open, the small color icons in both the apple menu (far left) and the application menu (far right) become small unrecognizable blobs. This effect seems to be innocuous behaviorwise, but the appearance is poor, and users choose menu items by looking at those icons, so trashing them is a bad thing to do.

#### Game Preview Pictures

If the Resources file has a PICT whose name is "<game-name> game", then if a player selects <game-name> in the new game dialog, this PICT will be displayed in the dialog. This is useful to give prospective players more of an idea of what the game might be like, plus it's a chance to show off your artistry! (If you're a lousy artist, just make a screen shot of the map and use that.) The area for the picture is about 200 pixels across and 100 high; pictures smaller than that will be centered, while larger pictures will be clipped to fit.

### IMFApp

IMFApp is a utility for examining and converting the image families used by Xconq.

The general concept of image families is similar to that of the Finder icon families, where several depths and sizes of an icon are available for use in different situations. Xconq adds extra complexity to the concept by including tiling patterns, by allowing icons to be embedded in each other, and by using the same image families on several different platforms.

The platform-independent format would be hard to edit, so IMFApp includes functions to convert between the common format and Mac resources. These functions are available from the File Menu.

In addition, IMFApp also allows you to look at the images. You can control the images' size, overlay, and use of color. The primary use for this is to test how an image works in various situations. Also, if you design games, this is a good place to start when choosing images for your game. Since there are hundreds of images available already, the chances are good that the images you want have already been designed.

The File menu has items to open and save imf and resource files. New clears any existing images. Opening multiple files merges their contents.

The Edit menu is not used.

The View menu includes all image appearance controls. Everything in this menu affects only the display of the images, and does not, in any way, affect the image families themselves. Display options include size of images, color/mono, name, mask, background/emblem images, and more.

### Mac Interface Sounds

Mac Xconq handles sounds in a very simple way. The resource file ``:lib-mac:Sounds'` includes a number of named `'snd '` resources. If an event movie includes a form like `(sound "pop")`, then the event occurs, Mac Xconq will look for a sound resource named `pop` and play it.

Go to the first, previous, next, last section, table of contents.