Сам лечу, сам мочу(с) или как сделать синг игру в мультиплеере не скучной?

Добавлен , опубликован
Сейчас на zadolba.li наткнулся на достаточно конструктивное замечание в сторону разработчиков ммо, с которым по большей части я согласен.
А меня задолбали разработчики онлайн-игр.
Понятно, когда юный геймер, выпросив наконец у мамы (или слив у друзей) вожделенную игру, заводит себе персонажа и начинает «качаться». Вот он напрашивается в какую-то команду и начинает расти по уровням. Всё как в жизни: от новичка до мастера… простите, от нуба до эльфа 80 левела. У каждого своя специализация, свои навыки, своя роль. Участие в рейдах, командная игра — ему это интересно.
Другое дело, когда, вернувшись с работы, хочется «уничтожить всех человеков» или хотя бы покрошить монстров за стеклом монитора. А вот фиг тебе!
Я не хочу вступать в вашу гильдию. Да просто потому, что не хочу никому подчиняться.
Я не хочу напрашиваться к той вон команде, у которой недавно ушёл кто-то там, по той же причине.
Я не хочу выходить на бой с тобой, скучающий задрот: ты прокачал своего персонажа хрен знает до какого уровня. Сам понимаешь, против тебя шансов ноль.
Я не хочу участвовать в каких-то рейдах — вчера у меня была встреча с заказчиком, а сегодня я сплю.
Напомню, я хочу «уничтожить всех человеков». Люди меня достаточно достали в реальности, чтобы ещё и в игре с ними общаться.
Но нет, разработчики не оставили возможности поиграть одному: тут для прохождения требуются минимум два танка и хилер, там одновременно необходимы умения эльфа и гнома, а вот в той игре без вступления в одну из корпораций вообще играть невозможно — без вариантов.
Сделайте, что ли, мир, в котором одинокие злобные некроманты будут отвоёвывать друг у друга замки, населяя их зомби и скелетами. Может быть, хоть там удастся обойтись без «командной игры»?
На мой взгляд рпг должна обладать практически безграничным простором для исследования(поиска предметы, способов усилить персонажа, всяких секретов и тд). А что вы думаете по этому поводу?
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
24
11 лет назад
0
П4ела, мир у меня определенно не маленький...
Что касается квестов, то у меня вроде бы тоже не плохой задел для решения этого вопроса. Возможно действительно нужно уделить еще больше внимания квестам...
Вот кстати пример квеста, не мог бы ты дать независимую критическую оценку?
Мне кажется и из исходника суть будет ясна :)
хотя честно говоря я и так знаю, что техническая сторона на 5, литературная на 2 :)
исходник квеста
scope LoseGroop initializer Init
StartQuest
QuestHead
quest_single = true
quest_repeat = false
quest_num = 89
quest_name = "Пропавшая группа"
quest_req_rep = 50
quest_rang = D
quest_for_clan = konoha_shinobi
quest_vs_clan = none
quest_cond = 0
quest_cond_other = false
quest_cond_status = unstarted
quest_stages = 32
quest_rew = 'I00G'
quest_exp = 0
quest_money = 100
quest_npc[0] = Npc_Unit[161]
adv
quest_npc[2] = Npc_Unit[286]
quest_npc[3] = Npc_Unit[117]
quest_npc[4] = Npc_Unit[117]
trap
quest_npc[6] = Npc_Unit[158]
quest_npc[7] = Npc_Unit[158]
escort
quest_npc[9] = Npc_Unit[158]
quest_npc[10] = Npc_Unit[158]
quest_npc[11] = Npc_Unit[158]
trap
quest_npc[13] = Npc_Unit[159]
quest_npc[14] = Npc_Unit[159] goto 21
escort
quest_npc[16] = Npc_Unit[159]
quest_npc[17] = Npc_Unit[159] goto 21
find items
quest_npc[19] = Npc_Unit[159]
quest_npc[20] = Npc_Unit[159]
trap
quest_npc[22] = Npc_Unit[160] goto 27
quest_npc[23] = Npc_Unit[160] mob-killing
quest_npc[24] = Npc_Unit[160]
quest_npc[25] = Npc_Unit[160]

quest_npc[27] = Npc_Unit[160]
quest_npc[28] = Npc_Unit[160]
escort
quest_npc[30] = Npc_Unit[160]
quest_npc[31] = Npc_Unit[160] Pursuit
quest_npc[32] = Npc_Unit[161]
EndQuestHead

