1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

[Конкурс Top Down Games 2016] Стартую.

Автор: Zelya · 13 апр 2016 · ·
  1. Вчера совершенно случайно, увидел на http://www.gamedev.ru старт новго конкурса по играм в стиле Top Down. Вспомнилось, что давно хотел попробовать несколько типов скролла для ПК-01 Львов. Такие как:
    1. "Хитрый" скролл: когда рядом стоят одинаковые фрагменты, например голубое небо, они не перерисовываются. Такой скролл дает огромную скорость. Но в то же время, любые дополнитлеьные объекты, как просто для фона, так и игровые (враги, пули) сильно замедляют действие. Этот тип я уже пробовал ранее. Результат неплох, но требует ручной доводки карт, чтобы не перегружать движок.
    2. "Честный" потайловый скролл: когда мы перерисовываем весь экран, причем для сохранения скорости пишем сразу в видеопамять. Ясно, что производительности будет не хватать, поэтому игровой экран будет маленьким. Так же надо быть очень внимательным к выводу данных, так как игрок сразу видит их на компьютере. Если это не учесть появятся артефакты типа дерганья, мерцания или даже "покосившийся" экран.
    3. "Честный" скролл с теневым экраном: сначала данные пишутся в область ОЗУ, а потом копируются в видеопамять. В отличие от пункта 2, программист не заботится о плавности вывода данных. Но включается дополнительное копирование теневого экрана, которое забирает ресурсы. Частично, конечно, можно отыгратся за счет реорганизации кода, но нужно тестировать.
    4. "Битемапный" скролл. Хитрость данного скрола в том, что когда экран нагружен проивниками, он не скроллится. Когда же все враги повержены, игрок может продолжить движение с "честным" или "хитрым" скроллом. Это позволяет избегать перегрузок описанных в пункте 1. Пример игры - Golden Axe.

    Так что конкурс пришелся очень кстати. Выиграть приз я не расчитываю, но будет стимул провести тестовую работу. После некоторых раздумий, я остановился на пункте 2. Первый уже немного проверен, четвертый трудно вписывается в ситилистику Топ-даун.
    Выбор сеттинга был в трех вариантах: леталка, шутерок, фентезийная бродикла.
    Бродилка отпала, так как трудно организовать внятное клаватурное управление для персонажа с мечом в 8-ми направлениях (еще с учетом специфики ПК-01).
    Между леталкой и шутером я выбирал дольше. Пришлось покопаться на всяких опен-гейм-артах на предмет спрайтов. Увы, все шутерки имеют нормальные спрайты не меньше 32х32. С учетом маленького экрана, это не подходит. А вот леталки есть и 16х16.
    Так что решено: будет леталка. Причем отпало несколько проблем: куча спрайтов для восьми направлений, трудности управления, приемлимый дизайн лабиринтов (в леталке редко когда используются наземные препятствия).
    Встал вопрос выбора палитры. Хотелось сделать эффектные взрывчики. Для этого поначалу выбиралась 36-я палитра, с желты, красным, белым и черным цветами. Под эту же палитру я нашел прикольные тайлики пустыни. Но, все же, по моему мнению, все время наблюдать в игре "жаркие" цвета несколько утомительно. Я бы с радостью пожертвовал белым в пользу какого-нибудь зеленого, но такой палитры для ПК-01 нет. [​IMG]
    Так что пришлось расстаться с желтым. Пустыня покраснела, кактусы позеленели. Вобщем, вид прикольный, только огонь из сопла и красная расцветка самолета сливались с фоном. Пришлось расцветку сделать черной, огонь из сопла белым. Увы, уже в процессе тестирования анимации выстрелов, оказалось, что местами их почти не видно. Пришлось пока, внедрять зеленый, лесной тайлсет. Думаю как быть с пустыней.
    sc1.png

    После быстренькой конвертации тайлов, взялся за тесты. Для начала с тайлами 8х8, экраном 16х16 тайлов и каротой 256х16 тайлов. Превые же эксперименты показали неплохой результат, и я зарегистрировался на конкурсе.
    Колбасить свой тайловы редактор было лень. Пришлось поставить вот этот: http://doc.mapeditor.org/ . Некоторые ограничения сильно портят нервы, но все равно, с учетом занятости на работе, свой редактор я бы не осилил.
    sc2.png
    Тут же вылезли и проблемы:
    1. Экран 16х16 очень мал. Буду думать, но позже. На крайняк "и так сойдет"
    2. Потайловый скролл карты слишком быстрый. Нужно делать огромные карты, да и сама анимация не ахти. Выбрал бы я теневой экран, эта проблема решилась бы легче. Вариант с потайловой прокруткой через кадр получился слишком дерганным. Обдумав несколько решений, я пока отложил попиксельный скролл и сделал самую простую версию полутайлового (4 пикселя) скролла. Все еще немного коряво, но хотя б не так быстро.
    3. Центр самолетика. Хоть и смешно, но это проблема - у самолетика нет центра. Есть левый тайл, есть правый. Куда ставить выстрел? Был бы самолетик 24х24 - без проблем. Но, пока увеличивать объекты не хочется: так как чем больше спрайт, тем меньше места, чтобы разгуляться (экран всего 16х16 тайлов, и самолет занимал бы 3х3). Как вариант, делать сразу "двойной выстрел" что упростит игру. Пока я в раздумиях, а самолетик стреляет слева :).
    4. Наземные объекты. В связи с введением сколла по полтайла (см. пункт 2), стало ужасно неудобно позиционировтаь наземные объекты). Еще пол-беды для вертикальных выстрелов. Но планируются апгрейды с разными траекториями для оружия (как минимум диагональные). Вот тут уже могут быть проблемы. Да и "высокие" места на карте, в которые можно врезаться - тоже беда.
    5. Была идея с переключением палитр. 44-40-36. Все они имеют три одинаковых цвета на тех же позициях - черный, белый и красный. А четвертый цвет может быть желтым, голубым или зеленым. И если основные спрайты (игрок, менюшки) выполнить в первых трех цветах, то с помощью замены четвертого можно получить большое разнообразие тайлов. Зеленый лес, желтая пустыня, голубая вода. Увы, увы, для перехода палитр нужно, чтобы в кадре не было ни одного объекта четвертого цвета. Игроу будет неприятно, если вдруг деревья станут голубыми, или вода желтой. Так что нужно иметь как минимум 17 рядков в красно-бело-черных цветах. Не представляю себе таких тайлов. Ладно там, пребрежную зону можно накидать в черно-белом исполнении. Но это 2-3 рядка, а никак не 17! Размышляю...
    6. Некоторые технические ограничения, связанные с более удобным кодом. Например, координата на экране шифруется одним байтом. Вроде бы все норм, 16х16, как раз 256. Но, во-первых, будут дополнительные трудности с возможным расширением экрана. Во-вторых, понадобилась метка "не активности" объекта. Выбрал - 255. Так правый нижний угол теперь "особенный", все что в него попадает - сразу пропадает :).

    Поначалу решил ничего нигде не постить. Сюрприз будет. А сейчас подумал, расскажу, вдруг кто-то что-то посоветует.

    sc3.png
    Neresar, Astar, Martin Qleor и ещё 1-му нравится это.

Комментарии

  1. Dimouse
    Красная пустыня - нормально, считай - Марс.
    Вообще, выглядит очень даже симпатично, имхо!
  2. Zelya
    @Dimouse, да, таклы красивые. Но, выстрелы будут сливаться с фоном.
    Хотя именно эти пустыню можно было б использовать "переходником". Например, 44 палитра с зеленым лесом. Начинается пустыня с зелеными кактусами. потом кактусы пропадают, и мы переключаем палитру на 40-ю с голубым. И опа, появляется океан. Потом, бах, снова красная пустыня, переключаем на 36-ю, и влетаем в желтые пески.
  3. Kristobal Hozevich Hunta
    Можно пустить контрастную обводку по силуэту самолета?
    Сейчас как я понял его черная половина неразличима при пересечении черных объектов и наоборот.
  4. Zelya
    @Kristobal Hozevich Hunta,
    Там есть немного белого на черной половине. При движении, вроде, различимо.
    Обводка - это классно, не спорю. Но, увы, по текущему спрайту она не наложится, слишком уж маленький самолетик. Возможно, поищу позже другие спрайты.
Чтобы оставить комментарий просто зарегистрируйтесь и станьте участником!
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление