|
victorif
|
Создание "ООлите-РПГ" с помощью ИИ Дипсик. |
|
 |
| Above Average |
Зарегистрирован: 11.05.26 Сообщений: 36
|
Создаю новую тему, о процессе создания игры, мода, не знаю как и сказать, с помощью ИИ Дипсик. Доброго всем. Коротко о себе, в Элите с 88года, через руки прошли все Элиты. В данжероус один из создателей Юры нашего Грома, Скряга. На сайте Elite-games представлен со времён создания ещё первых версий сайта. Итак, с самого начала игрового стажа, мне всегда не хватало глубины в Элите, да были истории но их мало. С программированием у меня не задалось, писать код это мука для меня, а вот видеть структуру программы, архитектуру, это легко. В общем мечталось, но с реализацией никак. Группу собрать для создания кода не удалось, однако первичные обсуждения мы проводили. Оттуда родился проект, сетевой Элиты. Каждая система отдельный сервер, прыжок соответственно переход с сервера на сервер. Дальше всё затихло. Когда впервые в мои руки попал Дипсик, я начал изучать его возможности в качестве мастера НРИ. Для тестов использовал тестовую игру Елите-РПГ, ИИ провёл игру на ура, такого удовольствия я давно не получал. Далее я подошёл к ЕД, всё ничего, но весь контент который можно получить, это передать жсоны от лога игры к ИИ. Да, мы получаем красочный текст, но он идёт после миссии, нет истории. Для написания борт журнала для Инары, вполне. И вот тут я вспомнил про Оолите. С дипсиком мы довольно быстро написали МСР сервер на питоне, сделали oolite-ai-bridge.oxp, и вуаля, дипсик начал создавать контент, миссии. И передавать его в игру, через открытые порты для тестирования. Пока, по моему заказу, для проверки возможности, я ограничил ИИ текстом и одной генерацией конвоя, сопровождение моего корабля от станции, текст в игру. Сейчас мы здесь. Всё прекрасно работает. События в игре приходят на порт сервера, он отправляет Дипсику через апи, Дипсик кидает контент и событие обратно через сервер, это оказывается в игре. Возникла проблема с русским шрифтом, текст отображался вопросиками, в качестве костыля, дипсик на лету написал транслит таблицу, читать можно, но такое. Всё бы ничего, но время, свободное время. Понятно что писать код, это почти мгновенно, сервер плюс охп, были созданы в промежутке между другими делами, за один вечер, но время всё равно не хватает. Дипсик конечно сильно помогает, но сам себе он ставить задачи не может, пока во всяком случае. Так что ставить задачи это удел человека. Но я один и ИРЛ не даёт много времени, Семья, внуки, рыбалка, дача, работа и вот это вот всё. Да, я раздумываю вместе с дипсиком в любое свободное время, а его не так много. Сейчас я стою на этапе создания серверной и клиентской части, нашёл этот сайт и решил поделиться с сообществом своими наработками, с целью собрать ядро команды, которое пересоберёт Оолиту в сетевой вариант, с поддержкой двуязычного варианта. "Оолите-РПГ" Где весь нарратив, все события ведёт "ИИ-мастер игры" ИИ мастер игры, более чем реален, это решает кучу проблем с контентом, производством миссий, не надо самому писать, ИИ весь нарратив привязывает к игроку и событиям в системе, системах, локальный минисервер простыми формулами считает экономику. Спавны кораблей делает, через инструменты Оолиты, сам ИИ мастер игры, исходя из событий окружения и действий игрока, собственный нарратив. Ничего писать не надо, только инструменты, встроенные в локальный клиент, это текущая ООлите с доработками, и системный промт. Я этот текст пишу дольше, чем написался сервер и обвязка.  Да, забыл главное, для работы с игрой, играми, нужен апи дипсика, он платный, но первые 5000000 токенов просто по регистрации дают. Весь остальной трафик токенов я оплачиваю через алипей, вернее буду оплачивать, до конца 5кк токенов ещё очень далеко. АПИ на данном этапе нужен только для тестирования, программирование идёт в бесплатном чате.
|
|
| |
 |
|
victorif
|
Re: Создание "ООлите-РПГ" с помощью ИИ Дипсик. |
|
 |
