Prototype 4 finished

Prototype 4 finished

The new features:

  • Mountains (or maybe big boulders is a better description) have been introduced.
  • Transports can now crash with for instance other transports, mountains and magnets.
  • Transports can now dock with landing pads.
  • Landing pads can now launch docked transports.
  • A way to visually see the map sectors' powers has been introduced.

magtransports_news4.jpg

Here is an example of a big boulder. The big boulders have the same polarity as the ground, hence it acts as a low power repellent versus transports. Unfortunately a fully powered attracting magnet has been placed next to the boulder, so transports are sucked in anyway.

magtransports_news5.jpg

Here we got a couple of examples of crashed transports. The crashed transports will just lie there for the rest of the game. The bad part about crashing transports is that the crashed transports are still active magnets (repelling other transports), they are also obstacles that other transports can crash into. A new dialog is also displayed, it is brought up by double clicking one of the big metal landing pads. The dialog allows the player to launch docked transports from the landing pad. There will be an limited amount of transports in the game so it's better to think first and launch later.

magtransports_news6.jpg

The grid pattern displayed is the new visual overlay describing the map sectors' different power levels. The power levels fluctuate and gradually change over time, hence it's important to take a look at the overlay every now and then by pressing the tab key. The lighter the zone the higher power level. The power level decides the amount of acceleration force provided by the sector to the transport, so a flight path that once worked might not work five minutes later (although it should only take a couple of tweaks to guiding magnets to make it work again). The visual overlay was not originally part of prototype 4 but the rest went too fast so I added some more to it.

magtransports_classes6.gif

The class diagram is about the same as last time, a few classes have grown a bit and some minor classes have been added. The only notable change is that I decided to change the way the interface Configurable works. The interface, which is now named DialogDisplayer, provides a complete dialog instead of the building blocks to make one. It gives the class implementing DialogDisplayer a bit more control and enables them to make higher customized dialogs at a low cost of a bit more (but less confusing) code.

I'm not really sure how hard the next (and last) prototype will be. The win condition part is obviously, with docked transports, a piece of cake but the map generation is something I have never done before. I guess it all depends on how good I want the generator to be. The main thing that I have in mind is to basically let it place things out at random with X landing platforms at minimum distance from each other. Then it will have to make sure that there are no trivial paths. I'm not sure how good maps that will create, but I suspect that I will have to rethink the concept once or twice. I will also add some kind of scrolling functionality to prototype 5 as it will be needed in the game.