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

1

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

Добрый день!

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

1) Если нужно записать в массив набор данных и неизвестно, какое именно там будет количество строк (например, загружаем из массива JSON), стараюсь делать это "гибким" способом.

Изначально задаю нулевую ширину массива (высота обычно известна). Это одновременно обнуляет массив, если он уже был заполнен.

14. Работа с массивами - Порядок в проекте Construct 3 - собственный взгляд Проект, Gamedev, Браузерные игры, Construct 3, Массивы, Порядок

Сбрасываем массив.

Затем в цикле вставляю новые элементы в массив (одновременно задаётся 0-й столбец) и затем задаю им остальные столбцы.

14. Работа с массивами - Порядок в проекте Construct 3 - собственный взгляд Проект, Gamedev, Браузерные игры, Construct 3, Массивы, Порядок

Заполняем массив.

Таким образом у нас не будет ситуации, когда по умолчанию массив имеет ширину 100 строк, а из них используется только 5.

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

14. Работа с массивами - Порядок в проекте Construct 3 - собственный взгляд Проект, Gamedev, Браузерные игры, Construct 3, Массивы, Порядок

Заполнение фиксированного массива.

Можно конечно использовать и For Each. Тут дело вкуса. Мне он показался менее вкусным :), поскольку не так очевидно отслеживается текущий шаг цикла, как если использовать конкретный счётчик "i".

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

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

Часть 13. Оформление формул - Порядок в проекте Construct 3 - собственный взгляд

Добрый день!

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


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

Пример:

Часть 13. Оформление формул - Порядок в проекте Construct 3 - собственный взгляд Gamedev, Браузерные игры, Программирование, Construct 3, Порядок, Формула

Оформление формул.

Часть 13. Оформление формул - Порядок в проекте Construct 3 - собственный взгляд Gamedev, Браузерные игры, Программирование, Construct 3, Порядок, Формула

Оформление формул.

Здесь пробел есть как между операциями (+, -, *, /), так и между параметрами массивов ArrayFragments.At,(0, 0).

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


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

1

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

Добрый день!

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

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

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

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

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

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

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

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

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

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

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


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

6

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

Добрый день!

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

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

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

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

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

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

Режим start

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Добрый день!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Добрый день!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Добрый день!

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

Функции

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

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

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

Функции в Construct 3.

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

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

Попробовать мобильный офис

Перейти

Мобильный офис до 100 тысяч рублей

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

Протестировали TECNO MEGABOOK K15S вместе со смартфоном TECNO CAMON 40 и наушниками TECNO в рабочих и бытовых сценариях от Zoom-звонков до перелета, а теперь рассказываем, как себя показала техника.

Первое впечатление от дизайна ноутбука

Первое, что заметно — это вес. При диагонали 15,6 дюйма и полностью металлическом корпусе K15S весит всего 1,7 кг. Это примерно на 15% меньше, чем аналоги. Устройство не обременяет ни в офисе, ни в такси. Ноутбук поместился в стандартный городской рюкзак, было удобно достать его в кафе за завтраком и по дороге в такси, чтобы быстро отработать клиентские правки.

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

Шарнир работает мягко: чтобы открыть крышку даже одной рукой, не нужно придерживать корпус. Чтобы показать коллеге или клиенту презентацию, достаточно раскрыть экран на 180°. Это удобно и для работы лежа, и для подставок, которые требуют определенного угла обзора.

Также отметим 9 портов: USB-A, USB-C, HDMI, слот для карты памяти — можно забыть о переходниках.

В TECNO MEGABOOK K15S предустановлен Windows 11. Ноутбук готов к работе сразу после включения. Никаких лишних установок и обновлений. Все настроено и оптимизировано для вашей многозадачности.

Экран: яркая картинка и комфорт ночью

Экран — 15,6 дюйма, IPS-матрица с разрешением Full HD. Углы обзора отличные: изображение остается четким, даже если смотреть сбоку, цвета не искажаются. Есть антибликовое покрытие. Тестировали ноутбук при разном освещении: можно спокойно работать у окна. Когда солнце бьет прямо в экран, текст по-прежнему остается читаемым, картинки не искажаются. Это редкость в бюджетных моделях.

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

