Я не программист, но немного увлекался этим процессом в поздней юности.
Была идея - перевести в цифровую форму одну бумажную игру - типа морского боя, но с отдельным ведущим.
Ведущий рисовал карту - 15х15 - 20х20 см на листке в клетку, на которой было спрятано "сокровище".
Игроки сообщали ему из какой точки они начинают движение - ведущий отмечал эти точки и от них вёл маршрут каждого игрока.
На карте были горы и другие преграды, наткнувшись на них игрок пропускал ход и должен был их обходить.
Была река с разветвлением, которая могла течь в любом направлении - при попадании в неё игрока его сносило на 3-5 клеток по течению.
В реке ещё были два крокодила - если они "съели" игрока - он пропускал ход и "возрождался" у ближайшей границы поля по перпендикуляру.
На суше была пара львов, которые при встрече с ними давали такой же результат.
Много чего там ещё было - ямы, болото - которые замедляли ходы и прочие пакости.
Играть могло не более 2х-3х человек - ведущий отмечал маршрут каждого игрока разным цветом чернил - большее количество вызывало проблему, да и цветов чернил тогда было немного. :)
Мы с братом полностью "нарисовали" игровое поле с возможностью произвольного размещения препятствий и предметов, реализовали основные алгоритмы движения и пропуска хода у гор и стен.
Сильно застряли именно на "сплаве" и крокодилах со львами.
Потом у меня родилась дочь - и я был вынужден "покинуть" проект. :)
А Саня в одного не захотел этим заниматься.
Жаль - игрушка была бы очень интересной. :)