(some additional ideas copied from the web site)
More Scoring Opportunities
At the moment, tallying up the remaining fuel is a bit flawed so it needs something else. The original Lunar Lander game rewarded the player for choosing to land on more difficult landing pads. I could do something like that, but have a few other ideas in mind. There may be a way to determine if a landing is particularly spectacular or dangerous and provide extra points for that. Or giving a bonus if the lander is kept upright (within a few degrees) at all times that a rescuee is on board. I like the idea of rewards for extreme behaviour - providing a safe journey for your passengers or scaring the hell out of them.
Fuel Cannisters
Place cannisters around the level which replenish a small amount of fuel. This will alow for much more complex and demanding levels, and and element of risk/reward when deciding to go for more fuel. I was thinking of implementing them as their own landing pad, but just having little icons floating around that need to be flown through will be help to keep the game flowing.
Multiple Passengers
Allow picking up more than one rescuee at a time, but have their weight slow the lander down. Given the same amount of thrust, the added mass will result in lower acceleration which in the long run will require more fuel to get around. This will also come into play when trying to navigate moving obstacles where speed and timing is critical.
Moving Obstacles
Allow creation of polygons separate from the boundary. These can be made to rotate around a point or oscillate between two points, and will create interesting obstacles that require timing to navigate. Even a static obstacle can be used to create more than one pathway to an objective, each with their challenge.
Large Levels
Levels will be larger than the screen size, requiring the screen to scroll when approaching the edge. I’ll have to put in some arrows giving a hint as to where the rescuees are when offscreen, although the best path might not necessarily be the most direct one. This will require fuel cannisters as mentioned above, in order to allow for some exploration.
Filling Levels
Some levels can appear to fill with water/lava, which will consume rescuees. This will only really work if we make it optional to rescue everyone. A finish pad at the end will be the target. Once a rescuee is consumed by the rising liquid, they can no longer be rescued. Falling into lava will also prove fatal for the lander, but perhaps water will just slow it down considerably.
Additional Forces
Gravity and its own thrust are the only two forces acting upon the lander. It would be feasible to add some new forces, such as wind operating through certain areas of the map or a gravity well. There will need to be some form of visual cue to indicate their presence and the sort of effect they will have on the lander.
Defensive Structures
One design decision I made and will probably stick to in quite a few games is to avoid portraying acts of violence. As much as I love shooting the place up, I do like the idea of creating something for kids. Having said that, there may be scope for some sort of gun emplacement that fires very slow moving projectiles in the direction of the player. There will be no ability to fire back, but they should be easily avoided.
Bonus Round
Regularly spaced levels which have a different, but perhaps slightly more hectic game mechanic. They become a top-down scroller with no gravity, where the objective is to pick up randomly located rescuees floating in space. The lander always moves forward, and can shift left and right but not rotate. Various bonuses can also be picked up. We might have obstacles, such as asteroids that move down the screen.
Persistent User Accounts
The user is assigned a unique key from the site the first time they play. This is then used when uploading their scores, custom levels (see next item) and registering achievements (also below). I don’t think we can do this effectively in an Applet without either using the Persistence API (requiring the applet be signed), or somehow using cookies from the browser. I really want to avoind the user having to trust an applet - personally I’m extremely hesitant when doing this.
In Game Editor and Level Sharer
Rather than just save level files and open them in the editor, allow the user to upload them to the site and browse levels uploaded by others. Perhaps even have the actual game levels loaded dynamically from the site, with the ability to rate a level.
Achievements
Once we have a persistent account mechanism, implement achievements to make replaying the game enticing. These can be shared and compared with other players. Things like completing certain levels without loss of life, registering best times for each level etc.