Стеклокерамический крупный тачпад — 15 см. Он не залипает, не промахивается, срабатывает с первого касания. Не возникает дискомфорта, даже если несколько часов редактировать документы без мышки. После перехода с других устройств немного непривычно, что тачпад работает в двух направлениях: нижняя часть отзывается нажатием, верхняя — касанием.

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

Производительность: рендерим видео, открываем вкладки

Ноутбук работает на AMD Ryzen 7 5825U (опционально можно выбрать версию техники Intel Core i5-13420H). Восьмиядерный AMD с поддержкой 16 потоков подходит для ресурсоемких операций вроде рендеринга или работы с большими массивами данных. Встроенная графика Radeon справляется с редактированием видео в Full HD или играми.

Во время монтажа 30-минутного ролика в DaVinci Resolve и параллельной работе в Photoshop с несколькими большими PSD-файлами система сохраняла стабильность. Не было ни зависаний, ни заметного падения производительности. Ноутбук уверенно держит в фоне 10 приложений одновременно. Если запущены браузер с 20 вкладками, видеозвонок в Telegram, Excel с объемной таблицей и софт для монтажа, система не тормозит и не перегревается. Переход между окнами остается плавным, ничего не «проседает», даже при одновременном скачивании файлов и редактировании видео.

Базовая комплектация включает 16 ГБ оперативной памяти в двух слотах. При необходимости можно легко увеличить этот показатель до 32 ГБ, заменив стандартные модули на более емкие. Помимо установленного SSD на 1 ТБ предусмотрен дополнительный слот, поддерживающий диски объемом до 2 ТБ.

Чтобы во время нагрузки системы охлаждения не выходили из строя, в ноутбук встроен эффективный вентилятор, способный рассеивать до 35 Вт тепла. Устройство не греется, его спокойно можно держать на коленях. Это решение дополнено тремя режимами работы, которые переключаются простой комбинацией клавиш Ctrl+Alt+T. Тихий режим идеален для работы ночью или в общественных местах, сбалансированный подходит для повседневных задач. Производительный, на котором запускали рендеринг видео и игры, практически не шумит.

Автономность: 15 часов без подзарядки

Протестили автономность MEGABOOK K15S в условиях, знакомых каждому деловому путешественнику. Утром перед вылетом зарядили ноутбук до 100% и взяли его в рейс Москва — Калининград. В зале ожидания провели созвон, потом три часа смотрели сериал и в дороге до отеля редактировали документы. К моменту приезда оставалось 40% заряда: хватило бы еще на пару часов продуктивной работы.

MEGABOOK K15S может автономно работать до 15 часов и позволяет не оглядываться на индикатор заряда. Заявленное время достигается при типичном офисном использовании: одновременная работа с документами в Word и Excel, ведение переписки, видеоконференции, веб-серфинг.

Если все же понадобится, за  час восполняется до 70% батареи. Компактный адаптер мощностью 65 Вт на базе нитрида галлия поместился даже в карман пиджака. Один блок питания заряжает и ноутбук, и смартфон, и наушники. Экономия места: не нужно никаких дополнительных проводов.

Звук, который реально слышно

В TECNO MEGABOOK K15S установлены два мощных динамика по 2.5 Вт. Звук с глубокими низами, без пластикового дребезжания, объемный. Благодаря DTS можно смотреть видео даже в шумном помещении. В тестах специально включали сцены с шагами и выстрелами: локализация настолько точная, что в наушниках нет необходимости.

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

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

Для тех, кто предпочитает гарнитуру, идеально подойдут беспроводные наушники TECNO FreeHear 1 из экосистемы бренда. Когда не хотелось делиться разговорами с окружающими, подключали их. Чистый звук с акцентом на средние частоты, 11-мм драйверы, которые выдают неожиданную детализацию. Музыку слушать приятно: и фоновый плейлист на телефоне, и вечерний сериал на ноутбуке. Автономно работают наушники 6 часов, с кейсом — до 30 часов. 

