Компьютерные жанры

Перейти вниз

Компьютерные жанры

Сообщение автор Gudleifr в Вс Апр 02, 2017 9:21 am

В шестой главе первого тома моих заметок о простых играх я попытался проанализировать истоки жанра First Person Shooter. Результат оказался неутешительным: и жанр этот оказался просто синтетической смесью ранее выпущенных хардкорных игр, и хардкорность при этом потерялась. Осталось только подсаживание потребителя на сложно выглядящую, но туповатую игрушку.
***
Хуже того, само понятие "жанра компьютерной игры" оказалось чисто маркетинговым ходом, не имеющим отношения к ее программированию и, собственно, игре. Обратите, например, внимание: игры, выпущенные до повсеместного введения жанров, имеют каждая свой особый жанр, а выпущенные после, обычно, "представляют из себя смесь жанров".
***
Так что, предлагаю такую игру - определение "настоящего жанра" игр.
***
Начну с тех же FPS. Какая математическая модель лежит здесь в основе?
Размер поля для игры ограничивается дальностью, на которой вражеского солдатика можно рассмотреть. Это вам не честный авиационный симулятор, где враг, обычно, точка.
Скорость/дальность полета снаряда и движения персонажа/прицела соизмеримы. Если, даже, пули летят мгновенно, то целиться приходится в медленно движущегося неприятеля. Плюс, в большинстве подобных игр все равно остаются медленнолетящие разновидности вражеских снарядов (ракеты, файерболы...), от которых надо уклоняться (сбивать).
Кроме того, в этих играх обычно усиливают эффект реализма перемещения игрока путем покачивания при ходьбе.
Наконец, игрокам очень нравится, когда счет в этих играх ведется подчеркнуто спортивно - на очки.  
***
Т.е. FPS состоит из уклонения и прицеливания, проводимых в определенном темпе на маленькой лужайке. Да! Как были эти игры ТЕННИСОМ, так и остались. И никакое добавление в них "ралистичного контента" и "ролевых элементов" дела не исправит. Хотите, запрограммировать Doom? Начните с пинг-понга.  
***
Но, ведь в данном случае мы вправе ожидать, что и все тиры тоже являются разновидностью тенниса?
Не совсем, в тирах все-таки обычно пытаются оставить какого-либо рода стрелковый реализм, и, что более важно, темп игры зависит не от модели танца игровых объектов в пределах ограниченного игрового пространства, а от порождается некоторым генератором игровых событий, управляемым логикой игры.


Последний раз редактировалось: Gudleifr (Чт Ноя 16, 2017 5:49 pm), всего редактировалось 1 раз(а)
avatar
Gudleifr
Admin

Сообщения : 944
Дата регистрации : 2017-03-29

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Компьютерные жанры

Сообщение автор Gudleifr в Вс Апр 02, 2017 9:21 am

Не знаю, как вам, а мне игры Time Management нравятся: живенькая графика, простенькие правила, коротенькие миссии... Раздражает, разве, полное отсутствие баланса. Из-за чего генерация миссии ложится исключительно на художника. Программисту остается только создание приемлемого конструктора...
Но, может, я просто не понимаю, в чем смысл этого жанра? Смотрю педию: TM - это такие невоенные Real Time Strategy, которые влезают в один экран...
Видя полную неприменимость этого определения к решению проблемы, придумаем свое.
***
TM игра - это ТИР (не путать с FPS/теннисом). Гуляют себе курицы... Вдруг - яйцо. Мочи! Три попадания - быстрее гаси грузовик! Лови бабки! Строй инкубатор! Медведи?! Мочи, мочи, мочи...
Мишени то выскакивают одна за другой, то усыпляя нашу бдительность, долго скрываются в мельтешении всякой фигни.
Единственное, что выходит за пределы обычной модели тира - зависимость появления новых мишеней от количества и качества предыдущих попаданий. Как ее сымитировать?
***
Следите за руками! Разворачиваем шкалу времени поперек листа. Рисуем кружки и стрелочки. Три курицы - шесть яиц - инкубатор; сбоку добавим булочную - пиццерия... Полная схема зависимостей развития бизнеса с учетом временных задержек. Всяк, кто слушал курс управления производством с этой штукой знаком - обычный сетевой график. Его придумали пиндосы, когда пытались научиться у СССР плановой экономике и переусердствовали в формализмах. Главное, что эта штука вполне себе математически просчитывается и мы даже можем заставит генерировать миссии сам компьютер, без всяких, там, геймдизайнеров.
***
Кроме того, эта модель сетевого графика включения мишеней, дает нам способ изобретения других подобных казуалок. Например, военный TM: ведем наши фишки - пехоту-танчики - прямо по графику от рубежа к рубежу, сбили вражеский заслон - открылись новые рубежи, заняли выгодную позицию - получили дальнобойную пушку...

