Войти
ПрограммированиеФорумИгровая логика и ИИ

Магическая система, основанная на формальной логике.

Страницы: 1 2 3 4 5 6 7 Следующая »
#0
23:15, 18 мая 2010

Обычно во всяких ролевых играх для того, чтобы улучшить магические способности персонажа, игрок прокачивает такую характеристику, как "Интеллект". Так уж принято, что воен должен быть сильным, а маг должен быть умным. А на деле получается, что для применения магии от игрока не требуется тот самый "интеллект", достаточно просто быстро кликать на врагов, испуская потоки огненных шаров, молний и прочих спец.эффектов. Конечно, многие могут со мной не согласиться и привести примеры игр, в которых от игрока требуется шевелить извилинами, не буду с ними спорить.
Дак вот, к чему я это все. У меня есть мысля создать игру, в которой магическая система будет основана на формально логике. Я начал экспериментировать в этой области и уже написал небольшую програмку, которую скоро выложу.
Собственно, как я все это вижу. Игрок, к примеру, решил убить страшного Огра, который живет пососедству. Он приходит к его пещере и кричит:
- выходи на бой, мерзкое Чудище!
А ему в ответ:
- сломай сначала мою магическую защиту, если не слабо.
А дальше начинается логика. А именно,  дана некоторая система аксиом, и необходимо доказать противоречивость данной системы. Игрок преобразует данное логическое выражение по правилам математической логики до такого вида, в котором будет явное противоречие. При этом он может применять какие-нибудь теоремы, которые он доказал заранее. Вот как-то так.
Собственно, в данной теме хотелось бы поразмышлять на тему логики. Я понимаю, что большинство пользователей боится таких слов, как "математика" и "логика", и отвергнет такую игру не думая. Вот по этой причине и надо, чтобы она была завернута в красивую обертку под названием "магия". Нарисовать красивые спец-эффекты, сделать хороший туториал, постепенно нарастающую сложность игры, сделать так, чтобы геймплей сводился к простому перетаскиванию шариков туда-суда, и чтобы игрок даже не догадался, что в корне лежит его величество Математика.


#1
23:22, 18 мая 2010

ArhiRat
Решать уравнения - скучно. Интереснее решать задачу вида:
Маг положил на себя заклинание неуязвимости к обычному оружию. Чтобы сколдовать на него заклинание по снятию боевой защиты, его надо сделать сначала видимым. Но он положил на себя заклинание иммунитета к школе магии, которой принадлежит спелл обнаружения невидимости. У тебя есть специальный каст, который снимает иммунитеты к заклинаниям. Но это заклинание дорогое, его так запросто лучше не кастить, а ты знаешь, что любой уважающий себя маг всегда ходит с защитой от первого спелла, пытающего проломить его защиту. Поэтому ты сначала кидаешь в него мэйджик миссл чтобы он поглотился первым барьером защиты, потом pierce shield, чтобы снять иммунитет к школе иллюзий, чтобы скастить обнаружение невидимости, чтобы скастить breach, который снимает иммунитет к простому оружию, чтобы, наконец, зарядить ему двуручным топором промеж глаз, но не тут-то было, у него срабатывает spell sequencer, в котором лежал random teleport, stoneskin и physicsl mirror. к чёрту формальную логику, бацай в baldur's gate.

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

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

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

#2
14:49, 14 июля 2010

Хм..... очень понравилась идея... Сам очень долго думал над тем, как бы придумать хорошую систему магии в игре, чтобы её можно было расширять средствами самих игроков. Да, имея использования формальной логики хороша - достаточно составить красивую систему аксиом, а заклинаниями будут теоремы. Вполне возможно, что имеет смысл сделать несколько "школ магии" - взять разные аксиоматики для разных нужд. Для защитной магии надо брать плохую аксиоматику (противоречивую), и попытаться сделать некие ограничения (это уже тяжело и математично), дабы при нужных ограничениях невозможно было бы составить недоказуемое выражение... По этой теме желательно почитать теорему Гёделя... Ну и тогда защитная система строится просто: один игрок составляет теорему, доказывает её. Таким образом у него получается защита. Уверен, что таких аксиоматик можно найти много, так что можно сделать несколько стихий. Чтобы эту защиту обойти жругому игроку - он должен доказать теорему, пользуясь той же аксиоматикой.

