Wednesday, December 21, 2011

[log] SoundRTS 1.1 alpha 8 released

Available at:

The main changes since 1.1 alpha 7 are:

  • bug fixed: now the mages tower can research meteors
  • bug fixed: the teleportation limit of 10 units could cause the first 10 mages to be teleported, leaving the other units unteleported, so I have completely removed this limit; I have kept the following limitation introduced in 1.1 alpha 7 though: if there is no space left at the destination then no more units are teleported there (it might prevent the game from slowing too much when too many units are teleported)

Map making:
  • map making manual: updated the part about the starting resources of each player

Game modding:
  • bug fixed: training, building or researching/upgrading something requiring 0 second (time cost of 0) won't cause an error anymore

  • manual: added a note about activating TTS with Linux (speech dispatcher)

SoundRTS 1.1 and SoundRTS 1.0 should coexist in the same machine without any problem. The settings are also stored in different folders (respectively "SoundRTS unstable" and "SoundRTS 1.0").

About multiplayer games, this version is only compatible with itself. If you modify the rules.txt file or the ai.txt file, you need to send it to your friends if you want to play with them, or they won't find your server.

Sunday, December 18, 2011

[log] SoundRTS 1.1 alpha 7 released

Available at:

The main changes since 1.1 alpha 6 are:

  • the manual has been entirely updated
  • some parts have been automatically generated from rules.txt

  • added screen reader support for Windows (using ScreenReaderAPI)
  • added TTS support for Linux (uses Speech Dispatcher)

  • removed or simplified hard maps
  • added very small maps demonstrating some units

  • the passive AI is more peaceful (similar to SoundRTS 1.0): it won't retaliate if one of its explorers is attacked

  • added necromancer, necropolis, deadly fog, raise dead, zombie, skeleton
  • added priest, temple, resurrection, exorcism, holy vision
  • now only the priest can heal (removed from mage and townhall)
  • teleportation stops if no space is left
  • teleportation has been limited to 10 units
  • moved conversion to the priest
  • added summon dragons and meteors to the mage
  • healing: the gain of hit points is now continuous instead of increasing by steps of 1 hit point every 7.5 seconds; it should work globally the same except for the first hit point which was gained instantly on the first healing of a unit
  • restored archer upgrade values to SoundRTS 1.0 values: weapon damage + 1.5 (instead of 15), armor + .5 (instead of 2)
  • when creating a building, now the construction site is set up as soon as the peasant enters the square (and not when the peasant reaches the meadow); this should avoid some cases where the peasant cannot reach the meadow

  • the peasants AI might be less slow in large maps when gathering resources (faster shortest path implementation)

  • now a game on a public server will require at least two human players
  • added a cleanup routine to the server (remove clients without socket and remove all games when no client)
  • in whatismyip.txt, replaced (often down) with an automation-friendly URL provided by

bugs fixed:
  • the completion of a repair is not notified anymore
  • when an order is given to a group and at least one unit knows what to do, there won't be any "order impossible" alert
  • when at least one unit has enough mana, no "not enough mana" alert will be emitted
  • after some time, the public server would allow less and less simultaneous games
  • minor fixes in maps JS11 and JS13 (Jason Symes)

keyboard bindings:
  • now SHIFT ALT A and SHIFT ALT G queue the previous order (while ALT A and ALT G just repeated it at once)
  • the keyboard bindings are defined in a hopefully more efficient way which will facilitate the creation of new units and races: the unit types mentioned in bindings.txt are generic: worker, building, soldier1, soldier2, ..., soldier7; these names are mentioned in style.txt for the units as a parameter called "keyboard"; this parameter can be inherited, so for example there is no need to define it for darkarcher since archer already mentions: "keyboard soldier2"
  • the modifiers SHIFT (queue_order) and CONTROL (imperative_order) work for the mouse left click too (when confirming a target)

