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

Квест Зумба

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

Играть

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

  • AlexKud AlexKud 38 постов
  • Animalrescueed Animalrescueed 36 постов
  • Oskanov Oskanov 7 постов
Посмотреть весь топ

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

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

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

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

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
3
ru1000
ru1000
2 месяца назад
Серия Игрушечный программист - мой опыт Construct 3

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

Добрый день!

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


В каждой игре есть внутренняя часть и есть внешняя.

Внутренняя - это обработка событий, работа с переменными, изменение массивов и т.д.

Внешняя - передвижение персонажей по экрану, нажатие кнопок, раскрывание окон и т.п.

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

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

15. Разделение внутреннего и внешнего - Порядок в проекте Construct 3 - собственный взгляд Игры, Браузерные игры, Gamedev, Аркадные игры, Порядок, Инди игра, Lode runner, Construct 3

Обсчёт объектов на игровом экране.

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

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

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

И соответственно - проверять уже не каждый квадратик поля а каждую ячейку массива на наличие в нём "символа" героя. Это будет значительно быстрее.

А игроку можно будет показывать уже только результат этой проверки.

Как говорится - разделяй и властвуй.


P.S. По поводу игры на скриншоте - она называется Running Eva. Это мой клон старенькой игры Lode runner, которая существовала ещё на компьютерах ZX Spectrum.

Хотя в целом игра работает и в ней даже есть несколько уровней, мне пока не удалось прописать в ней приличный ИИ для врагов. Они вроде бы бегают за героиней, но как-то кривовато. Может со временем допилю.

Поиграть можно здесь:
https://dharmagames.ru/games/arcade/runningeva/index.html


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

Показать полностью 1
[моё] Игры Браузерные игры Gamedev Аркадные игры Порядок Инди игра Lode runner Construct 3
0
1
ru1000
ru1000
2 месяца назад
Серия Игрушечный программист - мой опыт Construct 3

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
[моё] Проект Gamedev Браузерные игры Construct 3 Массивы Порядок
0
3
ru1000
ru1000
2 месяца назад
Серия Игрушечный программист - мой опыт Construct 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

[моё] Gamedev Браузерные игры Программирование Construct 3 Порядок Формула
0
6
ru1000
ru1000
3 месяца назад
Серия Игрушечный программист - мой опыт Construct 3

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
[моё] Gamedev Браузерные игры Проект Разработка Construct 3 Порядок Режим
0
3
ru1000
ru1000
3 месяца назад
Серия Игрушечный программист - мой опыт Construct 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

Показать полностью
[моё] Gamedev Браузерные игры Проект Construct 3 Порядок Слои
0
2
ru1000
ru1000
3 месяца назад
Серия Игрушечный программист - мой опыт Construct 3

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

Добрый день!

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

Функции

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

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

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

Функции в Construct 3.

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

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

[моё] Construct 3 Функция Браузерные игры Gamedev Порядок
2
3
ru1000
ru1000
3 месяца назад
Серия Игрушечный программист - мой опыт Construct 3

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

Добрый день!

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

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

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

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

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

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

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

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

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

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

Объекты.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Button - кнопки,

  • Mask - маски,

  • Array - массивы,

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

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

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

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

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

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


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

Показать полностью 5
[моё] Gamedev Браузерные игры Проект Порядок Объект Массивы Переменные Длиннопост Construct 3
0
0
ru1000
ru1000
3 месяца назад
Серия Игрушечный программист - мой опыт Construct 3

6. Переменные - Порядок в проекте Construct 3 - собственный взгляд⁠⁠

Добрый день!

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

Часть 6. Переменные.

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

2) К переменным применяю «верблюжий» принцип camalCase: начинаются они со строчной буквы, а каждое следующее слово в ней - с прописной:

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

Верблюжий принцип.

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

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

Комментарии к переменным.

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

4) Никогда не создаю булевых переменных (boolean - триггеров true-false). Не нравятся они мне :)

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

Чтобы не скакать потом по всему коду заменяя булеву переменную, я заранее делаю её строковой (string) и задаю ей одно из двух значений: on или off,

Почему не true и false? Так короче, легче менять одно на другое (on на off и обратно) и понятнее по смыслу (включено-выключено).

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

Строковые переменные вместо булевых.

5) Константы почему-то не использую. Пытался, но потом всё равно про них забываю. Поэтому пользуюсь только обычными переменными.

6) Большая часть переменных, как и большая часть событий у меня оказывается в листе common.

7) Список переменных в листе сортирую по алфавиту (латинскому), чтобы быстрее находить нужные.

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

Сортировка переменных по алфавиту.

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

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