Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Отправляйся в Скайдом — волшебную страну, парящую высоко в небе среди пушистых облаков! Всё вокруг сияет яркими красками, а в самом сердце этого чудесного мира тебя ждет увлекательная арена, где можно с удовольствием и пользой провести время, собирая ряды из одинаковых элементов.

Скайдом: три в ряд

Три в ряд, Головоломки, Казуальные

Играть

Топ прошлой недели

  • Oskanov Oskanov 9 постов
  • Animalrescueed Animalrescueed 46 постов
  • AlexKud AlexKud 33 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
0
Polzets
5 лет назад

Уроки по программированию для детей⁠⁠

Сегодня сделаем простую игру в конструкторе игр Construct2. Мы будем убивать вирусы. Размер макета и окна одинаковый 854 х 480 пикселей.

Добавим фон и спрайты:

Добавим поведения для вируса:

Также нам нужны будут события мыши и Touch.
Центр мишени и сама мишень - это отдельные объекты, поэтому нам нужно прикрепить центр с помощью поведения Pin:

Сам прицел прикрепим к мышке:

Теперь нужно сделать так, чтобы вирусы летели справа и слева:

Добавим переменную Score для подсчета очков и текстовое поле для вывода результата.


Щелкая  мышкой по вирусу, мы его убиваем, причем вирус должен генерировать кляксу на стене. Можно также добавить звук.

Если мы не уложимся в 60 секунд, то проиграем:

А если наберем 10 очков, то выиграем:

Вот такая получилась игра.
Подробнее - видео на моем YouTube канале:

Показать полностью 8
[моё] Construct 2 Урок Компьютерные игры Длиннопост
0
astralotus
astralotus
5 лет назад
Лига Разработчиков Видеоигр

Johnny Redhead: JET⁠⁠

Моя вторая игра, сделана по типу Flappy Bird. Мастерил её года 2-3 назад, игра так нигде и не вышла. Вот ссылка на апк https://drive.google.com/file/d/12RVNjK3PahnNfaqzy3EL5YUwfeK.... Думаю может кому понравится убить немного времени. Моя дочка иногда любит в неё поиграть).

А это моя первая игра Save The Cracker делал её тоже давненько для конкурса Construct 2. Даже получил приз лицензию на контракт и продал её на форуме за полцены). На смартфоне в неё можно играть, но лучше на компе.
https://www.construct.net/en/free-online-games/save-cracker-...

В планах конечно сделать супер#мега#хит, но как то всё руки не доходят).

Графика в играх моя, музыка из посторов интернета.

Показать полностью 2
[моё] Unity Construct 2 Длиннопост
3
tduk
6 лет назад
Лига Разработчиков Видеоигр

Создание своего ВК Коина)⁠⁠

Ай! Больно! Зачем сразу тухлыми помидорами кидаться??? Да консрукт! Да тема устарела немного(ээээ даа немно-о-о-ого)
Я все же надеюсь услышать норм критику)

Показать полностью 3
[моё] Construct 2 Gamedev PHP Vkcoin Видео Длиннопост
6
Flarex1
Flarex1
6 лет назад

Помогите предумать мини-игру 2D⁠⁠

Делаю игру для Android устройств через Construct 2(только начинаю) , сделал уже 6 разных уровней и больше придумать не могу, у кого есть идеи пишите в комментариях. Заранее спасибо.

Помогите предумать мини-игру 2D
[моё] Construct 2 Android Gamedev
11
aidarts
aidarts
6 лет назад
Лига Разработчиков Видеоигр

Agent: Lana Star⁠⁠

Agent: Lana Star
[моё] Gamedev Game Art Construct 2 Тизер Anime Art Инди
22
boch2005
boch2005
6 лет назад

Помогите!⁠⁠

Подскажите пожалуйста, как сделать чтобы бесконечно падали объекты сверху (как раннер, но только сверху вниз).

P.S Работаю в Construct 2

Construct 2 Помощь Текст
2
5
TrueBlueDragon
TrueBlueDragon
6 лет назад
Лига Разработчиков Видеоигр

