Как сделать игру 2048

Добавил пользователь Алексей Ф.
Обновлено: 19.09.2024

Я недавно наткнулся на игру 2048. Вы объединяете похожие плитки, перемещая их в любом из четырех направлений, чтобы сделать "большие" плитки. После каждого хода новая плитка появляется в случайном порядке пустой позиции со значением либо 2 или 4 . Игра заканчивается, когда все коробки заполнены и нет никаких ходов, которые могут объединить плитки, или вы создаете плитку со значением 2048 .

во-первых, мне нужно следовать четко определенной стратегии для достижения цели. Поэтому я решил написать для него программу.

мой текущий алгоритм:

то, что я делаю, в любой момент, я попытаюсь объединить плитки со значениями 2 и 4 , то есть, я стараюсь есть 2 и 4 плитки, как можно меньше. Если я попробую это так, все остальные плитки автоматически объединяются, и стратегия кажется хорошей.

но, когда я действительно использую этот алгоритм, я получаю только около 4000 очков перед игрой прекращает. Максимальные очки AFAIK немного больше, чем 20,000 очков, что намного больше, чем мой текущий счет. Есть ли лучший алгоритм, чем выше?

Я разработал 2048 AI, используя expectimax оптимизация вместо минимаксного поиска, используемого алгоритмом @ovolve. AI просто выполняет максимизацию по всем возможным ходам, а затем ожидание по всем возможным икрам плитки (взвешенное вероятностью плиток, т. е. 10% для 4 и 90% для 2). Насколько мне известно, невозможно обрезать оптимизацию expectimax (за исключением удаления ветвей, которые крайне маловероятны), и поэтому используемый алгоритм тщательно оптимизированный поиск грубой силы.

производительность

AI в конфигурации по умолчанию (максимальная глубина поиска 8) занимает от 10 мс до 200 мс, чтобы выполнить ход, в зависимости от сложности положения доски. При тестировании ИИ достигает средней скорости перемещения 5-10 ходов в секунду в течение всей игры. Если глубина поиска ограничена 6 ходами, AI может легко выполнить 20 + ходов в секунду, что делает для некоторых интересные наблюдаю!--9-->.

чтобы оценить производительность оценки AI, я запустил AI 100 раз (подключен к браузерной игре через пульт дистанционного управления). Для каждой плитки вот пропорции игр, в которых эта плитка была достигнута хотя бы один раз:

минимальный балл за все прогоны был 124024; максимальный балл был достигнут 794076. Средний балл 387222. AI никогда не терпел неудачу в получении плитки 2048 (поэтому он никогда не проигрывал игру даже один раз в 100 играх); на самом деле, это достиг 8192 плитка, по крайней мере, один раз в каждый прогон!

вот скриншот лучшего запуска:

32768 tile, score 794076

эта игра заняла 27830 ходов в течение 96 минут, или в среднем 4,8 ходов в секунду.

реализация

мой подход кодирует всю доску (16 записей) как одно 64-битное целое число (где плитки-это nybbles, т. е. 4-битные куски). На 64-разрядной машине это позволяет передавать всю плату вокруг в едином машинном регистре.

битовые операции сдвига используются для извлечения отдельных строк и столбцов. Одна строка или столбец-это 16-разрядная величина, поэтому таблица размера 65536 может кодировать преобразования, которые работают с одной строкой или столбцом. Например, перемещения реализуются как 4 поиска в предварительно вычисленной "таблице эффектов перемещения", которая описывает, как каждое перемещение влияет на одну строку или столбец (например, таблица "переместить вправо" содержит запись "1122 - > 0023", описывающую, как строка [2,2,4,4] становится строкой [0,0,4,8] при перемещении вправо).

оценка также выполняется с помощью поиска таблицы. Таблицы содержат эвристические оценки, вычисленные по всем возможным строкам / столбцам, а результирующая оценка для доски-это просто сумма значений таблицы по каждой строке и столбцу.

это представление доски, наряду с подходом поиска таблицы для движения и подсчета очков, позволяет AI искать огромное количество игровых состояний за короткий период времени (более 10,000,000 игровых состояний в секунду на одном ядре моего ноутбука середины 2011 года).

