please ask if you want more detailed explanations

(requires GameMaker)
(executable, requires DirectX / Windows)
8 Dec, 2006. Further improvements to Version 1_1. A counter has been added showing how many countries are off the map and applause has been added when all countries are successfully returned to their correct positions.
25 Nov, 2006. Improved Version 1_1. the names of the countries appear as you return them and a sound plays, there is a "what's left" button, the difficulty buttons are moved off the screen during game play and the 5 islands are different colours and now have templates to assist their location.

Version 1:
28 Oct, 2006: It's finished, well, it's a playable prototype with all countries and five levels of difficulty!
To play it you will need Game Maker 6, free download from
Please post feedback and suggestions for further improvement.

  1. Five time zones and seven climates .. an early map level could start with the continent cut up into these parts, bigger and perhaps easier to handle and reassemble.(RG 29 Oct)
  2. Problem: The small islands are harder to locate, because they are not included in the template. Cape Verde on the West Coast is mixed in with the countries that jump off the map, even if it does not jump off the map. Solution: (a) Add a template for the small islands in the easier versions. Done (BK 26 Nov, 06) ; (b) take the Cape Verde area out of the jump off space (BK 30 Oct)
  3. In the hardest version the 4 small islands create another problem because they have identical sprites and you can't see their names, which means you have to attempt to place up to 4 different objects in the correct position - much harder than placing the other countries. Solution: I've made the 4 islands different colours. (BK 25 Nov, 06)
# Have a "what's left" button which will collect the not yet located countries in a smaller area than the initial jump off area. Particularly important if some small countries of similar colour to background larger countries are dropped onto the map and become hard to see (BK 30 Oct). The latest version now has a "what's left" button. (BK 25 Nov, 06)
  1. The "what's left" button could also display the number and names (depending on the level - names not shown for the hardest level) of the countries still not placed back onto the map. Alternatively, the number of countries left could be a permanent feature, ie. display a counter of the number of countries left at all times (BK 21 Nov)
  2. Make the difficulty level buttons disappear after "jump off" and then reappear when successful relocation occurs (BK 30 Oct). Done (BK 25 Nov, 06)
  3. Add music, any ideas on what is suitable, without breaking copyright? (BK 30 Oct). I had a look but couldn't find any suitable african midis on the net - let us know if you find one (BK 8 Dec)
# The game doesn't play correctly on an 800x600 screen resolution, it is no longer possibly to successfully click the 'easy' and 'easiest' buttons (BK Nov 11) Solution: It is possible to set the screen resolution through Game Maker but I'm reluctant to do this (BK 25 Nov 06)
  1. It would be better if the names of the smaller countries reappeared one by one when they were successfully returned to their correct positions (BK Nov 11). The latest version now has this feature (BK 25 Nov, 06)
  2. brighter colors would be more "fun" :) (practicaly speaking, the colors are very similar in hue and hard to distinguish shapes) (SD Nov 8)
# Also, what about a sound? like when you get the shape in the right position? some way of understanding that you did it right. (SD Nov 8). Done (BK 25 Nov, 06)
  1. Add a clock and a high score table, based on time taken for each level (BK 13 Nov). Have decided not to do this, I don't like the race against time feature. (BK 8Dec)
# Load an image of Africa as the game starts (BK 13 Nov). Done (BK 25 Nov, 06)
  1. Commence in full screen mode? (BK 13 Nov)

The name objects have been refactored into NameLrg, NameSml and NameSelected since the large and small countries are named in different ways. This made it easier to code the different buttons correctly. The images have been redone, eliminating the white borders because they were too hard to matchup accurately when the map came together. It looks better than 7a

I now have 7 small countries from the west coast added to the map. I am starting to position their names so they can be read clearly (not finished). For the Easiest button the name object changes when pressed (not yet done for the other buttons) so the pointers disappear. I have made the button code more efficient by using a script. It still looks ugly because I haven't erased the old name from the larger countries or redone the old images yet.

I have all five buttons working (easiest, easy, medium, hard, hardest). Game Information explains the parameters. I have the names put onto the countries programmatically in correct positions (but still haven't erased the old names so it looks messy). I have the name pop up (different colour and position) and the mouse pointer change to a hand when you select a country for dragging.

To do:
  • Make new copies of all countries
  • Situate names clearly for the small countries

I've written a small prototype to solve the name pop up problem for the smaller countries. Still not finished but here is a draft. It's probably best to put all the names onto the countries programmatically. This is an essential feature for the small countries. I've updated the country array 2D (countryObjectName, countryName) to help achieve this. Have made the mouse pointer change into a hand when it passes over a country. I have just one small country on the prototype (Gambia)

Further challenges / problems:
  • Mouse pointer does not change to hand if you move from one country to another touching or overlapping country
  • For the small countries I need two versions of the name, one for the final map (the position of the name depends on where the country fits into the final map) and another for when the user is moving the country (pops up above the country)
  • the country borders on verson 6b are messy. I plan to make all the countries again using the template showing borders as a clean starting point.

I fixed an error which came from the moving of code in objControl to objParent, which would select multiple countries beacuse the code was in the Global Left Mouse Button event, instead of the Global Left Mouse Button Press event. Also, the bug where you win if you click the map at the start has been fixed using a variable from objButtonEasy.
-Mitch June 29

version 5c:
I like the features mitch has introduced:
  • putting the smaller countries in front
  • your variables used and click to increase control
  • countries move to mouse with global left click

I've added extra comments throughout and tidied up the code in places, indenting and matching curly brackets. I
noticed that there is a global left mouse click already in objParent so moved objControl code over to there

  • I corrected a bug of mine which meant that sometimes countries nearly disappeared out of the top of the room
  • if you click on the map at the very start the "you win" message pops up (not fixed)

Problem: Smaller countries might jump behind larger countries and when you drag the larger country you can't see the smaller country behind it Fixed