Monday, May 9, 2016

[log] SoundRTS 1.2 alpha 10 revision 1

The revision 1 of SoundRTS 1.2 alpha 10 is available. This version is totally compatible with 1.2 alpha 10.

The only change is: recallable control groups
Control + 6, 7, 8 or 9: sets group 6, 7, 8 or 9 with the currently controlled units (or buildings)
Shift + 6, 7, 8 or 9: extends group 6, 7, 8 or 9 with the currently controlled units (or buildings)
6, 7, 8 or 9: recalls group 6, 7, 8 or 9

Available at:
http://jlpo.free.fr/soundrts

Sunday, May 8, 2016

[log] SoundRTS 1.2 alpha 10 released

Available at:
http://jlpo.free.fr/soundrts

Thanks to the contributors, and sorry for the delay. This version might be a bit unstable.

The main changes since 1.2 alpha 9 are:

General: blocking an exit
- now the player can block an exit with a wall, a gate, a unit, or a building
- a unit or a gate blocking an exit will let friendly units pass

General: zoom mode (allows the player to give more precise "go to" orders)
- press F8 to enter or exit zoom mode
- in zoom mode, each square is divided in 3 x 3 smaller squares
- the escape key exits zoom mode too

General: more natural movement and attacks between two squares
- when a unit is moving to another square, the unit will cross naturally the corresponding border of the square (instead of moving through the "exit" object and reappearing on the other side)
- when a unit is moving to another square, if an obstacle is on the other side, the unit will have to move elsewhere (instead of being arbitrarily moved to the nearest free space from the exit)
- now units will hit a target located in another square as long as the target is in range
- catapults now have a minimal range of 4 and a range of 12 (default square width)

General: height, sight range and attack range
- in map jl5 (at the moment), some squares are higher (they are called "plateau")
- now most ground units see the adjacent squares, unless there is an obstacle or the square is higher
- air units, towers and units on higher ground always see adjacent squares (even diagonal squares)
- now catapults attacking from an unseen place are actually seen for 3 seconds (instead of being instantly remembered)
- effects only have a "local" sight range
- archers, catapults (units launching missiles mostly influenced by gravity) have an increased range if their target have a lower height

General: minimal damage
- now a direct hit will inflict at least 0.17 hit points
- "minimal_damage" can be defined in rules.txt ("parameters")

Interface:
- now the game accepts a square as the target of a build order: the game chooses the first building land in the objects list of the square
- open the user folder from the options menu
- added simple mods and soundpacks selection menu
- added repeat for keys
- added sounds in the menus (6115: select, 6116: validate)
- installer: include version of SoundRTS in Windows shortcut label

Servers and mods:
- now a server accepts a client with the same version, ignoring which mods are used by the client ; however, the server will isolate clients with incompatible mods from each other (thanks to Thiago Seus).

Mods and soundpacks:
- in SoundRTS.ini, added soundpacks=...
- soundpacks are always loaded after mods
- mods are automatically loaded when replaying a game with different mods
- experimental: added replay for missions from campaigns with custom rules and resources
- includes CrazyMod v9 beta9