| Above Average |
Зарегистрирован: 11.05.26 Сообщений: 36
|
На данном этапе я за выходные, три дня, собрал небольшой сервер, который работает через АПИ с Дипсиком и слушая Оолиту, загружает в неё различные события, тексты, спавнит корабли. Это происходит посредством инструментария, который заливается, в процессе разработки на сервер МСР, пока структура тестовая. Проверив реальность взаимодействия, я подошёл к порогу создания сервер клиентской системы. После относительно недолгих обсуждений с Дипсиком, я давал ему наработки прошлых лет, мы пришли к первичной архитектуре. Что бы не тащить тонны текста я дам ссылку на обсуждение. Можете почитать и понять логику работы с дипсик. От просто случайного прочтённого сообщения, к тому что есть сейчас, время неделя, заполненная всем чем угодно, но только не написанием кода. Копал грядки и раздумывал, брал телефон и спрашивал, читал ответ и думал, когда оказывался у компьютера, быстро собирал и запускал тестировать. https://chat.deepseek.com/share/e3z71mzrn6pxdВ пределах этой чата-сессии можете продолжать рассуждения и работу. Можете сделать системный промт для другой сессии-чата, в общем созидайте-развлекаясь. Ну и главное. "Свобода среди звёзд!" Юрий Гром
Последний раз редактировалось victorif 15.05.26, всего редактировалось 1 раз.
|
|
| |
 |
|
victorif
|
Re: Создание "ООлите-РПГ" с помощью ИИ Дипсик. |
|
 |
| Above Average |
Зарегистрирован: 11.05.26 Сообщений: 36
|
|
Это просто магия какая то, пока работал, параллельно писали, в итоге, на сейчас. Есть сервер и два клиента Оолите, из коробки что называется, в первом вылетаешь из станции, во втором видно как корабль вылетает и делает эволюции,можно пристроится в кильватер, скорость и прочая всё отрабатывается. Врезания происходят, щиты падают, корабль разрушается.
Охренеть, меня эмоции переполняют. Комрады, я ведь реально это делал походя. Подбегу к компьютеру, напишу, он сгенерирует, я быстро тестирую, логи ему, он правит, в 6 итераций уложились, и вуаля, я вижу второй корабль.
Понимаете, я меньше чем за час реального времени, нихрена не знающий ни одного языка, ну бейсик, просто общаясь с дипсиком, объясняя и углубляя, развивая тему, это сделал. От меня копипаст и запуск команд, которые дипсик же и пишет. У меня от осознания этого просто накрывает.
|
|
| |
 |
|
seventh
|
Re: Создание "ООлите-РПГ" с помощью ИИ Дипсик. |
|
 |
| Archangel |
 |
Зарегистрирован: 21.11.09 Сообщений: 544
|
Перенес сообщения сюда 1. Регистрируемся в Дипсике. https://chat.deepseek.com/всё примитивно, почта, пароль, подтверждение. В дипсике задаём вопрос о АПИ, он переведёт на страницу, опять же регистрация, и создание АПИ ключа, копируем ключ, он показывается один раз. Первоначальных токенов на попробовать 5 миллионов, вполне хватит. 2. Качаем https://github.com/OoliteProject/oolite ... n-test.exe3. Убедитесь, что у вас Python 3.8 или новее. Скачайте с python.org, при установке обязательно отметьте галочку Add Python to PATH. https://www.python.org/downloads/Проверьте в командной строке: python --version 4. Библиотека для работы с API DeepSeek Выполните в командной строке: pip install openai Остальные модули (socket, struct, json, re, sys) входят в стандартную библиотеку Python, их ставить не нужно. 5. Файлы нашего проекта Создайте в удобном месте рабочую папку, например C:\AI_Oolite. В ней будут два файла: ai_console.py (сервер) и отдельно наш OXP‑пакет для игры. Сервер ai_console.py Скачайте файл ai_console.py https://disk.yandex.ru/d/Vp9wV7-qsU_3XgНе забудьте заменить sk-ВАШ_КЛЮЧ на реальный ключ API DeepSeek. OXP‑пакет для игры Наш пакет расширения будет размещён в папке AddOns игры. Положите его туда. Запустите Python-сервер Откройте командную строку в папке с ai_console.py и выполните: python ai_console.py Вы должны увидеть: text AI-консоль слушает 127.0.0.1:8563 Ожидание подключения Oolite... Запустите Oolite Запустите игру как обычно. В логе игры (C:\.Oolite\oolite.app\Logs\Latest.log) не должно быть ошибок подключения к консоли. Сервер в консоли сообщит о подключении: text Подключена Oolite: ('127.0.0.1', 5xxxx) Шаг 3. Начните новую игру или загрузите сохранение Как только вы окажетесь на станции, вылетите в открытый космос. Сразу же должны произойти две вещи: В консоли сервера появятся строки: text Событие: shipLaunched | station: Coriolis Station ИИ вызывает: spawnShip({'role': 'escort', 'count': 5}) -> Команда: escort_spawn:escort|5... -> Команда: show_mission:Сопровождение|... -> Команда: player.consoleMessage(...) На экране игры (в левом нижнем углу) появится сообщение на русском (транслитом) о том, что эскортная группа следует за вами. Позади вас из станции вылетят 5 кораблей и пристроятся в escort. Шаг 4. Проверьте прыжок Совершите гиперпрыжок в другую систему. ИИ опишет выход из варпа, и сообщение снова появится на экране. 6. Возможные проблемы «Ошибка подключения» на стороне Oolite. Убедитесь, что Basic-debug.oxp активирован. Проверьте, не запущена ли другая программа на порту 8563. Закройте лишние окна OoDebugConsole.exe, если запускали ранее. Сервер запускается, но событий нет. Убедитесь, что файл script.js находится в правильной папке AddOns\oolite-ai-bridge.oxp\Config\, и игра видит его (в логе должна быть строка AI Bridge Script 4.1). Проверьте, что в файле logcontrol.plist или в настройках Debug OXP не отключена отправка логов на консоль. Нет эскорта. В консоли сервера должны быть сообщения escort_spawn:.... Если их нет, проверьте настройку SYSTEM_PROMPT – ИИ должен строго следовать инструкции вызывать инструменты. Можете временно упростить промпт, чтобы он гарантированно вызывал spawnShip. 7. Что дальше Теперь вы можете менять поведение ИИ, редактируя SYSTEM_PROMPT и добавляя новые инструменты в TOOLS. ИИ‑мастер готов к созданию полноценных сюжетных миссий, управлению NPC и многому другому. Удачных полётов!
|
|
| |
 |