Bluetooth 5.4 обеспечивает стабильное соединение на расстоянии до 10 метров. Удобная C-образная форма разработана специально для длительного ношения — после восьмичасового рабочего дня в ушах не возникает дискомфорта. Наушники поддерживают одновременное подключение к ноутбуку и смартфону. Переключение между устройствами происходит быстро и без заминок.

Через фирменное приложение Welife можно выбрать один из четырех эквалайзеров и отследить местоположение гарнитуры в случае утери. А еще кастомизировать виджет для управления наушниками. Функция настройки персонализированного дизайна доступна для устройств на Android и позволяет гибко изменить внешний вид окна подключения: вплоть до установки фоновой картинки или собственного фото.

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

Бесшовная синхронизация со смартфоном

Благодаря функции OneLeap ноутбук синхронизируется со смартфоном TECNO. Подключение происходит за пару секунд: достаточно один раз подтвердить сопряжение. После этого открывается доступ к бесшовному переключению между устройствами — объединенному буферу обмена, дублированию экранов и передаче файлов без кабелей и пересылок в мессенджерах.

Функция выручила, когда нужно было открыть приложение, у которого нет веб-версии. Удобно работает и буфер обмена: скопировал текст на одном устройстве — вставил на другом. Например, код, полученный в сообщении на телефоне, вводится в браузере на ноутбуке. Экономит минуты, а иногда и нервы. А когда в дороге пропал Wi-Fi, ноутбук сам подключился к мобильному интернету через смартфон.

TECNO CAMON 40 и сам по себе — мощный рабочий инструмент.  Смартфон выделяется камерой высокого качества 50 Мп, ярким AMOLED-экраном 120 Гц и множеством функций, которые упрощают процесс мобильной съёмки и использование искусственного интеллекта TECNO AI.

Телефон работает на HIOS 15.0.1 на базе Android 15.В фирменную оболочку встроен искусственный интеллект:

  • Голосовой помощник Ella. Отвечает на вопросы, помогает с задачами и управлением устройством.

  • Решение задач. Наводите камеру на задачу, ИИ решает ее.

  • AI Редактор фотографий. Интеллектуальная обработка в одно касание.

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

Технические характеристики

  • Процессор и память. 8 ядер, 16 потоков, Кэш L3 16 МБ, частота до 4.5 ГГц Графический процессор AMD Radeon™ graphics SSD 512 ГБ или 1 ТБ, М.2, 2280, PCle 3.0 Nvme DDR4 16 ГБ, 3200 МГц.

  • Дисплей. 15.6", TFT, Full HD (1920×1080), 16:9, 280нит, 45% NTSC, 16.7 млн цветов, 60 Гц, 141 ррі.

  • Веб-камера. 1 Мп, шторка приватности.

  • Порты. 9 портов: 1*TF Card (microSD), 1*HDMI 1.4, 1*USB-A 3.1,

    1*USB-A 3.2, 1*3.5mm аудиовход, *Ethernet RJ45 до 1 Гбит, 2*Туре-С (Full Function), 1*слот для замка Kensington.

  • Другое. Сканер отпечатка пальца в кнопке питания. Клавиатура с подсветкой (4 уровня яркости). Тачпад с поддержкой одновременно 4 касаний.

  • Батарея. 70 Вт∙ч (6150 мА∙ч), Li-Pol, 11.55 B 65 Вт Type-C GaN, 20 В, 3.25 А, кабель 1.8 м (Туре-С-Type-C).

  • Габариты. 17.3 мм (высота), 359.5 мм (ширина), 236 мм (глубина).

  • Вес. 1,7 кг.


Если хотите создать собственную экосистему, в которой технологии подстроятся под ритм дня, попробуйте технику TECNO. Мощный ноутбук, быстрый смартфон и наушники соединяются в единое пространство. Быстрое переключение между устройствами, синхронизация файлов и стабильное соединение без лишних настроек.

КУПИТЬ НОУТБУК TECNO

Реклама TECNO Mobile Limited, Юридический адрес: Flat N, 16/F., Block B, Универсальный промышленный центр, 19-25 Shan MeiStreet, Fotan, New Territories, Гонконг

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

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

Добрый день!

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


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

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

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

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

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

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

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

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

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

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