@Jim "SWMplay" Clifton (ive had a squiz at your koala comics too, they're neat!)
,
I've long been an advocate of 'simultaneous turn structure"
(its similar to W40K in terms of turn resolution)
Our local game group has modded the game since early on, and experimented with a lot of different stuff.
This said,
you will have to 'errata' how certain effects work,
such as:
cunning attack, opportunist, 'flat footed', quick reactions, etc...
mobile attack, greater mobile attack, ambush, riposte, etc
anticipation, surprise move, and some CE's or SAs.
Things like Recon and San Hill's/Tarkins CE get nerfed a lot - yet, if interpretted as allowing you to chose only to activate up to 2 people per turn, this can work with impulsive savage and savage characters/mercenaries (so, they don't have to be activated if they would die, neat huh?).
The benefits are worth it though - the game is more fast paced, and can cope with more than 2 players much better than Standard.
Otherwise, its much the same as the normal game,
and both people get to move at the same time and in the same phase - which leads to people feeling more involved.
So, in terms of 'code', (forgive my pseudocode)
Im not entirely familiar with the framework you're using - I use a little AIXML, C#, Jscript, Json, Pearl and mainly XNA 2.0/FPS Creator 7 framework to code
adapt as you see fit to your code framework.
Most of my reflection is based on looking at XNAChess and similar code, as that is essentially what SWMinis is (only with an irregularly sized board heh)
Also, I can supply brainstorm picture/mindmap and system sketch if you'd prefer to pseudocode that way - to envisage how it might work
A lot will depend on how you arrange your 'gamestates' - you'll also need 'watertight overflow catches', just to make sure theres no lockup or counterset issues.
you would have an AI routine/heuristic algorithm (probably one that is a multivariate, which values each gridsquare-maptile, similar to the AI from StarCraft 1...)
So, each player is technically by default 'ai', and will auto-play unless you make a move.
That's how I'd do it, that's the approach I think you're angling for
I'd make the timer something like 2 minutes max to make a move in (we could even collate and share data to determine a realistic array of aggregate turn time with TheHutts, Kezzamachine etc, because they have loads of stats on that stuff, maybe even Sithborg, Swinefeld or Billiv...)
So, each side makes a move.
The AI.mode depends on hard, easy or custom etc...
it will assign a |nth| target value to each gridsquare, based on:
the present status of the piece on the square, the threat index rating of the piece, and likely futures moves (up to 2 or 3 turns projected from the present turn).
The AI moves melee towards the highest value target, while avoiding LoS with enemy range attacker and Direct Damage/Area of Effect pieces.
Non-melee moves to the position that has the best LoS to the enemy
(this would be determined by considering the LoS as part of the move phase, and per character the AI controls, it evalutates the LoS from each of the squares it can move to; say, speed 6, it considers within the tiled area).
If the player leaves the game, the AI resumes, and after 3 consecutive turns (or a limit that players can toggle), the other player is dumped and replaced by AI of a difficulty...
Hopefully that helps somewhat, and you've got my email if you want to googlehangout to discuss that in real-time.
ps,
if you can incorporate into your AI 'markov chain monte carlo' method,
Thue-Morse crawler/Conway crawler method (check that out on the Electronic Journal of Combinatorics),
or eigenmatrix for the whole gridmap, that might 'enhance the verisimilitude of the AI'/make the computer difficult as an adversary.
Maybe, if having the necessary floatingpoint calculus becomes annoying, (the math can be mind-mushifying)
you could instead base the AI on "NP complete" system of moves; which could be as simple as an array/matrix of possible moves for each given piece.