|
seventh
|
Re: Создание "ООлите-РПГ" с помощью ИИ Дипсик. |
|
 |
| Archangel |
 |
Зарегистрирован: 21.11.09 Сообщений: 544
|
Вот только я решил, что можно не переживать за судьбу форума и на тебе Очень всё аппетитно. Я обязательно попробую. Вроде как это даже мне и по рабочим делам поможет быстрее вникнуть. Но мне придется что-то с нуля на корочку записывать, поэтому у мозгов будет сопротивление по началу. Но будем пробовать! Тут даже уже речь идет про актуалочку, а не ностальгию
|
|
| |
 |
|
victorif
|
Re: Создание "ООлите-РПГ" с помощью ИИ Дипсик. |
|
 |
| Above Average |
Зарегистрирован: 11.05.26 Сообщений: 36
|
Это вам камрады, на попробовать. Устанавливаем две версии Оолиты, https://github.com/OoliteProject/oolite ... n-test.exe в каталог, у меня C:\.Oolite и второй C:\.Oolite2 делаем папку сервер, туда кидаем вот из скачанного файл сервера, В аддоны каждую папку в свою, https://disk.yandex.ru/d/Vp9wV7-qsU_3Xg Порядок теста Убедитесь, что в обоих экземплярах Oolite лежит одинаковый script.js версии 5.2‑unified. Запустите новый battle_server.py. Запустите первый клиент → Вылетите из станции, отлетите немного, развернитесь. Запустите второй клиент → вылетите, наслаждайтесь. Возможно позже прикрутим стрельбу лазером и ракетами, плюс сделаем модель полёта в системе с подгрузкой боевого сервера, когда корабли игроков сблизятся в пространстве на контактное расстояние. Всего 9000 знаков с пробелами, один час, тестов, сборки, набора задач для ИИ, и вуаля. Камрады, это прорыв! Я получил то о чём мечтал, трудолюбивого помощника, который не просто тупо набивает текст, а и мыслит очень неплохо, для кремния. И да, я не программист. 
Последний раз редактировалось victorif 27.05.26, всего редактировалось 4 раз(а).
|
|
| |
 |
|
seventh
|
Re: Создание "ООлите-РПГ" с помощью ИИ Дипсик. |
|
 |
| Archangel |
 |
Зарегистрирован: 21.11.09 Сообщений: 544
|
Там на Яндекс-диске файла ai_console.py нету 
|
|
| |
 |
|
victorif
|
Re: Создание "ООлите-РПГ" с помощью ИИ Дипсик. |
|
 |
