Changing to Pawn
Our server side scripting language is called Small. It's a nice, C like scripting, which is easy to integrate with C and has a JIT VM as well, which means it is very fast.
We were using a very old version (since 2005), and since then there have been some new changes to this scripting language, which is now called Pawn.
Some of the changes add features, some fix some problems, while other changes break backward compatibility, especially in the host C functions, which didn't really motivate me to update, as we were pretty content with the version we were using.
However, since we are going to be using this scripting language on the client as well (for some dynamic maps and player based cities), we thought it would be a good idea to finally upgrade to the latest version. Learner did most of the updating work, and we've been tested it on the test server for a few days. Aside for some problems which are now solved, everything was pretty smooth.
Since we are waiting for the testing to be finished (another few more days), I've started to implement some extra new items that were supposed to come later on in the game. One of them is a 'lightmeter', which will be used to determine how visible you are at night or in caves, on a particular tile. Useful for stealth or ambush type 'missions'. The reason this device is useful is beause the server and client calculate the light in a different way. The server uses a square attenuation, while the client uses a linear attenuation, so some areas are really dark while they appear not so dark. This might change on the next client update, althogh if we use a square attenuation on the client, many areas will appear to be very dark, so some players might not like that.
Onc we are done with migrating to Pawn, I'll start finishing the landmines code, do more testing, then prepare for the client update.
We were using a very old version (since 2005), and since then there have been some new changes to this scripting language, which is now called Pawn.
Some of the changes add features, some fix some problems, while other changes break backward compatibility, especially in the host C functions, which didn't really motivate me to update, as we were pretty content with the version we were using.
However, since we are going to be using this scripting language on the client as well (for some dynamic maps and player based cities), we thought it would be a good idea to finally upgrade to the latest version. Learner did most of the updating work, and we've been tested it on the test server for a few days. Aside for some problems which are now solved, everything was pretty smooth.
Since we are waiting for the testing to be finished (another few more days), I've started to implement some extra new items that were supposed to come later on in the game. One of them is a 'lightmeter', which will be used to determine how visible you are at night or in caves, on a particular tile. Useful for stealth or ambush type 'missions'. The reason this device is useful is beause the server and client calculate the light in a different way. The server uses a square attenuation, while the client uses a linear attenuation, so some areas are really dark while they appear not so dark. This might change on the next client update, althogh if we use a square attenuation on the client, many areas will appear to be very dark, so some players might not like that.
Onc we are done with migrating to Pawn, I'll start finishing the landmines code, do more testing, then prepare for the client update.