IsNpcIdAndStage(161, 1)

Replicas
npc_ask = "Группа шиноби которых я направил в разведку на юг страны давно не выходит на связь. Возможно с ними что то произошло."
quest_tips = "Узнайте что случилось с группой шиноби которая патрулировала Юг страны Огня."
strHELP = "Детали миссии"
strMEAN = "Принять миссию"
strEXIT = "Отказатся от миссии"
qweHELP = "Какова моя задача?"
qweMEAN = "Что ж, я постараюсь что нить разузнать о твоей группе."
qweEXIT = "Я слишком занят"
ansHELP = "Нужно добыть любые сведения о группе. Если что то с ними произошло, то нужно спасти их."
ansMEAN = "Рядом с местом в которое я отправил есть небольшая деревушка. Лучше всего начать поиск с нее."
ansEXIT = "Всеравно спасибо"
EndReplicas

QuestActions
MeanAction
CreateQuestAdventure(12000.,-24200., 600., "Вы добрались до деревушки. Вам стоит поспрашивать у местных о судьбе шиноби, быть может они что то знают...", "");
EndAction
EndQuestActions


IsNpcIdAndStage(286, 3)

Replicas
npc_ask = "Чего нужно?"
quest_tips = "Найдите шиноби о котором говорил стражник"
strMEAN = "Спросить о группе"
qweMEAN = "Я ищу группу шиноби из селения Листа которую недавно направили в этот регион. Они должны были остановиться здесь. Ты что нибудь знаешь?"
ansMEAN = "Хм, я особо не вкурсе, но вроде бы один из группы сейчас в деревне."
EndReplicas

QuestActions
EndQuestActions

IsNpcIdAndStage(117, 4)

Replicas
npc_ask = "*Не реагирует на ваше присутствие*"
strMEAN = "Спросить о группе"
qweMEAN = "Эй! Ты же из группы шиноби которую послали на миссию в этот регион?"
ansMEAN = "*Никак не реагирует*"
EndReplicas

QuestActions
EndQuestActions

IsNpcIdAndStage(117, 5)

Replicas
quest_tips = "По всей видимости от шиноби не получиться добиться ответа.\n Отправляйтесь в разведку, быть может найдутся какие нить зацепки."
strMEAN = "Спросить еще раз"
qweMEAN = "Эй! Я с тобой разговариваю, ты слышишь?"
ansMEAN = "*Никак не реагирует*"
EndReplicas

QuestActions
MeanAction
CreateQuestAdventureWithTrap(11000., -27000., 600., Bandit, 5, "Судя по этой засаде вас явно ждали. Разберитесь с бандитами и постарайтесь что нить узнать о судьбе остальных шиноби")
EndAction
EndQuestActions

IsNpcIdAndStage(158, 7)

Replicas
npc_ask = "Тебя послали за мной?"
strMEAN = "Говорить"
qweMEAN = "Ты один из тех шиноби которых послали в этот регион с миссией?"
ansMEAN = "Да. Слушай, нам нужно торопиться. Что то произошло, и нападавшие бросили меня тут и куда то ушли. Но я боюсь они могут скоро вернутся."
EndReplicas

QuestActions
EndQuestActions

IsNpcIdAndStage(158, 8)

Replicas
quest_tips = "Сопроводите спасенного шиноби в деревню"
strMEAN = "Говорить"
qweMEAN = "Хорошо, ты сможешь идти сам?"
ansMEAN = "Да, поторопимся."
EndReplicas

QuestActions
MeanAction
Escort(Npc_Unit[158], 12600.0 , -24300.0 , "Вы успешно добрались до деревни", "Вы не смогли спасти шиноби, миссия провалена", "Шиноби",Bandit)
EndAction
EndQuestActions

IsNpcIdAndStage(158, 10)

Replicas
npc_ask = "Спасибо тебе за помощь."
strMEAN = "Говорить"
qweMEAN = "Не думаю, что они нападут в открытую на нас здесь, по этому мне кажется что тебе стоило бы рассказать что же произошло с вашей группой."
ansMEAN = "Нашей целью была разведка. Когда мы начали исследовать регион, мы обнаружили большое количество шиноби отступников и прочей нечисти. Передвигаться группой стало опасно и мы решили разделится. Вскоре меня обнаружили, что с остальными я не в курсе. Возможно их тоже поймали..."
EndReplicas

