There is a game that I've programmed in java. The game is simple (refer to the figure below). There are 4 birds and 1 larva. It is a 2 player game (AI vs Human).

[![enter image description here](https://i.stack.imgur.com/nUNgZ.png)](https://i.stack.imgur.com/nUNgZ.png)

* Larva can move diagonally forward AND diagonally backward
* Birds can ONLY move diagonally forward
* Larva wins if it can get to line 1 (fence)
* Larva also wins if birds have no moves left
* Birds CANNOT "eat" the larva.
* Birds win if Larva has NO move left (cannot move at all)

[![enter image description here](https://i.stack.imgur.com/Jkt1E.png)](https://i.stack.imgur.com/Jkt1E.png)

When the game starts, Larva begins, then ONE bird can move (any one), then Larva, etc...

---

I have implemented a MiniMax (Alpha Beta Pruning) and I'm using the following evaluate() function (heuristic function).

Let us give the following numbers to each square on the board.

[![enter image description here](https://i.stack.imgur.com/fCPTu.png)](https://i.stack.imgur.com/fCPTu.png)

Therefore, our evaluation function will be

h(n) = value of position of larva - value of position of bird 1 - value of position of bird 2 - value of position of bird 3 - value of position of bird 4

the Larva will try to MAXIMIZE the heuristic value whereas the Birds will try to MINIMIZe it

Example:

[![enter image description here](https://i.stack.imgur.com/YVzB2.png)](https://i.stack.imgur.com/YVzB2.png)

However, this is a simple and naive heuristic. It does not act in a smart manner. I am a beginner in AI and I would like to know what can I do to IMPROVE this heuristic function? 

What would be a good/informed heuristic?