| Above Average |
Зарегистрирован: 11.05.26 Сообщений: 36
|
seventh: Там на Яндекс-диске файла ai_console.py нету  Очень извиняюсь, всё на бегу делаю, удалил вчера папки модуля МСР, перед выкладыванием прототипа сетевого модуля. Сейчас добавил, модуль в ту же папку. Сервер и аддон. ai_console.py последняя версия с веб интерфейсом
|
|
| |
 |
|
victorif
|
Re: Создание "ООлите-РПГ" с помощью ИИ Дипсик. |
|
 |
| Above Average |
Зарегистрирован: 11.05.26 Сообщений: 36
|
|
Ну что же, основное я проверил. Теперь стало понятно, что надо поднимать отдельный сервер. Да, корабли мы видим, даже можем взаимодействовать, но НПС у нас будут разные. Как тест я убедился, что возможно многое. Принял решение, разобрать Оолите и собрать из неё полноценный сервер. Пока тестовый. Его задачи, крутить системы лаве диссо, создавать НПС, одинаковые у обоих клиентов, делать перемещения, всё состояние давать на клиенты, клиенты пока те же, обрезанные, всех НПС и прочая будут получать от сервера. Проект полностью тестовый. Возможно придётся писать всё с нуля. Надеюсь нет, всё же наработок много в Олите, библиотека большая. Начинаем разбирать Оолите по косточкам. Хорошо что она, Оолитка, под капотом достаточно простая.
|
|
| |
 |
|
victorif
|
Re: Создание "ООлите-РПГ" с помощью ИИ Дипсик. |
|
 |
| Above Average |
Зарегистрирован: 11.05.26 Сообщений: 36
|
|
наверное отчёт. Вчера был сложный, день. Потратил кучу драгоценного времени на пустые бодания, тесты, вместо того что бы погрузится в тему. Распишу, как урок пользования. Мне надо было получить на сервере пустую систему. Дипсик бодро написал о популяторе и написал код, я запускаю, вроде никого нет, но через минуты 4 появляются нпс, переписываем код, и опять. Каждая итерация занимала не меньше 10 минут, которые найти ещё надо. в общем весь рабочий день мы бодались, и ничего. Вечером, когда я уже освободился от обязанностей дедушки, на полчаса, я начал копать. Просто попросил очень подробно расказать о популяторе, Дипсик начал собирать информацию и упомянул репопулятор и системинфо, я уточняю и вуаля, вижу всю схему населения системы. Забавно было видеть, после моих уточнений, реакцию Дипсика, чисто человеческая, я так и представил его рука -лицо, Вот же пишет, мы остановили популятор на старте, но репопулятор каждые 20 секунд перенаселяет систему, по шаблону в планет инфо. Режем, режем не дожидаясь перетонита"! Мгновенно пишет, тестирую, пусто! В системе пусто. Основная задача решена, за оставшиеся полчаса, до чтения книжки внуку на ночь, успели прогнать библиотеку команд, для без иишного нпс. Утром успел накидать модуль отслеживания расположения всех объектов на сервере и трансляцию их, для создания призраков на клиентских системах, осталось это же сделать на клиенте для обратной трансляции на сервер, где всё будет сводится и транслироваться обратно. Задача на сегодня, завтра. После этого уже стрельба и прочее, ну и собственно на этом всё. Пишем коммуникатор, пока на локалку, потом на интернет, если ничего не помешает, думаю неделя.
|
|
| |
 |
|
victorif
|
Re: Создание "ООлите-РПГ" с помощью ИИ Дипсик. |
|
 |
| Above Average |
Зарегистрирован: 11.05.26 Сообщений: 36
|
|
Гладко было на бумаге, да забыли про овраги. Вот не ожидал такой подставы. Только обсудил предзаключительную часть с новым режимом, одна система-сервер, два клиента, начал делать и бац. Лимит. Начинайте новый чат. В итоге режу сообщения, стараюсь вытащить как можно больше контекстных веток. Придётся чистить основной чат. Опыт. Для перворазников. Сразу просите маркировать цифрами ответ, искать и возвращать ИИ проще. Если проводите отладку и в конце работает, то просите отметить какие ошибки были, как решал, и вставляйте правильное решение сразу после начала первой итерации, остальные итерации внутри цикла доводки, уже ненужные, потрутся, а контекст останется, ИИ будет помнить. В общем пауза не без полезного, сижу перечитываю, понимаю что многое пропустил.
|
|
| |
 |
|
seventh
|
Re: Создание "ООлите-РПГ" с помощью ИИ Дипсик. |
|
 |
| Archangel |
 |
