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