Strange Eons

Customization Guide

Send Feedback      Home Page > Strange Eons > Miriam's Basement > Customization

Getting Started

Strange Eons provides fairly extensive opportunities for customization and enhancement. You can change images, items, costs, editing rules and so forth. By writing an extension plug-in, you can customize it further still by adding new card types, expansions, and other materials. You can even add support for an entirely different game.

Depending on what you want to achieve, you will use different techniques. I'll outline those below. But in each case, you will probably want to access the "Strange Eons resources," the images and settings that SE uses as part of the process of laying out cards. In this article, I'll describe how to get at those resources, and then I'll provide pointers to lead you to the next step of what you want to do. Here is a list of some possible goals, and some of the ways you might use the SE resources as part of achieving your goal:

Customize an Existing Card Type
For example, using different template images for an existing card. In this case, you'll write an extension that modifies the usual settings for an existing card type. You'll need access to the standard resources in order to find the names of the settings you want to customize.

Create a Whole New Card Type
In most cases, the easy way to do this is with a "DIY script". You might not use any of the existing settings directly, but it help to be able to refer to them to get a better idea of some of the things that are possible. You will also want to understand how the standard card settings work if you want people to able to customize your new card types in the same way that they customize the built-in types.

Add a New Editing Tool
Usually this means writing an "activated" plug-in, which appears in the Toolbox menu. Many plug-ins involve tweaking some of the standard settings, either for the entire application or for a specific card. In such cases you'll need to refer to the standard resources to see what can be changed and what settings are available.

Extend the Game Model
This might mean adding new home locations, or a new expansion symbol, adding new tiles to the deck editor or any number of other things. In many cases you need to provide a text file formatted in a certain that described the things you want to add, in which case the the standard copy included in the SE resources will document the format you need to use as well as act as an example. In other cases, it might be possible to make the change just by calling a few functions with the relevant information, and you won't need to refer to any resources.

Extend the Project System
The project system is highly extensible. You can add new kinds of tasks, new project commands, new file openers, new kinds of metadata for the properties tab, and more. You would usually do this with an "injected" plug-in that can be installed and uninstalled while Strange Eons is running, but doesn't appear in the Toolbox menu. For API (programming) information, learn the basics of plug-ins from the plug-in authoring kit or the tutorials on this site, then look at the JavaDoc documentation for ca.cgjennings.apps.arkham.project in the plug-in kit.

Having access to the program resources is the first step to most kinds of customization. The rest of this article will explain how to unpack them, and then I'll point you to where to go next.

The Easy Way: From the Windows Installer

If you use the Windows installer to install SE, getting a copy of the resources couldn't be easier. There is an option to create a copy of them right in your installation directory. I suggest that you check "Plug-in Development Tools" to turn on all of the special developer goodies, but it is the "Unpack Reference Copy of Resources" option in particular that unpacks the resources for you:

Bug: Some 2.x versions have a bug which causes them to create nothing but an empty folder when using this option. This was fixed in 2.1 alpha 2.

Windows installer with developer options selected.

After you install SE with these options, you can open up your copy of the resources from the start menu by choosing the "Resource Reference" item (in the Strange Eons folder).

The Other Easy Way: The Resource Tool

SE includes a tool that can be used to extract a copy of the SE resources. You can use it as follows:

OS X: On some operating systems (notably OS X), the Caps Lock key state cannot be detected. On these platforms, start SE with the --restool command line option to start the tool. Or, you can rename the JAR file to use the .zip extension and then unpack the resources folder manually.
  1. To start the Resource Tool, press the Caps Lock key so that it is on and then start Strange Eons.
     
  2. Once the Resource Tool opens, choose the Extract task. The location of the Strange Eons .jar file should be filled in for you in the first text field. If not, locate the file.
     
  3. Select a new, empty folder to extract the resources into.
     
  4. Press the Finish button and wait a moment for the resources to be extracted (a new subfolder, resources, will be created inside the folder you requested).

The Resource Tool has some other options as well, but these are only used by the SE translation teams and to support custom content created in previous versions of the application. You won't need to use any of them, so you can either continue starting SE or quit at this point.

Looking Around

Feel free to look around a bit. All of the files you see here are only copies, so you can't damage SE by accident. You will find that the content is mostly images (.png, .jp2, .jpg), settings files (.txt, .properties), and scripts (.js). Here are some of the files you might want to include in your tour:

Image Files: Images are the most common type of resource file. An easy way to look through these is with the Image Resource Browser plug-in.

Any image in the SE resources can be used as a portrait, in an <image> mark-up tag (using a res:// URL), or in a plug-in.

Files with the extension .jp2 are highly compressed JPEG2000 images. You can convert them into PNGs that will work with your image editor using a script in the Plug-in Authoring Kit.
resources/settings.txt
This contains the default values for all of the settings keys used to control how Strange Eons looks and behaves.
resources/card-layout.txt
This contains the settings that control how the built in card types are laid out. One way to create a custom component type is to create one of the standard components but change some of its settings to modify its look.
resources/editors/class-map.txt
This file describes all of the built-in card types: their name, category, icon, and what must be done to create them. If you add your own custom card types, you will write one of these to describe your new content. This folder also contains the icons for the built-in components and script code for those components that are created from a script.
resources/board/tile-set.txt
This file describes all of the built-in tiles available from the deck/expansion board editor. As with the class map, if you add your own tiles, you will write one of these to describe them. All of the material in this folder and its subfolders is related to created expansion boards.
resources/libraries
This folder contains the source code of the SE script libraries that make it easier to create custom content with script code. Note that the entire script library is available under a BSD-style license: you can use and modify this code as you wish. You are also welcome to submit bug fixes and enhancements.
resources/text/XX
(Where XX is a language code for one of the supported game languages.) These folders contain the text and data needed to format built-in cards in various languages. I suggest you start with English (EN) as it is the most complete. (If a given translation is missing information, it will generally fall back to the English version as a default.) Languages other than English will typically include a settings.txt file in their folder that customizes settings in the main settings.txt and card-layout.txt files for that language. For example, most languages need to customize the layout of investigator cards to get them to match their official counterparts.
resources/text/interface
This folder contains the various user interface translations. For more information about localization, see the Guide for Translators.

Where to Go Next

Now that you have a copy of the standard resources for reference, you are ready to begin creating your custom content. You'll want to download a copy of the Plug-in Authoring Kit, if you haven't already. It contains a lot more documentation and many examples to help get you started. There are also some tutorials on this site that will lead you through some common kinds of customization projects step-by-step:

Extending the Game Model: Adding a Custom Expansion
Customizing a Card Type: Creating "Enemy" Cards by Customizing Ally Cards
Creating a Brand New Card Type: The DIY System

The Plug-in Authoring Kit contains many examples, including examples of all of the project types described at the start of this article. And for even more tutorials and help, you can venture into Miriam Beecher's Basement.

Return to Home Page    Send Feedback

March 28, 2007  — Updated January 01, 2011