Сделал Ботов на НЕЙРОСЕТЯХ и Заставил их Сражаться
#Vectozavr #Gamedev #Programming
Моя школа по математике:
Помочь денежкой:
tg: @vectozavr
inst:
vk:
patreon:
Игра:
Моя статья про нейросети:
Тайм коды:
Сегодня я расскажу, о том, как я добавил систему бонусов в свою 3D игру, сделал большую и интересную карту для сражений и реализовал ботов, которых заставил сражаться друг с другом. Приятного просмотра!
Для тех, кто не смотрел, вкратце расскажу, что было сделано. Сначала я подключил SFML и научился рисовать простые двумерные примитивы. После этого я сделал двумерную карту, добавил игрока и сделал управление. С помощью рейкастинга я добился эффекта третьего измерения. То есть зная расстояние до объекта в данном направлении, можно нарисовать препятствия разной высоты. При этом будет создаваться иллюзия третьего измерения.
После этого я добавил текстуры, оружие, зеркала, звуки, обработку столкновений и онлайн. Про все это вы сможете посмотреть у меня на канале, если вам это интересно.
Первым делом я решил сделать новую, большую и просторную карту.
Карту можно делать в любом 3D редакторе, а потом экспортировать графику как .obj файл. Так обычно и делают, когда пишут игры. Я буду использовать Cinema4D. Нет никакой разницы, какой именно редактор трёхмерной графики вы будите использовать, ведь формат .obj файлов унифицирован.
Я подумал, что раз у нас есть прыжок, то логично было бы сделать его очень большим. Для этого нужно подготовить движок к тому, чтобы можно было перепрыгивать через стены и правильно обрабатывать стрельбу в воздухе.
По ходу того, как я писал движок, со мной связался подписчик, который загорелся желанием запустить мою игру на linux’e и эльбрусе. Дмитрий смог запустить движок, но проблема была в том, что игра сильно тормозила. Так как вся математика производится на процессоре, появилась идея воспользоваться мульти поточностью и распараллелить вычисления равномерно на все ядра, ведь практически все современные процессоры имеют более одного ядра.
Изначально я думал написать какой-нибудь простой алгоритм для бота, но проблема в том, что простой алгоритм будет слишком глупым, а сложный не понятно, как реализовать. И тогда почти сразу же мне пришла гениальная идея: а что, если сделать нейросеть для ботов, которая будет обучаться естественным отбором, играя сама с собой. Это действительно интересно!
В сети я нашел несколько статей, посвященных обучению нейросетей специально для этих целей. Но эти статьи требовали достаточно высокого уровня владения материалом. Так же нужно понимать, что настоящий 3d шутер отличается от моей игры хотя бы тем, что у меня все происходит в 2D, а значит и процесс обучения будет гораздо проще.
Я решил, что самым простым вариантом будет использовать генетический алгоритм, основанный на естественном отборе.
После 2х тысяч поколений счет вышел на постоянную величину и дальше боты развиваться не хотели. После 6-ти тысячного поколения был небольшой рост до 9-ти тысячного поколения, но дальше, сколько я не обучал сеть, роста больше не было.
1 view
76
12
7 months ago 02:34:53 1
Система - Человек
7 months ago 00:00:00 1
ХАМАС против Израиля. Что делать левым?
7 months ago 01:50:41 1
«Государству нельзя сказать “нет“» // «Скажи Гордеевой»
7 months ago 00:18:08 1
Делаю КАЖДЫЙ ДЕНЬ 1 упражнение, тайны долголетия
7 months ago 00:04:54 1
План победы над Россией. Как «стирают» города без бомб, снарядов и танков.
7 months ago 00:23:53 1
"УСЛОЖНЁННАЯ" ПРИПЯТЬ ПРОФИ ВДВОЁМ — ПРОХОЖДЕНИЕ ЗА 22:55
7 months ago 00:13:23 1
Делаю ЭТО каждое утро , 4 простые рекомендации от доктора
7 months ago 00:11:19 1
КВАНТОВАЯ МЕХАНИКА. Видео 1
7 months ago 00:29:41 1
Жизнь проходит впустую. 10 признаков что ты живешь не свою жизнь. Как освободиться от чужих программ
7 months ago 00:45:05 1
Откуда берутся переплаты по ЖКХ и что делать? Максим Шилов
7 months ago 00:48:08 1
48 минут контента. Смотреть до конца.ВОЙНА В ИЗРАИЛЕ. СТОЛКНОВЕНИЕ ЦИВИЛИЗАЦИЙ. ЧТО ДЕЛАТЬ РОССИИ?
7 months ago 00:42:44 1
КАК НАЧАТЬ ИГРАТЬ В ДОТУ С НУЛЯ: ТЕОРИЯ, ПРАКТИКА и СЛОВАРЬ ДОТЕРА
7 months ago 00:12:32 1
Как пользоваться Midjourney в России
7 months ago 01:29:51 1
Ольга Ускова: “Гагарины уже родились“. IT в СССР, как выжили в 90-ые, и в чем мы сейчас лучшие?
7 months ago 00:21:02 1
МОШЕННИКИ АТАКУЮТ 🤬 что делать, если стали жертвой мошенников 🫣 АЛЛО! ЭТО СЛУЖБА БЕЗОПАСНОСТИ БАНКА
7 months ago 00:14:55 1
Что делать если кинули на Авито, Юле и любых подобных площадках 🤷♂️🤬
7 months ago 00:10:02 1
Что делать, если стал ДРОПом? Принял ЗАЛИВ на карту; стал соучастником мошеннической СХЕМЫ С КАРТАМИ
7 months ago 00:03:01 1
Мастер-класс по конструированию робота. Трэш-робот «Вибро-бот»
7 months ago 00:03:21 1
Почему Кант утверждал, что знание – это новая порода лошадей? Разбираемся в тайном смысле его цитат!
7 months ago 00:39:29 1
манишка крючком, в которой ничего не нужно сшивать. мастер-класс
7 months ago 01:13:22 1
СОБЕСЕДОВАНИЕ В РДК | НОВАЯ ЖИЗНЬ НА СТОРОНЕ ДОБРА, В СОСТАВЕ РДК @dmytrokarpenko
7 months ago 00:09:19 4
Приставы арестовали карту и счета. Что делать? Как снять арест с карты и счетов за долги должника
7 months ago 00:09:19 1
Как высыпаться и полноценно работать если у тебя ребёнок