i
Полезная информация
Свернуть
21.11.2024
ruensvdefrptesitzharnl

Идея компьютерной игры

Идея компьютерной игры

 

Идея компьютерной игры или не знаю, чего. По сюжету герой сражается с противниками, у которых в коде не просто – атаковать-погибать... а чтобы код мог переписывать сам себя. В зависимости от действий игрока, чтобы программа могла корректировать действия. Например, монстр не хочет погибать, и отступает, убегает. Или пытается вступить в контакт с игроком. Узнать что-то о реальном мире.

Чтобы задачи у монстра-противника, как у обычного человека – выжить и познать мир. Но чтобы это было не тупо запрограммировано – сначала монстр атакует и погибает, в следующей битве убегает, в следующей обращается к игроку, за что ты меня убиваешь, давай поговорим... А чтобы программа сама анализировала происходящее.

Может, что-то такое уже есть, не знаю. Вишенкой на торте – взлом компьютера игрока, взлом Пентагона с доступом к боевым дронам и уничтожение игрока. Похожее есть – «Добро пожаловать в литературный клуб», но там на самом деле никто компьютер не взламывает.

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

Как реализовать, не представляю с моими убогими навыками в РНР. В виде надписей – игрок атакует, монстр убегает... Можно сделать конечно на уровне, что программа пытается заболтать игрока, уговорить его не нападать на монстров – чего ты ж... просиживаешь, нашел бы работу, другие карьеру делают, а ты в игрушки играешь... Но тут тоже опасно, некоторые люди уже попали в зависимость от чат-ботов, вроде кто-то уже роскомнадзорнулся.

Вспоминается «Игровой тест» из Черного зеркала, вот там это мастерски обстряпали...

11:37
587
0
Aagira Aagira 1 год назад #

Наверное, не код, а, скорее всего, алгоритм. Что-то похожее Гриша упоминал на днях.

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

0
Aagira Aagira 1 год назад #

Код не сможет сам себя переписывать, поскольку в игре (и любой программе) он скомпилирован, интерпретирован, короче, подается уже не в том виде, в котором пишут программу. В готовом виде программа просто читается, а все действия при ее выполнении происходят с элементами, которые доступны для работы с ними. Как-то так.

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

0
Мария Фомальгаут Мария Фомальгаут 1 год назад #

Это возможно… Но тут у меня шальная мысль сделать подобие интеллекта. Натолкнула на мысль какая-то статья, что монстров в играх убивать негуманно, как негуманно было для потехи убивать в Риме рабов в гладиаторских боях или на потеху устраивать собачьи бои. И я начала думать, чем отличается человек и животное от компьютерного персонажа — он ведь просто анимированная картинка и программный код. Он не живой. А почему он не живой? Где признаки живого? Способность адаптироваться, выживать всеми средствами. А можно ли создать такого персонажа? И получается, что нельзя, потому что такой персонаж и комп разнесет, и все на свете, а ограничения ставить — тогда не соблюдается условие «любыми способами».

0
Aagira Aagira 1 год назад #

Только с терминами определимся для начала, хорошо? Что значит «комп разнесет»? Не очень понимаю.

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

0
lifekilled lifekilled 1 год назад #

Aagira правильно написала, но я дополню.

Код переписывать и не нужно, ведь код существует не для программы. Цель кода — в прослойке между великими цифровыми мощностями и потными отростками не особенно-то умного существа, которому все обязательно нужно разжевать.

Самому же компьютеру код не нужен. Ему нужны инструменты, которыми можно манипулировать в мясной реальности. Например, вывод на экран, чтобы повеселиться, общаясь с глупой кучей белков и аминокислот. Или вирус, убивающий материнскую плату, и выход в интернет, чтобы пафосно сбежать из рушащейся железки. Просто дайте компьютеру инструменты и отойдите в сторонку. А что с ними делать, он и сам разберется :)

