E2Lab : Eternity II Editor and Solver

About this release (version 1.09.11.30)


Next versions will include a lot of other possibilities, that will allow users to customize/add solving algorithms, ...

Don't forget to save your puzzle file when your pieces will be created or imported (you can save your work before having totally completed your set of pieces)


Main functionalities list :


Puzzle pieces design
- Designing "by hand" of the pieces
- Imports the well known "piece.txt" pieces definition file (see below)
- Save/Load Puzzle file. You can now choose where you want to save (and from where you want to load) your puzzle file. WARNING : this puzzle file is the E2Lab file (an .xml file). If you want to build your pieces with the well-known pieces.txt file, drag&drop it on the pieces list.
- Pieces checking (to verify if the pieces set corresponds to the real Eternity II pieces)
- Loading/Saving of the pieces definition (the 4 patterns used for each piece) and of the pieces ordering (path used by the solver)

Solving
- Positionning by hand of the pieces, using drag-and-drop from a list of the available pieces.
- Rotation, moving, and deletion of the placed pieces using drag-and-drop and contextual menu (right-click).
- Piece locking : rotations and movements won't be allowed anymore. Usefull for fixed starting piece and hint pieces.
- Piece rotation locking : only piece rotation will be locked. The piece can still be moved. Usefull to test algorithms with a fixed piece orientation.
- Multiple-Pieces Actions. You can make a multi-selection of the pieces (extended selection with the 'shift' key pressed, additional selection with the 'ctrl' key pressed) and then lock all those pieces, or rotate them, etc...
- Solve / Pause-Resume solving / Stop solving functionalities. You can pause the solver to save puzlle snapshots or to see the current resolution status.
- Pieces ordering used as a path for the solver : 
     - Manual ordering 
     - Scanline (row by row) 
     - "Snake" 
     - Expanding top-left corner square 
     - Expanding snail (from center of the puzzle) 
     - Reducing snail (from borders of the puzzle)
- Show/Hide the solver path
- Solving speed vs User Interface refreshing speed control

Solving results management
- Configurable score alerting.
You can be notified, by a message box or an email (version 2.0), when the score of the puzzle reaches a configurable threshold.
When the alert is launched, E2Lab can continue solving or take a break till you resume the solving process (configurable).
Taking a break on a high score alert will allow you to save the current puzzle or to save the puzzle image.
- Puzzle image saving.
You can save an image of the current puzzle, at the size of your choice, in the following image formats : PNG, JPEG, GIF, BMP, TIFF, EMF, WMF
- Real (Eternity II) pieces patterns / Fake pieces patterns. Very usefull to share informations with respect to the game rules (never publish the real pieces patterns).

Global Options and Statistics
- English/French user interface
- User location
You can set your location on a map, enter your name (or pseudo), enter an optional personal message, and specify if you are on the "eternity_two yahoogroup" or not (optional). Sending these informations to the server will make them available on the map after a few hours.

To come, in the next version :
- French language will be back :-)
- Mini User Interface (just the puzzle view)
- 2 other validity checkers will be added
- Activation/Deactivation of the constraints/puzzle validity checkers


Technology



This Eternity II Editor and Solver is written in C#, using .NET Framework 3.5 SP1. So, you will have to install this framework if it's not already installed on your computer.

Using the installation instructions below, you will just have to click on "install" buttons and the prerequisities (.NET Framework 3.5 SP1) will automatically install if necessary.

The deployment technology used in this installation proceudre is Microsoft ClickOnce.

