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:
В этот день... 21 November