Моя первая попытка в пиксель арт
Поскольку питаю нежность у Спектруму, сделал в его параметрах. К сожалению не смог запустить ZX Paintbrush под десяткой, делал в фотошопе, деля экран на знако-места с помощью гайдов.
Поскольку питаю нежность у Спектруму, сделал в его параметрах. К сожалению не смог запустить ZX Paintbrush под десяткой, делал в фотошопе, деля экран на знако-места с помощью гайдов.
ну шо, по классике)
Взять с собой побольше вкусняшек, запасное колесо и знак аварийной остановки. А что сделать еще — посмотрите в нашем чек-листе. Бонусом — маршруты для отдыха, которые можно проехать даже в плохую погоду.
Набрёл на одну старую игру от британской компании Elite Systems - Hopping Mad (Cataball) для Commodore 64 (1987 год):
И её порт на Amstrad CPC (также был порт на Спектрум), 1988:
Ничего не напоминает?)
...
Графика уровня полностью скопипащена с легендарного Вандер бой))
В целом, Hopping Mad неплохая игра, тут можно найти сравнения её версий https://frgcb.blogspot.com/2014/11/hoppin-mad-elite-systems-..., планировался даже порт на Nintendo Famicom/NES (Денди), но что-то не срослось, хотя в сети можно найти демку.
Wonder Boy, в свою очередь, популярнейший платформер, разработанный японской компанией Escape (теперь известной как Westone Bit Entertainment) и впервые вышедший на игровом автомате SEGA в 1986 году. Позже игра была перенесена на кучу других платформ.
Многим из нас она известна по порту, разработанному Hudson Soft, для приставки NES в 1986 году.
Hudson Soft (в настоящий момент поглащены Konami) получили от Escape права на создание игры, но права на персонажей игры и название остались у Sega, поэтому на "Денди" она вышла под названием Adventure Island (или Takahashi Meijin no Bouken Jima в Японии). Геймплей остался тем же, но главный персонаж был заменён на сотрудника Hudson Soft, отвечающего за коммуникации - Тосиюки "Мэйдзин" Тахакаси, известного тем, что он вёл детские передачи, посвящённые видеоиграм, пел, засветился в кино и манге, в общем был шоуменом (что-то типа нашего Сергея Супонева). В версии для западного рынка персонажу дали имя Master Higgins.
Впоследствии Sega и Hudson выпустили продолжения своих версий игр, создав две независимые популярные игровые серии. Такие дела.
(продолжения серий Wonder Boy и Adventure Island - Monster World IV и Adventure Island: The Beginning)
Господа, ZXBITLES приветствует Вас!
Лето - мёртвый сезон в плане мероприятий на ретро-платформах, но у меня есть чем Вас порадовать. :)
Итак, в Twitter постучался некто, представившийся организатором будущего конкурса для ZX Spectrum от портала "ZX-Dev Media & Demakes". Он предложил мне принять участие в конкурсе, суть которого сводится в демейку игр. Если не знаете, то поясню. Берётся известная игра на "старшей" платформе (скажем PS 1, PS 2, PC, имя им легион!) и перерабатывается под ретро-платформу с учётом её ограничений.
Конкурс позволяет использовать любой источник для демейка: игру, книгу, фильм и т.д. Почитать об условиях конкурса можно здесь.
Для ЛЛ:
- игра только для ZX Spectrum (16K, 48K и128K (включая +2A, +2 и+3));
- могут использоваться любые утилиты и языки программирования без ограничений;
- игра не должна быть ранее опубликована;
- можно предоставлять любое число игр, но только завершенные игры будут рассмотрены жюри;
- игра должна быть на английском, ибо сообщество мультиязычное, а английский доступен всем;
- голосовать могут только те, кто пожертвовал в призовой фонд, вне зависимости от суммы (от 0.01€ до 100€); организаторы отдельно отмечают, что второй вариант предпочтительнее! :)
- имена спонсоров публикуются по их желанию;
- предоставить игру до 20.12.2021;
- будут оценены следующие категории:
1. Графика/визуальное оформление;
2. Звук/музыка;
3. Играбельность/увлекательность;
4. Насколько передан дух/аромат (а может лучше перевести, как сущность) оригинальной игры.
По каждому пункту будет выставлен балл от 0 до 100.
- победитель забирает 60% приза, второе место - 24%, третье - 10%, четвертое - 4%, и, наконец, пятое - 2%.
Со списком игр можно ознакомиться здесь.
О том, как стать спонсором конкурса и членом жюри - тут.
На момент публикации призовой фонд составляет 640€, "Dandanator de Aliens Neoplasma" + "Cassette de Ant Eater" + "Cassette de Comeme el chip". Кроме того, производитель "Tauon Electronics" предоставит победителям, занявшим 1-е, 2-е, и/или 3-е место компьютер TauonPC-1.
Пока наш музыкант UTZ допиливает музыку до состояния, когда он будет удовлетворён, я поставил текущий проект, о котором писал ранее на паузу и решил принять приглашение.
Вот, собственно и обновленная заставка.
Кстати, любой желающий может пожертвовать на разработку, и его имя будет (по его желанию) добавлено в загрузочную заставку игры. Тихо! Тихо! Не толкайтесь! Вы точно будете единственным в очереди! :)
Но вернемся к конкурсу. Я перелопатил кучу всяких игр в поиске того, что меня зацепит, даст идею для переноса, ну и конечно будет реализуемо в принципе с учётом ограничений спека, ну и моих скромных способностей.
Выбор пал на Centipede. Почитать можно на вики русский вариант, и английский. Рекомендую последний, ибо он лучше раскрывает подробности.
После десятка часов работы (а может больше, кто считал-то?) в течении пары недель имею такой результат (первая картинка).
По сравнению с тем, что я рисовал раньше для заставок, это прямо шедевр! :) Как обычно, критика приветствуется.
Ахтунг! Я не считаю критикой вопросы типа "а нахрена оно надо?", "зачем мертвого коня сношать?" и т.п. Я публикую посты в сообществе ретрогеймеров, но такие вопросы бывают частенько, что странно.
Хорошего Вам утра, дня, вечера или доброй ночи, ну, и пишите, если есть что сказать, а я пошёл кодить.
С уважением, Сергей.
P.S. Не устаю попрошайничать подписываться на наш канал в YouTube. Жмём колокольчик, выбираем "Все". Не бойтесь, не забьём ленту уведомлениями. Перефразируя Дядю Фёдора, скажу, что стримим только своё, а чтобы постримить своё, его надо сначала сделать, это своё. :)
Господа, ZXBITLES приветствует Вас!
Давненько я не писал для Пикабу, а между тем мы продолжаем сношать мёртвого коня (как выразился один из комментаторов) делать новые игры для ZX Spectrum.
В последней игре "Red Raid: The infiltrating..." мои подписчики (кстати, привет Вам всем и каждому в отдельности!) наверняка видели двуногих роботов, стоявших интерьера ради.
Размышляя над идеей следующей игры, я решил поэксплуатировать тему роботов (мехов).
На данный момент игра всё еще в разработке, однако идея вполне ясна. Отдельно прошу оценить биперный трек от моего друга UTZ (Irrlicht Project). UTZ - это немецкий музыкант, специализирующийся именно на бипере. Если интересуетесь этой темой, то рекомендую погуглить. Он неоднократно занимал призовые места на международных конкурсах.
Однако, вернёмся к теме.
Изначально был реализован Deathmatch режим.
Далее я добавил захват точек (Control points).
Ну, а сегодня я закончил с захватом флагов (Capture the flag).
Как я сказал, игра всё еще в разработке, а потому буду очень признателен за советы и комментарии. Постараюсь учесть до релиза.
Играть можно вдвоём в одной или противоположных командах. Кроме того, можно играть и с компьютером (AI). Он, конечно, иногда тупит. Ну, а что Вы хотели от игры в 40 КБайт? Реализация полноценных алгоритмов для поиска оптимального пути в лабиринте, а еще и оценка игровой ситуации (бежать, стрелять, вернуть флаг, перехватить врага с флагом и т.д.) на 3,5 МГц и 40 КБайт в принципе не возможна, ну или я такой криворукий. :) Однако, в последнем видео один флаг всё же притащил.
Очень рад новым подписчикам тут и на нашем YouTube канале.
С уважением, Сергей.
P.S. Насколько мне известно, в этом году Яндекс и "Твоя Игра" не планирует проведения конкурсов, однако, нас пригласили для участия в международном конкурсе, который проводят единомышленники из Испании и Великобритании. Планируемая дата - ноябрь. Постараюсь осветить событие тут.
P.P.S. Кстати, организаторы "Твоя Игра 6" прислали недавно платёжку о переводе нашего приза (по нашей просьбе) в КРО ООБФ "Российский детский фонд". Еще раз благодарю Станислава Пискунова и Дмитрия Быстрова.
Всем привет!
А моим 14-ти подписчикам отдельный салют!!!
В этой статье я расскажу о разработке игр для ZX Spectrum в современных реалиях.
Приступим…
Начну с того, что писать для ZX Spectrum’а можно абсолютно различными способами. Начиная с использования ASM на самом старичке и заканчивая языками высокого уровня на Windows, Linux и даже MacOS.
Disclaimer: Описанное мной ниже было использовано для создания трех игр. Две из них были выставлены на конкурсах "Yandex Retro Games Battle 2020" и "Твоя Игра 6". Я делаю так, как удобно мне. Я не призываю использовать исключительно мой подход. Я за то, чтобы росли все цветы.
Летом прошлого года моя мама переезжала на новую квартиру, и в процессе упаковки вещей нашла мой первый компьютер. Это советский клон ZX Spectrum 48K.
Мама поинтересовалась нужен ли он мне, или его можно выкинуть. Через полчаса я был на месте, а в мои влажные ладошки вернулся мой любимчик. Комплектность была полная: блок питания, кемпстон джойстик, кассеты, книги.
Дорогой читатель может возмутиться: «Позвольте! А где же разработка?». Терпение, господа! Ни одна разработка не может быть завершенной без тестирования на железе.
Подключение спека к телевизору было проблемой еще в 90-е, а сейчас подключить DIN разъём отдельный квест. Следует сказать, что я знаю с какой стороны браться за паяльник, хотя и далёк от схемотехники и радиоэлектроники.
Google указал мне единственно приемлемый для меня путь — GBS8200. Китайская штуковина могёт RGB преобразовывать в VGA.
Свободного пространства в корпусе компьютера было много, и плата конвертера как раз вмещалась. Пришлось навесить три конденсатора и потыкать проводами чтобы понять распиновку DIN разъёма, но результат был достигнут!
В ожидании доставки конвертера я впал в ностальгию и начал интересоваться как обстоят дела в мире спека. Оказалось, что весьма неплохо. Проводятся даже конкурсы для новых игр. Собственно YRGB2019, и предстоящий YRGB2020 и натолкнул меня на идею написать игру, а заодно и закрыть гештальт.
В детстве я баловался созданием своих игрушек (как и все у кого был спек), посему было решено разработать игру, но серьезно, профессионально, если угодно.
ASM был отвергнут мной изначально, по причине его незнания. Поиск привел меня на страницу ZXBasic.
Ну, вот мы и подошли к теме.
ZXBasic это SDK для разработки софта на диалекте FreeBasic с возможностью использования ассемблерных вставок.
В качестве среды разработки может использоваться любой текстовый редактор. Желательно выбрать тот, что имеет возможность подсветки синтаксиса, как, например, Notepad++ или Vim. Однако, в последствии я перекочевал на Visual Studio Code.
Для ZXBasic на VSCode есть плагин, который позволяет подсвечивать синтаксис.
Сборка проекта выполняется с помощью консоли. Последнюю версию компилятора можно взять здесь. Пример команды на компиляцию выглядит так:
C:\Projects\ZXSpectrum\zxbasic\zxbc.exe -O4 -o «C:\Projects\ZXSpectrum\Red Raid The Infiltrating\Red Raid The Infiltrating (Side B)\RRI Side B.tap» -H 128 --org 24576 -t -a -B «C:\Projects\ZXSpectrum\Red Raid The Infiltrating\Red Raid The Infiltrating (Side B)\program.zxbas»
Мои проекты состоят из трех частей: сам загрузчик, заставка и код игры. Поэтому после успешной компиляции я вызываю следующую команду, чтобы собрать всё в один tap-файл (тапок):
cd "C:\Projects\ZXSpectrum\Red Raid The Infiltrating\Red Raid The Infiltrating (Side B)"
copy /b loader.tap + screen.tap + "rri side b.tap" "Red_Raid_Infiltrating_B (EN).tap"
Ну, а далее остается только вызвать собранный тапок в эмуляторе (я использую FUSE), чтобы убедиться, что все работает:
@Echo off
if %ERRORLEVEL% ==0 (
"C:\Program Files (x86)\Fuse\fuse.exe" "C:\Projects\ZXSpectrum\Red Raid The Infiltrating\Red Raid The Infiltrating (Side B)\Red_Raid_Infiltrating_B (EN).tap"
) else (
pause
)
У меня есть bat-файл, содержащий вышеперечисленные команды, который все это делает автоматически.
Во время компиляции в консоли будут выведены ошибки и предупреждения, которые помогут при отладке.
Теперь о грустном.
1. Проверки синтаксиса налету нет.
2. Call Stack тоже отсутствует.
Но, ведь это слишком мало, чтобы нас остановить. Верно? Как известно, русский человек любит создавать себе препятствия, а потом с успехом их преодолевать. Тут же они уже имеются, а потому далее все должно пойти проще.
Вывод графики на спеке осуществляется с использованием UDG. Суть в том, что у нас имеется 21 символ, который мы можем переопределить, а затем выводить на экран.
Для рисования спрайтов я использую Paint.NET.
Остаётся только преобразовать спрайт в удобоваримый для спека формат. Представьте, что спрайт - это таблица, а пиксели это ячейки. Всё что нам нужно, это заменить черные пиксели на ноли, а светлые на единицы. В результате получим строки, состоящие из нолей и единиц. Это бинарный код. Его можно вводить как есть, но лучше преобразовать это в десятичный формат и обернуть в ассемблерную вставку. Для этого я использую софтинку собственной разработки.
Со спрайтами разобрались. Надо бы добавить звуков. В случае с 48К воспроизводить музыку во время геймплея геморройно. Дело в том, что проигрыванием звуков занимается процессор, а он там один. Поэтому, или играем музыку или обсчитываем логику игры.
Конечно, можно воспроизводить ноты малой длительности (желательно фиксированные), а в интервалах перемещать спрайты, опрашивать клавиатуру и обсчитывать логику. Надо ли говорить, что музыка с одинаковыми по длительности нотами и фиксированным ритмом выглядит более, чем уныло. Пример тому, любимый буржуями, Manic Miner. Так что подумайте дважды, так ли вы ненавидите человечество, что готовы его истязать подобными трелями.
Воспроизведение приемлемой, с точки зрения нормального человека, музыки возможно в играх, где нет активной отрисовки спрайтов, а также там, где можно сбалансировать время на обсчет логики и вывод звуков, скажем какой-нибудь покер или шахматы.
Для написания музыки можно использовать Beepola.
Нечто подобное я попробую реализовать в четвертой игре, которая сейчас в разработке.
Спрайты есть, движок есть, музыка для меню есть, в геймплей тоже звуков напихали. Что еще?
Заставка!
Загрузочный экран, пожалуй, одна из тех немногих возможностей, где игроделы могли оторваться по полной! Для создания заставок я использую ZX Paintbrush.
Я предпочитаю рисовать в векторных редакторах (если требуется), потом собирать растровую графику в Paint.NET, а потом сохранять в png-формате и импортировать в ZX Paintbrush. Допиливать уже можно непосредственно в нём.
Для дизайна уровней в платформерах рекомендую использовать Tiled.
Для работы с исходниками я использую SVN. Очень удобно, даже в случае индивидуальной разработки.
Готовый тапок обязательно запустите на своем спеке. И если скупая мужская слеза не прокатится по трехдневной щетине или не появится комок в горле, который провалится только после глотка холодного пива в честь завершения проекта, то у Вас нет сердца, но появился новый враг!
Ну, вот собственно и всё!
А всё ли?
Я описал инструменты, которые использую, но достаточно ли этого? Нет!
Вам должно быть реально интересно сделать игру! Вы должны быть увлечены настолько, чтобы не бросить все на полпути. Должна быть идея, история, которую Вы хотите рассказать. Нужно понимать, что Вы будете ограничены по всем фронтам: количество цветов, разрешение экрана, объем памяти, частота процессора. Поэтому, Вам нужно сделать игру такой, чтобы ни один из этих параметров не повлиял на геймплей.
Да! Именно!
Надо сделать так, чтобы далёкий от спека человек сказал: "А на хрена ты под древний комп это сделал? Можно ж под андроид и PC." В этой оценке не будет пренебрежения геймплеем или звуками, будет только непонимание в выборе целевой платформы. Не спорьте с ним. Вы всё сделали правильно. Люди, разбирающиеся в 8-ми битных платформах, поймут и оценят, а Вы закроете свой персональный гештальт.
И пожалуйста, очень прошу, не делайте порты или ремейки!!! Черпайте вдохновение в играх, фильмах и книгах, берите новые механики из современных игр, комбинируйте и реализуйте их на ретроплатформах, но никогда не идите там, где уже прошли толпы.
На этом, пожалуй, все. Написано на одном дыхании в качестве пробы жанра. Если зайдет, то может буду писать что-то типа девлога о новой игре. Только вот как оценить, что это Вам надо? Скажем, если наберет статья 150 лайков, то продолжим. Идёт? :)
Всем удачи и добра.
С уважением, Сергей.
P.S. Не устаю попрошайничать и зазывать новых подписчиков к себе на канал.
P.P.S. Ну, и в качестве бонуса:
Господа, ZXBITLES приветствует Вас!
Привет моим девяти подписчикам!!!
Меня зовут Сергей, и в этой статье я расскажу о заключительной игре в трилогии Red Raid.
В предыдущих сериях: трилогия повествует о Рэдрике, главном герое, управляя которым, игроку предлагается пройти череду приключений на земле, под водой и на Марсе. Я уже писал о первых двух играх на DTF и тут.
Перед тем, как перейти к самой игре, я хочу поделиться новостями. Первая игра "Red Raid: The beginning..." была выдвинута в номинации Basic на GOTY 2020 (Game Of The Year 2020). Не скрою, что мне это очень приятно.
Вторая новость в том, что у нас новый музыкант, известный как utz. Это талантливый человек, который пишет не только биперную музыку (Вы ее услышите в роликах ниже), но и биперные движки. Кроме того, он пишет стихи и занимается художественно фотографией. Зовут его Михаэль, и у него есть собственный проект Irrlicht Project.
Как известно, вторая игра "Red Raid: The sinking..." была удостоена второго места на конкурсе "Твоя Игра 6" по мнению жюри. Вместе с моим сыном мы решили передать 60% нашего приза в благотворительный детский фонд для детей, нуждающихся в лечении, а 40% - нашему бывшему музыканту, за написание двух биперных мелодий. Организаторы конкурса отнеслись к нашей просьбе с пониманием и воодушевлением. Отдельно благодарю Станислава Пискунова и Дмитрия Быстрова (Alone Coder).
И прикупил хороший микрофон и камеру, а также начал обустраивать студию для трансляций. Качество видео повысилось, но предстоит еще много. Неравнодушные могут проспонсировать.
Переходим к самой игре.
Напомню, что вторая игра заканчивается на том, что Рэдрик покидает тонущую подводную лодку на вертолете, в который проникает инопланетный паразит.
Зараженный паразитом, и находящийся под его полным контролем Рэд, прибывает на Марс. Игра, как обычно состоит из двух частей. В первой части игроку предстоит управлять паразитом, проникая в марсианскую базу все глубже и глубже.
Изначально паразит способен заражать людей и брать их под полный контроль для активации терминалов, а также выходить из них при необходимости.
В процессе игры становятся доступны новые способности. Первая из них это митоз. Использование митоза позволяет пришельцу расщепиться и управлять оригиналом и клоном поочередно. Некоторые препятствия пройти без митоза невозможно.
Вторая способность это контроль мозга. Используя её, паразит может получать контроль над врагами, не вступая в непосредственный контакт.
Третья способность - плевание кислотой. Помимо очевидной полезности в выпиливании новоиспеченных марсиан, это позволяет паразиту разрушать стены (разрушаемое окружение на спеке!) и проникать в закрытые помещения, делать собственные проходы в породе и даже уничтожать землю под ногами врагов, роняя их в лаву.
Четвертая способность это симбиоз. На последнем уровне первой части паразит обнаруживает контейнеры с человеческими эмбрионами. Вот тут-то и потребуются образцы ДНК, которые он собирал по ходу игры. Необходимо создать симбионтов, пресекая возражения охранников капсул.
Следуя канонам жанра, происходит смена кадра и мы видим пришедшего в сознание Рэдрика. Он подползает к аптечке, встает на ноги и всем видом показывает нам, что намерен внести ряд правок в планы паразита.
На этом заканчивается первая часть игры.
Вторая часть начинает Рэд, полностью экипированный с карманами, набитыми под завязку патронами и гранатами. Да! В этой части Рэд может кидать гранаты!
На легком уровне сложности достаточно единственного выстрела, чтобы разбрызгать пришельцев. Кроме того, можно покинуть уровень, не уничтожая всех паразитов. На нормальном уровне сложности необходимо два прицельных выстрела, а на сложном - три. Покинуть уровень с живыми паразитами не выйдет. Даешь total annihilation! Впрочем, одной гранаты хватит с лихвой на любом из уровней сложности для мгновенного сокращения популяции суетящихся слизней.
В игре 3 ачивки, что мало по сравнению с предыдущими играми, надеюсь, что разнообразие геймплея и уровней компенсирует это.
Статью и видео я старался создать так, чтобы не раскрывать сюрпризов, но заинтересовать. Поверьте, в игре есть немало эпизодов, которые Вас заставят и посмеяться, и понервничать, да и голову поломать.
На этом, пожалуй, всё.
Добавлю лишь, что скоро будет релиз игры на кассетах в Европе и РФ. На территории Европы этим займется Matranet.net, ну а тут мы своими силами управимся (пишите на zxbitles(at)gmail.com, если хотите пополнить свою коллекцию кассет с играми, или просто поддержать). Спустя некоторое время игра будет доступна на нашем сайте в открытом доступе, как и две первые.
Таким образом, я хочу отблагодарить спонсоров, предоставив им ранний доступ, и подогреть интерес в сообществе.
Я думаю, что игра заканчивает трилогию на хорошей ноте и она явно не хуже предыдущих.
На этом всё! Благодарю, за уделённое время и с удовольствием отвечу на вопросы и комментарии.
Всем удачи и добра!
С уважением, Сергей.
P.S. Подписывайтесь на наш канал на YouTube! Это помогает нам и стимулирует на новые проекты!