QuestActions
EndQuestActions

IsNpcIdAndStage(158, 11)

Replicas
strMEAN = "Говорить"
qweMEAN = "Что ж, спасибо за сведения. Кстати один из вашей группы в деревне. Но... как бы это сказать... он странно себя вел. Я пытался задавать ему вопросы о произошедшем, но он как будто меня не замечал"
ansMEAN = "Тогда я отправлюсь к нему, быть может когда он увидит меня ему станет лучше."
EndReplicas

QuestActions
EndQuestActions

IsNpcIdAndStage(158, 12)

Replicas
quest_tips = "Отправляйтесь в поиски сведений об остальных членах группы"
strMEAN = "Говорить"
qweMEAN = "Хорошо, удачи, я постараюсь найти зацепки об остальных"
ansMEAN = "Будь осторожен."
EndReplicas

QuestActions
MeanAction
UnitOrderMoveToPoint(Npc_Unit[158], 13170.0, -24100.0, 320.0)
CreateQuestAdventureWithTrap(16000., -28300., 1000., Bandit, 5, "Судя по этой засаде вас явно ждали. Разберитесь с бандитами и постарайтесь найти зацепки о других шиноби")
EndAction
EndQuestActions

IsNpcIdAndStage(159, 14)

Replicas
npc_ask = "Эй, ты шиноби селения листа? Помоги мне отсюда выбраться..."
strMEAN = "Говорить"
qweMEAN = "Ты шиноби из группы которую послали в этот регион с миссией?"
ansMEAN = "Нет, но если ты мне поможешь мне спастись, я поделюсь ценными сведениями"
EndReplicas

QuestActions
EndQuestActions

IsNpcIdAndStage(159, 15)

Replicas
strGOOD = "Спасти"
qweGOOD = "Хорошо, я помогу тебе, ты как, *вы замечаете легкие ранения* сам сможешь идти?"
ansGOOD = "Думаю да, это лишь царапины..."

strEVIL = "Бросить"
qweEVIL = "В мою миссию не входит спасение посторонних, пускай даже ты шиноби нашей деревни. Прощай"
ansEVIL = "Черт... если я выберусь, я тебе это припомню..."
EndReplicas

QuestActions
GoodAction
Escort(Npc_Unit[159], 12600.0 , -24300.0 , "Вы успешно добрались до деревни", "Вы не смогли спасти шиноби, миссия провалена", "Шиноби",Bandit)
EndAction
EvilAction
GoToStage(21);
CreateQuestAdventureWithTrap(18800., -28300., 600., Bandit, 5, "Судя по этой засаде вас явно ждали. Разберитесь с бандитами и постарайтесь найти зацепки о других шиноби")
EndAction
EndQuestActions

ветка квеста в котором игрок играет роль хорошего шиноби

IsNpcIdAndStage(159, 17)

Replicas
quest_tips = "Отправляйтесь в поиски сведений об остальных членах группы"
npc_ask = "Мы добрались... *теряет сознание*"
strMEAN = "Говорить"
qweMEAN = "Эй! Эй! Что с тобой? *шиноби не реагирует*. *Вы быстро осматриваете его раны и замечаете что раны были не простыми, они были нанесены ядовитым оружием*"
EndReplicas

QuestActions
EndQuestActions

IsNpcIdAndStage(159, 18)

Replicas
strGOOD = "Спасти"
qweGOOD = "Держись, сейчас я соберу травы и сделаю противоядие!"

strEVIL = "Оставить умирать"
qweEVIL = "Что ж, видимо такова твоя судьба..."
EndReplicas

QuestActions
GoodAction
CreateNItemInRange('I01W', 5, "Лечебные травы","Вы собрали достаточно лечебных трав", 11500., -24600., 1000., false, onGRASS)
EndAction
EvilAction
GoToStage(21);
CreateQuestAdventureWithTrap(18800., -28300., 600., Bandit, 5, "Судя по этой засаде вас явно ждали. Разберитесь с бандитами и постарайтесь найти зацепки о других шиноби")
EndAction
EndQuestActions

IsNpcIdAndStage(159, 20)

Replicas
npc_ask = "*Шиноби выглядит плохо и у него бред*"
strMEAN = "Использовать травы"
qweMEAN = "*Из собранных трав вы сделали противоядие, остается только ждать*"
EndReplicas

QuestActions
EndQuestActions

IsNpcIdAndStage(159, 21)

