Не совсем понятно, в чем проблема. Верная логика та, в которой нет ошибок. А ошибку можно искать, только если точно понятно, что вы хотите сделать, то есть какая цель. Если занудствовать, то можно послать вас вообще в самое начало, и попросить определить цель с точки зрения геймдизайна, то есть какие ощущения вы хотите вызвать у игрока и почему именно таким образом. В любом случае, отталкиваться нужно именно от цели, так что целеполагание очень важно.
Если у вас затык в выборе между левел-дизайном и процедурной генерацией уровней, то лучше руками, потому что можно творчески подойти к созданию уровней, и тем самым сделать игру интереснее. А в процедурной генерации, хоть она и сложнее, обычно используются кусочки, которые не слишком противоречат логике (т.е. создаются руками), но всё же неизбежно вносят свою долю противоречий. То есть если генерировать, то нужно продумать, как могут интересным образом сочетаться элементы, из которых вы генерируете, и что может пойти не так, чтобы попытаться избежать этого.
Если вопрос про то, как сделать граф, то как угодно. Например, точки - объекты-элементы массива. И каждый такой объект может содержать несколько индексов других элементов, которые будут означать связь с другими точками в этом же массиве.
Если вопрос про кривизну линий в произвольном графе, то здесь либо рисовать вручную, что, как было сказано, позволяет делать интересные уровни, либо какие-нибудь кривые безье.
Если вопрос про управление на графе, то оно такое же - мышь или палец, то есть клик/тап. Учтите ещё, что на мобильных устройства нет наведения на элемент, так что сейчас у вас игра по сути ограничена только ПК. Стрелки клавиатуры можно сделать просто, но в случае 5-и связей просто не хватит клавиш, то есть время от времени игроку нужна будет мышь. Еще можно цифрами на клавиатуре, тогда сами связи нужно будет визуально нумеровать.
Если вопрос про то, как боты будут ходить в произвольном графе, то это всевозможные алгоритмы поиска пути, из которых наиболее классическим (и основой для других) является A* (Astar).
Возвращаясь к геймдизайну, у вас нет отображения выпавшего числа ходов на экране, т.е. его нужно нащупывать. В этом и состоит интерес? Также обратите внимание на сам дайс. Если его нет в игре, то это большое упущение, как мне кажется. Сделайте крутой дайс, чтобы он прям перекатывался по экрану, и чтобы игрок до конца не мог угадать, что же выпадет - возможно, это станет ключевым моментом в вашей игре, а ходы и прочее - лишь дополняющие механики. В общем, всё зависит от цели.