Теперь атакующие заклинания. Тут есть некая проблема- в большинстве игр магия не ритуальная, а "завершительная" - игроку требуется короткое действие чтобы высвободить всю энергию заклинания. Ради интереса можно сделать таким образом: атакующие заклинания составляются в стандартной интуиционистской аксиоматике (с правилом верности двойного отрицания), и сравниваются несколько факторов: длина итоговой формулы, количество шагов для её доказательства, количество используемых аксиом и т.п. В зависимости от этих факторов получаем этакую меру силы заклинания. Т.е. игроки сами смогут составлять заклинания определённого вида. И не дай Бог какой-нить с.н.с. с кафедры логики захочет сыграть в эту игру - всех отповнит :)

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

#3
15:36, 14 июля 2010

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

#4
16:31, 14 июля 2010

Да, но это идея совсем из другой области.... В вашем случае заклинание будет представлять собой просто скрипт. А это, как мне кажется, несильно что-то меняет.... По поводу языка - прелесть в том, что игроку придётся делать обратную операцию... А обратные операции в некоторых случаях очень тяжкие, но интересные (умножение-факторизация, например, или производная-интеграл). Проверить, подходит ли слово под язык - дело для простого автомата, а вот составить слово под язык - дело не всегда простое (ну кроме брутофорса). А добавить художественной мишуры  не составит труда... особенно если любишь читать фентази и играть в ргпшки старые (Arcanum ВЕЧЕН!)

#5
17:32, 14 июля 2010

zuko3d
> Да, но это идея совсем из другой области.... В вашем случае заклинание будет представлять собой просто скрипт. А это, как мне кажется, несильно что-то меняет....
А если язык будет очень низкоуровневый? То есть у нас нет команды "кастануть файрбол", есть гораздо более простые, например "впитать 25 единиц энергии в себя", "отправить 10 единиц энергии в определенную точку". Таким образом, при должном продумывании структуры "виртуальной машины", заклинания будут очень разнообразными и неожиданными.

P.S. прет все больше и больше...

#6
19:58, 14 июля 2010

zuko3d
> Проверить, подходит ли слово под язык - дело для простого автомата, а вот
> составить слово под язык - дело не всегда простое
Ты затронул проблему тысячелетия - (NP == P) ?

#7
23:46, 14 июля 2010

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

#8
10:25, 15 июля 2010

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

#9
10:55, 15 июля 2010

mefistofel
> типа сидит маг у себя в башне клепает заклинания а потом идет в поход с ними
Появятся сайты с наборами лучших заклинаний, никто не будет больше париться, все возьмут макросы с сайта и будут рубиться себе спокойно, как рубились бы в ЛА2 или Вов.
Набор для пвп.
Набор для пве.
Набор для соло фарма.
Набор для издевательства над низкими уровнями.
Набор для праздников и ролевых игр.

#10
12:48, 15 июля 2010

Тут уже тема была про конструктор магии на многостраниц.

#11
13:46, 15 июля 2010

Искандер - ссылку в студию.....


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

#12
15:18, 15 июля 2010

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

#13
15:34, 15 июля 2010

вот пара дли-и-и-инных дискуссий на тему...

http://www.gamedev.ru/gamedesign/forum/?id=65924
http://www.gamedev.ru/gamedesign/forum/?id=75991

#14
15:35, 15 июля 2010

Если старательно заставлять игрока думать, обрубая все пути к отступлению (новые переменные, более сложные заклинания и проч. матан) он уйдёт в другую РПГ, где думать не надо.

Думать вообще занятие достаточно затратное для организма, поэтому все изо всех сил думать не хотят ;)

Страницы: 1 2 3 4 5 6 7 Следующая »
ПрограммированиеФорумИгровая логика и ИИ

Тема в архиве.