I wrote my own engine for Evoas in ActionScript 3. I chose AS3 just because that was the language I was most proficient at. I wanted to make a truly different fan game, with a new battle system, so I decided to make the engine from scratch. It was quite challenging, to say the least...
The battle system features 2 on 2 battles, similar to Pokemon Colosseum. Wanting to maximize this feature, the moves pokemon can learn were completely redone, with a lot more emphasis on cooperation. For instance, there are many more moves that heal or assist the allied pokemon in some way.
One feature I wanted to add but couldn't was an "action command" similar to the Paper Mario games, where pressing a button at the right moment would result in an attack doing extra damage or defending. This would be how critical hits and dodges would be integrated, but the system was getting too complicated.
I had to make the overworld myself too, but this is a lot more standard. The most notable difference is movement isn't restricted to a grid, and diagonal movement is possible. There was no real reason for this, I just wanted to try it out. I used the popular Box2D physics library to handle collisions.