Replicas
npc_ask = "*Шиноби пришел в себя* Спасибо тебе дружище... если бы не ты... я бы точно погиб. Я обязан тебе жизнью дважды"
strMEAN = "Спросить про сведения"
qweMEAN = "Ты сказал, что у тебя есть какие то ценные сведения"
ansMEAN = "На самом деле я соврал. Прости. Но за то что ты спас меня аж дважды, я не могу тебя не отблагодарить."
EndReplicas

QuestActions
MeanAction
AddRewardItem('I01V', "Получено: Взрывные кунаи х3")
CreateQuestAdventureWithTrap(18800., -28300., 600., Bandit, 5, "Судя по этой засаде вас явно ждали. Разберитесь с бандитами и постарайтесь найти зацепки о других шиноби")
EndAction
EndQuestActions

IsNpcIdAndStage(160, 23)

Replicas
npc_ask = "Эй, тише! Тут вокруг полно врагов!"
strGOOD = "Помолчать"
qweGOOD = "*Вы избежали обнаружения*"
ansGOOD = "Отлично. Опасность миновала."

strMEAN = "Говорить"
qweMEAN = "*Вы выдали себя*"
ansMEAN = "Черт! Я же говорил"
EndReplicas

QuestActions
GoodAction
EndAction
MeanAction
GoToStage(26);
SpawnQuestMob(Bandit,4, 19300. , -26700. , 45. , 500., null, "Вы убили бандитов", "Бандиты скрылись и выдали ваше месторасположение. Миссия провалена.")
EndAction
EndQuestActions

IsNpcIdAndStage(160, 24)

Replicas
strMEAN = "Говорить"
qweMEAN = "Ты шиноби из группы которую послали на разведку в этот регион?"
ansMEAN = "Да. Я из этой группы, тебя послали к нам на помощь?"
EndReplicas

QuestActions
EndQuestActions

IsNpcIdAndStage(160, 25)

Replicas
strMEAN = "Говорить"
qweMEAN = "Не совсем. Меня основная задача узнать о вашей судьбе."
ansMEAN = "Понятно, но знаешь, помощь мне бы не помешала. Нашей группе пришлось разделиться. Судя по всему некоторые попали в плен. Я пытаюсь узнать их месторасположение и попытаться спасти товарищей"
EndReplicas

QuestActions
EndQuestActions

IsNpcIdAndStage(160, 26)

Replicas
strMEAN = "Говорить"
qweMEAN = "Не стоит беспокоиться, я уже выручил твоих товарищей, они в целости и сохранности в деревушке неподалеку"
ansMEAN = "Так значит все спасены? Со всеми все в порядке?"
EndReplicas

QuestActions
MeanAction
GoToStage(26);
EndAction
EndQuestActions

27 точка пересечения

IsNpcIdAndStage(160, 28)

Replicas
npc_ask = "Эй! Ты! Ублюдок! Ты хоть понимаешь что я из за тебя теперь не смогу спасти своих товарищей?!"
strMEAN = "Говорить"
qweMEAN = "Успокойся, я уже выручил твоих товарищей, они в целости и сохранности в деревушке неподалеку"
ansMEAN = "Так значит все спасены? Со всеми все в порядке? Тогда мне больше нечего здесь делать."
EndReplicas

QuestActions
EndQuestActions
IsNpcIdAndStage(160, 29)

Replicas
quest_tips = "Вернитесь с последним шиноби в деревню"
strMEAN = "Говорить"
qweMEAN = "Да. Давай возвращаться."
ansMEAN = "Хорошо, думаю действительно лучше будет встретиться с остальными."
EndReplicas

QuestActions
MeanAction
Escort(Npc_Unit[160], 12600.0 , -24300.0 , "Вы успешно добрались до деревни", "Вы не смогли спасти шиноби, миссия провалена", "Шиноби",Bandit)
EndAction
EndQuestActions

IsNpcIdAndStage(160, 31)

Replicas
npc_ask = "Спасибо за то что помог мне и моим товарищам, я перед тобой в долгу"
strMEAN = "Попрощаться"
qweMEAN = "Что ж, на этом моя миссия тут завершена, мне нужно вернуться в селение Листа и сообщить о том что вы живы."
ansMEAN = "Я понимаю, что это эгоистично, но не мог бы ты помочь еще кое чем? Доставь пожалуйста в селение Листа этот отчет. Он очень важен."
EndReplicas

