From The Battle for Wesnoth Wiki


Sorry gentlemen, it's fun, but as for me:

  • WML syntax is awkward for programming; only rather simple sample I can name, Chesslike AI, is 24K in Python and will be three times longer in WML-like language;
  • It would be difficult to debug without a proper IDE;
  • It needs a sort of standard library;
  • New implementation is subject to bugs, syntax changes and bad performance;
  • How many AIs are there and will there be notably more if you add another language no one knows, given all the mentioned factors?

Trying to be constructive

What about considering Lua as an alternative scripting language? Porting to is could be another SoC option. One could even dream about SoC idea - converting WML to Lua.

Additionally, I'd recommend to use "wishful thinking" to prototype simplest algorythm in this syntax and try to evaluate the work. Maybe start with porting Chesslike AI.

If it's going to be rule-based, then another thing to consider is Prolog.

Stupid jokes

Doesn't it remind: "Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified bug-ridden slow implementation of half of Common Lisp." - Philip Greenspun.

With a respect for you and your work,

Singalen 15:40, 19 March 2008 (EDT)

map != map

You have a data structure called "map", but "map" already means something else in BfW. In fact, there is a variable with that name as well. To avoid confusion, I suggest renaming that data structure to "dictionary", "keyed list", or something similar. (At least on this page. I don't mean in your code.)

This page was last edited on 12 April 2009, at 21:31.