Зарегистрирован: 21.11.09 Сообщений: 544
|
|
У меня получилось проделать все шаги. И вроде вот-вот я почти поверил, что оно может получиться....но нельзя недооценивать предсказуемость тупизны. Все накрылось большим Железным Совком. А именно: Дик Пик не дает больше через API ничего бесплатно. Пополнить прям сейчас не получится. Придется немного отложить.
|
|
| |
 |
|
victorif
|
Re: Создание "ООлите-РПГ" с помощью ИИ Дипсик. |
|
 |
| Above Average |
Зарегистрирован: 11.05.26 Сообщений: 36
|
seventh: У меня получилось проделать все шаги. И вроде вот-вот я почти поверил, что оно может получиться....но нельзя недооценивать предсказуемость тупизны. Все накрылось большим Железным Совком. А именно: Дик Пик не дает больше через API ничего бесплатно. Пополнить прям сейчас не получится. Придется немного отложить. Очень странно, я могу закинуть 10 юаней, может так активируется? Нужен куаркод, напиши на почту, через макс соединимся, vic.smollett@yandex.ruПродолжаю работу. Сервер, держит НПС когда все клиенты вышли, отображает НПС у всех игроков одинаково. Игроки могут записываться, бой пока не делал, но зачатки есть. Удалось раскрутить новый чат на вменяемую работу, системным промтом и конкретными решениями из старого чата, в старом чате есть ветвление, можно запрос изменить, дипсик начинает другую ветку.
|
|
| |
 |
|
victorif
|
Re: Создание "ООлите-РПГ" с помощью ИИ Дипсик. |
|
 |
| Above Average |
Зарегистрирован: 11.05.26 Сообщений: 36
|
|
микро отчёт ПвП бой сделал, не вылизанный, но для боя нормально, корабли взрываются, геймовер есть. Гибель НПС при ПвЕ транслируется. Сегодня планирую, прыжки из системы в систему сделать, проблемное место, много времени на тесты уйдёт. Время катастрофически не хватает, начались активные тесты, 90 процентов времени отъедают, итерация теста до 15 минут.
Сел в лужу где вообще не ожидал, нужен простой эффект лазера, а нету такого метода, через спец эффект только, так же факт выстрела не логируется, обходным манёвром через температуру лазера отслеживать заставил. Вот реально не ожидал, на казалось бы пустом месте, убил кучу времени на тесты.
|
|
| |
 |
|
victorif
|
Re: Создание "ООлите-РПГ" с помощью ИИ Дипсик. |
|
 |
| Above Average |
Зарегистрирован: 11.05.26 Сообщений: 36
|
|
Итак, потеряв кучу времени на создание луча, просто картинки (моя ошибка), вернулся к синхронизации сервера и клиента. Улетаю, прилетаю, вхожу в станцию, второй игрок спокойно висит у станции, для мониторинга. Начал делать передачу призраков НПС на клиент. Тестовый НПС в качестве призрака, успешно передан, взорван, обработан системой синхронизации на клиентской версии Оолите) Вот тут понял, что с лазером потерял кучу времени. По итогу, научился собирать информацию на сервере по населению, и слать клиентам, требуется вылизывание, но я прототипирую, вылизывать потом, главное рабочее подключение двух клиентов к двум серверам, ЛАВЕ и Леести, к примеру. Пока одним клиентом летаю к Леести и обратно, второй держит сервер. Сегодня продолжу собирать и отлаживать модуль наблюдения и синхронизации жизни на сервере Лаве. Много времени уходит на тесты.
Проблемные участки которые дорабатывать надо, это утончение клиента, подавление его популяторов изнутри, полноценный коннектор бридж, для произвольного соединения клиента в пул адресов сервера. по расчётам дипсик, гипотетически, мы можем обрабатывать до 60000 клиентов (конечно нет, скорости порта не хватит, хотя оптимизация возможна)
При двух серверах и трёх клиентах. Графика на клиенте, корабли, перемещение, эволюции, (отображения на клиенте, лазеров, ракет, ЕСМ и прочего, оказалось не простым делом, но и не особо нужным. Вот ЕСМ попробую установить, в качестве теста, но по свободному времени) первую часть буду считать оконченной.
Пока так. Чрезвычайно интересно, но очень кушает свободное время (которого и так с гулькин нос), особенно тесты с перелётами, решил не маяться, сделал сейвы на Леести.
ЗЫ Буду рад помощи в освоении изображении лазеров , ракет и ЕСМ на призраке, у клиента. урон наносится на сервере, просто картинка, пустышка.
|
|
| |
 |
|
|