Will be used for variants with custom non-rectangular board (Hex, at least)
 Or, with other board shapes (see greenchess.net for example)
 
-debug import game + load
-
-TODEBUG: Avalanche computer play from here
-game.fen = "r2q1bnr/3pp3/n3k1p1/6Pp/3p1B1P/p5R1/1p6/4K1NR w 26 ihii 0";
-game.fenStart = "r2q1bnr/3pp3/n3k1p1/6Pp/3p1B1P/p5R1/1p6/4K1NR w 26 ihii 0";
-game.mycolor = 'w';
-Bd6,b1 then black promotes and win, but UI freezes.
-
 Merge Orda + Empire + Hoppelpoppel + Newzealand getSlideNJumpMoves() into base_rules.js
 => allow to simplify getPawnMoves in RoyalRace (and some getXMoves in Shatranj)
 
 
       vanish: [
         new PiPo({ x: rank, y: file, c: color, p: V.PAWN })
       ],
-      start: { x: 8, y: y },
+      start: { x: 8 + (color == 'b' ? 1 : 0), y: y },
       end: { x: rank, y: file }
     });
   }
 
       const trySetVname = setInterval(
         () => {
           // this.st.variants might be uninitialized (variant == null)
-          variant = this.st.variants.find(v => v.id == game.vid);
+          variant = this.st.variants.find(v => {
+            return v.id == game.vid || v.name == game.vname
+          });
           if (!!variant) {
             clearInterval(trySetVname);
             game.vname = variant.name;
 
       }
       for (const select of this.newchallenge.V.Options.select || []) {
         const elt = document.getElementById(select.variable + "_opt");
-        chall.options[select.variable] = parseInt(elt.value, 10) || elt.value;
+        const tryIntVal = parseInt(elt.value, 10);
+        chall.options[select.variable] =
+          (isNaN(tryIntVal) ? elt.value : tryIntVal);
       }
       error = checkChallenge(chall);
       if (error) {