ru1000

ru1000

Делаю несложные 2D-игры в редакторе Construct 3. Мой Телеграм: @ruslanbogdanov108
Пикабушник
Дата рождения: 21 сентября
842 рейтинг 7 подписчиков 4 подписки 95 постов 3 в горячем
Награды:
Знаю все про мирный атом 10 лет на Пикабу
1

Мои игры стали появляться на Пикабу.Игры

Серия Игрушечный программист - мой опыт Construct 3

Добрый день!

Меня зовут Руслан.
С 2016 года делаю игры в редакторе Construct 3.

Некоторое время назад на Пикабу появился свой раздел с играми.

Долго я собирался, но всё же собрался предложить туда несколько своих старых игр.

Не сильно надеялся, что всё получится, но вроде получается.

Одна игра (Пятнашки с Евой - Таблица умножения) уже лежит в разделе Головоломок.

https://games.pikabu.ru/game/pyatnyashki-s-evoy

Единственная пока оценка у игры - "Так себе", что впрочем не удивительно. Делал её ещё в самом начале изучения Construct 3.

Ещё несколько игр на подходе - сейчас проходят тестирование.

Тоже в основном незатейливые, картинки рисовал сам либо тырил с бесплатных сервисов. Бесплатную музыку брал у Кевина Маклауда.

В общем, просто подумал, что наверное нужно поделиться этим маленьким успехом.

Вдруг кто-то тоже пилит свои игры и пока только подумывает, куда бы их выложить.


Как обычно, Телеграм:
https://t.me/toyprogrammer

Показать полностью
6

11. Режимы игры - Порядок в проекте Construct 3 - собственный взгляд

Серия Игрушечный программист - мой опыт Construct 3

Добрый день!

Меня зовут Руслан.
С 2016 года делаю игры в редакторе Construct 3.

1) В играх стараюсь использовать принцип Final State Machine.

То есть, в каждый момент времени игра находится только в одном состоянии.

2) Для этого использую переменные mode (текущий режим) и modePrevious (предыдущий режим).

К примеру, на стартовом экране у нас игра запускается в режиме "start".

Режим start

Режим start

В этом режиме кнопка Поделиться будет работать.

Кнопка Поделиться

Кнопка Поделиться

3) Когда игрок нажал на кнопку Поделиться, происходит следующее:

Включаем окно Поделиться

Включаем окно Поделиться

  • в переменной modePrevious запоминаем то, что было в mode,

  • переменной mode задаём состояние "share".

  • появляется окно Поделиться

  • кнопка Поделиться уже не будет срабатывать, поскольку это не нужно и будет только мешать игроку.

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

4) Когда игрок закрывает окно Поделиться, возвращаем предыдущий режим.

Закрываем окно Поделиться

Закрываем окно Поделиться

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

Как обычно, Телеграм:
https://t.me/toyprogrammer

Показать полностью 3
3

12. Слои - Порядок в проекте Construct 3 - собственный взгляд

Серия Игрушечный программист - мой опыт Construct 3

Добрый день!

Меня зовут Руслан.
С 2016 года делаю игры в редакторе Construct 3.

Слои старюсь называть типовыми именами c маленькой буквы.
Типовой набор для игрового экрана.

Слои в проекте Construct 3

Слои в проекте Construct 3

  • transition - непрозрачный слой для плавного затемнения при переходах между экранами. Для этого использую специальную функцию.

  • windows - окна, которые нужно показать поверх остального интерфейса,

  • windowsBackground - фон для окон,

  • gui - кнопки, тексты и т.д.

  • objects - игровые объекты: персонажи, оружие, предметы. спецэффекты,

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

  • background - всевозможные фоны на заднем плане.

На некоторых экранах могут быть не нужны слои типа objects, или наоборот, нужно ещё +100500 дополнительных слоёв.

Но, как правило, везде есть transition, gui и background.

Как обычно, Телеграм:
https://t.me/toyprogrammer

Показать полностью
3

10. Комментарии - Порядок в проекте Construct 3 - собственный взгляд

Серия Игрушечный программист - мой опыт Construct 3

Добрый день!

Меня зовут Руслан.
С 2016 года делаю игры в редакторе Construct 3.

10. Комментарии

1) Комментарии на русском добавляю к каждому действию и к каждой группе условий.

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

Комментарии на русском.

Комментарии на русском.

2) Когда хочется визуально выделить какие-то блоки кода внутри группы, не создавая новую группу, добавляю дополнительные строки комментариев.