Fight Like a Wizard Alpha #6: эффекты заклинаний и очерёдность хода.⁠⁠

Доброе утро, Пикабу! Доброе утро, Лига разработчиков видеоигр!

Прошла ещё неделя после моего последнего поста, большую часть времени я провёл редактируя лист событий, но всё же игра стала уже хоть немного играбельной. Итак...

Для начала продолжения я дописал также строки на действия и других свойств карт, помимо вычета стоимости энергии.

Однако при всём при этом я пропустил строку нанесения урона противнику. Там есть строки на нанесение урона конкретно щиту противника и конкретно противнику, однако простой урон может наносится как щиту, так и самому противнику, если щит разрушен.

Так что тут я добавил пару условий: в случае если здоровье щита больше входящего урона, то он просто уменьшается на размер урона; однако, если здоровье щита меньше, урон по прежнему... добавляем отрицательное... в общем, на скрине видно.

И при проверке данное условие и порядок действий вполне себе работает.

Также может случится ситуация, когда энергии может просто не хватать на использование какой-либо карты.

Поэтому я добавил кнопку сброса карты.

Ей, так же, как и картам, добавил локальную переменную позиции.

Для того, чтобы визуально было видно, что карта сброшена, а не сыграна, я дорисовал полупрозрачную карту и дал ей поведение кнопки.

В случае если будет нажата кнопка сброса карты, то карта сброса будет моментально перемещаться и прикалываться к той карте, у которой совпадает переменная позиции с аналогичной переменной кнопки. Карта проследует по своему привычному пути, а когда вернётся в колоду, карта сброса просто открепляется и ждёт своей дальнейшей участи.

После этого я занялся дорисовкой новых карт, заодно изменил дизайн, ибо мне не нравилось, что символ стихии такой большой, а описание слишком мало.

Теперь мне не осталось ничего другого как настроить очерёдность хода.

Начал я с того, что добавил ещё одну карту, которая будет отображать выбранную карту заклинания компа.

Также я вставил ещё один одномерный массив, отображающий последовательность карт в колоде противника. А также скопировал события и действия для перетасовки карт, заменив объекты.

Следующие несколько дней я пробовал добавить действия для хода противника, действуя через отдельные функции со своими условиями, вводя и удаляя новые группы, но в любом случае наступал хаос: то карты действовали неправильно, убавляя энергию другой стихии и атакуя не ту цель, то атака вообще не проходила... В общем, после очередного перерыва на работу я нашёл верное решение, добавив пару функций.

Собственно, я также ввёл несколько глобальных переменных и изменил алгоритм хода. При нажатии на выбранную карту вместо проверки на её возможность использования в первую очередь идёт проверка на НЕвозможность. В противном случае вызывается функция своего хода. Одна из новых глобальных переменных нужна как раз, что бы функция узнавала, на какую карту нажал игрок.

Далее следуют действия выбора карт компом и вызывается функция.

Собственно, функция как раз применяет эффекты карты заклинаний со всеми подусловиями (поскольку подусловия выполняются уже после того, как основные действия закончатся из-за чего невозможно вставить условия в событие нажатия).

Кроме того, если у компа не хватает энергии на использование карты, то происходит процесс сброса карты с прикреплением всё той же полупрозрачной карты.

Я ещё при тесте забыл учесть нажатие на кнопку сброса. Так что когда я сбрасывал карту ход компу не передавался. Копируем действия!

Энергия не может длится вечно, рано или поздно она закончится. Так что я добавил по 4 источника каждому волшебнику в виде локальных переменных.

А также каждому источнику свой индикатор!

Механизм восполнения энергии крайне прост: в начале хода из каждого источника капает одна энергия. Т.е. если есть пара источников воды, то в начале каждого хода будет капать 2 энергии воды.

Немного переназначил стартовые условия в виде количества энергии и здоровья, и игрулька стала вполне играбельной. Основная механика закончена, осталось немного.

Ещё раз спасибо каждому, кто дочитал, спасибо тем 5-ти людям, которые на меня подписаны, и увидимся в следующем посте!

