GSoC Limited play area: Difference between revisions

From Spring
Jump to navigationJump to search
Koshi (talk | contribs)
Line 9: Line 9:
The new system should allow the map to restrict the playable area to a subset of the global area, possibly adding support for multiple shapes and/or non rectangular shape restrictions.
The new system should allow the map to restrict the playable area to a subset of the global area, possibly adding support for multiple shapes and/or non rectangular shape restrictions.


The restriction shapes should be readable and changeable mid-game trough the engine's Lua API. Proper handling of units which are suddenly off-map needs to be implemented.
The restriction shapes should be readable and changeable mid-game through the engine's Lua API. Proper handling of units which are suddenly off-map needs to be implemented.


== Required skills ==
== Required skills ==

Revision as of 22:09, 11 March 2010

GSoC idea: Limited play area

Why

So the mappers can define which part of the map is designed for gameplay and which for the looks.

Background

Current spring map formats have a harcoded rectangle geometry. They also provide very limited support for defining aesthetics of the surrounding environment outside the play area.

The new system should allow the map to restrict the playable area to a subset of the global area, possibly adding support for multiple shapes and/or non rectangular shape restrictions.

The restriction shapes should be readable and changeable mid-game through the engine's Lua API. Proper handling of units which are suddenly off-map needs to be implemented.

Required skills

  • grep
  • C++ and Lua/C api

Difficulty

Estimated: medium

The code pretty much everywhere assumes that the map top left is always at (0, 0) and bottom right at (width, height). The most difficult part is identifying all places that check for point-in-map condition and determining whether they should be converted to the new limited map area or left as-is (e.g. for drawing.)

Possible Mentor(s)

FORUMLINK

Google_Summer_of_Code_2010