DevBlog 003. SCP 2844. Карта и перемещение юнитов. Часть 2
После получения обратной связи и анализа имеющегося плана, было решено пока остановиться и сосредоточиться на реализации такого процесса как “поиск, добыча и переработка ресурсов с развитием оборудования участвующего в процессе”. Это будет эдаким корлупом, по крайней мере на\ближайшее время. Всем большое спсибо за советы! В вопросах реализации того, что не знаешь особо как делать и что должно получиться в итоге, обратная связь бесценна!
Из новостей "разработки", реализован топорный и немного кривенький волновой алгоритм поиска пути, который не удалось реализовать на момент написания второго девблога. Заняло это 146 строк статичного говнокода, который наверное устарел ещё в процессе реализации алгоритма.
Поле карты стало чуть-чуть красивее благодаря условному форматированию :).
Алгоритм теперь исправно распространяет волну по карте в поисках захардкоженной цели.
Увы на данный момент, способом описанным в девблоге 002, алгоритм может лишь найти путь от юнита (U) до ресурса (Res) и визуально обозначить его на экране. По факту использовать найденный путь игра пока не может, и путь получается слегка забагованным, т.к. он толще чем должен быть, и в некоторых случаях алгоритм помечает как валидный шаг, более чем одну клетку. Но если руками переставлять U и Res и руками запускать алгоритм, оно худо бедно но будет находить пусть.В ближайших планах допиливать алгоритм, а также поработать над автоматической генерацией карты по хранящимся независимо от самой карты вводным данным. Потому что стало очевидно что несмотря на то что алгоритм поиска пути как-то да работает, и визуально результат даже виден, использовать его как часть игры невозможно ввиду того что он пока не может работать достаточно гибко для того чтобы принимать различные данные, отличные от тех что в него захардкожены. А для этого надо патчить карту :)
Параллельно пытаюсь найти время чтобы загрузить на ютуб видео с ходом разработки, возможно кому-то они когда-нибудь могут пригодиться :)
Подробнее
1 1 1 2 3 4 5| 'I U i 2 3 4 5 1 1 1 2 3 4 5 2 2 2 2 3 4 5 3 3 3 3 3 4 5 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 8 8 8 8 8 9 9 9 9 9 9 9 10 10 10 10 10 10 10 11 11 11 11 11 11 11 12 12 12 12 12 12 12 13 13 »I ■ I 13 13 13 14 14 14 14 14 14 14 15 15 15 15 15 15 15 16 16 16 16 16 16 16 17 17 17 17 17 17 17 18 18 18 18 18 18 18 19 19 19 19 19 19 19 20 20 20 20 20 20 20 21 21 21 21 21 21 21 22 22 22 22 22 22 22 23 23 23 23 23 23 23 0 1 2 3 4 5 6 65 64 63 62 61 60 59 58 58 58 58 58 58 58 58 58 58 65 64 63 62 61 60 59 58 57 57 57 57 57 57 57 57 57 65 64 63 62 61 60 59 58 57 56 56 56 56 56 56 56 56 65 64 63 62 61 60 59 58 57 56 55 55 55 55 55 55 55 65 64 63 62 61 60 59 58 57 56 55 54 54 54 54 54 54 65 64 63 62 61 60 59 58 57 56 55 54 53 53 53 53 53 54 53 52 52 52 52 53 52 51 51 51 50 50 24 25 26 27 28 29 24 25 26 27 28 29 9 10 11 12 13 14
1 1 1 2 3 4 5 1 U| 1 2 3 4 5 1 1c 1 2 3 4 5 2 * 2 2 3 4 5 3 1c 3 3 3 4 5 4 1c 4 4 4 4 5 5 1c 5 5 5 5 5 6 1c 6 6 6 6 6 7 1c 7 7 7 7 7 8 1c 8 8 8 8 8 9 1c 9 9 9 9 9 10 1c 10 10 10 10 10 11 1c 11 11 11 11 11 12 1C 12 12 12 12 12 13 1c 13 ■ I 13 13 13 14 1c 14 14 14 14 14 15 1c 15 15 15 15 15 16 1c 16 16 16 16 16 17 17 1C 17 17 17 17 18 18 18 1c 18 18 18 19 19 19 19 1c 19 19 20 20 20 20 20 1C 20 21 21 21 21 21 21 1c 22 22 22 22 22 22 22 23 23 23 23 23 23 23 0 1 2 3 4 5 6 X 65 64 63 62 61 60 59 58 58 58 58 58 58 58 58 58 CO uT) 0 Y 65 64 63 1c 1C 1c 1c 1c if 1c 1c 57 57 57 57 57 57 1 V 65 64 1c 1c * 60 59 58 57 1c * 1c 56 56 56 56 56 2 V 65 if 1c * 61 60 59 58 57 56 1c 1c ir 55 55 55 55 3 V * 1c * 62 61 60 59 58 57 56 55 1c 1e 1c 54 54 54 4 V 1c 1c 63 62 61 60 59 58 57 56 55 54 1c 1C 1c 53 53 5 V * 66 67 Hi 78 78 * 67 67H 77 77 * 68 63 H 76 76 * 69 69 Щ 75 75 * 70 7ùl 74 74 * 71 71И 73 74 * 72 72 72 73 74 * 73 73 73 73 74 74 * 74 74 74 74 75 75 * 75 75 75 76 76 76 * 76 76 77 77 77 77 * 77 78 78 78 78 78 * 79 79 79 79 79 79 80 80 80 80 80 80 54 53 * 54 53 52 Í47 47 4Л 46 46 46 45 45 45 44 44 44 43 43 43 42 42 42 41 41 41 40 40 40 39 39 39 38 38 38 37 37 381 if ir * le 1c 1c if if if * if if * if * if if 1c 1c 1c 1c 1c 1c 1c 80 36 37 1с if 1c if if 1c if if if 1c * if 34 35 36 37 38 39 23 23 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 24 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
песочница,2844,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,devblog,adminguide,gamedev,Игры,игры реактора
[сарказм]
Таки игра про переработку всего и всё в скрепки уже есть: https://www.decisionproblem.com/paperclips/index2.html
Но у тебя явно графон и сюжет получше будут, т.е. они хотя бы будут, хоть какие-то
(ну, я надеюсь, по крайней мере, на это)
И таки да, там можно всю вселенную переработать в скрепки
Но твой вариант тоже ждём-с :)
[/сарказм]
https://en.wikipedia.org/wiki/A*_search_algorithm
Получиться рекурсивная функция поиска, с пост обработкой.