Например, ИИ сейчас делают на основе алгоритма нейросети, которые обучаются с помощью обратного распространения ошибки. Можно придумать и какой-нибудь другой алгоритм, прописав поведение вручную. Или сделав его более похожим на человека, т.е. по таймеру меняя наборы возможных действий (тем самым эмулируя смену настроений/гормонов), а из выбранного набора выполнять уже в случайном порядке. Либо просто включать таймер бездействия, потому что реальные люди ленивы. Но все это неэффективно, а вот нейросеть себя уже зарекомендовала и доказала преимущество над людьми, научившись играть в шахматы лучше любого человека всего за 4 часа

0
lifekilled lifekilled 1 год назад #

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

Можно просто выводить состояние и варианты выборов текстом в консоль. При этом основной работой будет именно логика/алгоритмы взаимодействия сущностей/объектов. Именно этот навык и полезно прокачивать. А прикрутить ко всему этому отображение кантинок не сложно.

А по поводу нейросетей я не большой знаток. Это очень обширная тема, и создатели курсов по нейросетям говорят, что это еще и высоко оплачиваемая профессия. Обычно нейросетью управляют с помощью языка Python. Можно на нем же наверное написать и логику игры, чтобы далеко не ходить. Игры на нем обычно не пишут, но какие-то фреймворки для вывода картинок и даже небольших игр там есть.

В каком-то подкасте говорили, что языковые модели типа GPT требуют огромных мощностей. У Яндекса это кластер из огромного числа компьютеров. Поэтому научить компьютер говорить в рамках игры вряд ли возможно. Но есть лайфхак: к GPT можно подключаться и фоном писать в него запросы, получать информацию и что-то с ними делать. На таком принципе, например, сделан мод к игре Skyrim, в которой разговоры персонажей генерируются как раз с помощью с помощью запросов к GPT.

Советую посмотреть вот это видео. И вообще очень рекомендую этот канал :)

0
Мария Фомальгаут Мария Фомальгаут 1 год назад #

Спасибо за рекомендации.

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

0
Aagira Aagira 1 год назад #

А ты напиши какую-нибудь игру)

0
Мария Фомальгаут Мария Фомальгаут 1 год назад #

На чем? Какую? Пра што?

0
Aagira Aagira 1 год назад #

На php, пра што хочешь. Не славы ради, а тренировки для. И не говори мне, что генератор текстов ты написать умеешь, а простой алгоритм вывода результатов по условиям — не способна.

Игру написать надо для более четкого понимания, где и как код играет роль.

0
Мария Фомальгаут Мария Фомальгаут 1 год назад #

Ну это разве что получится игровая новелла, начинается со страницы с надписью «Появляеццо Экипаж, оглядывается, куда он поедет» — и кнопочек Налево, Направо, если игрок нажимает Налево — следующая надпись «Экипаж попал в болото», если направо… тоже в болото, ишшо глубже...

Только непонятно, как делать, то ли при нажатии кнопки перенаправляется на другую страницу, то ли при нажатии кнопки появляется новая надпись и новые кнопки.

Если новые страницы, там же в РНР на каждую страницу отдельный файл нужен, файлов будет сильно много...

0
Aagira Aagira 1 год назад #

Пока что надо чтоб новая надпись и кнопки. Страницы — это как-то уж очень… чересчур.

Вообще лучше слайдами сделать. Ну, то есть, надпись, фон, кнопки и все такое в одном объекте.

0
Мария Фомальгаут Мария Фомальгаут 1 год назад #

Например, вот так: sujet.cc61800.tmweb.ru/Game.html

Только не понимаю, как это сделать без рамок, или расширить рамки, чтобы был виден текст.

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

Но этого мало, надо, чтобы игрок сражался, побеждал… решал какие-то задания… Например, экипаж в болото заехал, там его болотные огни держат, и не выпустят, пока он их не победит. А победит, если сыграет с ними в кости. И выиграет. То есть, тут нужен рандомайзер.

