Для написания такой игры, я думаю нужно понимание многих алгоритмов, а не знание asm как такового. Язык реализации это уже вторичное. Подобные игры основаны на такой дискретной модели как клеточный автомат. Ещё думаю понадобится решить задачу поиска кратчайшего пути.