Есть несколько комментариев:
1 - можно добавить возможность сохранения и загрузки - у списков строк есть соответствующие точки, ну и можно сохранения шифровать, пусть даже простейшей битовой инверсией - чтоб не прочитал человек просто так... Ну а кто сможет - тот сможет

2 - игра заканчивается на 124 элементе, тогда как их в списках 179, да и прогресс-бар дальше 124 не показывает - можно отслеживать прогресс по точке количества элементов в эталонном списке, и case по нему же смотреть - тогда игра закончится тогда, когда действительно весь список открыт
3 - некоторые элементы, скажем так, не очень - ссаные тряпки, големы, секс - явно не то... секс вообще не элемент, а действие... короче идея игры размыта... огонь+вода=пар - это материально, это можно потрогать в конце концов, соединить друг с другом...
в принципе это не существенно, но игра немного непонятной становится... Непонятно, что получиться если один элемент с другим соединить - неочевидный результат, а брутфорсом заниматься - годы уйдут...
Ну и как продолжение - можно ввести новые элементы, от которых ничего не происходит, типа пар+бумага=мокрая бумага и все, от нее уже ниче не происходит...
Зачем? Если в планах есть продолжение - то новых элементов меньше придумывать - взял то, что есть и добавил продолжения цепочек...
4 - можно ввести систему обновления, если не самого бинарника, то хотя-бы базы элементов - эталонного списка элементов, по которому все цепочки строятся - скачал, положил рядом с бинарником, и игра при запуске его подхватывает - можно будет обновлять игру, добавлять новые элементы без обновления бинарника...
Ну и его тоже желательно зашифровать...
5 - можно написать редактор эталонного списка - проще будет следить за цепочками, и добавлять новые, чтоб выпускать обновления... в конце концов даже что-то вроде дерева элементов можно визуализировать, где отражены все или часть цепочек... Типа как алгоритм старой бейсиковской игры "животные" работает - там тоже дерево вопросов...
Кстати, идея - игра животные мне нравилась... Надо будет как-нить мне свою версию наваять, с блэкджеком и шлюхами!

6 - можно перевести эталонный список в универсальный вид: "огонь+вода=пар" а не два списка: первый список "огонь+вода" и второй список "пар". И обрабатывать этот единый список с помощью элементов из категории строки - типа маска, разбивка строки и т.д.
Зачем? Ну хотя бы за тем, что так упрощается формат списка - один файл, проще обновлять, список не "разъедется" (когда в одном списке 179, а в другом больше или меньше), проще проге-редактору в нем разобраться...
Да, скорость его обработки упадет, но это не существенно - мощь cpu растет, в крайнем случае обработку распараллелить по разным потокам - один одну часть списка обрабатывает, другой - другую... Более того все это можно делать динамически, вплоть до того, что программно получать количество ядер и разбивать соответственно на нужное количество потоков...
7 - ну и самая безумная идея, так сказать с прицелом на будущее - если популярность вдруг взлетит до небес и у игры появится свой сайт - завести онлайн-редактор эталонного списка - чтоб каждый желающий мог добавить новые элементы, продолжить цепочки... Естественно ее нужно будет модерировать - смотреть список добавленных элементов и удалять плохие... Ну и на основе этой базы делать обновления - там же самый полный список элементов

В целом игра понравилась - что-то типа крафтинга из онлайн игр, только чистый крафт и ничего лишнего


Главное - хотелось бы очевидных решений, чтоб представлять, какой элемент получится из двух заданных, а то интерес от ручного брутфорса резко гаснет...
Кстати насчет брутфорса - приаттачил исходник с модулем брутфорса - набросал на скорую руку... За 49 минут при 2.8GHz и 100 переборах в секунду открывает 179 элементов...
Интересно, а за сколько автор списка его открывает, с учетом того что он помнит многое из списка? Типа эвристика против прямого брута

Собственно игра с модулем брута: http://hiasm.com/forum_serv.php?q=56&id=1760 622кб
Щелчок колесиком на картинке результата - запуск брута, щелчок правой кнопкой - принудительная остановка брута(для перезапуска брута или снятия нагрузки с цпу)