В частности, если используется объёмное условие «Если» - «То», «Иначе» - «То», нельзя заключить в отдельные группы блоки «Если» - «То» - это сломает логику игры.

Поэтому приходится как-то визуально выделять эти блоки с помощью комментариев.

Выделение комментариев.

Выделение комментариев.

Как обычно, Телеграм:
https://t.me/toyprogrammer

Показать полностью 2
3

9. Функции - Порядок в проекте Construct 3 - собственный взгляд

Серия Игрушечный программист - мой опыт Construct 3

Добрый день!

Меня зовут Руслан.
С 2016 года делаю игры в редакторе Construct 3.

Функции

1) Все блоки кода, повторяющиеся более 1 раза или представляющие из себя отдельный законченный блок - выношу в функции.

2) Имена функций пишу на английском с выделением первой буквы каждого слова.

Функции в Construct 3.

Функции в Construct 3.

3) Название функции дублирую в названии её группы - чтобы проще было искать по закрытым группам.

Как обычно, Телеграм:
https://t.me/toyprogrammer

Показать полностью
3

8. Группы - Порядок в проекте Construct 3 - собственный взгляд

Серия Игрушечный программист - мой опыт Construct 3

Добрый день!

Меня зовут Руслан.
С 2016 года делаю игры в редакторе Construct 3.


Итак, группы в Construct 3.

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

Или свернуть временно ненужные группы.

Группы в проекте construct 3.

Группы в проекте construct 3.

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

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

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

Как обычно, Телеграм:
https://t.me/toyprogrammer

Показать полностью 1
4

Баг с датой в чат-ботах (наверное известный)

Сейчас случайно наткнулся на общий баг с текущей датой для разных чат-ботов.

Они почему-то не могут нигде посмотреть текущую дату и просто уверенно пишут уже прошедшую.

Хм...

"Будьте внимательны и осторожны..."

Показать полностью 2
3

7. Управление объектами - Порядок в проекте Construct 3 - собственный взгляд

Серия Игрушечный программист - мой опыт Construct 3

Добрый день!

Меня зовут Руслан.
С 2016 года делаю игры в редакторе Construct 3.

Сегодня напишу немного об управлении объектами в Construct 3.

1) Для всех объектов создаю 3 разных подкаталога:

Каталоги с объектами.

Каталоги с объектами.

  • В Interface у меня хранятся кнопки, окна, фоны и всё, что не участвует непосредственно в игровом процессе.

  • В Objects лежат объекты, составляющие основу игровых механик: персонажи, оружие, всё, что летает по игровому полю, а также массивы.

  • В Object Types кидаю поведения и плагины (Touch, Keyboard, AJAX и прочие вещи, не выносящиеся на игровое поле).

2) Объекты называю с заглавной буквы.

Объекты.

Объекты.

3) Количество однообразных объектов в проекте (кнопок, текстов, фонов и т.д.) стараюсь ограничивать насколько это возможно, но не более того.

4) Для различения однообразных объектов (кнопок, надписей и др.) добавляю им собственные переменные class, classSub, num, id.

Собственные переменные объектов.

Собственные переменные объектов.

Затем выбираю нужные объекты по их переменным.

Выбор нужного объекта по его переменной.

Выбор нужного объекта по его переменной.

5) С помощью собственной переменной state включаю-выключаю отдельные кнопки, когда это нужно.

И потом отслеживаю, если у кнопки включена state = ”on”, то нажатие на кнопку вызывает реакцию.

Иначе ничего не происходит.

Использование собственных переменных кнопок для их игнорирования.

Использование собственных переменных кнопок для их игнорирования.

6) Для текстовых объектов использую несколько типовых имён:

  • TextButton - текстовая кнопка (часто располагается поверх пустой резиновой кнопки),

  • TextInfo - изменяющийся текст (таймеры, счётчики, очки, патроны и т.п.),

  • TextTest - тестовый текст - помогает отслеживать параметры игры при ошибках. Обычно он скрыт и включается по какой-то кнопке.

7) Для графических объектов использую типовые имена:

  • Button - кнопки,

  • Mask - маски,

  • Array - массивы,

  • Background - фоны и т.д.

Если нужно разнообразить - добавляю в конец имени уточняющие слова. На примере массивов:

Названия массивов.

Названия массивов.

Так их проще вспомнить, если нужно подставить имя объекта в какую-то переменную.

Пока всё, что имею сказать по поводу объектов.


Как обычно, Телеграм:
https://t.me/toyprogrammer

Показать полностью 5
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества