Birkoff | Дата: Четверг, 14 Февраля 2013, 13:27 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Громогласно Это маленький закуток, в котором я буду демонстрировать уже реализованную механику различных идей / фишечек / плюшек (называйте как хотите). Все работы будут иметь, как скомпилированный exe-файл, так и исходники, дабы любой желающий мог их изучить, расширить, придумать что-то своё, ну или же кинуть в меня тухлым помидором (ничего нельзя исключать).
Цель этих... примеров (уроками сложно назвать) заключается в том, чтобы продемонстрировать новичкам (и тем, кто уже кое-что умеет), что при помощи Scirra Construct можно достаточно быстро и качественно создавать игры приличного уровня.
Мотивация предельно проста - привлечь людей к большему трудолюбию в работе над своими проектами, расширить жанровую составляющую этих проектов, а так же создать некую обучающую базу, которая хоть как-то будет полезна в развитии.
Пример 01: Погодные условия Чует сердце, что фанаты Rpg Maker тут же заявят, что погодные условия реализованы в стандарте Rpg Maker, да и различных скриптов уйма. Но! Многие ли из вас хорошо разбираются в RGSS? Уверен, что нет.
Что дают нам самописные погодные условия? Возможность к постоянным улучшениям спец-эффектов, более широкие возможности в настройках, а так же всё, что душа пожелает.
Пример Погодных условий
В данном примере используются 3 глобальные переменные: Effect - Номер эффекта (1-3 - Дождь, 4-5 - снег) Force - Сила ветра Random - Время до вспышки (молнии) во время "Грозы". Генерируется случайно.
Так же используется 1 частная переменная, которая определяет время жизни каждой капли или снежинки - Y.
В примере вы можете изменять настройки при помощи интерфейса.
Пример 02: Туман войны Ну какая современная стратегия или кошерная RPG от Bioware обойдётся без тумана войны? Вопрос риторический - отвечать не обязательно. На самом деле, реализованная механика далеко не идеальна, и гораздо проще реализовать её через canvas, но, если уж говорить о классическом решении, то прошу любить и жаловаться:
Пример Тумана войны
Объяснять эту механику гораздо сложнее, поэтому я ограничусь описанием самого принципа, а не реализации: Персонаж имеет определённую дистанцию - обзор. Сам туман войны делится на 2 элемента: туман (неразведанная территория) и тень (разведанная, но вне поля зрения персонажа).
Самым простым вариантом будет определять через дистанцию те элементы тумана, которые в поле зрения и убирать их с экрана. Но! Если мы хотим чтобы туман представлял собой не набор квадратов, а сегменты разной формы нужно проверять соседние "туманинки". Для этой самой проверки следует использовать массивы, которые будут хранить информацию о состоянии тумана в каждый момент времени.
В своём примере, я реализовал проверку по 4 соседям (сверху, снизу, слева, справа). Для более красивой отрисовки можно проверять ещё проверять соседей по диагонали, но это вы и сами сможете уже реализовать.
Управление: ЛКМ - двигать персонажа Стрелки - двигать экран
Пример 03: Псевдо 3Д А это то, что никто не решается использовать в своих мега проектах. А зря. Такой штукой можно очень сильно разнообразить различные элементы боя, геймплея и т.д.
Пример Псевдо 3D
Оптимизация данного примера хромает на обе ноги. Так как я для этого использую 100 кадров анимации для фона и для ящика. На самом деле можно сэкономить и размеры спрайта (ящик) и размерами фона (ну или количеством кадров). Для этого вам потребуются полностью симметричные текстуры.
Да и ящик можно сделать, как маленькие спрайты самого ящика (а не на весь экран). и уже математически рассчитывать его координаты. Ну да ладно. Исходный код открыт и объяснять там нечего. Узрите!
Управление: Стрелки влево/вправо - Вращать экран
Пример 04: Змейка Реализация классического механизма игры "Змейка" Используя глобальную переменную Speed - вы можете увеличить скорость игры. Переменная Length - отвечает за длину змеи.
Пример Змейки
Управление: Стрелки - поворачивать змейку.
Пример 05: Арканойд Реализация змейки вдохновила меня на работу над другой классической игрой - Арканойдом. Можете откровенно смеяться, когда вы откроете исходник. Но код игры до безбожия короткий.
Пример Арканойда
Управление: Мышь - Двигать "ракетку" ЛКМ - Запустить шарик
Пример 06: 3D или First Person Rpg Map Movement А это уже вполне работоспособный движок, который можно использовать для создания рпг вроде первых Might and Magic, Pool of Radiance, Wizardry или же Bard's Tale.
Пример 3D
Управление в движке: Стрелки вверх / вниз - Двигаться вперёд / назад Стрелки влево / вправо - поворот влево / вправо
Так же архив содержит простейший редактор карт, который вы можете использовать для создания собственных уровней.
Управление в редакторе: ЛКМ - Поставить / убрать стену S - сохранить карту L - загрузить карту
Игра автоматически загрузит созданную вами карту.
Так же в движке присутствует миникарта, которая поможет вам ориентироваться в лабиринте. Ну и исходные ресурсы так же лежат в архиве и вы можете с ними ознакомиться.
Post scriptum Присылайте свои вопросы и идеи для реализации. Наиболее интересные идеи я буду реализовывать и выкладывать на всеобщее обозрение.
|
|
| |
Domenik | Дата: Вторник, 17 Сентября 2013, 04:43 | Сообщение # 2 |
Программист Construct Classic
Сейчас нет на сайте
| Не Scirra Construct, а Construct Classic
|
|
| |
_ToBe_ | Дата: Вторник, 17 Сентября 2013, 09:16 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| Очень полезная тема, особенно понравились погодные эффекты А можно как-то закрепить/перенести/продублировать эту тему в самом разделе Construct Classic?
П.С. А про рэйкастинг у вас есть что-то интересное?
|
|
| |
diarkm | Дата: Суббота, 14 Декабря 2013, 12:50 | Сообщение # 4 |
почетный гость
Сейчас нет на сайте
| Цитата Birkoff ( ) Пример 02: Туман войны Очень полезный исходник, спасибо!
- The Tales of War and Peace - Защищай, развивай, воюй.
|
|
| |