ctrl-alt-Development
Your hotkey to alternative software development
Essential Reading
There are many nice books out there, but a few of them contain such wisdom that I just must mention them here:
Maize Maze Maker Instructions
Distributing a standalone cross-platform Java application is still not a walk in the park, so here some specific instructions to get Maize Maze Maker running on a windows PC.
Download the Java Runtime Environment (JRE) 17
For this I recommend the Eclipse Termurin distribution which has a convienient installer and an open source license. For 64 bits Windows you will need the .MSI installer for the Java 17 Runtime environment.
Install the Java Runtime Environment
Using the installer downloaded from the previous step, install the JRE. There are some custom setup settings you can choose, which need to be set as below:
- Add to PATH: required, selected by default, leave as is.
- Associate .jar: not required, selected by default, turn off as this a potential security risk.
- Set JAVA_HOME variable: not required, not selected by default, leave as is.
- Javasoft (Oracle) registration: not required, not selected by default, leave as is.
Finish the installer, restart if needed.
Verify the install
Now we need to check if Java was correctly installed. Open a command prompt and enter
java -versionThe output should look like the screenshot below.
If you get an error message that the command is not recognized and you didn't restart windows, restart it now and try again. If that did not work, try un-installing and installing the JRE again.
Install and run Maize Maze Maker
The software comes in a zip file. Open the zipfile and extract it to an location of your choice, for example your Desktop.
This will create a folder 'maizemazemaker' with two files in it; a .jar file which holds the program and a .bat file to start it.
Open the folder and double click on the bat file. The program should start.
Using Maize Maze Maker
The screen is divided into 3 parts. The largest part is the drawing area which allows the drawing of the maze. On the left side of the screen is the material, marker and tool selection bar. On the top is the menu bar.
Materials
There are five different materials to draw with.
First is the 'empty' material, which can be used to clear areas. Second is the Maize material (green) which is used to draw maize plants. Then there is the (optional) yellow flower, which can be used to indicate sunflower plants. More important is the brown walker which is used to draw the paths in the maze. Finally there is the blue spanner material which can be used to draw paths intended for maintenance.
Materials are applied to the maze using tools.
Markers
Markers are used to indicate special locations in the maze.
The first two marker tools are used to indicate the Start and Exit of a maze. Each maze needs at least one of each if you want to use the Solver tools or add a solution to the PDF.
The other markers are optional and can be used to indicate a Point of Interest (POI) using the blue flag, a sign, a gate and an emergency exit.
Markers are applied to the maze using tools.
Tools
There are six tools.
The first, the pen, is used to draw the selected material or marker onto the maze area.
The second, the drop, is a special pen which toggles between two complementary materials, for instance maize and path. If the area below is maize, then it is replaced by a path cell and vice versa, making it much easier to draw.
Third is de area select tool, which can be used with the move tool below to move a maze area to somewhere else. Also standard copy (CTRL-C) and paste (CTRL-V) shortcuts work with this tool.
Fifth is the area fill tool, which fills the area with the current material until some boundary is reached. The final tool is the Text tool, which is used to edit markers.
Menu
File Menu
The file menu allows you to start a new maze, based on a predefined field, load and save the maze, and also export it in various formats.
The PDF export generates a PDF document with the design. The level of detail can be adjusted in a dialog.
The Shape file export generates a geocoded version of the maze using a standard ESRI Shapefile for use in other applications, such as QGIS.
The two SVG exports generate a version of the maze that can be used for web or print media, for instance to print a map of the maze.
Quit exits the application
View Menu
The view menu allows you to zoom in or out on the maze and view the design drawing of the maze in a separate screen.
Layers Menu
The layer menu can be used to show/hide various aspects on the maze. These are also bound to the function keys on the keyboard.
Actions Menu
The Actions menu holds various tools to ease drawing or do analysis on the maze.
Using 'background' you can place an image below the maze so that you can more easily draw a custom shape into the corn. Currently this tool is not very user friendly.
Using 'solvers' you can display solutions to the maze using various algorithms.
'polygons' is more a debug tool for the geocoding and has little practical use.
The 'heatmap' can be used to simulate visitors in the maze and find out how long it will take for them to solve the maze (using best, mean, worst outcomes).
The 'grid' menu can be used to double or half the grid resolution.
Finally, the 'Generate Maze' option fills (overwrites!) the maize area with a random perfect maze, which is useful for testing but not for humans!
Reporting bugs and features
To fix a bug I need to know how to reproduce it, so please provide a short description, expected and actual behavior and the steps on how to reproduce it, preferably from the start of the application.
Please also include the log file (maizemazemaker.log) any relevant maze design (.maze) and a screenshot if appropriate.