Eu desenvolvi um jogo de tabuleiro para dois jogadores no iPhone. Os jogadores de computador (AI) podem ser locais (no código do jogo) ou remotos em execução em um servidor. No segundo caso, o código do cliente e do servidor é codificado em Lua. No servidor, o código do AI real é separado do código do soquete TCP e do código da rotina (que gera uma instância separada do AI para cada cliente que está se conectando).
Quero poder isolar ainda mais o código de IA para que essa parte possa ser um módulo codificado por qualquer pessoa no idioma de sua escolha. Como posso fazer isso? Quais técnicas / tecnologias permitiriam a comunicação entre o código soquete / corotina Lua TCP e o módulo AI?