JEPE is an open-source Java engine, writen in the Eclipse IDE, to run Pokémon games. It will run on all platforms with Java.
Games using the engine will be able to trade unique pokémon, battle friends, exchange items between other games using the engine. Or not, it's up to the game developers.
However, the engine is designed to be flexible. Anyone who knows XML can make a game, though some Java will be needed for more in-depth mechanics.
Some non-Nintendo features will come as standard: overworld weather affecting battle, four times of day, and most importantly online support.