Показать полностью 20
[моё] Разработка Gamedev Construct 2 Fight Like a Wizard Длиннопост
16
6
TrueBlueDragon
TrueBlueDragon
6 лет назад
Лига Разработчиков Видеоигр

Fight Like a Wizard Alpha #5: небольшая оптимизация и эффекты заклинаний.⁠⁠

И всем снова добрый день!

Где-то между работой у меня время от времени находилось пару часиков свободных, и вот наконец насобиралось достаточно материала для нового поста.

Продолжил я свою работу с того, что попробовал ввести плагин LiteTween для перемещения карт, как мне посоветовал господин @LIMOR. Спасибо тебе огромное за совет! Плагин работает отлично!
Протестировав его на отдельной сцене, я занялся переносом в основную сцену. Но тут я заметил, что у меня большинство событий связанных с картами, очень похожи друг на друга, и отличие состоит только в их положении.
Так что я решил сразу оптимизировать код заменой шести разных карт на одну, но в шести экземплярах и с новым поведением.

Для начала я расположил шесть экземпляров карт, ввёл локальную переменную под названием Position, на которой будет завязано перемещение на свои места, и через неё пронумеровал экземпляры.

Затем я попробовал сразу в настройках поведения вставить формулу для нахождения цели пути.

И у меня ничего не получилось. Похоже в настройки поведений и прочего можно писать только числа, ибо всё, что выглядит как формула, прогой игнорируется.

Так что теперь координаты цели (Target) движения каждой карты присваиваются отдельной строкой действия.

Кстати, когда я включал движение карты, в качестве опции старта следует указывать Start from the beginning, ибо когда я выбрал Resume at current progress с мыслью, что карта как бы продолжит свой путь, она сразу телепортировалась в конец пути.

Кроме того при данном положении дел у меня карты постоянно открывались по новой, ибо событие остановки постоянно выполнялось. Так что увеличиваю координаты финиша на 2 и по прибытию сдвигаю на 2 назад.

На этом этапе движения карт меня очень даже удовлетворяло, так что прошлые объекты карт я удалил.

Также в ходе тестов я выяснил, что плагин поведения LiteTween двигает карту не с постоянной скоростью, как Pathfinding, а с постоянным временем движения. Т.е. если раньше у меня все карты двигались с одинаковой скоростью и при одновременном старте первая карта всегда приходила раньше последней, то с данным поведением постоянное время пути, и независимо от позиции все карты одновременно стартуют и одновременно финишируют. Из-за этого все карты у меня "открывались" одновременно и были одинаковыми.

Поэтому на старте сцены я присваиваю карте скорость, завязанную на переменной позиции. Таким образом, каждый экземпляр карты будет двигаться разное количество времени и будет открываться по очереди.

Далее у меня выскочил баг при перетасовке колоды, когда в последовательность карт включался ноль, и по итогу у меня в некоторые моменты карта попросту не открывалась.

Причина этого была в том, что в функции перетасовки колоды есть проверка на то, есть ли новое рандомное число в массиве или нет, и поскольку до замены все ячейки массива заняты ненулевыми значениями, ноль вполне подходил.

Исправил я этот баг очисткой массива последовательности карт перед перетасовкой и присвоением первым шести ячейчкам значений уже открытых карт.

Далее я занялся эффектами карт заклинаний, ведь именно для это они и нужны, верно?

Начал я с заполнения массива свойств карт. Поскольку с помощью кода заполнять массив каждый раз при начале сцены или игры в целом будет слишком долго (карт ведь будет намного-намного больше, чем 8) я подумал, что самым оптимальным решением будет сделать файл со свойствами карт и просто его подргужать.
Так что для начала я занялся созданием этого самого файла. Немного погуглив я нашёл видео с примером и сделал аналогично (если кому нужно будет, могу ссылку дать).
В отдельной сцене со своим листом событий я прописал действия на заполнение ячеек с последующим сохранением массива в файл *.json

При тесте этой сцены у меня в загрузки сохранялся следующий файл.