You should use Internet Explorer for easier install, or you can (don't ask me to help you if you have trouble :-)))) ) use Firefox with the FFClickOnce Add-On.
It should even work on latest version of Firefox, without this add-on, as.NET Framework 3.5 SP1 contains a Firefox browser extension to support ClickOnce installations (but Murphy's Law still holds sway).

Why ClickOnce and not just a zip file with the executable file and the configurations File ? ClickOnce will allow you to be automatically informed of updates, and setup will be very easy and fast for those updates (just one click and 3 or 4 seconds). So, as I plan to publish a lot of updates, this is the best way for you to always have the latest version of the Solver.


Installation Instructions

0. If you already have installed this solver, you don't have to follow this procedure. Just launch the application, it will automatically update (with your agreement).

1. Click on the "Install Eternity II Editor and Solver" link below
Install Eternity II Editor and Solver

2. You should access to a setup page looking like this :

Setup Page


Click on the "Install" Button

3. An Installation Dialog Box will apear, with a warning to inform you that you have to trust this software if you want to install it.

Setup Dialog Box


Click on the "Install" Button.

4. Prerequisities will be installed first (.NET Framework 3.5 SP1), and then the application will be downloaded and installed.

Installation Progress Bar



5. Installation Done. The Editor/Solver has been automatically launched.

Solver Launched



To launch it later, you can use the shortcut on your desktop :

Desktop Shortcut Icon


or use the Startup menu :

Startup Menu
  • Designing "by hand" of the pieces
  • Imports the well known "piece.txt" pieces definition file (see below)
  • Save/Load Puzzle file. You can now choose where you want to save (and from where you want to load) your puzzle file. WARNING : this puzzle file is the E2Lab file (an .xml file). If you want to build your pieces with the well-known pieces.txt file, drag&drop it on the pieces list.
  • Pieces checking (to verify if the pieces set corresponds to the real Eternity II pieces)
  • Loading/Saving of the pieces definition (the 4 patterns used for each piece) and of the pieces ordering (path used by the solver)

Solving

  • Positionning by hand of the pieces, using drag-and-drop from a list of the available pieces.
  • Rotation, moving, and deletion of the placed pieces using drag-and-drop and contextual menu (right-click).
  • Piece locking : rotations and movements won't be allowed anymore. Usefull for fixed starting piece and hint pieces.
  • Piece rotation locking : only piece rotation will be locked. The piece can still be moved. Usefull to test algorithms with a fixed piece orientation.
  • Multiple-Pieces Actions. You can make a multi-selection of the pieces (extended selection with the 'shift' key pressed, additional selection with the 'ctrl' key pressed) and then lock all those pieces, or rotate them, etc...
  • Solve / Pause-Resume solving / Stop solving functionalities. You can pause the solver to save puzlle snapshots or to see the current resolution status.
  • Pieces ordering used as a path for the solver :
    • Manual ordering
    • Scanline (row by row)
    • "Snake"
    • Expanding top-left corner square
    • Expanding snail (from center of the puzzle)
    • Reducing snail (from borders of the puzzle)
  • Show/Hide the solver path
  • Solving speed vs User Interface refreshing speed control

Solving results management

  • Configurable score alerting.
    You can be notified, by a message box or an email (version 2.0), when the score of the puzzle reaches a configurable threshold.
    When the alert is launched, E2Lab can continue solving or take a break till you resume the solving process (configurable).
    Taking a break on a high score alert will allow you to save the current puzzle or to save the puzzle image.
  • Puzzle image saving.
    You can save an image of the current puzzle, at the size of your choice, in the following image formats : PNG, JPEG, GIF, BMP, TIFF, EMF, WMF
  • Real (Eternity II) pieces patterns / Fake pieces patterns. Very usefull to share informations with respect to the game rules (never publish the real pieces patterns).

Global Options and Statistics

  • English/French user interface
  • User location
    You can set your location on a map, enter your name (or pseudo), enter an optional personal message, and specify if you are on the "eternity_two yahoogroup" or not (optional). Sending these informations to the server will make them available on the map after a few hours.

To come, in the next version :

  • French language will be back :-)
  • Mini User Interface (just the puzzle view)
  • 2 other validity checkers will be added
  • Activation/Deactivation of the constraints/puzzle validity checkers