сам поиск expectimax кодируется как рекурсивный поиск, который чередуется между шагами " ожидания "(тестирование всех возможных местоположений и значений порождения плитки и взвешивание их оптимизированных баллов по вероятности каждой возможности) и шагами" максимизации " (тестирование всех возможных ходов и выбор одного с лучшим счетом). Поиск дерева завершается, когда он видит ранее видимую позицию (используя транспозиция таблице), когда он достигает предопределенного предела глубины или когда он достигает состояния платы, что маловероятно (например, это было достигнуто путем получения 6 "4" плитки в строке из начальной позиции). Типичная глубина поиска-4-8 ходов.

эвристика

несколько эвристик используются для направления алгоритма оптимизации в благоприятные позиции. Точный выбор эвристики оказывает огромное влияние на производительность алгоритма. Различные эвристика взвешивается и объединяется в позиционный балл, который определяет, насколько "хороша" данная позиция доски. Поиск оптимизации будет направлен на максимизацию среднего балла всех возможных позиций на доске. Фактический счет, как показано в игре, является не используется для расчета счета платы, так как он слишком сильно взвешен в пользу слияния плиток (когда отложенное слияние может принести большую пользу).

Первоначально я использовал две очень простые эвристики, предоставление "бонусов" за открытые квадраты и за большие значения по краю. Эти эвристики работали довольно хорошо, часто достигая 16384, но никогда не доходя до 32768.

Петр Моравек (@xificurk) взял мой ИИ и добавил две новые эвристики. Первая эвристика была штрафом за наличие немонотонных строк и столбцов, которые увеличивались по мере увеличения рядов, гарантируя, что немонотонные строки малых чисел не сильно повлияют на счет, но немонотонные строки больших чисел существенно повредил счет. Вторая эвристика подсчитала количество потенциальных слияний (смежных равных значений) в дополнение к открытым пространствам. Эти две эвристики служили для продвижения алгоритма к монотонным доскам (которые легче объединить) и к позициям доски с большим количеством слияний (поощряя его выравнивать слияния, где это возможно для большего эффекта).

кроме того, Петр также оптимизировал эвристические веса, используя стратегию "мета-оптимизации" (используя алгоритм, называемый CMA-ES), где сами веса были скорректированы для получения максимально возможного среднего балла.

влияние этих изменений весьма значительно. Алгоритм шел от достижения плитки 16384 около 13% времени до достижения ее более 90% времени, и алгоритм начал достигать 32768 за 1/3 времени (в то время как старые эвристики никогда не производили плитку 32768).

Я верю что все еще комната для улучшения на эвристика. Этот алгоритм определенно еще не "оптимален", но я чувствую, что он становится довольно близким.

то, что AI достигает плитки 32768 более чем в трети своих игр, является огромной вехой; я буду удивлен, если какие-либо человеческие игроки достигли 32768 в официальной игре (т. е. без использования таких инструментов, как savestates или undo). Я думаю, что плитка 65536 находится в пределах досягаемости!

Я автор программы AI, которую другие упоминали в этой теме. Вы можете просмотреть AI в действие или читать источник.

В настоящее время программа достигает около 90% скорости выигрыша, работающей в javascript в браузере на моем ноутбуке, учитывая около 100 миллисекунд времени мышления за ход ,так что пока не идеально (пока!) он работает довольно хорошо.

Так как игра представляет собой дискретное пространство состояний, идеальная информация, пошаговая игра, как шахматы и шашки, я использовал те же методы, которые были доказаны, чтобы работать на этих играх, а именно Минимакс поиск С альфа-бета обрезка. Поскольку там уже много информации об этом алгоритме, я просто расскажу о двух основных эвристиках, которые я использую в статическая функция оценки и которые формализуют многие интуиции, выраженные здесь другими людьми.

монотонности

этот эвристика пытается гарантировать, что значения плиток либо увеличиваются, либо уменьшаются вдоль обоих направлений влево/вправо и вверх/вниз. Только эта эвристика отражает интуицию, о которой упоминали многие другие, что более ценные плитки должны быть сгруппированы в углу. Это, как правило, предотвратит осиротение более мелких ценных плиток и будет держать доску очень организованной, с меньшими плитками, каскадирующими и заполняющими большие плитки.

вот скриншот совершенно монотонная сетка. Я получил это, запустив алгоритм с функцией eval, чтобы игнорировать другие эвристики и рассматривать только монотонность.

A perfectly monotonic 2048 board

плавность

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

комментатор по хакерским новостям дал интересное оформление этой идеи в терминах теории графов.

вот скриншот идеально гладкой сетки, вежливость это отличная пародия вилка.

