01 апреля 2021

      Войти в геймдев 
Cyberdaemon 

   Прошлая  моя статья была написана более
полутора лет назад,а вы её прочитали,наве─
рное, минуту назад. Это не временной пара─
докс - это  частота выхода журнала под ре─
дакцией Alone Coder'а... Это я к тому, что
всё ниже написанное может немного противо─
речить  предыдущей статье, так как времени
прошло  много  и некоторое моё отношение к
спектрумовскому game development'у измени─
лось.
   Кратко  об  этой  статье: вы начинающий
программист  и рисовать не умеете, зато на
классическом  Спектруме графон и не нужен.
Исходя  из  этого  я  придумал новый жанр.
Дальше можно не читать. Но я продолжу.
   Немного  истории-предыстории. Когда  на
рубеже  нулевых  все  ПК-бояре  рубились в
первый Fallout, я  ещё  был  пользователем
Спектрума  и с завистью мог лишь наблюдать
за процессом. И тогда я заметил интересную
особенность  пользовательского  интерфейса
этой игры - в левой части было окно, в ко─
тором  текстом описывалось всё, что проис─
ходило в игре: игрок поднял такой-то пред─
мет, осмотрел  то-то и так далее. Но самое
интересное  происходило  во  время боя. Он
происходил  в пошаговом режиме, в том окне
подробно описывалось всё: враг <имя> нанёс
<столько-то>  урона, герой нанёс критичес─
кий  удар  во  столько-то  единиц, и  враг
<имя> умер. Думаю, я понятно объяснил. Те,
кто  в своё время играли в Fallout, думаю,
помнят это, а кто не играл или забыл - по─
смотрите скриншоты в интернете. (Я бы при─
ложил для примера, на как вы _это_ сможете
посмотреть  в журнале на реальном Спектру─
ме?)
   Так  вот, тогда меня осенила гениальная
мысль.Ведь можно сделать на Спектруме свой
аналог Fallout'а, но без графона, только в
текстовом  режиме. Причём  реализовать это
можно легко и просто даже на Бейсике, лишь
бы придумать свою боевую систему (ну,и сю─
жет). Я  тогда  только  теоретически начал
всё это продумывать, но на этом  всё и ос─
тановилось, а после и вообще забылось, так
как  у меня появилась Amiga (об этом я пи─
сал ранее в другой статье).
   И вот, почти двадцать лет спустя,как-то
так  совпало, что  я  вспомнил об этом. Но
идея  с Fallout'ом разонравилась. Я приду─
мал скрестить два жанра - текстовую адвен─
тюру  и JRPG. Кто не знает, что такое JRPG
- Википедия в помощь, а кто знает - вспом─
ните, как там происходит бой. На одном эк─
ране слева расположен враги, справа - наша
команда  (или  наоборот, в  зависимости от
некоторых  факторов). Сам  бой  происходит
довольно  примитивно  в графическом плане.
Вы  выбираете одного из команды, даете ему
команду  (наиболее часто используются "за─
щита", "атака", "магия"). В зависимости от
того, что было выбрано, происходит просте─
йшая  анимация, иллюстрирующая данный про─
цесс. Потом выбираете другого героя из ко─
манды, потом  переход хода к вражеской ко─
манде, там  примерно  тоже самое. И так по
кругу, пока вы или вас не убьют.
   Идея моя заключается в том, что графику
вообще можно убрать. Прям вот вообще-вооб─
ще. И  бой  проводить  в текстовом режиме,
так  в адвентюрах. Вот пример. Бой, участ─
вуют враг1, враг2, враг3, герой1, герой2:

>герой1 атака враг1 

   (Генератор случайных чисел прикидывает,
сколько  отнять у врага здоровья в зависи─
мости  от  вашей силы и оружия) и выводить
сообщение  типа  "вы  нанесли <столько-то> 
урона". Потом  опять предлагает ввести ко─ 
манду, так как есть ещё герои, которые ещё
не сделали ход. Вы:

>герой2 магия <название заклинания> 

(Alone  Coder: команды надо набирать горя─ 
чими  клавишами, кроме  разве что заклина─ 
ний, иначе постоянное печатание будет раз─ 
дражать.  По  поводу  заклинаний, я  видел 
только  пару игр типа Textorcist, где реа─ 
льно надо было их печатать, - но почему бы 
и нет, раз это заклинания?) 
   В зависимости от магии и заклинания, их
можно  наложить как на свою команду (лече─
ние, усиление урона), так и на врагов (ос─
лепление, яд). В зависимости от этого, ве─
ликий  генератор  случайных чисел (который
не просто случайный, а работающий по опре─
деленному  алгоритму)  наносит урон врагам
или лечит нашу команду. Ну, и так далее.
   Когда ход переходит к врагам,ГСЧ делает
за них всё сам. Здесь важно найти баланс в
сложности: враги не должны быть ни лохами,
ни имбами. В обоих случаях играть будет не
интересно. После  боя, в  случае победы, у
героя  (команды) повышается опыт. Алгоритм
этого повышения продумывается отдельно.
   Путешествие  по миру также будет проис─
ходить  в тексте. Здесь ничего нового, всё
как в обычных адвентюрах:

Вы  находитесь  на  берегу реки. На севере 
лес, на востоке дорога. 

(Можно, для  романтики, добавлять в описа─
ния  локаций  больше  подробностей, но  не
стоит  пытаться превзойти Толстого или Го─
голя...)
   Наш герой,в данном случае,может пойти в
лес или по дороге. Как обрабатывать коман─
ды - это   на  выбор  программиста.  Можно
строго  "север" или "восток". А можно раз─
нообразить и принимать команды "лес", "до─ 
рога". Ещё  на  локациях  будут  размещены 
предметы, которые  можно осмотреть и (или)
взять.
   Отдельно о посещении городов. Вариантов
два: либо делать город одной локацией (так
проще и легче), либо разбивать на несколь─
ко.
   Вариант с одной локацией:

Вы  в городе N-ске. Можете посетить тавер─ 
ну, рынок, мэрию. Или покинуть город. 

(Для  обладателей  литературного  таланта:
описание города можно красочно расширить.)
   Команды "рынок", "таверна", "мэрия" пе─
реходят в соответствующие диалоги. Таверна
- отдых,рынок - покупка или продажа снаря─
жения, мэрия - получение  каких-либо  мис─
сий.
   В классические 48K много текста не вле─
зет. Один  килобайт  текста - это примерно
одна страница книги в мягкой обложке.В 48K
режиме  примерно 40K свободно. 1K уйдёт на
шрифт, 1K  на хранение состояния игры (ге─
рой,  враги, предметы, триггеры  событий),
ещё примерно 3-5K нужно выделить на код (а
может, и больше). Даже без музыки на текст
остаётся примерно 32K - это как 32 книжные
страницы. Если наглядно, то там поместится
только  четыре таких статьи, какую вы сей─
час читаете. Совсем не много, а даже мало,
если сделать больше локаций или писать по─
дробные описания. Паковка увеличит количе─
ство  текста, но  всё равно не так сильно.
Продвинутые  программисты  могут использо─
вать  128K режим с паковкой или перейти на
наши  русские  клоны  Спектрума. Здесь уже
историю  можно расписать на уровне неболь─
шой книги. Но есть другой вариант.
   Дело в нелинейности. Нелинейность сюже─
та,возможность перемещаться по всему игро─
вому миру в любой момент, конечно,повышает
реиграбельность. Но если сюжет линейный (в
игру не предполагается играть второй раз),
то  можно  сделать практически бесконечный
сериал  даже  в 48K. Прошел первую часть -
загружай  часть  2 и наслаждайся дальше, и
так далее, пока у автора идеи не иссякнут. 
(Alone Coder: только нужно не забывать пе─ 
редавать игровое состояние от части к час─ 
ти. Хотя  бы  характеристики  и предметы у 
героя. А триггеры и других персонажей мож─ 
но не тащить в следующую часть, чтобы была 
возможность  всё  уместить  в пароле - без 
магнитофонных или дисковых операций, кото─ 
рые  для  новичков  в  программировании на 
Спектруме - отдельная боль.) 
   Ещё  один  плюс для начинающих - линей─
ность  сильно упростит разработку и отлад─
ку, ведь для нелинейного сюжета нужно учи─
тывать слишком много факторов,чтобы не бы─
ло глупых ошибок.

                 * * *

   Полагаю, я  всё  понятно изложил, и мою
мысль  уловили. Преимущества данной идеи -
художник не нужен, только программист. Ну,
ещё, очень  желательно для данного случая,
кого-нибудь с литературным талантом. Чтобы
были красиво расписаны локации, диалоги. И
сам  сюжет хорошо придуман. Но можно обой─
тись  и  без  оного, если стырить сюжет из
какой-нибудь игры или книги.
  (Alone Coder: чтобы не было эффекта те─ 
кстовой адвентюры,которых на Спектруме ты─ 
сячи и в которые никто не играет, програм─ 
мист  может постепенно разнообразить отоб─ 
ражение: показать  на экране условное рас─ 
положение  героя и врагов, фрагмент карты, 
добавить  тряску экрана и вылетающую энер─ 
гию из персонажей при ударе и т.п. Но гла─ 
вное - чтобы  ввод команд, особенно движе─ 
ния, происходил  одним  нажатием кнопки, с 
мгновенной  реакцией. Это позволит игроку, 
постепенно прокачав навыки, играть в такую 
игру не в темпе текстовой адвентюры, а да─ 
же  быстрее, чем  в обычные графические, и 
получать  больше  фана  в единицу времени. 
Причём графики нет только по бедности: ес─ 
ли концепция игры будет удачной, то в про─ 
ект  могут  прийти  художники, и  условные 
изображения можно будет заменить на рисун─ 
ки, хотя бы в стиле Undertale :)) 
  (Wanderer: Ну так это рогалики же ) )



Other articles:


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
911 - Cheats Homer Simpson In Russia 2.
Mail - readers' letters: Sergio, Macros, Batko Archaea, moroz1999, Oleg Groskow / Arhon.
First - The network is alive and is going to live on. Our ranks are spreading and is extended.

В этот день...   21 November