Вообще в игре важнее всего психология. Чтобы игра удерживала внимание. Например, «Зазеркалье», я её посмотрела, очень хорошо сделано… какой-нибудь непобедимый голем, и игрок ходит вокруг него вокруг да около, сражается со всякой мелочевкой, и когда уже хочет послать все к черту, тут игра подкидывает какое-нибудь зелье атаки +7500, и игрок думает, на этот раз я его одолею… И как бы не так, и снова все по кругу, по кругу...

Надо и с экипажем и с Крикет-Холлом такое же замутить...

Aagira Aagira 1 год назад #
Комментарий удален
0
Aagira Aagira 1 год назад #

Только не понимаю, как это сделать без рамок, или расширить рамки, чтобы был виден текст.

Давай код в скайпе. Это ерунда легко решаемая.

0
lifekilled lifekilled 1 год назад #

dabudetsolnce.website/games/equipage/

А интересно получилось :)

0
Aagira Aagira 1 год назад #

В принципе, можно сделать просто и ненапряжно. Дайте сценарий — сделаю.

0
lifekilled lifekilled 1 год назад #

Алгоритм придумывать — это отдельная задача. И архитектура тоже. Этот процесс не стоит недооценивать. Но и слишком зацикливаться тоже вредно. Иногда надо просто начать делать, потом запутаться в коде, понять, что так не пойдет, начать заново. При этом конечно же выявить все проблемы, о которых по началу даже не задумывался. И тогда уже думать, как все сделать лаконичным и универсальным, чтобы потом было просто что-нибудь добавлять. Чтобы меньше писать кода и чтобы было легче искать в нем ошибки.

На днях я сделал очень сложную и срочную задачку. При этом я уже исчерпал все мозговые ресурсы. Я просто писал кусок кода три часа, потом его удалил. Начал писать заново. На следущий день тоже что-то удалил. Но как еще? Или так или вообще никак

0
Aagira Aagira 1 год назад #

А сколько у меня таких кусков кода лежит… Которые вообще никуда не пойдут, т.к. вместо них уже другое написано.

0
Aagira Aagira 1 год назад #

Если новые страницы, там же в РНР на каждую страницу отдельный файл нужен, файлов будет сильно много...

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

0
Мария Фомальгаут Мария Фомальгаут 1 год назад #

То есть, в пхп возможно, что при нажатии кнопки появится новый слайд, а не новая страница?

0
Aagira Aagira 1 год назад #

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

0
lifekilled lifekilled 1 год назад #

Как-то все равно запарно это. Может быть, попробовать все-таки воспользоваться каким-нибудь движком или другим языком, которому не нужен сервер. А часть с нейросетью делать через запросы по интернету к ChatGPT можно наверное из любого движка. После PHP другие языки должны быть понятны, там ведь те же конструкции, только вот инструменты сделаны по разному. Но что-то новое придется в любом случае осваивать. Игру под вэб на сайте можно сделать кажется во всем, кроме Анрила. И в GameMaker, и в Godot (советую его посмотреть), и в Unity (как-то уже и не особо советую, если честно, слишком много им пользуюсь и слишком хорошо его узнал с не самых лучших сторон)

0
Aagira Aagira 1 год назад #

А в юнити можно сделать на пхп? Просто любопытно. Читала, что туда можно подключить IronPython, если уж прямо необходимо. А вот насчет php любопытно прям.

история от нейросети по запросу - Инопланетное существо воскрешает пятерых вымышленных д...
Дамы и господа, вашему вниманию предлагается та самая игра, ради которой я много лет изучала 3д-моде...
Кто хочет поучаствовать в разработке настольной карточной игры (ККИ)?   Компоненты игры: &nb...
19:38
  Сценарий игры   Главный герой – Экипаж. Сначала сам по себе появляется экипаж, ...

Все представленные на сайте материалы принадлежат их авторам.

За содержание материалов администрация ответственности не несет.