Далее я загрузил этот файл в проект в раздел файлов.
Подгрузкой файлов в Construct 2 занимается объект AJAX, так что для начала я добавил его и при старте сцены дал ему команду на загрузку файла со свойствами.
И отдельным событием на завершение загрузки этого файла добавил действие на заполнение массива свойств карт заклинаний.

Проверяем!
При правильном составлении листа событий я получил правильную подгрузку массива.

Далее нужно создать объекты, на которые будут влиять заклинания.
В первую очередь я продублировал объекты волшебника и щита на свой и вражеский, и добавил каждому локальную переменную здоровья. А также добавил текстовые индикаторы здоровья.

Поскольку в далёком далёком будущем я планирую дать игрокам возможность развивать своих волшебников, то при старте сцены я прописал действия на присвоение параметров здоровья и вывод их на индикатор.
Также я хочу, чтобы если здоровье щита было нулевым, его просто не было видно, и наоборот, при максимальном значении он будет самым ярким. Так что также прописал зависимость прозрачности щита от его здоровья.

Немного подумав, я перенёс присвоение текста индикаторам здоровья в ежетиковое событие.
Далее я попробовал дать карте первое свойство: когда используем карту заклинания, увеличивающего прочность, здоровье волшебника увеличивается.
Поскольку я хочу, что бы заклинание подействовало уже когда карта будет между волшебниками, я вставил это действие в событие прибытия карты на своё место.

И вот тут я снова столкнулся с проблемой длительного выполнения события. Здоровье волшебника постоянно возрастало, пока карта была посередине.

Более того, в ходе попыток это исправить я нашёл ещё баг: одна карта у меня часто повторялась после перетасовки.

Причину я нашёл немного позже, случайно вспомнив, что в массиве свойств карт я оставил себе пустой столбец. Дело в том, что массив нумерует свои строки, столбцы и выдвижные ящички (в глубину по Z, как секретер с картотекой в какой-нибудь поликлинике) начиная с нуля. А для собственного удобства я пописывал значения первой карты в столбец 1, второй - столбец 2, и т.д. пропустив столбец 0.
Так что при старте сцены задаём ширину массива последовательности на 1 меньше, чем ширина массива свойств карт.

А баг длительного увеличения здоровья я решил переместив строку выполнения заклинания в событие нажатия карты, как единомоментное событие, с небольшой задержкой на перемещение карты.

Далее!
Заклинания не могут выполнятся за просто так. Так что я ввёл волшебникам 4 новые локальные переменные на энергию каждой стихии и ввёл на каждую переменную свой индикатор энергии аналогично индикатору здоровья (скрин забыл сделать).

Далее мне нужно было прописать действие вычета стоимости заклинания из соответствующей энергии. Но тут я столкнулся с проблемой, что массив свойств я заполнял ещё 12 дней назад и я совершенно не помню за что какая строка отвечала. Так что я пересоздал табличку свойств по новой, заодно добавив в нулевой столбец назначения каждой строки.

И далее для применения свойств карты я прописал по действию на каждою строку массива свойств (для начала на те, которые заполнены хоть немного).

Возможно кто-то скажет, что так выйдет дофига строк, много кода, который будет работать и на нулевые ячейки тоже. Но мне этот вариант кажется более целесообразным, чем на каждую карту прописывать её свойства отдельно.
С таким подходом я получил универсальные 20 строк, которые будут работать абсолютно для каждого заклинания.
И оно действительно работает.

И напоследок я добавил также условие, при котором заклинание не может использоваться, если соответствующей энергии будет недостаточно. Для того, что бы было видно, что заклинание не сработало, я добавил в карту поведение Sine и сделал подрагивание по горизонтали.

На данный момент это все изменения. В дальнейшем я планирую добавить остальные карты базовой колоды и попробую настроить анимацию волшебника и возможность передачи хода противнику.

Спасибо, что прочитали до конца, и до следующего поста.

Показать полностью 23
[моё] Разработка Gamedev Construct 2 Fight Like a Wizard Длиннопост
5
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии