Free Online Browser Games
Publish the games you create in Construct Arcade! All games playable in the browser.
15,012 games
91,910,746 plays
Sort / Filter
-
Content Types
-
Full & Demo Games
-
Full Games
-
Demo Games
-
Work in Progress Games
-
Tests & Experiments
-
All Games
-
-
Devices
-
Desktop Games
-
Mobile Games
-
Desktop or Mobile
-
-
Language
-
2.4K favourites
There Is No Game
- 4 playing now
KaMiZoTo
- 2,669,882 plays
- 8 years ago
-
1,401 comments
-
1.6K favourites
Ultra Pixel Survive
- 15 playing now
Gold Skull Tutoriais
- 997,614 plays
- 2 years ago
-
118 comments
-
2K favourites
Tag
- 65 playing now
Joeriri
- 6,851,479 plays
- 8 years ago
-
256 comments
-
941 favourites
Slender Multiplayer
- 13 playing now
Grassboii
- 1,808,850 plays
- 4 years ago
-
1,180 comments
-
1.3K favourites
Pixel Speedrun
- 51 playing now
vendara
- 5,600,759 plays
- 5 years ago
-
276 comments
-
687 favourites
Pixel Bear Adventure
Stormtrooper
- 1,091,383 plays
- 7 years ago
-
258 comments
-
1.1K favourites
! PANIC !
- 5 playing now
poppants
- 1,647,630 plays
- 7 years ago
-
413 comments
-
1K favourites
Red Tie Runner
- 23 playing now
Reflextions
- 2,921,897 plays
- 6 years ago
-
396 comments
-
521 favourites
Super Mario Demo
- 3 playing now
Gold Skull Tutoriais
- 1,031,195 plays
- 7 years ago
-
183 comments
-
685 favourites
Combiner
- 4 playing now
influogames
- 674,308 plays
- 8 years ago
-
216 comments
-
460 favourites
Dreams and Reality
- 1 playing now
AlceX
- 240,250 plays
- 7 years ago
-
165 comments
-
610 favourites
Throw a potato
- 14 playing now
Soupmaster
- 819,027 plays
- 2 years ago
-
146 comments
-
624 favourites
Wheelie bike
- 53 playing now
stefano1234
- 4,164,079 plays
- 5 years ago
-
317 comments
-
720 favourites
Tank Trouble 2
- 34 playing now
austinblackbelt
- 5,844,294 plays
- 8 years ago
-
332 comments
-
744 favourites
SUPERHOTline Miami
- 3 playing now
Albatr
- 1,365,170 plays
- 8 years ago
-
175 comments
-
441 favourites
Archer Project
- 9 playing now
clarkvr
- 799,758 plays
- 5 years ago
-
158 comments
-
424 favourites
YetAnotherWorld
- 3 playing now
hostage
- 463,730 plays
- 7 years ago
-
114 comments
-
351 favourites
Key & Shield
- 3 playing now
Fire Totem Arena
- 385,469 plays
- 8 years ago
-
140 comments
-
495 favourites
Throw a potato again
- 11 playing now
Soupmaster
- 436,379 plays
- 2 years ago
-
159 comments
-
391 favourites
comic and manga chaos crossover
- 2 playing now
spiderfan 179
- 802,044 plays
- 4 years ago
-
101 comments
В Construct 3 есть несколько способов сохранения ваших проектов. По умолчанию при нажатии кнопки Save (Сохранить) в новом проекте, выполняется сохранение в Облачном хранилище (Cloud Save). Вы можете выбрать другой вариант, а также изменить параметр сохранения в любое время, перейдя в Menu > Project > Save as (Меню > Проект > Сохранить как).
Сохранение проектов Construct 3 в облаке (Cloud Save)
Вы можете сохранить свою работу в облачном хранилище. Это позволит получить доступ к вашим файлам в любом месте, где бы вы не находились.
Поскольку Construct 3 работает в браузере и может использоваться на любом устройстве, это отличный способ убедиться в удобности сохранения в облаке. Многие облачные сервисы хранения также предоставляют функцию резервного копирования и историю сохранения файлов. Это обеспечивает безопасность и надежность вашему проекту.
Движок Construct 3 в настоящий момент поддерживает Google Drive, Microsoft OneDrive и Dropbox. При первом заходе в Menu > Project > Save as > Cloud save, появится диалоговое окно с предложением выбрать одну из поддерживаемых служб.
После вашего выбора вам будет предложено войти в учетную запись облачного хранилища. Это позволит движку сохранять и открывать файлы из вашей учетной записи.
Ваши логин и пароль будут запомнены после первого входа, и вам не придется вводить их каждый раз.
Помните, ваш логин в Cloud Save отличается от логина в Construct 3. Это две разные системы. Тот факт, что вы вошли в одну из систем не означает, что вы автоматически авторизованы в другой.
Когда вы нажмете Сохранить (Save with Cloud Save), Construct 3 сохранит ваш проект и загрузит его в вашу учетную запись в облачном хранилище. Загрузка будет проходить в фоновом режиме, а статус загрузки будет отображаться в углу экрана. Во время загрузки в облако вы можете продолжать работу над проектом. Следующее сохранение можно сделать только после завершения загрузки.
При следующем запуске Construct 3 зайдите в Menu > Project > Cloud open, чтобы найти и загрузить ваш проект. Он также появится в разделе Recent projects (Последние проекты) на стартовой странице.
Чтобы загрузить проект в виде локального файла на ваше устройство, перейдите в Menu > Project > Save as > Download a copy (Меню > Проект > Сохранить как > Загрузить копию). Construct 3 спросит, хотите ли вы изменить название файла. Оставьте его пустым, чтобы использовать значение по умолчанию.
В проектах движка Construct 3 используются файлы с расширением .c3p. Обычно при таком способе загрузки файлы попадают в папку Downloads (Загрузки). Вам может быть предложено сохранить его в другом месте, в зависимости от браузера. В качестве альтернативы, вы можете перетащить полученный файл прямо из браузера, например из нижнего колонтитула загрузок Google Chrome.
Обратите внимание, что несмотря на название функции скачивания, на самом деле файл не загружается из Интернета. Все данные проекта хранятся локально. Термин Download относится к вызову пользовательского интерфейса загрузки в браузере для дальнейшего сохранения проекта в локальный файл.
Использование локальных файлов
На сегодняшний день некоторые браузеры, такие как Chrome, поддерживают сохранение файлов непосредственно в вашей системе. Это означает, что вы можете использовать опцию Menu > Project > Save as > Save as single file…, чтобы сохранить ваш проект как локальный файл в любом месте вашей системы.
Для открытия локального файла перейдите в Menu > Project > Open local file. После внесения вами изменений и нажатия кнопки Save (Сохранить), произойдет обратная запись в файл, который вы открыли изначально.
В зависимости от браузера, вы можете увидеть запрос на разрешение доступа к файлу. Обязательно подтвердите его для удачного сохранения файла.
Использование папок проекта в Construct 3
Если браузеры поддерживают локальные файлы, они также позволяют использовать папки проекта, которые работают аналогично сохранению локальных файлов. Вместо выбора файла вы выбираете папку для сохранения. Затем Construct сохраняет весь проект в виде отдельных файлов в этой папке.
Обязательно выбирайте пустую папку чтобы избежать путаницу в файлах после записи.
Этот вариант подходит для очень больших проектов, так как сохранение происходит быстрее. Движку требуется только обновить измененные файлы в папке, а не создавать новый файл .c3p целиком.
Данный вариант хорош для использования с инструментами управления версиями, такими как GitHub. Вы можете отслеживать изменения в отдельных текстовых файлах. Руководство по этому вопросу смотрите в теме «Как связать проекты Construct с GitHub».
Файл .c3p движка Construct 3 представляет из себя архивированную папку проекта с расширением .zip, замененным на .c3p. Вы можете преобразовать файл .c3p в папку с проектом, переименовав его в .zip и распаковав его. Тоже самое можно проделать в обратной последовательности.
Сохранение в локальном браузере
Если сохранение локальных файлов не поддерживается, Construct 3 предлагает возможность сохранить проект в локальном хранилище браузера. Это хранилище уникально как для конкретного устройства, так и для браузера.
Если вы будете сохранять проект в хранилище браузера на конкретном ноутбуке с Chrome, то вы сможете найти его только в том же браузере и на том же устройстве.
Движок Construct 3 запросит разрешение на использование постоянного хранилища при первом использовании этой опции. Получив разрешение, браузер не будет удалять ваши данные автоматически.
В браузерах есть ограничения на размер хранилища. Перейдите в настройки браузера чтобы узнать о состоянии хранилища и о статусе разрешения.
Если вы используете эту опцию сохранения, то будьте внимательны при очистке данных вашего браузера. Вы можете по ошибке удалить все данные вместе с сохраненным проектом.
Данный способ не рекомендован к использованию. Выберите более надежный способ хранения вашего проекта.
Сохранение проектов Construct 3 не является сложной для понимания задачей. Главное определиться со способом сохранения и следовать инструкциям на экране.
Итак, Вы уже научились добавлять свои игры в ВК (соцсеть Вконтакте) и теперь нацелились на Яндекс.Игры.
Чтобы игра могла взаимодействовать с сервисами Яндекса, необходимо добавить в неё соответствующий плагин: Yandex SDK.
В соответствующей статье, посвящённой ему можно найти перечисление всех функций этого плагина и готовый пример с их использованием.
Также, не забудьте заглянуть в список ценных советов по публикации игры в Яндекс.Игры.
Здесь же мы «пробежимся по верхам». Итак, приступим.
Спойлер
Для начала, добавим в игру сам плагин.
Для этого нужно скачать его на странице плагина: https://www.construct.net/en/make-games/addons/398/yandex-sdk
Сохраняем плагин в удобную нам временную папку и затем устанавливаем в редакторе Construct 3.
Установке плагинов посвящена отдельная статья: https://prodevs.ru/forum/topic/151-ustanovka-dopolnenij-v-construct-3/
По окончании установки плагин будет доступен в списке объектов, которые мы можем добавить в игру.
Добавляем его в игру, он должен появиться в нашем проекте.
Нажимаем на него и в панели его свойств видим доступные настройки.
Здесь:
- Fullscreen on start — включает полноэкранный режим. Также, будет показывать полноэкранный баннер при старте игры. В Яндекс.Играх это обычное дело, так что, галочку можно оставить, если у Вас нет каких-то особых предубеждений против такого размещения рекламы.
- Orientation — ориентация экрана в игре (Any — любая. Portaint — портретная, Landscape — альбомная).
- Lock orientation — заблокирует выбранную ориентацию.
- Metrika ID — сюда нужно будет вставить номер счётчика, который мы раздобудем чуть позже в сервисе Яндекс.Метрика.
- RTB Banners — указывает на то, что в игре будут использоваться RTB-баннеры Яндекса. Их мы тоже рассмотрим позже.
Спойлер
Дисклеймер: С этими моментами я пока только разбираюсь, поэтому этот раздел пока — просто набор заметок, которые я надеюсь в конце концов организовать в статью.
Чтобы монетизация в игре заработала, нужно выполнять ряд не очень интуитивных телодвижений с Рекламной сетью Яндекса.
Для начала, нужно зарегистрироваться в этом сервисе: https://partner2.yandex.ru
Выбираем вкладку Для сайтов и нажимаем кнопку Присоединиться.
Сервис предложит войти в свой Яндекс-аккаунт.
Если у Вас пока нет своего аккаунта на Яндексе — то самое время его завести.
Дальше, нужно будет заполнить данные профиля своими реальными данными (они могут понадобиться для вывода заработанных средств).
Спойлер
Счётчики Метрики можно завести вот на этом сервисе: https://metrika.yandex.ru/
Регистрируемся в нём используя наш Яндекс ID (если не регистрировались ранее).
Нажимаем жёлтую кнопку Добавить счётчик.
Открывается страница, на которой нужно заполнить 3 поля:
- Имя счётчика — можете назвать его как удобно, к примеру, Игра Супер-пупер (по названию Вашей игры). Главное — чтобы потом можно было легко отличить его от остальных счётчиков.
- Адрес сайта — адрес страницы, на которой будет расположена Ваша игра. Здесь немного сложнее, поскольку мы ещё не знаем, куда Яндекс запулит нашу игру. Но это не страшно. Можно пока задать любой в формате yandex.ru/games/play/181198 (цифры условные), а когда Яндекс присвоит адрес — поменять его на правильный.
- Часовой пояс — выбираете какой Вам ближе.
Кнопкой Дополнительные адреса можно добавить другие сайты, с которых Вы хотели бы собирать статистику в этот счётчик. Но пожалуй логичнее для этого сделать отдельные счётчики, чтобы не мешать всё в одну кучу.
Переключатель Автоматические цели — уже включен по умолчанию. Можно его не трогать.
Переключатель Вебвизор, карта скроллинга, аналитика форм позволяет собирать подробные данные о действиях игроков в игре:
- куда они нажимали,
- как двигали мышкой,
- куда скроллили экран и т.д.
Если Вы искренне интересуетесь поведением игроков в Вашей игре и планируете изучать эти данные, то можете включить его. Он может дать сведения, которые не видны в сухих цифрах статистики.
Затем ставим галочку Я принимаю условия Пользовательского соглашения.
И нажимаем кнопку Создать счётчик.
Нас перебросит на следующую страницу Установите код счетчика на сайт.
В разделе Выберите способ установки кода счетчика Метрики можно оставить ваниант HTML, поскольку именно в этом формате игра отправляется в Яндекс Игры.
Переключатели Электронная коммерция и Контентная аналитика для нас не совсем в тему — можно оставить выключенными.
Если открыть Дополнительные настройки, то можно увидеть ещё несколько опций.
Их тоже можно оставить как есть.
В самом конце экрана нам открыт Код счётчика. Если бы мы планировали разместить его на сайте, то скопировали бы целиком.
В нашем же случае, достаточно взять из него только номер из вот этой строчки:
<noscript><div><img src="https://mc.yandex.ru/watch/86885223"
Это число мы копируем в буфер обмена и вставляем в C3 в настройки плагина Yandex SDK в поле Metrica ID:
Возвращаемся в окно Метрики.
Завершаем настройку кнопкой Начать пользоваться и теперь данные о посещаемости страницы с игрой будут отображаться в Яндекс Метрике.
Если вдруг нам понадобится что-то изменить в настройках счётчика — нажимаем шестерёнку справа от него.
И снова попадаем на страницу настройки, где уже будет показан его номер.
А если вместо шестерёнки нажать на название счётчика
То можно посмотреть саму статистику.
Спойлер
Следующий шаг — добавление в игру событий, запускающих рекламу Яндекса.
Для этого имеет смысл завести отдельный лист событий, в котором будут храниться все функции, вызываемые из других листов событий игры.
Не мудрствуя лукаво, назовём его yandex.
Для больше универсальности нашей игры (чтобы проще было переключать её между нужными платформами) заведём переменную platform.
С её помощью мы будем указывать игре, для какой платформы она скомпилирована и соответственно, какую именно рекламу ей запускать.
Поскольку сейчас мы делаем игру для Яндекса, то переменной задали состояние yandex. Чуть ниже нам это пригодится.
Теперь в листе событий yandex создадим главную группу и подгруппы, посвящённые действиям с Yandex SDK, которые мы планируем использовать.
Группа верхнего уровня — — ЯНДЕКС — — (назовите её как Вам удобнее) нужна для того, чтобы можно было с помощью одного условия выключить все функции Яндекса, если мы соберёмся адаптировать игру к какому-то другому сервису (например к Вконтакте).
Группа —— ПОДКЛЮЧЕНИЕ ЯНДЕКСА — будет содержать события, связанные с подключением, авторизацией пользователя, выбором языка игры и т.д. Она нам пока не интересна, в следующих главах мы рассмотрим её подробнее
Сейчас мы сосредоточимся на группе — РЕКЛАМА ЯНДЕКСА —. Она у нас наполнена вот такими подгруппами:.
Рассмотрим их по очереди.
Здесь у нас работает таймер, отсчитывающий время между показами межстраничного баннера.
Вот в этом источнике https://html5play.ru/blog/construct-3-yandex-sdk-как-пользоваться/
утверждается, что нельзя показывать межстраничный баннер чаще 1 раза в 3 минуты.
Кто мы такие, чтобы с этим спорить?
Поэтому в данном событии у нас будет таймер, которые будет отслеживать, прошло ли N секунд с момента показа предыдущего баннера. И если ещё не прошло — то такой баннер показываться не будет.
Также заведём этому таймеру подружку — переменную, которая будет хранить предельное значение для нашего таймера:
Здесь мы сразу задали таймеру предельное значение, чтобы не было ожидания перед первым показом межстраничного баннера.
Следующая группа содержит функцию запуска межстраничного баннера.
Переменная ads здесь у нас отслеживает, включена ли реклама в игре. Другими словами, платил ли игрок за отключение рекламы или нет. Если не платил, то реклама всегда включена.
Далее проверяем таймер. Если он достиг предельного значения — то показываем межстраничный баннер и сбрасываем таймер перед следующим показом.
Далее идёт функция запуска награждаемой рекламы.
Здесь всё просто:
- Если реклама включена — показываем награждаемую рекламу.
- Если выключена — сразу даём игроку награду (завершаем уровень). Или вообще ничего не даём — на Ваш выбор.
Следующие 2 группы посвящены результату просмотра награждаемой рекламы.
- Если просмотр был успешным — выдаём награду.
- Если игрок прервал рекламу или она не загрузилась — ничего не делаем или выдаём какое-нибудь уведомление об этом.
Для вызова награждаемой рекламы запускаем вышеописанные функции в подходящем месте. Например по кнопке Пропустить (уровень):
Как видим, здесь нам пригодилась переменная platform. С её помощью мы запускаем рекламу для выбранной платформы.
Аналогично, условие запуска межстраничного баннера может выглядеть как-тот так:
Здесь мы запускаем межстраничный баннер и сразу же делаем переход на следующий уровень.
Таким образом, после закрытия рекламы игрок будет уже на следующем уровне.
Спойлер
Прежде чем отправить игру на модерацию, имеет смысл протестировать, правильно ли всё работает.
Для этого воспользуемся советом из справки Яндекса вот по этому адресу:
https://yandex.ru/dev/games/doc/dg/q-and-a/moderation-and-testing.html#moderation-and-testing__testing
в раздел Как протестировать игру?
Для начала нам нужно запустить игру прямо на сайте Яндекс Игр (на других сайтах SDK работать не будет).
1. Заходим во вкладку Черновик.
2. Мотаем вниз примерно до середины экрана (раздел Исходники — Архив).
3. Загружаем архив с готовой игрой в сервис (кнопка Выбрать файл).
Примечание: Этот файл загружается один раз — для всех языков.
4. Когда файл загрузился — мотаем в конец экрана и нажимаем кнопку Сохранить.
5. После сохранения обновляем страницу, снова идём в её середину (раздел Исходники) и ждём, пока появится синяя ссылка Файл проверен.
Именно эта ссылка и открывает тестовый файл Вашего черновика на сайте Яндекс Игр.
Её адрес можно указать в настройках счётчика для Яндекс Метрики.
Спойлер
Если Ваша игра рассчитана не только на русскоязычную аудиторию (поддерживает 2 и более языков), то по правилам Яндекс Игр игра должна автоматически определять используемый язык игрока.
Про саму поддержку нескольких языков можно прочитать здесь.
А в данном разделе мы рассмотрим автоопределение языка и тестирование результата автоопределения.
Предположим, что в Вашей игре есть переменная language, отвечающая за язык в игре. Чтобы заставить её автоматически определить язык браузера, в котором запущена игра, используем специальный скрипт.
Самое важное здесь — это JS-код. Вот он отдельно (огромное спасибо @Reficul за его написание и тестирование).
Если убрать всю мишуру вроде отправки в консоль и моих вспомогательных переменных, то рабочая часть кода выглядит так:
YaGames
.init()
.then(ysdk => {
runtime.globalVars.language = ysdk.environment.i18n.lang;
});
Код возвращает в глобальную переменную language значение текущего языка в двухбуквенном формате, например, ru или en).
Дальше, проверяем, относится ли полученный язык к одному из языков стран СНГ. И если это так — задаём игре русский язык (ru), как самый распространённый в данном регионе.
Для всех остальных вариантов выводим английский (en).
Также, в руководстве Яндекса рекомендуют добавить поддержку турецкого языка (tr). Видимо, в Турции много поклонников Яндекс Игр.
Некоторые двухбуквенные коды языков можно посмотреть в Википедии: ISO 639-1
По окончании загрузки не забываем выставить триггер окончания загрузки языка (чтобы это условие не перепроверялось на каждом экране):
Ссылки на руководства по организации многоязычности в Яндексе:
Переменные окружения: https://yandex.ru/dev/games/doc/dg/sdk/sdk-environment.html
Поддержка языков и доменов: https://yandex.ru/dev/games/doc/dg/concepts/languages-and-domains.html
Чтобы протестировать результат этого условия можно использовать Яндекс Браузер.
Наверное, можно это сделать и в других браузерах, но раз уж у нас статья про SDK Яндекса, обратимся именно к нему.
Если браузер уже установлен, открываем его Настройки.
Переходим в раздел Системные.
И внизу страницы выбираем пункт: Настройки языка и региона.
Здесь мы увидим вот такое меню настроек:
Нам нужен пункт с жёлтыми плашками: Язык отображения страниц.
Эти плашки с названиями языков можно перетаскивать, меняя их очерёдность.
Если первым стоит Русский — браузер будет возвращать в игру значение ru.
И если в игре всё настроено правильно, после обновления вкладки браузера с открытым черновиком игры, она переключится на русский язык.
Аналогично, можно первым поставить Английский.
Для английского языка заменяем домен yandex.ru на yandex.com в адресе страницы.
Пример: https://yandex.com/games/play/181194?draft=true
Если он был уже открыт — обновляем эту вкладку с игрой.
Тогда браузер вернёт en и игра, переключится на английский.
Если мы теперь обновим вкладку браузера с нашей игрой — она должна автоматически переключиться на английский язык:
Если Вам повезло и всё работает — Вы ещё на шаг приблизились к публикации своей игры в Яндекс Играх.
Примечание: Браузеры просто обожают кешировать игры. Поэтому настоятельно рекомендую отслеживать текущую версию игры, которую Вы тестируете в данный момент.
К примеру, можно добавить текст с текущей версией в уголок экрана загрузки игры, чтобы всегда знать, запущена свежая версия или устаревшая.
В противном случае, можно часами пытаться исправить то, что уже работает, просто из-за того, браузер просто показывает Вам старую версию игры, даже если Вы обновили страницу с зажатым Shift’ом.
Спойлер
Самая приятная часть работы (или нет) — просмотр дохода от созданных игр.
Для этого заходим в раздел Статистика.
Здесь нас интересуют параметры в правой колонке: «Группировки» и «Показатели«.
В разделе Группировки отчёта выбираем галочками, к примеру, «Дата — По дням» и «Приложение или сайт — Название площадки / приложения«.
Нажимаем кнопку «Применить«.
В разделе «Показатели» можно выбрать к примеру, «Вознаграждение«.
Снова жмём «Применить«.
Выбираем период, за который хотим посмотреть статистику и нажимаем главную кнопку «Построить отчёт«.
И созерцаем результат трудов своих за выбранный период.
P.S. Почему не удаляются вот эти скриншоты — я без понятия:
Изменено 21 марта, 2022 пользователем ru1000
-
3
Спойлер
В Google Play:
Tap Tap Speedrun — Скоростной платформер с прохождением на время и мировой таблицей рекордов. Сделан на заказ, поэтому аккаунт чужой. На английском.
FireSnake — Гиперказуалка про змейку, которой нужно доползти до домика.
bARTley-Break with Freeda — Пятнашки с таблицей умножения (на английском).
Одень Фриду HD — Одевалка для девочек. Игра на Unity — выступал в роли руководителя команды.
В ВК:
Еваноид — арканоид с персонажем.
ПятНЯшки с Евой — пятнашки с таблицей умножения.
Кошароматика — продвинутая версия Шароматики — с персонажами и плюшками. Сделано на заказ.
Tap Tap Speedrun — Platformer — Тот же скоростной платформер, но под ВК и с поддержкой русского языка.
FireSnake — the way home — Змейка, адаптированная под ВК.
Делитель-2 — Помесь шариков с обучалкой правилам деления целых чисел. Сделана на заказ.
Шароматика — Гибрид «три в ряд» и обучалки сложению и умножению. Сделана на заказ.
На прочих сайтах:
Цветовод — визуализатор таблицы умножения. Сделано на заказ.
МатТаб — математическое судоку. Сделано на заказ.
Еваноид — арканоид с персонажем.
Умножай-ка — тренажёр таблицы умножения. Сделано на заказ.
TEZ World Runner — Раннер по разным странам. Сделано на заказ для TEZ Tour. Сделано на заказ.
Travel Antivirus — Леталка-стрелялка по вирусам. Сделано на заказ для TEZ Tour. Сделано на заказ.
Крутой прикид — Мультиплеерная настолка, обучающая основам инвестиций. Сделано на заказ.
Космограф — Узконаправленная алгебраическая обучалка. Показывает, как работают квадратные уравнения. Сделано на заказ.
Крепёж — Игра Найди пару, посвящённая крепёжным элементам. Сделано на заказ для Трайв Комплект.
Outfit — Игра-одевалка, посвящённая стилям в одежде и интерьерах начала 20 века. Сделано на заказ.
Геометр 2 — Тренажёр-тест по геометрии. Сделано на заказ.
Побег 2.0 — Тренажёр по химии. Сделано на заказ.
Лица Истории — Тренажёр по истории. Сделано на заказ.
КСОА — Симулятор защитной системы акватории при нападении диверсантов. Сделано на заказ.
Кот учёный — Арифметически тренажёр. Сделано на заказ.
Шарики — Рекламный кликер, дающий скидку на покупку. Сделано на заказ.
Химический конструктор — Пазл с молекулами химических веществ. Сделано на заказ.
Робоскейт Фриды — Клавиатурный тренажёр с сюжетом.
Магия Морзе — Тренажёр азбуки Морзе в стиле абстракционизма.
Магия Морзе 2 — Самоучитель азбуки Морзе в стиле фэнтези.
Firebutton — Клавиатурный тренажёр со стрельбой и сюжетом.
Пятнашки для программистов — Пятнашки с двоичными числами в стиле Fallout.
Пятнашки — Римские цифры — Пятнашки с римскими цифрами (как ни странно).
Пазл Ульяновская область — Собери все районы Ульяновской области, чтобы услышать её гимн и увидеть достопримечательности.
И ещё десятки других (в основном — не законченных).
Многие наверное иногда сталкиваются с такими вопросами, как:
— А можно ли сделать «такую» игру на С2?
— А где можно посмотреть игры на С2 от крупных разработчиков?
— Потянет ли С2 полноценную коммерческую/большую игру?
— Есть где глянуть игры на С2 в том или ином маркете?
Посему предлагаю данную тему, для размещения в ней показательных, завершенных, качественных проектов на С2:
1. Super Ubie Land — Платформер, Windows/MAC/Linux
скриншот
видео
2. Airscape: The Fall of Gravity— Аркада/Платформер, Windows/MAC/Linux
скриншот
видео
3. Our Darker Purpose — Аркада, Windows
скриншот
видео
4. Mortar Melon — Головоломка, Windows 8
скриншот
видео
5. Angvik — Аркада/Экшн, Windows/MAC
скриншот
видео
6. Magnetized — Головоломка, Web/iOS/Android
скриншот
видео
7. The Next Penelope — Аркада/гонки, PC/Consoles
скриншот
видео
8. Dino System — Сурвайвл, PC
скриншот
видео
9. Blitz Breaker — Хардкор, PC
скриншот
видео
ScirraVideos: Игры, созданные в Construct 2
Предлагайте готовые проекты со ссылками в сторы + скрины — будем потихоньку оформлять/заполнять, гордиться
Последний раз редактировалось mef1sto 18 дек 2014, 13:26, всего редактировалось 3 раз(а).
В этой серии статей я на примере расскажу, как сделать игру с помощью конструктора игр Construct 2. Из этих строк вы узнаете, как создать простую кроссплатформенную игру по шагам, начиная с создания пустого проекта до публикации игры на своём сайте и на некоторых других онлайн сервисах.
Для тех, кто не знает, что такое конструктор игр Construct 2, сначала стоит прочитать статью «Конструктор игр — Construct 2». Сразу замечу, что в статье я буду описывать создание игры с помощью платной версии Construct 2, хотя и буду стараться обходиться бесплатными возможностями.
В качестве примера я выбрал физическую игру с простой задачей и простой реализацией. Игроку предстоит убрать с поля лишние черные блоки так, чтобы круглые синий и красный кружочки докатились друг до друга. Такую игру будет делать просто, т.к. поддержка двумерных физических объектов уже есть в Construct 2.
Создание проекта
Итак, начнём с создания проекта. Запустите Construct 2 и выберите пункт меню «File -> New». Сделаем пустой проект с расчётом на экраны с большим расширением. Выберите шаблон «New empty HD portrait 1080p project» (игра будет работать в портретной ориентации) и нажмите кнопку «Open».
В панели свойств задайте данные о проекте: название, версию, описание, автора (название компании или имя и фамилия разработчика), адрес электронной почты и адрес вебсайта. В поле ID нужно указать уникальный идентификатор программы. Чтобы этот идентификатор был уникальным, за основу берут доменное имя без www и записывают его наоборот, например, для сайта www.proghouse.ru, начало идентификатора будет ru.proghouse. Затем через точку приписывают название программы. У меня получилось так: ru.proghouse.red-n-blue. В дальнейшем этот идентификатор можно будет использовать для добавления игры в Google Play или App Store.
Сохранить созданный проект вы можете в один единственный файл (пункт меню «File -> Save As Single File…») или в папку (пункт меню «File -> Save As Project…»). В папку сохранять проект будет полезным, если вы работаете в команде или для хранения версий вы будете использовать систему управления версиями, например, SVN или Git.
Делаем первый уровень игры
После создания проекта у нас появилось 2 закладки «Layout 1» и «Event sheet 1». Первая закладка – это макет экрана или сцены, который будет видеть игрок, на второй закладке – страница событий. Я решил использовать для каждого уровня игры отдельный макет и одну для всех страницу событий. Ну, что ж, раз макет «Layout 1» уже создан будем использовать его для первого уровня.
Для начала переименуем макет «Layout 1». Чтобы открыть свойства макета, щелкните по нему на панели «Projects».
Я назову макет первого уровня «Level1» и сделаю размер макета таким же, как и размер окна (в моём случае – это 1080х1920).
Узнать размер окна и поменять его в случае необходимости можно в свойствах проекта. Для этого щёлкните по названию проекта в панели «Projects» и найдите свойство «Window Size».
Теперь нарисуем объекты. В игре я решил использовать прямоугольники и квадраты чёрного цвета, поэтому мне рисовать ничего сложного не придётся. На закладке «Level1» щёлкните правой клавишей мышки по макету и в появившемся меню выберите «Insert new object».
В диалоге «Insert new object» выберите объект «Sprite» (объект-картинка), введите имя для нового объекта «BlackBlock» и нажмите «Insert».
После этого указатель мыши превратится в крестик и вам нужно будет щёлкнуть в то место, где нужно создать новый объект. Щёлкните посередине макета. После щелчка сразу открывается четыре окна: окно «Edit image» для рисования нашего объекта, окно «Image points» для указания ключевых точек на объекте, например, центра объекта, и окна «Animations» и «Animation frames» для управления анимацией.
Для того, чтобы изобразить черные прямоугольники и квадраты, мне не нужна такая большая картинка, поэтому я сделаю её меньше. Для этого нажмите на кнопку со стрелкой, направленной в обе стороны и укажите новый размер в диалоговом окне.
Теперь выбираем инструмент заливку, выбираем чёрный цвет и заливаем прямоугольник, чёрным цветом.
Всё готово, можно закрыть окно «Edit image». После закрытия окна вы увидите объект на макете. Можно увеличить его до нужного размера и передвинуть в нужное место.
После добавления объекта на макет, он появился и в проекте на панели «Projects». Чтобы теперь добавить на макет ещё один экземпляр объекта «BlackBlock» перетащите его мышкой из панели «Projects» на макет «Level1». После перетаскивания на макете будет два чёрных блока одинакового размера. Сделаем нижний блок шире. Таким же образом можно сделать любое количество чёрных блоков любого размера.
Теперь добавим героев нашей игры – красный и синий кружки. Сначала сделаем красный кружок. Для этого вставим спрайт, так же как вставляли спрайт для черного блока, с помощью пункта меню «Insert new object». Назовём его «Red».
Чтобы нарисовать красный круг, воспользуемся инструментом кистью. Выберем красный цвет, размер кисти меньший, чем размер картинки (я сделал 199) и почти максимальную жесткость (я выбрал на 1 меньше — 199), чтобы края были четь размытыми. Теперь установите указатель мыши примерно посередине картинки и щёлкните один раз. Так мы получим ровный круг.
Теперь нужно подрезать картинку по размеру круга. Для этого щёлкните по пиктограмме подрезки. Как видите, картинка после этого стала размером 201×201.
Теперь нужно выровнять исходную точку вокруг, которой кружок будет крутиться в будущем. Для этого нажмите на пиктограмму «Set origin and image points», в появившемся диалоге щёлкните правой клавишей мыши по исходной точке и выберите пункт меню «Quick assign -> Middle». После этого исходная точка будет установлена строго в центре.
Точно так же сделаем синий круг. После этого уменьшим круги, задав им размеры 101×101 на панели «Properties» и разместим на чёрных панелях друг под другом (координата x должна быть равна 540).
Теперь нужно задать нашим объектам поведение «Physics» (физика), чтобы на них действовало притяжение, и они могли сталкиваться друг с другом. Для этого выберите объект Red и на панели свойств щёлкните по ссылке «Behaviors». В появившемся диалоге «Behaviors» щёлкните по плюсику и в очередном диалоге «Add behavior» выберите поведение «Physics» и нажмите на кнопку «Add».
Добавленное поведение теперь будет отображаться в диалоге «Behaviors».
Закройте этот диалог и посмотрите на панель «Properties». Теперь здесь появились свойства поведения «Physics». В свойствах поведения для кружка нужно выставить для свойства «Collision mask» (контур столкновения) значение «Circle» (окружность). Только выделите объект на панели «Projects», а не экземпляр объекта на макете «Level1», так вы выставите это свойство для всех будущих экземпляров на всех уровнях. Этим самым мы даём знать движку Box2D, который двигает объекты и обрабатывает столкновения, что красный и синий объекты – круглые. Тоже самое проделайте с объектом Blue.
Теперь выполните макет, для этого нажмите на кнопку «Run layout», сверху в заголовке окна или нажмите на клавишу F5.
При этом откроется браузер, который используется на вашем компьютере по умолчанию (к слову, выбрать другой браузер для отладки можно в свойствах проекта) и в нём отобразится наш макет, на котором красный и синий кружки начнут падать вниз.
Теперь вы видите, что поведение работает, но наши кружочки не сталкиваются с чёрными прямоугольниками, а пролетают как бы над ними. Чтобы сделать столкновения, нужно к чёрным прямоугольникам тоже добавить поведение «Physics», как мы это делали для объектов Red и Blue. Только в свойствах поведения выставите свойству «Immovable» (неподвижность) значение «Yes», чтобы объекты были неподвижны и не падали вниз. А свойству «Collision mask» выставьте значение «Bounding box» (обрамляющая рамка), — это означает, что границы объекта совпадают с границами картинки, т.е. это прямоугольники. При изменении свойств выберите объект на панели «Projects», а не экземпляр объекта на макете «Level1»! Так вы поменяете эти свойства для всех существующих и для всех будущих экземпляров объекта.
Запустите макет теперь и вы увидите, что красный и синий кружочки лежат на чёрных прямоугольниках. Теперь нужно сделать, чтобы прикасаясь к чёрным прямоугольникам их можно было убрать. Чтобы обрабатывать прикосновения к сенсорному экрану или события с мышкой, добавьте в проект объект «Touch». Для этого, так же как мы добавляли предыдущие объекты, добавляем объект «Touch» на наш макет.
После нажатия на кнопку «Insert» на несколько секунд появится предупреждение, что объект «Touch» доступен для всего проекта. Т.е. добавляя этот объект к макету, добавление происходит для всего проекта. Это нормально.
Теперь, чтобы обработать прикосновения к сенсорному экрану и щёлканья мышкой, откройте закладку «Event sheet 1», нажмите на ссылку «Add event» (добавить событие) и в появившемся диалоге «Add event» выберите объект «Touch» и нажмите на кнопку «Next».
На следующем шаге выберите событие, которое вы хотите обработать. В нашем случае – это событие «On tap object» (если тапнули по объекту). Нажмите на кнопку «Next».
На следующем шаге выберите объект, по которому должны тапнуть. В нашем случае – это объект «BlackBlock». Нажмите на кнопку «Done».
После закрытия диалога мы видим, что на странице событий появилось наше первое событие, которое будет возникать, если игрок тапнул по сенсорному экрану или щёлкнул мышкой по объекту «BlackBlock».
Теперь по событию нам что-то нужно сделать. В нашем случае мы должны удалить экземпляр объекта «BlackBlock», по которому тапнули или щёлкнули. Чтобы добавить действие по событию, щёлкните по ссылке «Add action» (добавить действие). В диалоге «Add action» выберите объект, с которым нужно совершить действие. В нашем случае – это объект «BlackBlock». Нажмите «Next».
На следующем этапе нужно выбрать действие с выбранным объектом. Нас интересует удаление объекта, поэтому выберем «Destroy» и нажмём копку «Done».
Теперь на странице событий появилось наше действие.
Запустим макет теперь и посмотрим, работает ли событие. После запуска мы видим два чёрных прямоугольника и на них лежат кружочки. Щёлкнем по верхнему прямоугольнику, он исчез, и красный кружок начал падать вниз. Всё прекрасно.
Теперь нужно сделать надпись, которая будет появляться, когда уровень пройден. Для отображения текста с результатом прохождения уровня добавим на макет объект «Sprite font» с именем «ResultText».
После добавления объекта на макет поднимется уже известный нам диалог «Edit image», на котором вы увидите картинку с изображением букв.
Дело в том, что в объекте «Sprite font» для отображения текста используются нарисованные на этой картинке буквы. Конечно, можно было использовать объект «Text» и шрифты TrueType, но эти шрифты работают некорректно в некоторых случаях, например, при экспорте проекта под платформу Android с помощью сервиса CocoonJS. Поэтому, чтобы игра выглядела одинаково на всех платформах, лучше сразу использовать объект «Sprite font» для вывода текста. Кроме того вы сможете нарисовать шрифты на свой вкус.
В примере я не буду использовать предложенный по умолчанию пиксельный шрифт, а возьму специально заготовленный шрифт с русскими и латинскими буквами (файл шрифта см. в конце статьи). Чтобы подгрузить картинку, нажмите на кнопку «Load an image from a file». После загрузки картинки это окно можно закрыть.
Теперь, в свойствах объекта «Sprite font» нужно выставить размеры одной буквы (свойства «Character width» и «Character height») и набор символов (свойство «Character set»). В наборе символов перечисляются все символы, которые есть на картинке. На картинке, которую я использовал символы следующие:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#»‘&()[]|`/@°+=*$£€<>АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя
Писать будем посередине макета, поэтому выравнивание текста сделайте по центру (свойства «Horizontal alignment» и «Vertical alignment»).
Подравнять сам объект по центру макета вы можете, щёлкнув по нему правой клавишей мышки, и выбрав в меню пункты «Align -> Layout -> Center horizontal» и «Align -> Layout -> Center vertical».
Чтобы надпись в начале уровня была спрятана, установите в свойство «Initial visibility» значение «Invisible».
Теперь можно сделать анализ результата, с которым пройден уровень и выдача результата. Для начала нам нужно отследить столкновение красного кружочка с синим, чтобы закончить прохождение уровня. Для этого будем отслеживать событие о столкновении от красного кружочка. На странице событий щёлкните по ссылке «Add event», выберите красный кружок, нажмите «Next», выберите событие «On collision with another object» (при столкновении с другим объектом) и нажмите «Next».
На следующем этапе выберите объект, с которым ожидается столкновение. В нашем случае – это объект «Blue».
После того как событие добавлено, нужно добавить обработчик этого события. Нажмём на ссылку «Add action» справа от события и выберем объект «ResultText». Нажмите «Next».
На этом этапе выберите действие «Set visible» и нажмите «Next».
В следующем диалоге выберите значение «Visible».
Кроме того, что нужно показать текст ещё нужно написать поздравления. Поэтому для события добавляем ещё одно действие. Нажмите «Add action», выберите объект «ResultText» и найдите действие «Set text». Нажмите «Next».
В следующем диалоге введите текст поздравления. Здесь ключевое слово newline обозначает переход на новую строку, а символы & сцепление строк в одну.
Теперь страница событий будет содержать два события.
Теперь нужно узнать о том, что игрок не прошёл уровень. Это случается, если кружки вылетели за границу макета. Чтобы это узнать добавляем новое событие для объектов Red «Is outside layout».
И делаем такие же обработчики, как и для предыдущего события, только текст будет сообщать о поражении. Для синего кружка события будут такие же, поэтому щёлкните правой клавишей мышки по событию «Is outside layout» с красным кружком и выберите пункт меню «Add another conditions» и аналогично добавьте событие для синего кружка.
Теперь чтобы действия выполнялись по любому событию, щёлкните по общему пространству чуть левее событий правой кнопкой мыши и выберите пункт меню «Make ‘Or’ block» (сделать блок ‘или’).
Результат будет выглядеть так.
Теперь можно запустить игру и попробовать разные варианты: убрать верхний чёрный блок – будет победа или убрать нижний блок – будет проигрыш.
Добавим ещё один небольшой штрих. После того как прохождение уровня завершено, подождём несколько секунд и начнём уровень сначала. Для этого добавьте в каждое событие о завершении действие «Wait» и действие «Go to layout», см. картинки.
И установим количество секунд – 3.
Должно получиться вот так.
Теперь можно проверить, как работает первый уровень игры в действии. Вот результат:
А вот и файл проекта и шрифт:
Файлы:
2 статья: «Как сделать игру в Construct 2? Оформляем уровень»
3 статья: «Как сделать игру в Construct 2? Добавляем уровни и делаем переходы между уровнями»
4 статья: «Как сделать игру в Construct 2? Добавляем меню и сохраняем прохождения игры»
5 статья: «Как сделать игру в Construct 2? Добавление музыки и звуков»