Strange Eons

Introducing the Project System

Send Feedback      Home Page > Strange Eons >Miriam's Basement > Project System Tools

Contents

Introducing the Project System
Creating a New Project
Adding a Task
Automatically Building a Deck of Cards
Creating an Expansion Icon Plug-in

Introducing the Project System

The Project System is a feature of Strange Eons designed for those who are working on a related collection of files. For example, an entire deck of cards, an expansion, or a plug-in (or all of these at once!). Inside of a project, you add one or more tasks depending on what you want to do.

On your computer, a project is just a regular folder. Strange Eons can recognize project folders because they contain a file, seproject, that contains the settings for the project. But when you open the project in Strange Eons, by either dragging and dropping the folder or using the File | Open Project command, Strange Eons will show the project in a special pane on the left side of the application window. When you right click on a file in the project, you will get a special menu of commands that you can perform. The set of commands will change depending on the kind of file and the task it is a part of. For example, if you right click on a plug-in bundle, one of the options lets you test the plug-in by running a separate copy of Strange Eons in a special test mode.

Creating a New Project

To create a new project:

  1. Choose File | New Project.
  2. Enter a name for the project.
  3.  If you wish, change the "resource identifier." This identifier is only used by projects that will contain new plug-ins. It is used to prevent plug-ins written by different people from conflicting.
  4. Initially, new projects will be created inside of your "documents" or "home" folder, depending on the platform. You can choose a different folder if you wish.
  5. Choose Make Project.

Your new, empty project will be created and immediately opened.

Adding a Task

Within a project, tasks are used to split up your work into manageable chunks. Each task represents both a kind of activity and a  collection of related files. For example, one type of task is a Deck of Cards. For each deck that is part of your project, you would add one task of this type. Then you would create all of the cards related to a deck in its respective task folder. The type of task you choose is important, because the commands that the project system provides will depend on the kind of task.

To create a new task:

  1. In the project area, click Add New Task (or right click on the project name and choose New | Task from the menu).
  2. Enter a name for the task.
  3. Choose the task type.
  4. Press Add Task.
  5. Depending on the type of task you requested, you may be presented with additional options.
  6. The new task folder will appear in the project view and you can start working with it.

Once your new task is ready, right clicking on the task folder or files inside of it will present you with a menu of special commands tailored to the kind of task. In this demo, the new card deck task provides a New | Game Component command that is used to add a new card to the deck:

Automatically Building a Deck of Cards

For the technically-minded, the deck packer uses a variant of the first-fit decreasing bin packing algorithm.

The packer is available to plug-in authors to use for other purposes.


One of the features of Strange Eons is a deck editor that allows you to lay out decks of cards, tokens, custom expansion boards, and other content. Although creating a deck of cards is easy with the deck editor, it can get tedious for large decks, or if you want to provide the same deck in different formats. Here is where the project system can help: it provides a special command for deck tasks that will make a deck of cards for you. The command is fairly clever at laying out decks, too: it can handle a mixture of different card sizes, it groups cards that are the same type and size together when it can, it knows what to do with front and back sides, and it does a good job of minimizing the number of pages needed for your deck.

Making a deck with the deck packer couldn't be easier:

  1.  just right click on a deck or factory task and choose Make Deck. The deck packer provides a few options to choose from:
  2. First, choose a file name.
  3. Choose whether cards with two sides should be laid out side-by-side (so they fold together) or on the front and back sides of a single sheet of paper. If card faces are laid out side-by-side, you can also choose to create groups for them so that selecting either face selects the entire card.
  4. Finally, you can choose a value to trade off between the quality of the packing and how quickly it works. The packer generally works well even on the fastest setting. Setting it to higher values only makes a difference in certain tricky cases, but can take a lot longer.

Creating an Expansion Icon Plug-in

Note: Version 2.1 alpha 9 contains a bug that prevents this from working correctly. This has been fixed for the next release.

The project system includes support for creating plug-ins. One of the most common reasons that people write a plug-in is to register a new expansion to the program. Because this is so common, the project system even lets you create this kind of plug-in with a few clicks.

To register an expansion to go with our new deck, we start as if we were making any other kind of plug-in:

  1. Choose Add New Task.
  2. Enter a name for the task ("Expansion Icon Plug-in").
  3. Choose the New Plug-in task type (not Import Plug-in!).
  4. Press Add Task. A dialog appears to guide you through the process.
  5. The Plug-in Name is the name that will appear in the plug-in manager and other places. Fill in something like "GME Expansion".
  6. The Bundle Name is the name of the plug-in bundle (the file that you install to use the plug-in). The Script Name is the name of the script that will be created in the plug-in. This script will contain the code that Strange Eons runs to start the plug-in. Both of these will have values filled in already based on the Plug-in Name. You can just leave them as they are.
  7. The Description is a short description of what the plug-in does. Fill in "Adds an expansion icon for the GME".
  8. Choose the type of plug-in. For an expansion icon, this must be set to Extension. See here for an overview of the different plug-in types.
  9. Press Continue to go to the next step. This page provides options that will write plug-in code for you. In this case, check only Register a New Expansion.
  10. Press Continue to go to the next step. This is where you describe your expansion icon. Enter the name of the expansion in the Expansion Name field, in this case "Gilman Memorial Exhibit". The code field will be filled in for you, but you'll have to change it if it is the same as an already-registered expansion.
  11. Now you get to choose the icon and symbols used for the expansion. The icon is the graphic that is used to represent the expansion in the expansion menu and other parts of the interface. The symbols are what get printed on the actual game components. You can either drag and drop image files onto the boxes, or else click on them to open a file chooser.
  12. The first symbol box is the version of the symbol that is used on light-coloured cards (so the symbol should be black or another dark colour). The second, "inverse" symbol is used on dark-coloured cards. However, you can create an inverse symbol automatically by checking the box below the images.
  13. Press Continue to go to the next step. The last page has an option to localize the generated code. This lets you make plug-ins that support multiple languages. We'll leave this option turned off and just press Finish.
  14. The code for the plug-in will be created and your selected images will be copied into the plug-in's resource folder. The task folder now contains the unpackaged files needed for the plug-in. When a plug-in is installed or distributed, these files are packaged up into a bundle. To create a bundle from the task folder, just right click the folder and choose Make Bundle. Everything will be packaged up and the bundle will be placed in the main project folder.
  15. To test your new plug-in, right click on the bundle and choose Test Plug-in. A special test version of Strange Eons will be started, and it will start the tested plug-in automatically. You can tell this version of Strange Eons from the normal non-test version because the interface will be tinted in a gold colour. When the test version is done starting, create a component and then set the expansion icon to your new custom icon (Edit | Expansion Symbol | Gilman Memorial Exhibit). Exit the test application when you are done.

Strange Eons Plug-in Tester

Return to Home Page    Send Feedback

January 19, 2010  — Updated March 15, 2010