Modding:
- completely removed "sight_range" as a rules.txt property
- added a "bonus_height" property for ground units like towers (or giants, maybe)
- completely removed "special_range": use "minimal_range" and "range" instead (example: catapult)
- mods: automatically fix sight_range and special_range
sight_range 1 => bonus_height 1
special_range 1 => range 12 minimal_range 4 is_ballistic 1
- mana_start added (thanks to chpross)
- Implemented build limits for units and buildings (thanks to craigbrett17)
- Added some extra map making information regarding timer coefficient and AI orders for single player (thanks to craigbrett17)
- map making: a campaign can define which mods it requires; the required mods will be automatically loaded (the required mods are defined in a file called "mods.txt": the file is a comma-separated list of mod names; if the file doesn't exist, the current mods will be kept; if the file is empty, the "vanilla" game will be loaded)

Console: new commands
- "a 10 archer" adds 10 archers to the current square.
- "a a1 10 archer" adds 10 archers to a1.
- "v" triggers victory.
- "s 8" sets the speed to 8 times normal speed.
- "r" adds 1000 resources of every type to the player.

Bugs fixed:
- bug fixed: during a game, the newly entered chat message wasn't said at once or sometimes in the wrong order
- bug fixed: sometimes a restored game would stay frozen at the time of the save
- bug fixed: couldn't replay a game with more than one human.
- bug fixed: now the shortcut for town hall is "h" instead of "t" ("t" is for towers)
- bug fixed: giving the order to train an archer without having a lumber mill was silently ignored by the game (no negative sound)
- fixed: now TTS calls will always return without any delay
- bug fixed: fleeing units would retaliate to attacks
- fixed: a different wounded sound for upgraded damage
- bug fixed: a defeated player shared the observer view with the team
- bug fixed: in chapter 1, completing objective 2 first caused problems
- bug fixed: units in the splash damage area wouldn't be affected if their distance from the attacker is bigger than basic range
- Have the pygame mixer actually respect the number of channels set in the config (thanks to ctoth)
- bug fixed: setting the user name from the multiplayer menu would cause an error.(thanks to Thiago Seus for the bug report)
- now a unit will retaliate to an attack in the same square from another square; then, if it survives, the unit will go to its previous place

Translations:
- updated Brazilian Portuguese translation (thanks to Thiago Seus)
- added Spanish translation of the AI making manual and the modding manual (thanks to Claudio of tiflo juegos)
- included Spanish translation of the "Game manual" and the "Map making guide" (thanks to the users of tiflo-juegos mail group)
- updated Italian translation with HTML files (thanks to Luigi Russo)
- updated Russian translation (thanks to Kvark)

Graphics interface:
- automatically move the mouse cursor when a square is selected
In full screen mode, when a square is selected, the mouse cursor will move to the center of the square. The selection can be done with the arrow keys, the page up or down keys, the space key (to follow a unit), etc.
- graphical interface refactoring: added two properties in style.txt
"shape": "square" or "circle" (default)
"color": color name (by default a custom color is computed from the object's title)

Friday, August 8, 2014

[log] SoundRTS 1.2 alpha 9 released

Available at:
http://jlpo.free.fr/soundrts

The main changes since 1.2 alpha 8 are:

General:
- games are automatically recorded and can be replayed
- added observer mode after defeat
- added shortcuts for orders (press Alt + A and the shortcut)
- smarter target selection with Tab: It now selects in the following order: resources, then damaged buildings, then free space, then exits (if in the current square). If the current order is to build something, it selects free space first.
- added a console key (backquote, the key below escape) to enter commands like "add_units" or "victory"
- Ctrl+F2 now works in menu mode too (toggle display)
- completely removed recorded speech
- experimental: high ground (squares with a sight bonus and a range bonus), and a map (jl5) which uses high ground
- towers don't prevent defeat anymore
- in map selection menus, the previously chosen map will be selected by default
- added races menu to single player training
- now allies share their upgrades
- audio buffer is 1024 on any platform

Windows:
- restored an installer for Windows
- Windows: the new default text output is the screen reader (through ScreenReaderAPI) instead of SAPI 5
- Windows installer: added shortcuts to some mods including CrazyMod 8.2

Contributions:
- included the Crazy Mod 8.2 (check their web site at http://pragmapragma.free.fr/soundrts-crazymod/ )
- Broadcast to all the players in a game when someone selects a race, so the game admin finds it easier to know when everyone is ready. (thanks to Christopher Toth)
- Add the name of the player to the title of non-npc units (thanks to Christopher Toth)
- Added a simple in-game chat feature modeled off the lobby chat. This can be invoked with f7 from within the game. I also added f7 in the menu for consistency. (thanks to Christopher Toth)
- Improved range of symbols which you can say (thanks to Christopher Toth)
- Allow activating menu items with the enter key on the numpad (thanks to Christopher Toth)
- updated Russian translation (thanks to Kvark)
- Brazilian Portuguese translation: added the new text and fixed some translation errors (thanks to Thiago Seus)
- fixed Czech encoding problem (thanks to Marco Oros)

Bug fixes:
- bug fixed: cut_scene didn't work ("nicely done!" in chapter 1, for example)
- bug fixed: a unit in defensive mode didn't take allies into account before deciding to flee or not
- bug fixed: in a single player training game, choosing a race caused an error
- bug fixed: in cheat mode, map navigation in previously unknown places would never cause collisions
- bug fixed: on the Mac, the game couldn't start: Getting the system language while running from the terminal caused an error: “ValueError: unknown locale: UTF-8". Note: if the error happens, the game will use English by default and advise the user to edit cfg/languages.txt.
- bug fixed: asking a building to use an ability on an unreachable target would cause an error
- bug fixed: trying to convert a target in the fog of war would cause an error if the range of the ability is "anywhere"
- bug fixed: when hosting several SoundRTS servers on the same machine (using several ports with the -p command-line option), each registering server would unregister the other servers with the same IP address even if the port number is different
- bug fixed: navigating from a known square without any exit wouldn't cause a collision noise

Modding:
- modding: added a "provides_survival" variable
- modding: it is now possible to use the word "faction" instead of "race"
- modding: added is_teleportable variable
- modding: made sure that a building can leave a meadow and turn into a unit, and that a unit can turn into a building if a meadow is available (added "flyingtownhall" as an example mod)
- map making: in "intro", "cut_scene" or "sequence", a number in a sequence can now also represent a text message defined in tts.txt
- added parameters/recommended_maps to style.txt
- added a command-line option to override the mods defined in SoundRTS.ini For example: soundrts.py --mods=soundpack,orc

Sunday, January 19, 2014

[log] SoundRTS 1.2 alpha 8 released

Available at:
http://jlpo.free.fr/soundrts

The changes since 1.2 alpha 7 are:
- bug fixed: entering cheat mode caused the game to freeze
- bug fixed: some errors could freeze the game and were not logged correctly
- updated German translation (thanks to Lukas Raab)
- added Russian translation (thanks to Kvark)

Saturday, December 21, 2013

[log] SoundRTS 1.2 alpha 7 released

Available at:
http://jlpo.free.fr/soundrts

The main changes since 1.2 alpha 6 are:

General:
- the source code is available at http://github.com/soundmud/soundrts
- much faster user interface, even when the simulation is slow
- optimization of the simulation (thanks to Christopher Toth)
- uses Python 2.7 by default instead of Python 2.5

Races:
- added race menu to the game admin menu and to the guest player menu (only in server mode; the orc mod must be selected, for example)

Documentation:
- added "Making AIs Tutorial" (thanks to Thiago Seus)

Translations:
- updated German translation (thanks to Lukas Raab)
- updated Slovak and Czech translation (thanks to  Marco Oros and Jaromir Psansky)
- updated Brazilian Portuguese translation  (thanks to Thiago Seus)

Tuesday, July 16, 2013

[log] SoundRTS 1.2 alpha 6 released

Available at:
http://jlpo.free.fr/soundrts

The main changes since 1.2 alpha 5 are:

Races:
- added an example mod called "orc" with a simplified orc race.
- in multiplayer games, if several races are available, the race is chosen randomly for every player and the initial units substituted
- added race definitions in rules.txt with specific substitutes for peasant, townhall, farm, easy AI, aggressive AI, etc.
- added an example single player map called "orc" with a simplified orc race.
- mostly for single player maps: added "ai" trigger command to change AI; for example: "trigger computer1 (timer 0) (ai easy)"
- mostly for single player maps: added "race" trigger command to change some race parameters for the AI; for example: "trigger computer1 (timer 0) (race orc_race)"

Server:
- bug fixed: the standalone server didn't register to the metaserver
- bug potentially fixed: on some systems the server would crash while trying to guess the preferred language

Map making or modding:
- bug fixed: it wouldn't be possible to redefine an existing key binding in a mod or a map

Translations:
- added Czech translation (thanks to  Marco Oros)
- updated German translation
- updated Slovak translation

Sunday, July 7, 2013

[log] SoundRTS 1.2 alpha 5 released

Available at:
http://jlpo.free.fr/soundrts

The main changes since 1.2 alpha 4 are:

General:
- to use recorded speech, "recorded_speech = 1" in SoundRTS.ini
- recorded speech files are available as mods at http://jlpo.free.fr/soundrts/contribs/1.2/mods/tts

Windows:
- restored "direct" SAPI 5 as a default
- to use the screen reader, "srapi = 1" in SoundRTS.ini

Translations:
- added Slovak translation (thanks to Marco Oros)
- added Brazilian Portuguese translation of tts.txt (thanks to Thiago Seus)
- updated German translation

Map making / modding:
- "add quarry,75 b1  b4" has been replaced with a less surprising syntax: "quarry 75  b1 b4"
- bug fixed: key bindings defined in a map were ignored
- added "stone" and "quarry" in the main tts.txt
- added an example map called "jl4"; it replaces the "stone" example mod