QuestActions
EndQuestActions


IsNpcIdAndStage(160, 32)

Replicas
quest_tips = "Вернитесь в селение Листа"
strMEAN = "Взять отчет"
qweMEAN = "Хорошо, я доставлю твой отчет в селение Листа."
ansMEAN = "Будь осторожен по дороге обратно."
EndReplicas

QuestActions
MeanAction
CreatePursuit(Bandit)
EndAction
EndQuestActions

IsNpcIdAndStage(161, 33)

Replicas
npc_ask = "Я смотрю ты вернулся. Ты смог узнать что случилось с отправленной группой?"
strMEAN = "Говорить"
qweMEAN = "Да. Группа которую вы отправили в южный регион с разведкой был атакована превосходящими силами. Мне удалось их спасти. Потерь среди группы нет. Так же они попросили передать этот отчет."
ansMEAN = "Значит все целы? Что ж отлично. *Читает отчет* Спасибо за работу. Можешь идти."
EndReplicas

QuestActions
SetUnitPositionOnStartPosition(Npc_Unit[158])
SetUnitPositionOnStartPosition(Npc_Unit[159])
SetUnitPositionOnStartPosition(Npc_Unit[160])
EndQuestActions
EndQuest
endscope
0
30
11 лет назад
0
Faion:
а вот в той игре без вступления в одну из корпораций вообще играть невозможно — без вариантов
неправда, просто некоторые возможности недоступны будут (которыми впрочем и так 5% игроков только пользуются) =) ("корпорации" только в eve есть если что)
квест неплох, но штампов море.
0
24
11 лет назад
0
неправда, просто некоторые возможности недоступны будут (которыми впрочем и так 5% игроков только пользуются) =) ("корпорации" только в eve есть если что)
корпорации в данном случае == объединение
квест неплох, но штампов море.
Квест писался на коленке, особенно текст, чисто для "теста" нелинейности. Пришел к выводу, что в этом плане система представляет больше возможностей чем я могу использовать. Ну точнее для вц3 не нужны такие навороты. Лучше наличие интересного сюжета, чем все эти навороты с нелинейностью.
бтв этот квест проходить ~30-60 мин :)
Кстати этот квест я хотел продлить, но потом пришел к выводу, что квест на час+ это вообще перебор, типа лучше разбить на пачку мелких :)
0
8
11 лет назад
0
Все таки если добавить нелинейности, то все таки будет интереснее. Надо еще подумать
0
24
11 лет назад
0
Все таки если добавить нелинейности, то все таки будет интереснее. Надо еще подумать
А практика серьезных компаний показывает что нелинейность - пустая трата времени.
0
8
11 лет назад
0
Да, и вправду, в ммо не видел какой ниюудь особой нелинейности в кв. Думаю ты прав.
0
24
11 лет назад
0
Ну совсем отказываться от нелинейности тоже не стоит, всего хорошего должно быть в меру, т.е. если в 1 из 10 квестов есть в самом квесте 1 развилка, это вполне гуд.
0
4
11 лет назад
0
Несогласен с тем что игрок мог выносить сам игрока, который качался в группе.Вы тока представьте получается что игрок который ходил в рейды ролил убивал кучу свободного времени.И тут приходит какой нибудь перс каторый создали тока мин 20 назад и тащит тебя за пару секунд.Я считаю это несправедливо. Если хочешь всех щимить иди играй в devil may cry будешь наслаждаться мясом. Онлаин игры сделаны в первую очередь для взаимной игры нескольких игроков, их слаженности и умения играть в команде.Другой вапрос как сделать игру помимо мультиплеера это уже серьёзно.Ибо если выпустить карту с доступом в одиночную.Сразу же найдутся те кто её взломают, или попросту начнут водить коды.И смысл того что каждый третий пользователь будет бегать с вещами лучше чем ты который кач в группе несколько часов.
0
24
11 лет назад
0
Несогласен с тем что игрок мог выносить сам игрока, который качался в группе.Вы тока представьте получается что игрок который ходил в рейды ролил убивал кучу свободного времени.И тут приходит какой нибудь перс каторый создали тока мин 20 назад и тащит тебя за пару секунд.Я считаю это несправедливо.
Так речь не об этом, а о возможности существовать в мире не сотрудничая с другими игроками, и при этом не чувствовать себя при этом ущербным плеером(пускай сам процесс и займет больше времени).
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.