game modding:
  • cleaned up rules.txt: removed unused parameters about multilevel tech upgrades ("levels", "cost_increment", "time_cost_increment", "requirements1", "requirements2")
  • added "food_cost 1" in rules.txt for some units
  • added effects: "summon_nearby" and "summon_anywhere"
  • added unit property: "decay"
  • about abilities (teleportation, conversion, ...), rules.txt mentions if the enemy have an alert too (like in teleportation) with the variable universal_notification set to 1 (default value is 0), in style.txt the alert sound is specified in the ability instead of in the unit

SoundRTS 1.1 and SoundRTS 1.0 should coexist in the same machine without any problem. The settings are also stored in different folders (respectively "SoundRTS unstable" and "SoundRTS 1.0").

About multiplayer games, this version is only compatible with itself. If you modify the rules.txt file or the ai.txt file, you need to send it to your friends if you want to play with them, or they won't find your server.

Thursday, December 15, 2011

More thoughts about the project

After reading your comments and working on SoundRTS today, here are some more thoughts (sometimes contradicting with the previous ones):
  1. During the next two days, maybe one, I might be able to get some work done.
  2. Releasing a new 1.1 alpha 7 would be quicker than creating a new stable version.
  3. Even if the 1.1 alpha 7 is very wrong, there is always the possibility for the player to go back to 1.1 alpha 6 and ignore the "please update" message. The older versions are still there for download even if their links have disappeared.
  4. There is no need to remove the recorded voices in 1.1 alpha 7.
  5. Using SAPI by default (without having to press control + alt + F12 during a game) might be nice.
  6. Using the screen reader might be even nicer. Unfortunately, using something else than SAPI or recorded text might require a change in the way messages are processed in SoundRTS because the screen readers don't tell if they are speaking or not. This causes problems to the current "message manager" of SoundRTS who is trying to make sure that every information is told sooner or later. Maybe this control is not really needed. I don't know.

Wednesday, December 14, 2011

[SoundRTS] project status

Here is a summary of the current plans for SoundRTS. Feel free to comment, especially about the viability of 1.1 alpha 6 as a stable version.
  1. The next evolutions might be more chaotic, so I will probably rename the current latest 1.1 alpha 6 to stable 1.1.0, since it's probably being used as a stable version by many players anyway. The next alpha would be 1.2 alpha 0. This way you would have something to try soon without losing the not so bad current version, and new players wouldn't be misguided to download 1.0.1 anymore.
  2. I might also add an archive folder to the website so the current stable 1.0.1 would still be easily available, even if not recommended anymore.
  3. In 1.2 alpha, I will try to solve a fundamental problem of SoundRTS: the world map lacks continuity: squares and paths to connect them. If I am successful, there would be only one space, even if I will try to keep the ease of play that squares provide. It would be possible to block a bottleneck by placing footmen accurately, and placing archers behind them. Building walls would make sense. The simulation would be probably simplified. The problem is to adapt the AI and make sure that the game interface is not too complex.
  4. In 1.2 alpha, I might completely remove recorded text and use SAPI to allow more efficient and flexible messages, but it might cause (at least temporarily) the loss of some platforms (Linux, Mac) and of the languages for which I don't have the text. I apologize in advance for the inconveniences but it is the price to pay in order to limit the ever growing complexity of the SoundRTS beast. The positional text will be lost in the process too (at least temporarily).
  5. Allowing several races is a priority, because sooner or later they will have to be implemented, and before that happens, balancing the new units in one race would be a lost effort.
  6. There might be confusion when two competing players control the same race, but even in this case it might be possible to make the units sound different depending on their "ally" status (using the "if_me" keyword in style.txt). But it might not be necessary.
  7. At the moment, I have added 2 units: the priest and the necromancer, and I have planned to move some of the abilities of the mage to the priest, and I have made more changes in the existing units. This won't be good, but with 1.1 alpha 6 still available, it might be OK to play with the stats again.
  8. I have updated the manual and added automatic generation of the description of the units, buildings and abilities from the rules.txt file. I will try to keep the manual updated.