Статья на эту тему: "Наука и жизнь" 09/65 "Наступление на время" - PDF, 47.1Мб.


Последний раз редактировалось: Gudleifr (Сб Июл 14, 2018 10:19 am), всего редактировалось 2 раз(а)
avatar
Gudleifr
Admin

Сообщения : 944
Дата регистрации : 2017-03-29

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Компьютерные жанры

Сообщение автор Gudleifr в Вс Апр 02, 2017 9:22 am

Теперь возьмем квесты/головоломки.
Вместо одного экрана - много.
На каждом нужно решить какую-либо задачу или запастись данными для решения какой-другой задачи.
Использовать для этих игр сетевую модель не имеет смысла, т.к. во-первых, решения отдельных задач уникальны и не вписываются в общую "экономическую" модель и, во-вторых, учитываются только сами решения, но не затраченное на них время.
Игра подобного жанра представляет из себя некоторую МАШИНУ, целью которой является достижение победы.
К сожалению, в начале игры эта машина не работает, т.к. в ней не хватает самой важной детали - игрока.
Игрок должен заткнуть собой все дыры данного механизма.
Можно, конечно, возразить, что во многих играх игрок скорее ломает машину, чем чинит, но, с точки зрения программирования это абсолютно безразлично. И рабочее, и сломанное состояние какой-либо части механизма должны быть просчитаны и запрограммированы правильно.
***
Т.о. программирование подобной игры выглядит очевидным - берется любая работающая машина, например, та, что программист делает на работе, и из нее извлекаются детали.
***
В чем состоит хороший стиль программирования подобных игр?
Очевидно, в построении миниигр, соответствующих стилю и назначению главной машины.
***
А чем отличаются от сломанной машины квестов машины сложных игр (славных потомков Star Trek)? Только одним - игрок их ни починить, ни сломать не может.
Он просто барахтается в этом мире.
avatar
Gudleifr
Admin

Сообщения : 944
Дата регистрации : 2017-03-29

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Компьютерные жанры

Сообщение автор Gudleifr в Чт Июл 13, 2017 8:55 pm

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

В этом смысле TETRIS очень схож с обычным пасьянсом (например, "Паук"):
- в обоих случаях позиция генерируется случайно;
- в обоих случаях появляются ранее скрытые детали;
- в обоих случаях части, которые удалось упорядочить, удаляются.

Отличие TETRIS только в грамотной "компьютеризации" - добавлении факта времени.

А можно ли компьютеризировать паззлы по другому? Сделав, например, детали "живыми"?

Авторство следующей игры приписывается чуть ли не самому Ершову:

Два участника игры (A и B) должны написать программу на BASIC (можно и на другом языке) из N пронумерованных строк, причем N - четное. В распоряжении играющих по одной булевой переменной A и B; обе в начале игры равны логическому нулю (FALSE). Играющие поочередно каждым своим ходом должны заполнить любую строку одним из двух возможных операторов:

- для играющего А:
A = Not A
или
If A Then Goto K

- для играющего B:
B = Not B
или
If B Then Goto K

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

Вот пример партии для игры в 4 строки, где выиграл B.

1-й ход2-й ход3-й ход4-й ход
1remA = not(A)A = not(A)A = not(A)A = not(A)
2remremremremif B goto 4
3remremB = not(B)B = not(B)B = not(B)
4remremremif A goto 1if A goto 1

P.S. А еще TETRIS очень похож на ту игру, в которую я вынужден играть сейчас. Выдергиваю отдельные логически связанные фрагменты из того гипертекстового безобразия, что накопилось на моей подохшей  страничке, вытягиваю в "линию" и выкладываю здесь в виде очередной темы. Причем, с лимитом времени. Не нравится мне такой TETRIS!


Последний раз редактировалось: Gudleifr (Сб Авг 04, 2018 8:26 pm), всего редактировалось 2 раз(а)
avatar
Gudleifr
Admin

Сообщения : 944
Дата регистрации : 2017-03-29

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Компьютерные жанры

Сообщение автор Gudleifr в Пт Июл 14, 2017 1:35 pm

Вот, кстати, пример еще одной игры

ЗАДАНИЕ #3. БАЗА ДАННЫХ КОСМИЧЕСКОЙ ФЕДЕРАЦИИ
Из книги: Т.Тиори, Дж.Фрай. ПРОЕКТИРОВАНИЕ СТРУКТУР БАЗ ДАННЫХ. Конечно, само предположение, что современный программист немного подумает перед тем, как начать ваять БД, по крайней мере, нелепо, но...- G.

Каждая из перечисленных ниже (в порядке возрастания сложности) задач представляет собой отдельное задание по проектированию баз данных. Все задачи базируются на основе одной общей гипотетической концепции, которую приближенно можно сформулировать как "STAR TREK".

ЗАДАЧА 3А
ИСХОДНЫЕ ДАННЫЕ. Под управлением Космической Федерации находятся 100 галактических секторов, в которых патрулируют 25 космических кораблей, в среднем один корабль на четыре сектора.
МОДЕЛИРУЕМЫЕ СИТУАЦИИ
1. Как только какой-либо галактический сектор оказывается в преддверии некоторых трудностей (например, при возникновении угрозы межпланетной войны), для разрешения возникших проблем вызывается космический корабль, в ведении которого находится данный сектор (частота - 20%).
2. Руководящему совету часто требуется знать, какой галактический сектор управляется конкретным космическим кораблем, в частности космическим кораблем "Энтерпрайз" частота - 80%).

ЗАДАЧА 3Б
ИСХОДНЫЕ ДАННЫЕ. Космическая Федерация имеет 25 космических кораблей, базирующихся в известных участках космического пространства. Для снабжения космических кораблей, доставки на них топлива и снаряжения предназначены 100 грузовых кораблей. Поскольку каждый космический корабль является уникальной конструкцией, каждый грузовой корабль должен быть специально оборудован для обслуживания только одного из них и не может обслуживать никакой другой космический корабль. Для обеспечения непрерывного обслуживая на каждый космический корабль выделено несколько грузовых кораблей.
Для обеспечения своевременной отправки грузовых кораблей и заблаговременного назначения экипажа Федерация хранит списки команд и координаты каждого грузового корабля.
МОДЕЛИРУЕМЫЕ СИТУАЦИИ
1. Как только космический корабль нуждается в обслуживании, необходимо найти ближайший грузовой корабль, который может провести обслуживание (частота - 90%).
2. Когда грузовой корабль получает назначение для проведения обслуживания, Федерация извещает об этом тех членов экипажа на каждом из кораблей, которые имеют родственников на другом корабле. Для этого необходимо получить список членов экипажей, имеющих одинаковые фамилии и находящихся на том и другом кораблях (частота - 10%).

ЗАДАЧА 3В
ИСХОДНЫЕ ДАННЫЕ. Каждый грузовой корабль Космической Федерации состоит из пяти отсеков. Отсеки предназначены для конкретных ремонтных, навигационных и грузовых работ. В каждом отсеке проводится в среднем три различных вида работ.
На корабле пятьдесят членов экипажа, каждый из которых работает в среднем в двух отсеках. Федерация хранит персональные учетные сведения на каждого члена экипажа.
МОДЕЛИРУЕМЫЕ СИТУАЦИИ
1. Командиру корабля часто необходимы сведения об отдельных членах экипажа, работающих в конкретном отсеке (частота - 90%).
2. Время от времени корабль оказывается не полностью укомплектованным членами экипажа. При этом возникает задача перераспределения обязанностей между остальными членами экипажа. Главное, что при этом принимается во внимание - это набор тех функциональных обязанностей, которые уже выполняются членом экипажа (частота - 10%).

ЗАДАЧА 3Г
ИСХОДНЫЕ ДАННЫЕ. Организация космического корабля "Энтерпрайз" очень проста. В состав корабля входит несколько подразделений, каждое из которых возглавляется руководителем. На каждое подразделение возложен ряд задач, выполняемых членами экипажа. Каждый член экипажа выполняет обычно более одной задачи, однако ни один из них не выполняет задачи двух или более подразделений.
Некоторые задачи требуют для выполнения нескольких членов экипажа. На каждого из членов экипажа (включая руководителей подразделений) хранится персональная учетная информация. Каждому члену экипажа по каждой выполняемой им задаче присваивается класс, обозначающий качество выполнения данной работы данным членом экипажа.
МОДЕЛИРУЕМЫЕ СИТУАЦИИ
1. Найти учетные данные и имена членов экипажа, способных выполнить задачу T подразделения D, с классом но ни R (частота - 50%).
2. Найти имена членов экипажа, которые могут выполнить любую задачу в подмножестве задач подразделения (частота - 10%).
3. Найти имена всех членов экипажа, работающих под руководством конкретного руководителя (частота - 40%).

