Sunday, November 7, 2010

the conversion spell

The conversion spell is a way to take the control of an enemy unit. The unit will be one of your units. Buildings can be converted too.

To convert an enemy unit:
1. select a mage for orders
2. select the conversion order
3. select an enemy unit or building as a target (warning: if you are selecting a mobile unit in a currently unobserved square, the unit might be actually elsewhere and the order will be canceled when the mage arrives in the square)
4. validate the order

Note: at the moment, the mage can use this spell after a research by the mages tower; but, later, conversion might be the ability of another unit (when the units, buildings and tech tree have been reorganized).

Saturday, October 23, 2010

[log] SoundRTS 1.1 alpha 5 released

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

The main changes since 1.1 alpha 4 are:

Team play:
- allied players, including allied victory and allied vision
- available only in the server menu (use a private server for single player games with allied play; computers are not allied by default)
- the single player menu is the same than before (computers are allied by default)

Chat:
- only available in the server lobby and in the pre-game room (not available when selecting the map and the game speed though)
- to say something to everybody in the same room, press S, enter your message and press enter

Maps:
- multiplayer maps are sorted from the smallest one to the biggest (the number of units is taken into account too)
- added maps pm1 to pm6 by Peter Mahach

The AI might be a bit stronger:
- the AI will retaliate only if it is stronger than the attackers
- the AI builds additional townhalls automatically (no need to specify their number in ai.txt)
- the AI builds more than one production building automatically (barracks, workshop, dragons lair...)
- the AI builds where the peasants are
- the aggressive AI researches the upgrades and abilities
- the aggressive AI uses teleportation

Bugs fixed:
- bug fixed: when restoring a game just after the program's launch, the program would freeze
- bug fixed: sometimes when the sawmill was complete, not all the hit points were available


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.

Friday, October 15, 2010

[log] SoundRTS 1.1 alpha 4 released

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

Update: a bug, probably existing in the previous versions, prevents SoundRTS from restoring a game correctly if you have just started the program and directly chose to restore a saved game. This bug will be solved in the next version; in the meantime, try the following maneuver to avoid it: start a new game and close it (this will initialize important variables), then don't quit the program and restore the saved game.

The main changes since 1.1 alpha 3 are:

General:
- the aggressive AI is a bit stronger: catapults, dark archers, and flying machines (used as detectors, not as transports)
- added maps JS12 JS13 JS14 JS15 by Jason Symes
- fixed a small map error in JS11 which prevented the game from starting (since 1.1 alpha 3)
- bug fixed: the map checker didn't know the keywords "players" and "computers", preventing some correct maps from starting

Multi platform version:
- the multi platform version now includes pyc files for Python 2.4, 2.5, 2.6 and 2.7 in separate directories; the default version is still 2.5
- to use a different version of Python, copy the pyc files from the corresponding directory to the main directory
- at the moment, clients using different Python's versions will be considered compatible (this will be changed if a synchronization error appears)

Map making and modding:
- the computer AIs' high-level plans are now stored in a file called ai.txt
- ai.txt is included in the compatibility signature to avoid synchro errors in multiplayer games
- now rules.txt and style.txt are reloaded before every game (ai.txt too)
- no more "args 0" or "args 1" in style.txt (it was used to decide if an order type required a target or not)

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.

Monday, October 4, 2010

[log] SoundRTS 1.1 alpha 3 released

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

The main changes since 1.1 alpha 2 are:

SAPI 5 experimental support (activation and settings only during a game, but the configuration can be saved):

- SAPI on/off: during a game, Control Alt F12 (off by default)
- press Control F12 to select the next voice, press Control Shift F12 to select the previous voice
- SAPI change speed: Alt (Shift) F12
- press Control Alt Shift F12 to save SAPI configuration
- SAPI volume (same keys as voice volume)
- the buildvoices script has been replaced by a build_tts.exe file; no additional install is needed, and it converts to ogg automatically
- sounds.txt has been renamed to tts.txt

Gameplay:

- press Alt + PageUp/PageDown to select the previous/next unknown square
- press Shift + PageUp/PageDown to select the Previous/Next Square containing resources
- some trained units will not be announced after number 10 (like the announce for gold or wood)
- optimizations: this version is faster than 1.1 alpha 2, and probably almost as fast as 1.0
- new sound for conversion, different from the one used for teleportation
- scout towers, guard towers and cannon towers can see the adjacent squares
- aerial units (dragon, flying machine, offensive flying machine) can see the adjacent squares
- bug fixed: a catapult with an imperative attack order on a specific target would go to the target instead of attacking it
- on entering the multiplayer menu, the player will be asked to choose a login if the current login is the default one
- building a farm, barracks, a lumber mill or a blacksmith now requires having a town hall
- now Alt A does the same than Alt G: redo the previous command, immediately if no validation is required

Map making, modding:

- some map errors will be detected earlier (especially in maps involving triggers)
- added a map_error message when square names are expected and the item can't be a square name
- try to use SAPI if map error
- in rules.txt, "sight_range 1" means that the unit or building can see the adjacent squares
- in rules.txt, inheritance works (lines starting with "is_a")
- in rules.txt, requirements take inheritance into account (for example, a castle is also a townhall because castle "is_a keep" and keep "is_a townhall"; so if a townhall is required to build barracks, having a castle is OK too)
- added default single player game speed to SoundRTS.ini

Linux:

- in Linux, the log file is now stored in a "tmp" directory under the "$HOME/.SoundRTS unstable" directory
- in Linux, the "SoundRTS.cfg" configuration file is now "SoundRTS.ini" (like the other platforms)

Graphics (still not usable for visual play):

- graphics: now a line will be displayed when a unit hits another unit and the wounded unit will be temporarily highlighted
- graphics: hit points are displayed for damaged units
- graphics: draw a rectangle over units to select them for commands
- graphics: now the mouse cursor changes shape depending on the pointed object and depending on the game waiting for a target for the current command
- graphics: buildings are now displayed as squares (the rest are circles)
- graphics: inside your units: a dark green spot if not controlled, a light green spot if controlled
- graphics: inside enemy units: a red spot

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, you need to send it to your friends if you want to play with them or they won't find your server.

Thursday, September 9, 2010

[log] SoundRTS 1.1 alpha 2 released

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

The main changes since 1.1 alpha 1 are:
- probably a bit faster during a game (saving and restoring a game didn't change though)
- restored queuing for "tech" upgrades
- improved game stability: some errors won't cause the entire game simulation to freeze (other errors might still slow the game down)
- bug fixed: chaining several scout towers on the same square caused the simulation to freeze
- bug fixed: in the case of a unit upgrading to another kind of unit, the cost indicated in the menu and the effective cost didn't match
- bug fixed: when upgrading a unit to another one, the food cost was too high
- bug fixed: dark archer selection now works
- bug fixed: the cheat mode works again
- bug fixed: units unloaded from a flying machine didn't attack or flee
- bug fixed: at the beginning of a game, mutually hostile units didn't attack
- bug fixed: when controlling several units, targeting a flying machine and pressing backspace only loaded one unit in the flying machine
- bug fixed: giving a "defensive mode" command to a unit caused it to forget its other commands
- bug fixed: every unit had a menace of 0 (wrong alerts, wrong AI reactions: no fleeing, probably wrong target choosing)
- bug fixed: a peasant building a farm was reported as "repairing" a construction site
- bug fixed: an evolving unit would accept the "go" command and cancel the upgrade in progress
- bug fixed: a unit without a "go" command in the menu could have this action by default
- slightly clearer sounds for the flying machine load and unload events
- graphics: added tps (turn per second) indication when ctrl-shift-f3 is active
- graphics: added color backgrounds for squares (detected, observed, observed before, unknown)

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 compatible with itself. Be careful, though, if you modify the rules.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, September 5, 2010

[log] SoundRTS 1.1 alpha 1 released

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

This is an experimental release. Don't expect this version to be really playable (a little more playable than 1.1 alpha 0 though). Lots of things are probably broken. The aim is to have some feedback about the new features.

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").

The main changes since 1.1 alpha 0 are:
- some blocking bugs have been fixed
- most upgrades are back
- multilevel upgrades have been temporarily removed (they will be back)
- farm food is back to 8 instead of 4
- old flying machines should appear as "offensive flying machines" in existing maps; they can be trained too now
- now units descriptions not only contain the hit points but also the upgrades affecting the unit (works with enemy units too)
- not yet available elements of the menus (units, buildings, upgrades) are now included in the menus with the indication of the missing requirements; if an element is omitted, it means that it is unavailable for this map or game
- research orders can't be queued, like in Starcraft (I can reactivate easily this feature, available in Warcraft 3, but I don't know if it is that much interesting; let me know; for example, if you queue the orders, many resources will be blocked over a long time; maybe do this in a "command and conquer" way, with orders waiting for resources and yet recorded in the queue? a different design)

About multiplayer games, this version is compatible with itself, at least I hope so. Be careful, though, if you modify the rules.txt file, you need to send it to your friends if you want to play with them or they won't find your server.

Tuesday, August 31, 2010

the flying machine (transport)

The flying machine is now a transport unit.

To load units:
Method 1: control the unit(s) to carry, target the flying machine and press backspace.
Method 2: control the flying machine(s), target the unit to carry and press backspace.
Method 3: control the flying machine(s), target the square where the units are, select in the menu "load all the units from...", and press Enter.

To unload units: control the flying machine(s), select the action in the menu, target the destination and press Enter.

Units can't attack from a flying machine. If the transport is destroyed, the units inside are destroyed too.

Monday, August 30, 2010

towers and catapults

The peasant can build scout towers. These towers basically do nothing, but they can quickly evolve on their own (without further help of the peasant) to a more useful tower: either the guard tower (requires a sawmill) or the cannon tower (requires a blacksmith). In the early game, the scout tower is sometimes built "just in case" of a rushed attack, with a smaller investment than the cost of a fully equipped tower.

The guard tower shoots arrows, like an archer, while the cannon tower only attacks ground units. Both don't require any food nor empty space (meadow).

A counter against towers is the catapult. The catapult is very fragile and cannot even defend itself against a unit in the same square. It moves very slowly too. On the other hand, it can strike units and buildings in an adjacent square, so towers are not a problem for a catapult.

Comment: at the moment, there are only 2 kinds of "interactive" distance: in the same square (sight and attack) or in an adjacent square (no sight, no attack, except for catapults). There could be an intermediate distance where units can see an intruder but doesn't attack. This might complicate the game too much, but it might be interesting.

Sunday, August 29, 2010

how to create a portable version of SoundRTS

Since SoundRTS 1.0 beta 10 p, it's possible to have all the game files (log, configuration, custom maps...) in the game folder, instead of "documents and settings\user_name\application data", etc.

Install SoundRTS with the installer, then copy the "SoundRTS 1.0" (or "SoundRTS unstable") folder from "Program files" to a writable folder (the desktop, a USB key, etc). In the new SoundRTS folder, create 2 folders: "tmp" and "user". "user" can be a copy of an existing "application data\SoundRTS" folder (the version must be the same, though). To launch the program, execute "soundrts.exe".

Saturday, August 28, 2010

queuing commands

Every unit has a list of commands. When the current command is complete, the unit forgets it and executes the next one.

To add a command at the end of the list, two methods:
Method 1 (using a default command): select the target, then press Shift + Backspace
Method 2 (using a command from the menu): select the command and the target, then press Shift + Enter

Here are some situations where it would be useful:
Example 1: you want a peasant to scout every starting square in the map (to know where the enemy is). Control the peasant, move the cursor to a starting square, then press Shift + Backspace. Repeat for each starting square.
Example 2: you want a peasant to exploit several resources. Target a resource, press Shift + Backspace. Repeat. When a resource is exhausted, the peasant will exploit the next one.

You can queue imperative commands too. Hold down Control + Shift instead of Shift.

Friday, August 27, 2010

imperative commands

Imperative commands allow the player to bypass the unit's AI and force an action.

Two methods exists:
Method 1 (using a default command): select the target, then hold Control while you press Backspace.
Method 2 (using a command from the menu): select the command and the target, then hold Control while you press Enter.

Here are some situations where it would be useful:
Example 1: you want your units to attack a specific enemy building or unit and ignore the rest. Select the target and press Control + Backspace.
Example 2: you want your units to retreat from a place and ignore the enemy units. Select another square and press Control + Backspace.

Special case: you want to get rid of one of your units, so you force an attack on it. Select the target and press Control + Backspace.

Comment: this system is quite different from Warcraft/Starcraft, where 3 command types exist:
- "imperative" goto command (right-click on an empty place)
- "imperative" attack command (right-click on a unit/building)
- "smart" attack command (press "A" and left-click on an empty place)
I am still a bit worried about the differences in SoundRTS. The reason why I chose a different behavior is because the "imperative" commands are less efficient in most cases (unless you micromanage very quickly), so they shouldn't be the default behavior.

Thursday, August 26, 2010

[log] SoundRTS 1.1 alpha 0 released

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

This is an experimental release. Don't expect this version to be really playable. Lots of things are probably broken. The aim is to have some feedback about the new features.

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").

The main changes since 1.0 are:
- imperative commands, to force the attacking of your own units, or to ignore enemy units and focus on an objective (hold control while validating the order)
- queuing commands: "do this, then do this..." (hold shift while validating every order)
- units, buildings, techs, abilities (and more) are defined in a text file called rules.txt
- in a map, the author can add a tech to a player, and forbid specific training, building or researching (useful for tutorial or campaign missions, for example)
- scout towers, guard towers, and cannon towers (these special buildings don't require a meadow, allowing many of them in the same square)
- "direct" fly: now the dragons fly straight to the objective, ignoring the land path
- the keyboard layout is defined in a file called bindings.txt
- the view mode (control F2) now uses the mouse too; it might be somewhat usable even without sight
- invisibility and detectors
- transport (now the flying machines behave like zeppelins in Warcraft or dropships in Starcraft)

A Polish translation by Pawel Masarczyk has been added. It is also available with the 1.0 version.

About multiplayer games, this version is compatible with itself, at least I hope so.

Thursday, August 5, 2010

Python 2.6 patch for Linux users

(just in case you missed the comments in the previous post)

If you have trouble installing Python 2.4 on Linux, here is a patch for the multi-platform version, compiled for Python2.6:
http://jlpo.free.fr/tmp/soundrts1.0.1-python2.6.zip