A perfectly smooth 2048 board

Бесплатные Игры

и, наконец, есть штраф за то, что слишком мало бесплатных плиток, так как опции могут быстро закончиться, когда игровая доска становится слишком тесно.

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

вот демонстрация силы этого подхода. Я открыл значения плитки (так что он продолжал идти после достижения 2048), и вот лучший результат после восьми испытаний.

4096

Да, это 4096 наряду с 2048. = ) Это означает, что он достиг неуловимой плитки 2048 три раза на одной доске.

я усовершенствовал алгоритм и победил в игре! Он может потерпеть неудачу из-за простой неудачи ближе к концу (вы вынуждены двигаться вниз, что вы никогда не должны делать, и плитка появляется там, где ваш самый высокий должен быть. Просто попробуй держите верхнюю строку заполненной, поэтому перемещение влево не нарушает шаблон), но в основном у вас есть фиксированная часть и мобильная часть для игры. Это ваша цель:

Ready to finish

это модель, которую я выбрал по умолчанию.

вот алгоритм. Около 80% побед (кажется, всегда можно выиграть с более "профессиональными" методами ИИ, я не уверен в этом, хотя.)

model change

несколько указателей на недостающие шаги. Здесь:

модель изменилась из-за удачи быть ближе к ожидаемой модели. Модель ИИ пытается достичь

и цепочка, чтобы добраться туда стала:

The O представлять запретные места.

таким образом, он будет нажимать вправо, затем снова вправо, затем (справа или сверху в зависимости от того, где 4 создал), затем будет продолжаться, чтобы завершить цепочку, пока она не получит:

Chain completed

Итак, теперь модель и цепь вернулись кому:

второй указатель, ему не повезло, и его основное место было занято. Вполне вероятно, что он потерпит неудачу, но он все равно может ее достичь:

Enter image description here

здесь Модель и цепочка:

когда ему удается достичь 128, он получает целую строку снова:

меня заинтересовала идея ИИ для этой игры, содержащей нет жестко интеллект (i.e нет эвристики, скоринговых функций и т. д.). ИИ должен "знаю" только правила игры, и "выяснить" игры. Это в отличие от большинства AIs (например, в этой теме), где игра по существу является грубой силой, управляемой функцией подсчета очков, представляющей человеческое понимание игры.

AI Алгоритм

Я нашел простой, но удивительно хороший алгоритм игры: чтобы определить следующий ход для данной доски, AI играет в игру в памяти, используя случайные ходы пока игра не закончится. Это делается несколько раз при отслеживании конечного игрового счета. Тогда средний конечный результат за начальный ход рассчитывается. В качестве следующего хода выбирается начальный ход с наивысшим средним конечным счетом.

всего с 100 запусками (i.e in игры памяти) за ход, AI достигает 2048 плитки 80% времени и 4096 плитки 50% времени. Использование 10000 запусков получает плитку 2048 100%, 70% для плитки 4096 и около 1% для плитки 8192.

лучший достигнутый результат показан здесь:

best score

интересный факт об этом алгоритме заключается в том, что, хотя случайные игры неудивительно довольно плохи, выбирая лучший (или наименее плохой) ход приводит к очень хорошей игре: типичная игра AI может достигать 70000 очков и последних 3000 ходов, но случайные игры в памяти из любой заданной позиции дают в среднем 340 дополнительных очков примерно за 40 дополнительных ходов до смерти. (Вы можете увидеть это сами, запустив AI и открыв консоль отладки.)

этот график иллюстрирует эту точку: синяя линия показывает счет доски после каждого хода. Красная линия показывает алгоритм лучшие random-запустить конец игры счет с этой позиции. По сути, красные значения "тянут" синие значения вверх к ним, поскольку они являются лучшей догадкой алгоритма. Интересно видеть, что красная линия находится чуть выше синей линии в каждой точке, но синяя линия продолжает увеличиваться все больше и больше.

scoring graph

Я нахожу довольно удивительным, что алгоритм не должен на самом деле предвидеть хорошую игру, чтобы выбрать ходы, которые производят он.

Поиск позже я обнаружил, что этот алгоритм может быть классифицирован как Чистый Поиск Дерева Монте-Карло.

реализация и ссылки

сначала я создал версию JavaScript, которая может быть видел в действии здесь. Эта версия может запускать 100-х запусков в достойное время. Откройте консоль для получения дополнительной информации. (источник)