ЗАДАЧА 3Д
ИСХОДНЫЕ ДАННЫЕ. Больничный лазарет космического корабля "Энтерпрайз" рассчитан на 10 врачей и 100 больных. Каждый врач ведет наблюдения в среднем за 400 членами экипажа. На каждого члена экипажа врач ведет историю заболеваний, а также регистрирует лекарства, противопоказанные данному члену экипажа. В среднем на каждого члена экипажа приходится по пять таких противопоказаний. Кроме того, врач регистрирует посещения планет членами экипажа (в среднем по 10 посещений на каждого члена экипажа). Для каждой планеты составляется список известных заболеваний, характерных для данной планеты, а также описание симптомов и методов лечения.
МОДЕЛИРУЕМЫЕ СИТУАЦИИ
1. Найти имена всех членов экипажа, находящихся под наблюдением конкретного врача (частота - 20%).
2. Найти наименования планет, которые посетил конкретный член экипажа, а также составить список болезней, характерных для каждой из этих планет, симптомов и методов лечения (частота - 50%).
3. Найти конкретный метод лечения для данной болезни и список членов экипажа, которым противопоказано данное лечение (частота - 30%).

ЗАДАЧА 3Е
ИСХОДНЫЕ ДАННЫЕ. Клингоны исследуют Вселенную. Они обнаружили уже более 500 солнечных систем, каждая из которых имеет в среднем по три пригодные для проживания планеты. На каждую пригодную для проживания планету Клингоны назначают губернатора. На каждого губернатора с целью его дальнейшего продвижения по службе ведется послужной список, в котором регистрируются поощрения.
В обязанности губернатора входит сбор данных о пригодных к эксплуатации природных ресурсах планеты и профессиях Клинтонов, заселяющих ее. Население каждой планеты в среднем 1млн. человек. Из-за малочисленности населения каждый житель планеты обязан владеть в среднем тремя специальностями. При этом принимается во внимание оценка классности по каждой специальности.
МОДЕЛИРУЕМЫЕ СИТУАЦИИ
Найти пригодные для проживания планеты в конкретной солнечной системе и составить список природных ресурсов этих планет, а также списки местных губернаторов (частота - 30%).
1. Получить информацию о губернаторе конкретной планеты заданной солнечной системы (частота - 10%).
2. Клинтоны испытывают острую необходимость в конкретной специальности. С этой целью им необходимо знать имена и классность тех жителей империи Клинтонов, которые владеют этой специальностью (частота - 60%).

ЗАДАЧА 3Ж
ИСХОДНЫЕ ДАННЫЕ. Космос нелегко дается космическим кораблям. Для того чтобы поддерживать их в рабочем состоянии, Федерация содержит 10000 космических станций. Каждая из них расположена в таком месте, которое определяется оптимальным набором координат для обслуживания флотилии, и каждая называется по имени знаменитого капитана или храброго волонтера, погибшего в сражении.
Справочник по космическому кораблю насчитывает 1000 видов стандартных ремонтных работ. Из-за сложности и необходимости снаряжения специальным оборудованием каждая космическая станция сконструирована таким образом, что она может выполнить только 50 видов ремонтных работ. Таким образом, конкретный специфический вид ремонта могут выполнить только 500 из всех станций.
На каждой станции работает около 100 механиков. Каждый из них обучен 10 видам ремонтных работ, при этом различается уровень их классности по каждому виду работ. Космические корабли Федерации появляются на различных станциях для проведения профилактического обслуживания, а также тогда, когда неисправности не могут быть устранены силами технического персонала космического корабля. Федерация регистрирует эти ремонтные работы. Каждой станцией было проведено около 1000 таких ремонтных работ.
МОДЕЛИРУЕМЫЕ СИТУАЦИИ
1. Космический корабль нуждается в профилактическом обслуживании конкретной системы управления. Командир корабля хочет найти ближайшую ремонтную станцию, которая может выполнить данный вид обслуживания (частота - 30%).
2. Федерация периодически делает проверки правил распределения ремонтных станций в космическом пространстве. Это выполняется путем просмотра списка космических кораблей, прошедших ремонтное обслуживание на конкретной станции (частота - 40%).
3. "Энтерпрайз" нуждается в проведении особо сложного ремонта. Ведомство Федерации хочет найти для этой работы лучших механиков и станцию, где работают эти механики {частота -30%).
avatar
Gudleifr
Admin

Сообщения : 944
Дата регистрации : 2017-03-29

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Компьютерные жанры

Сообщение автор Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения