Read this chapter as a list of possible projects that you could do
or a list of design ideas that I'd like to implement in BURRTOOLS. This
is not a list of functionality that I will do, but that I'd like to
So, what are our future plans? There are a lot of things still
missing (or in need of improvements) from the current program. A list
of things that might be interesting to implement are the following:
- Add some special algorithms that are faster for certain kind of
puzzles. The current algorithm is quite good for nearly all puzzles,
but it's not the fastest.
- Add more colour constraint possibilities, e.g. edge matching, ...
- Add more different space grids, add parameters to some grids
(lengths and angles).
- Add rotation checks to the disassembler.
- Add a shape generator: create all piece shapes that fulfil certain
rules (shape, colours, union of two shapes, ...)
- Libraries of shapes to import pieces from.
- Add tools for puzzle design (see below).
- Make it possible to divide problems so that they can be solved in
parallel on several computers and then the solutions are back together
in one file.
- Improve multi-threading so that multi-core CPUs are better used.
- Better tool for colourization of a piece. E.g. checkering, but it
needs to be more general than just checkering.
- Create a debug window to make it possible to find out why there is
no assembly or why an assembly can not be taken apart.
- Speed improvements.
- ''Unificator'' a tool that makes it easy to check the results of
adding colour constraints. For example: suppose you have designed a
puzzle with one interesting solution and many uninteresting ones and
you want now, by adding colour constrains, make that one solution
unique. It can be a labour intensive task to do that. The unificator
would help here by quickly showing the results of adding colour here or
making a piece that colour, ...
- exploded view
We would be very happy to get contributions from other people. After
all there are quite a few people out there that have their own puzzle
solving programs, maybe they have some nice additions. There is one
important thing to keep in mind: the additions have to run on LINUX. So
you can not use any proprietary library that is not available for