Вы сейчас здесь
«Облако» тэгов
link, small, tagless, tiny, 2003, big, 2008, 2010, январь, декабрь, сентябрь, 2001, 2004, 2002, август, апрель, март, июль, 2009, игры, октябрь, май, июнь, февраль, 2007, ноябрь, img, 2011, quote, wow, huge, блоги, кино, игровой дизайн, ребенок, половой вопрос, технологии, вебдев, lytdybr, фразы, живой журнал, жизнь, язык, яндекс, php, 2006, людишки, 2005, поисковики, software, video, inglish, 2000, смишно, диалоги, музыка, книги, культ личности, дейтинг, политика, интернет, 1999, rss, контент, flash, я, авторские проекты, реклама, прон, next-gen mmo, ореховые скорлупки, сми, js, программирование, fight club, register, социгры, спам, english reviews, американас, потребление, беллетристика, идеи, мое величие, iphone, usability, пидорасты, battle.net, lifestyle, starcraft 2, Тёма, соционика, spectator.ru, британские ученые, развитие, Масква, бабло, литература, фото, mobile, work, болкман, титаны, hard, hobius, mysql, интеллектуальный юмор, хостинг, blogowar.ru, графика, SEO, blogowar, magic, журналистика, злоба дня, религия, стартапы, social, tf2, цитаты, gzip, warhammer, браузеры, велосипед, киви, медикаментоз, общество, оговорки, html, воспитание, мифы, паранойа, письма в редакцию, учеба, 1998, soft, soviet, twdnkumus, глянцевые журналы, монетизация, норкотики, сайты, сиськи, типографика, тьюринг, mongodb, дизайн, железо, живут же люди, лолвут, плагиат, твиттер, тренд, 2012, about, бабушки, вещи, видео, зомбоящик, игрушки, социопатия,
Персональное
об авторе и сайте
мойкруг (резюме)
на G+
порнотумблер (rss)
инстаграм (хипстерские фото)

facebook
twitter

skype: acerbial
gtalk: dmitry.smirnov


C любовью к людишкам™,
♥ 1998 - 2013.

powered by mongodb.



Pickpocket’инг

К вопросу об автоатаке, кстати.

Ни в одной синглплеерской RPG не сделан правильно пикпокетинг (и все остальные события с вероятностями). Потому что украден из настолок. В настолках игрок говорит «а теперь я нежно запускаю руку в его карман» и бросает кубик. Если получилось — то получилось.

В компьютерных РПГ все так же, с «маленьким» нюансом — есть кнопка «save/load». При достаточном терпении бросание кубика теряет смысл.

А  теперь — как правильно. При генерации игрового мира в начале игры каждому персонажу прописывается не только сложность пикпокетинга, но и твой «бросок кубика» на все случаи.

Voila!

Update. Понятно, что «хранить все броски» — это условность, в реальности же генератор случайных чисел псевдослучаен и даже seed можно не хранить, не говоря уже о каждом броске. Вместо seed-а можно использовать дату начала игры * ID персонажа * ID действия. Так и результат будет и постоянен при загрузке и случаен в каждой игре.

3 года назад
15
В таком случае игрок сохраняется, пикпокетит, если не вышло загружается и идет дальше, и никаких последствий неудачи всеравно нет. Были игры где так стрельба шла, сохранился, выстрелил, если не попал то загружаешься и не делаешь бесполезного поступка. Нужно решать проблему с save/load делая его как в Диабло 2, хорошей игре, где только смерть протагониста означает конец игры (а иногда даже она нет) это пойдет на пользу.
А последствий от проваленного действия быть не должно просто.
"Нужно решать проблему с save/load делая его как в Диабло 2, хорошей игре, где только смерть протагониста означает конец игры (а иногда даже она нет) это пойдет на пользу. "

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

а обходить проблему с кнопкой save/load и кубиками надо запоминая состояние генератора белого шума после последнего случившегося броска (вести свои генераторы по отдельным типам действий). Тогда не будет жесткого детерминизма (можно прокрутить генератор дальше украв у кого-нибудь еще), не надо плодить данные в сейвах.

Я говорил не об авторесуректе, а о смерти как возможной части сюжета как Planescape Torment.
В Jagged Alliance, помнится, решили проблему наполовину — там если после лоада повторить те же действия один-в-один, получался ровно тот же результат.

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

Тунгус
Я не понял
Т.е. если не могу обокрасть вооонтого злобного фермера то я не смогу обокрасть его никогда чтоли ?
И так как это блог про вов то там есть шанс резиста
Никогда не сможешь, да. Ну если не поднимешь склилл до такой степени, что он перевести бросок кубика.
Тут правильно пишут про JA где можно было стрельнуть в другого врага если не получается в нужного или даже стрельнуть в того же, но с другими параметрами выстрела (например потратить больше или меньше времени на прицеливание). Пост в общем-то можно смело распространить с Pickpocketing’а на «события зависящие от вероятности в пошаговых стратегиях». На мой взгляд более правильно было бы сделать так, чтобы первый seed для каждого действия над каждым объектом был вычисляем, а далее он сохранялся бы среди прочих атрибутов npc.
Ну seed конечно же хранить, ибо генератор случайных чисел псевдослучаен. Можно даже seed не хранить, а вместо него использовать дату начала игры * ID персонажа * ID действия.
vkv
а можно просто затруднить сейв-лоад.
вот например в хз, сейвы в произвольное время в космосе есть, но они стоят 3000кр (на станциях бесплатно).
если спикпокететь за раз ты можешь меньше N*k рублей, то тратить на попытку больше N рублей не будешь .
Seed псевдослучайной последовательности сохранялся в civ 3. Теперь избежать неприятностей было сложнее: мало было загрузиться, надо было еще сделать другие ходы.
Затруднять сейв-лоад в сингл юзере глупо. Если в сетевой игре ты своим читерством испортишь удовольствие другим юзерам, то задротствуешь в сингле ты только сам с собой. В конце концов, для кого-то задротство — это часть кайфа от игры, зачем их его лишать. Всё равно большинство играет по-честному. Есть же установки сложности «easy» и «hard», а с задротством это такое «very easy».
Билейтер
>Затруднять сейв-лоад в сингл юзере глупо. Если в сетевой игре ты своим читерством испортишь удовольствие другим юзерам, то задротствуешь в сингле ты только сам с собой.
Вот-вот. Мы хотим чтобы игрок удовольсвие получил или чтобы он почувствовал себя земляным червяком?
Flint
Это решит проблему только частично. Ничто не мешает человеку запомнить/записать тех персонажей, кого бы он хотел обокрасть, но не смог, а потом, качаясь дальше, периодически сохраняться и навещать их, чтобы проверить не перевесил ли его скилл пороговую величину кражи.

Как уже говорили, лучший способ это Save&Exit, как в Диабло. Но фишка в том, что если делать Save&Exit, то замораичваться по поводу рэндома становится не нужно, гы-гы.

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

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

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

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

Если же неудачи — важны для геймплея, то всё тоже просто. Даже с сейвами :). Мы просто запоминаем все удачи и неудачи! И при каждой попытке — учитываем все прошлые попытки. Тогда задрот сможет, конечно, всегда воровать успешно (может у него принцип такой?) — НО, для успешности, ему нужно будет всё БОЛЬШЕ и БОЛЬШЕ попыток. Можно даже как нибудь сложно считать вероятности, и даже опыт считать исходя из этого. Может даже — качать одни скилы — удачными попытками, другие — неудачными.

Вообще, имхо, вор без неудач — и не вор вовсе, а gatherer какой-то :). Можно например в гильдию пускать только с отсидками :) (читай — неудачными попытками кражи). Ну или как-то еще обыграть особенности и прелести «нелёгкой» жизни :)

zerrr
> получилось/неполучилось и разрешение попробовать еще раз этого персонажа обокрасть через Н секунд.
полностью поддерживаю.

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

Привет, Anonymous! Чтобы оставлять комментарии, надо авторизоваться.