Want to add a puzzle where the player has to assemble a torn up photo, a shredded document or a jigsaw puzzle? Then this could be the module for you!
After Ghostlady posted in the beginner's tech forum asking how to make a jigsaw puzzle in AGS without running into object limits, I came up with a concept for how to do it using a struct and DrawingSurface routines. Originally this module was developed exclusively for Ghostlady's game, but we figured that others could also find it useful, so we decided to add some more functionality and make it public.
The module allows you to create a puzzle either from similarly sized sprites in a View or from individual sprites, which can be any size and have any final coordinates but need to be set up one by one. To help you do this, the game features a debug mode where you can position each sprite pixel perfect and then output their setup script to an external text file for cut-n-paste.
Ghostlady has been testing earlier versions, but this is the first public beta. I'd love to hear any feedback on bugs, usability and feature requests. Thanks for trying it out! See module documentation for description of functions and their proper usage.
10 May 2009 Update: Problems have been reported when setting "Use low-res co-ordinates in script" to false (AGS 3.1 and later). I will look into this as soon as possible.
11 Jul 2008 Update: No bugs (except the one I found myself) or feature requests were reported for the BETA, so I'm declaring this slightly updated version the official 1.0. The download link should work directly. Many thanks to Joe Carl for suggesting googlepages.
JigsawModule 1.0 including demo game.
The demo game was developed in AGS 3.02 SP1. The module itself should be backwards compatible down to 3.0 (which introduced Dynamic Arrays), but you will have to turn on "Left-to-right Precedence" in the game settings because of a bug in 3.0.1 and earlier.
(The author of this module does not condone the excessive use of gratuitous logic puzzles in adventure games. For everybody's sanity, please limit the use of this module to one or two puzzles per game )
After Ghostlady posted in the beginner's tech forum asking how to make a jigsaw puzzle in AGS without running into object limits, I came up with a concept for how to do it using a struct and DrawingSurface routines. Originally this module was developed exclusively for Ghostlady's game, but we figured that others could also find it useful, so we decided to add some more functionality and make it public.
The module allows you to create a puzzle either from similarly sized sprites in a View or from individual sprites, which can be any size and have any final coordinates but need to be set up one by one. To help you do this, the game features a debug mode where you can position each sprite pixel perfect and then output their setup script to an external text file for cut-n-paste.
Ghostlady has been testing earlier versions, but this is the first public beta. I'd love to hear any feedback on bugs, usability and feature requests. Thanks for trying it out! See module documentation for description of functions and their proper usage.
10 May 2009 Update: Problems have been reported when setting "Use low-res co-ordinates in script" to false (AGS 3.1 and later). I will look into this as soon as possible.
11 Jul 2008 Update: No bugs (except the one I found myself) or feature requests were reported for the BETA, so I'm declaring this slightly updated version the official 1.0. The download link should work directly. Many thanks to Joe Carl for suggesting googlepages.
JigsawModule 1.0 including demo game.
The demo game was developed in AGS 3.02 SP1. The module itself should be backwards compatible down to 3.0 (which introduced Dynamic Arrays), but you will have to turn on "Left-to-right Precedence" in the game settings because of a bug in 3.0.1 and earlier.
(The author of this module does not condone the excessive use of gratuitous logic puzzles in adventure games. For everybody's sanity, please limit the use of this module to one or two puzzles per game )