позже, чтобы поиграть еще немного, я использовал @nneonneo высоко оптимизированный инфраструктура и реализована моя версия на C++. Эта версия позволяет до 100000 запусков за ход и даже 1000000, если у вас есть терпение. Предоставлены инструкции по строительству. Он работает в консоли, а также имеет пульт дистанционного управления для воспроизведения веб-версии. (источник)

результаты

Удивительно, но увеличение количества запусков не значительно улучшает игру. Кажется, есть предел этой стратегии примерно в 80000 точек с 4096 плиткой и все меньшие, очень близкие к достижению плитки 8192. Увеличение количества запусков от 100 до 100000 увеличивает шансы достижения этого предела оценки (от 5% до 40%), но не прорыва его.

запуск 10000 запусков с временным увеличением до 1000000 вблизи критических позиций удалось преодолеть этот барьер менее 1% раз, достигнув максимального балла 129892 и плитки 8192.

улучшение

после реализуя этот алгоритм, я попробовал множество улучшений, включая использование баллов min или max или комбинацию min,max и avg. Я также попытался использовать глубину: вместо того, чтобы пытаться K запусков за ход, я попробовал K ходов за ход список заданной длины (например," вверх,вверх, влево") и выбор первого хода из списка лучших скорингов.

позже я реализовал дерево подсчета очков, которое учитывало условную вероятность возможности играть ход после заданного хода список.

однако ни одна из этих идей не показала никакого реального преимущества перед простой первой идеей. Я оставил код для этих идей закомментирован в коде C++.

Я добавил механизм "глубокого поиска", который временно увеличил номер запуска до 1000000, когда любому из запусков удалось случайно достичь следующей самой высокой плитки. Это предложило улучшение времени.

Мне было бы интересно услышать, если у кого есть другие идеи по улучшению, которые поддерживают домен-независимость ИИ.

2048 вариантов и клонов

просто для удовольствия, я тоже реализован ИИ как букмарклет, подключение к элементам управления игры. Это позволяет ИИ работать с оригинальной игрой и многие из ее вариантов.

это возможно из-за доменно-независимой природы AI. Некоторые из вариантов довольно различны, например, гексагональный клон.

До конца года осталось немного. Какие у вас планы? Делать вид, что работаете? Обещать купить подарки (прокрастинировать вместо этого)? Играть в игры (Cyberpank 2077 вышел же!)? Можно про. тратить все время на игру в 2028 - теперь в Эксель, делая вид, что работаешь :-)

Есть отдельный жанр игр - игры в Эксель. Ну а почему нет? С помощью формул можно делать все нужные расчеты. С помощью VBA можно запрограммировать что угодно! Правда, что угодно! Поэтому и игры в экселе писать можно. Другой вопрос - зачем? Наверное, ради развлечения, или показать свое мастерство.

Сегодня я поделюсь двумя эксель-играми из своей сокровищницы. Вернее одной (2048), но в дувх вариантах.

Первый вариант выполнен в виде незамысловатого финансового отчета. Такой документ точно не привлечет внимания, если будет открыт на экране :-) Вся игра проходит на листе "Financial Statements". Управление тоже спрятано: для начала игры нужно сделать двойной щелчок в ячейке B4 ("Ballance Sheet"), для сброса - двойной щелчок в B24 ("Profit and loss"). Само игровое поле находится в ячейках G8:J11 (подкрашены серым). Автор этой версии Gabriele Cirulli. Ссылка на скачивание будет внизу.

Вторая версия игры не маскируется - более каноническая. Но в каждой игре можно найти пользу (я в этом не уверен!). В этой - можно обратить внимание на необычную панель инструментов в ленте:

Такие панели инструментов можно создавать и для других программ из пакета Micorosoft Office, добавив в архив с файлом специальный XML-файл "customUI14.xml", в котором описаны все вкладки ленты, сделана привязка их к макросами. Можно так же убрать стандартные вкладки.

Напишите, если вам было бы интересно прочитать про этот функционал!

Ну а на сегодня все. Подписывайтесь на канал, пишите ваши вопросы и предложения в комментариях. Ссылки на игры ниже:

Electronic Software Distribution

Каталог игр с приставок из моего детства Промо

Каталог игр Dendy, Sega, Nintendo из нашего детства.

1 стартмани

06.02.2018 19300 77 user621724_Dimav1979 38

