Flash Game Engine (basic) - Tile based, with Map Editor (saved into an XML file). AS3, in CS4 or CS5/5.5
Flash Game Engine:
Menu with one button to Select a Map.
Map Selection Menu, based on how many maps have been created it will generate a 10 x 5 row of movieClip cells with a button in each, numbered for each map created with the title from a [url removed, login to view] file. On clicking a button it will load up the corresponding XML ([url removed, login to view], [url removed, login to view] etc) file to generate the map on an (x, y grid) and apply the tiles from the library based on the value. It then places objects on the tiles, based on their (x, y grid) location and behaviour and usage type.
Basic Character (with WASD and arrow key movements) on the map, player should spawn/start on load up from the tile with a behaviour of start. Health bar with 3 lives shown as heart shapes (movieClips)
1 - Player Spawn/Start point
2 - Brick Wall (player cannot get past this wall - must have good collision detection)
3 - Unlocked Door (player can walk through the door)
4 - Locked Door (requires a key to change the door state to 3) - has collision detection until unlocked.
5 - Fire (if a player lands on this tile, they lose a life)
6 - Mound of Earth (if a player has a spade in their inventory, they can USE the spade by pressing the EQUIP button in their inventory) and then pressing U on the keyboard, this will dig the mound and change it to a behavour of 7
7 - Hole in the ground
Each tile behaviour can have one action linked to it. For example: lose a life, spawn player, etc.. more details of this in the Map editor.
4 x 4 slots for picking up items and using them in the game. Two buttons (Equip, Drop) - Equip adds the item to the players selected item. Drop, leaves the item where the player is located on the grid.
Spade - to dig (this object can only be used on a Mound of Earth)
Key - this object can only unlock doors for the x, y grid location specified in the object properties) - see map editor.
Coin - this object can be picked up and is then added to the coin icon with number value on the GUI
Treasure - this object can be picked up, added to the treasure icon with number value on the GUI
The game engine is separate from the Map Editor.
The map editor can create a tile based grid, specified at the start of a new map. For example 32x32, 64x64, 128x128, 256x256, 512x512, 1024x1024. Each grid cell should have a small grid reference of (x, y) in the corner.
Not all tiles would be used, by default all tile blocks should be 0 (blank). Based on the tile behavour numbers on the game engine, by selecting a tile from the available options in the scroll pane, it will show what tile you have selected, then by clicking on each square on the grid it will populate it with the tile selected. Each tile can also have an action associated to it, like: Lose a life, Use a Spade, Spawn Player. There should be a drag and drop list of behaviours that can be used multiple times and added to each populated tile.
An object list can also be drag and dropped on each of the tiles, so when the game loads up the map, these are already populated on the tiles for the player to pick up and use. For each object placed on a tile it opens up a properties window, this window allows you to specify constraints; can this object be picked up - checkbox, which tile (x, y grid location) can this object be used, does the object vanish after use. All this information is stored in the XML file for the map.
Once the Map has been created by applying tiles to the grid. there should be a SAVE button where you can specify a map number as the filename, for example (1, 2, 3 ,4 ,5...) this saves the filename as [url removed, login to view] ... etc along with a title of the map. This then generates a new [url removed, login to view] with all of the map numbers and titles by reading the map xml files.
Other button: NEW (creates a new Map with a blank grid) + LOAD (lists all of the available maps to load by title)
8 freelancers are bidding on average $758 for this job
Professional flash developer at our service.I will deliver the finished job with your all requirements well within 2 weeks within your [url removed, login to view] check [url removed, login to view]