Wyvern Image Guidelines

The Wyvern engine lets you create your own custom artwork, and use it in areas you create. This is a powerful feature, but your artwork must comply with various restrictions. If your artwork is non-compliant, it will either fail to appear, or we'll remove it from the game.

Creating Custom Artwork

Wyvern artwork consists of images in GIF format. You can create your own artwork and add it into the game. You can use any tool you like to create the images, as long as the final result meets the requirements for Wyvern artwork.

Wyvern Image Spec

Wyvern images must meet the following requirements:

In addition, we recommend (but don't require) the following artistic guidelines:

We haven't done any testing with really large images yet. At some point it should be possible to draw an entire room as one image, and let the players wander around it, but we just haven't done it yet. The game temporarily has hardcoded limits on image size until we work this out.

Certain kinds of objects (for example, roads and walls) require more than one image to be created. This should be documented in the class that implements the object.

Image Naming Conventions

The naming convention used by the game engine requires the base name to be followed by a ".", followed by the direction, if any, followed by the animation frame, if any. Animation frames are numbered from 1. Examples:

If you don't supply all the directions, the game engine will pick the closest available direction when you call setDirection() on the object.

Archetypes

If you're submitting artwork to the game, for Wiz Experience, you'll need to submit "stub" archetypes for each piece of artwork. An archetype is an XML file that describes the object that's going to use your image. The stubs are easy; just do this:

  1. Create a text file with the same name as the image, except it ends in ".arch" instead of ".gif". You can use Notepad to create the file.

  2. Type the following text into the file, making the substitutions listed below:

  3. <arch class="wyvern.lib.classes.weapons.Sword">
      <image path="contrib/wizname/my_picture"/>
    </arch>

  4. Change wizname to your wizard name.

  5. Change the class to one of the classes in the table below.

  6. Change my_picture to the name of the image file, without the extension.

Here are the classes to use, depending on what kind of picture it is:

Object Type Class To Use
Arrow wyvern.lib.classes.weapons.Arrow
Axe wyvern.lib.classes.weapons.Axe
Blowgun wyvern.lib.classes.weapons.Blowgun
Bolt wyvern.lib.classes.weapons.Bolt
Bow wyvern.lib.classes.weapons.Bow
Club wyvern.lib.classes.weapons.Club
Crossbow wyvern.lib.classes.weapons.Crossbow
Flail wyvern.lib.classes.weapons.Flail
Gun wyvern.lib.classes.weapons.Gun
Hammer wyvern.lib.classes.weapons.Hammer
Knife wyvern.lib.classes.weapons.Knife
Pole Arm (e.g. halberd) wyvern.lib.classes.weapons.Polearm
Sling wyvern.lib.classes.weapons.Sling
Spear, Javelin, Lance wyvern.lib.classes.weapons.Spear
Staff wyvern.lib.classes.weapons.Staff
(straight) Sword wyvern.lib.classes.weapons.Sword
Curved swords and all other blades wyvern.lib.classes.weapons.Blade
Whip wyvern.lib.classes.weapons.Whip
Not sure - hand-to-hand wyvern.lib.classes.weapons.MeleeWeapon
Not sure - fired weapon wyvern.lib.classes.weapons.RangeWeapon
Not sure - thrown weapon wyvern.lib.classes.weapons.HurledWeapon
Body armor, robes wyvern.lib.classes.armor.BodyArmor
Shield wyvern.lib.classes.armor.Shield
Helmets and other headgear wyvern.lib.classes.armor.Helmet
Cloak wyvern.lib.classes.armor.Cloak
Gloves, gauntlets wyvern.lib.classes.armor.Gloves
Boots and other footwear wyvern.lib.classes.armor.Boots
Bracers wyvern.lib.classes.armor.Bracers
Amulet wyvern.lib.classes.armor.Amulet
Ring wyvern.lib.classes.armor.Ring
Girdle, belt wyvern.lib.classes.armor.Girdle
Girdle wyvern.lib.classes.armor.Girdle
Spell effect wyvern.lib.classes.magic.Spell
Scroll wyvern.lib.classes.magic.Scroll
Wand wyvern.lib.classes.magic.Wand
Rod wyvern.lib.classes.magic.Rod
Book, Spellbook wyvern.lib.classes.magic.Book
Scroll wyvern.lib.classes.magic.Scroll
Gem use <arch path="objects/treasure/gemstone">
Monster wyvern.kernel.monsters.MonsterImpl
Player wyvern.kernel.monsters.PlayerImpl
Buildings wyvern.lib.classes.Structure
Light source wyvern.lib.classes.Lamp
Keys wyvern.lib.classes.Key
Corpses wyvern.lib.classes.Corpse
bags, knapsacks, backpacks, pouches wyvern.lib.classes.BasicBag
chests wyvern.lib.classes.Chest
ships wyvern.lib.classes.Ship
other vehicles wyvern.lib.classes.Vehicle
terrain types wyvern.lib.classes.Terrain
signs wyvern.lib.classes.construct.Sign
pushable rocks, barrels, etc. wyvern.lib.classes.construct.Boulder
switches you can step on wyvern.lib.classes.construct.ButtonSwitch
doors wyvern.lib.classes.construct.Door
walls wyvern.lib.classes.construct.Wall
levers wyvern.lib.classes.construct.Lever
staircases wyvern.lib.classes.construct.Stair
Fixed, immovable objects (trees, plants, tables) StaticObject
unspecified object that you can pick up DynamicObject

Note: you don't need to create more than one archetype for a monster. E.g. for an elf with four views, you'd just create one archetype for it, like this:

<arch class="wyvern.kernel.monsters.MonsterImpl">
  <image path="contrib/frobmeister/bad_elf"/>
</arch>

Image Creation Tools

There are plenty of icon editors available, but we recommend using sophisticated product such as The Gimp or Adobe Photoshop. The Gimp is 100% free, very powerful, and works on most platforms, including Windows and Linux.