Free and Open Source real time strategy game with a new take on micro-management

Difference between revisions of "Todo:Interactive Campaign Features"

From Globulation2

Jump to: navigation, search
Line 1: Line 1:
Things to make campaign making and interactivity better (ignore syntax, focus on the concept):
Things to make campaign making and interactivity better (ignore syntax, focus on the concept):
* Implement a light weight, yet powerful and effective scripting language to replace SGSL
* Implement a light weight, yet powerful and effective scripting language to replace SGSL (like squirrel lang)
* Change the current highlighting options to the following:
* Change the current highlighting options to the following:
** highlight(playerid, unitcode, customname)
** highlight(playerid, unitcode, customname)
Line 6: Line 6:
** unhighlight(customname)
** unhighlight(customname)
**: (where customname is the name set when making the highlighted game element)
**: (where customname is the name set when making the highlighted game element)
* Add code to better interact with users current game state:
* Add code to better interact with users current game screen state:
** when mainmenu::opened do
** when mainmenu::opened do
** when flagtab::opened do
** when flagtab::opened do
** when worker::selected do
** when worker::selected do
** when enemy::worker:selected do
** when enemy::worker:selected do
* Add code to better interact with users current gameplay state:
** workerCount(playerid)
** warriorCount(playerid)
** explorerCount(playerid)
** allyCondition(playerid) -> dead, attacked, healthy
* Along with the already implemented ability to set alliances:
** enableFruit() / disableFruit()
** revealMap() or disableFOW()
* Ability to set AI modes on the fly (changing a None to Nicowar for example to start it attacking, then when conditions are met (leader killed for example) being able to change it to the dumber unorganised numbi for the remaining duration of the game)
* Ability to transfer units/buildings from one campaign to another. Suggested ways:
* Ability to transfer units/buildings from one campaign to another. Suggested ways:
** saveMapData() -> loadMap('part2.map') -> loadMapData() <- checking that the maps were the same
** saveMapData() -> loadMap('part2.map') -> loadMapData() <- checking that the maps were the same
** saveMap('part2.map') -> loadMap('part2.map', 'scripts/script2.script') <- loading a saved map with a new script (overwriting default one in the map)
** saveMap('part2.map') -> loadMap('part2.map', 'scripts/script2.script') <- loading a saved map with a new script (overwriting default one in the map)
** saveMap('part2.map') -> loadMap('part2.map', 'script2') <- loading a saved map using a script embedded into the map header
** saveMap('part2.map') -> loadMap('part2.map', 'script2') <- loading a saved map using a script embedded into the map header
* Ingame timer commands from the moment a command is executed, for things like "you have 5 minutes to build up forces", and the ability to check it (would at the same time enable the ability to limit total game time)
** timer1 = startTimer()
** print timer1
** endTimer(timer1)


More to come
More to come

Revision as of 00:56, 29 June 2008

Things to make campaign making and interactivity better (ignore syntax, focus on the concept):

  • Implement a light weight, yet powerful and effective scripting language to replace SGSL (like squirrel lang)
  • Change the current highlighting options to the following:
    • highlight(playerid, unitcode, customname)
      (where playerid is the player whos units should be highlighted, unitcode would be constants (WORKERS, MAINMENU_BUTTON, RIGHT_SIDEBAR, BARRACKS, FREE_EXPLORERS, and FLAG_TAB for example), and custom name is a string that can be used to unhighlight in the next code
    • unhighlight(customname)
      (where customname is the name set when making the highlighted game element)
  • Add code to better interact with users current game screen state:
    • when mainmenu::opened do
    • when flagtab::opened do
    • when worker::selected do
    • when enemy::worker:selected do
  • Add code to better interact with users current gameplay state:
    • workerCount(playerid)
    • warriorCount(playerid)
    • explorerCount(playerid)
    • allyCondition(playerid) -> dead, attacked, healthy
  • Along with the already implemented ability to set alliances:
    • enableFruit() / disableFruit()
    • revealMap() or disableFOW()
  • Ability to set AI modes on the fly (changing a None to Nicowar for example to start it attacking, then when conditions are met (leader killed for example) being able to change it to the dumber unorganised numbi for the remaining duration of the game)
  • Ability to transfer units/buildings from one campaign to another. Suggested ways:
    • saveMapData() -> loadMap('part2.map') -> loadMapData() <- checking that the maps were the same
    • saveMap('part2.map') -> loadMap('part2.map', 'scripts/script2.script') <- loading a saved map with a new script (overwriting default one in the map)
    • saveMap('part2.map') -> loadMap('part2.map', 'script2') <- loading a saved map using a script embedded into the map header
  • Ingame timer commands from the moment a command is executed, for things like "you have 5 minutes to build up forces", and the ability to check it (would at the same time enable the ability to limit total game time)
    • timer1 = startTimer()
    • print timer1
    • endTimer(timer1)

More to come

Misc