Ханойские башни

Решение головоломки "Ханойская башня" с визуализацией в среде 1С.

5 стартмани

23.12.2019 7072 3 13vap 0

Блэк Джек

Блэк джек, написанный на платформе 1С 8.2 (обычные формы).

1 стартмани

07.10.2019 7001 1 Azamatex 2

Игра "Ван Хельсинг"

Игра "Ван Хельсинг". Интерфейс "Обычный". Аркада.

1 стартмани

03.07.2019 6432 1 Lion_LexXx 0

Сетевая игра "СловоБой" на управляемых формах Промо

СловоБой - это новый взгляд на ставшие уже классическими игры, где нужно составлять слова из букв, наподобие Балды и Эрудита. Играйте онлайн с друзьями! В игре СловоБой побеждает не тот, кто может придумать самое длинное слово, а тот, кто знаком с тактикой не понаслышке и способен использовать оптимальную стратегию.

1 стартмани

10.11.2016 21950 8 woldemarr 0

Игра "Логика"

1 стартмани

13.06.2019 8280 2 legenda-nsh 0

Игра в кости "1000" (сетевая)

Аналог игры в кости 1000 (классика). Работает на управляемом приложении, любой конфигурации и без неё. Тестировал на платформе 1С:Предприятие 8.3 (8.3.10.2667) и выше.

1 стартмани

07.05.2019 13682 2 APTEM_SLV 5

Игра "Арканоид" (Javascript фреймворк Phaser). HTML 5 Сanvas + WebGL. Управляемые формы (ТОНКИЙ, ТОЛСТЫЙ клиент), Обычные формы

Общеизвестная игра "Арканоид", доступная для запуска в 1с. Выполнена в виде обработки, запускаемой из папки, в которой расположены файлы проекта (html, js файла и картинки) Любые конфигурации на обычных формах, управляемых формах (Тонкий + Толстый клиент). УПП, БП 2.0, 3.0. После открытия обработки нажимаем мышью на область экрана игры, точнее, нажимаем на кнопку "СТАРТ" (области игры). Начинается игра. Управление мышью.

1 стартмани

04.05.2019 9022 5 pvlunegov 2

Игра "Самоцветы" (Bejeweled теперь и в 1С) + звук Промо

Bejeweled -Самоцветы - красивая логическая игра, смысл которой заключается собрать три и более одинаковых самоцвета (в вертикальной или горизонтальной строке). Первый клик выбираете самоцвет, второй клик выбираете место куда его переместить, перемещать можно только из соседних строк и столбцов. Развивает внимательность и память. Найденные и выбранные группы самоцветов исчезают, а на их место опускаются новые.

20.10.2010 33103 277 Tatitutu 68

Игра Змейка с автопилотом

Игра Змейка с автопилотом реализована в парадигме автоматного программирования.

1 стартмани

23.04.2019 8953 1 RonX01 17

Логическая игра "Камушки"

1 стартмани

05.04.2019 7925 0 ranis888 5

Розыгрыш к 1 апреля (№2) [Расширение] УТ11

Меняем язык надписей на формах для пользователя с помощью сервиса яндекс-переводчик.

1 стартмани

26.03.2019 7962 5 noprogrammer 1

Игра: Лабиринт для 1С (теперь и для 8.0-8.2) Промо

Игра "Лабиринт в 1С для 8 ки" неограниченное количество уникальных полей лабиринтов произвольных размеров формируется динамически (очень красивое зрелище - завораживает) Смысл игры - выбраться из Лабиринта.

1 стартмани

24.09.2010 31263 454 Tatitutu 24

Розыгрыш к 1 апреля [Расширение]

Небольшой розыгрыш к 1 апреля.

1 стартмани

19.03.2019 7888 4 noprogrammer 13

Magic 8 ball (Магический шар 8)

1 стартмани

13.03.2019 9484 7 Смешной 1С 3

Конфигурация-игра "Сто к одному" (1С + html + js + css)

Этот пост для новичков, так что люди, которые набрали много-много очков да-да-да вы крутые, но пост не для вас.

Гайд по игре 2048. (Очень длиннопост) Этот пост для новичков, так что люди, которые набрали много-много очков да-да-да вы крутые, но пост не для вас.

Я примерно по такой же тактике играл, сразу стало очевижно, что нужно все сдвигать в один угол =)

Кстати говоря, как то раз, очень заигрался, сел в пустую маршрутку, смотрю сидения - пустые и одинаковые, угадайте, какая первая мысль появилась? =)

Иллюстрация к комментарию

Что б я без гайда то делал.

Если отключить интернет если кто не знал),можно сматывать счетчики ожидания времени и делать undo,drip cell и т.п

Когда еще играл в нее (в браузере, без анду), был рекорд..Не помню какой, 2 штуки 8192 собрал, но сложить их не смог. (ну и 4096 атм естественно валялась и болеее мелкие)

Если отключить интернет (если кто не знал),можно сматывать счетчики ожидания времени и делать undo,drip cell и т.п


Мрамор нннада?

Наглядный пример, как тяжело выбраться из подо льда. Это профессиональный спортсмен, 4 кратный чемпион мира по хоккею с мячом. Занимается так же кроссфитом, ледовым кроссом от РедБулл, и судя по тому что я почитал в интернете, попутно плаванием и другими видами спорта, но не на профессиональном уровне. Я уже молчу что здесь он днём, с командой и страховкой, в полностью прозрачной воде с прозрачным льдом. Думаю больше слов не надо, в видео всё максимально наглядно.

Ссылки на профиль спортсмена:

А нам больше и не надо!

А нам больше и не надо!


Скоро

Скоро Комментарии на Пикабу, Комментарии, Скриншот, Юмор, Дети

У пациента была паническая атака во время компьютерной томографии

У пациента была паническая атака во время компьютерной томографии Клаустрофобия, Томография, Панические атаки

Ну в целом да))

Ну в целом да))

Москвичка Ольга, как и многие ее соседи на Киевской улице, недовольна, что в их районе действует нелегальный хостел. Девушка много раз обращалась в полицию из-за шума и агрессивного поведения постояльцев заведения.

Теперь мигранты угрожают ей расправой. Местный участковый, по ее словам, покрывает бизнес. Каждый раз, когда жильцы звонят в дежурную часть и жалуются на шум, проживающие мигом покидают хостел до прибытия наряда. Люди полагают, что информацию о готовящейся проверке им сливает участковый.


Мастер переговоров

Продаю дачу на Авито, иногда попадаются и такие индивиды

Мастер переговоров Авито, Скриншот, Длиннопост, Переписка

Мастер переговоров Авито, Скриншот, Длиннопост, Переписка

Мастер переговоров Авито, Скриншот, Длиннопост, Переписка

Ну вот что за люди непонятливые, на что рассчитывают?

Хороший обмен

Хороший обмен

Опубликован фоторобот жестокого убийцы, который зарезал семью с 10-летней дочкой в Омской области

Опубликован фоторобот жестокого убийцы, который зарезал семью с 10-летней дочкой в Омской области Негатив, Преступление, Криминал, Убийство, Омск, Розыск, Фоторобот

Полицейские объявили в розыск подозреваемого в зверском убийстве семьи в Омской области, в селе Юрьевка. Сегодня утром тела мужа и жены, а также 10-летней девочки нашли в частном доме в этом населенном пункте. Еще двое детей - 14-летняя девочка и 6-летний мальчик - успели убежать к соседям.

Вспомнить внешность нападавшего смогла старшая дочка, именно с ее слов и составили фоторобот подозреваемого, который распространили в соцсетях и по всем полицейским патрулям области. Источник сообщает, что девочка рассказала немного и о деталях нападения: неизвестному открыла хозяйка семьи, он сначала ударил ножом ее, потом напал на мужчину. Дети успели убежать через окно и скрыться у соседей.

- По подозрению в совершении преступления разыскивается мужчина, примерный возраст 45-50 лет, худощавый, лицо морщинистое. Вероятнее всего носит бороду, был одет в темные штаны, куртку, черную шапку и короткие галоши, - сообщается в распространенной ориентировке.

- Если вы располагаете какой-либо информацией о преступнике, сообщите в полицию по телефонам 79-37-92 или 102. Конфиденциальность гарантируется, - просят правоохранители.

Семья занималась фермерским хозяйство, держала скотину. Правоохранители предполагают, что убийца хотел ограбить их. Соседи также считают, что это мог быть приезжий, кто-то, кто приехал в деревню на выходные к друзьям или родным. Для поисков в село прибыли сотрудники омской полиции. Сейчас розыскные действия продолжаются. Подробностей в интересах следствия полиция не раскрывает.

Читайте также: