Картинка взята из клипа Жизнь прекрасна.
Немного предыстории (если не интересно, можно пропустить).
Ранее я как-то мечтал быть игроделом, даже пытался изучать Java и С++, но как-то не заладилось. Видимо дело было в том, что на курсах С++ мы тупо переписывали код с доски, нам один раз вяленько объясняли, за что отвечает тот или иной блок (не слово, и даже не строка) и дальше мы с умными еблетами смотрели в экраны и что-то писали то и дело забывая ";" ставить в конце строки. А Джаву учил по учебнику, где тоже далеко не всё было понятно.
И вот мне ко дню рождения подарили новенький смартфон известной фирмы на букву Х. Мне сразу вспомнилась та серия из ТБВ, когда ребята создавали приложение для чтения рукописных формул на доске. В общем, спустя некоторое время стали появляться идеи, а стало быть нужно было искать способ их реализации.
Я в общем-то готов был начать снова учить программирование, но погуглив на глаза попалась статейка о конструкторах. Вспоминая о том, что в логику и построение алгоритмов я в общем-то могу, но вот представить это в виде кода для меня будет сложно, я счел конструктор наиболее оптимальным вариантом.
Почитав инфу о конструкторах я нашел Construct 2 в одном из постов пользователя @flatingo, спасибо ему за это! (не понимаю, почему его посты минусят??)
Теперь конкретно о софте.
Программа действительно простая и понятная, но, пожалуй, стоит отметить, что она будет проста тем, кто могёт в алгоритмы. Ибо поначалу я частенько путал действие над конкретным объектом с действиями в системе в целом, а также были трабблы с очерёдностью выполнения.
Что мне понравилось, так это то, что в описании программы действительно не соврали: работать в ней можно не имея вообще никаких навыков программирования. После прохождения одного из туториалов я создал свою игру не написав при этом ни строчки кода. Если тебе нужно создать объект - создаёшь спрайт, рисуешь его прям в софте (хотя можно и подгрузить готовое изображение), там же при желании создаёшь анимацию. Если хочешь, что бы объект вел себя не как простое изображение - добавляй любое поведение из широкого числа видов. Если нужен текст, отображающий порядковый номер кнопки - создай в этой кнопке переменную и оставь в тексте ссылку на неё. Конкретно в своей игре я пользовался ровно одним поведением - физика.
Для различных событий есть отдельный листик, при добавлении события или действия видно все объекты, с которыми может что-то произойти, а при выборе одного из них открывается окно со всеми возможными действиями над этим объектом - выбирай что душе угодно!
Собственно, в процессе прохождения туториала мне в голову пришла идея для игры. Делал я её всего два дня, в дизайн особо не старался, ибо делал это по большей части ради закрепления материала и удовлетворения интереса.
Небольшая неожиданность.
В процессе создания сцены с выбором уровня я хотел, что бы уровни были пронумерованы. Но вручную писать каждый текст по отдельности мне не хотелось, к тому же я кодить собрался, а не рисовать дизайны. В общем, пронумеровав экземпляры кнопок для уровней и поставив сверху каждой из них абсолютно идентичные текстовые объекты, я задал, что при прогрузке сцены с уровнями в текстовом объекте будет написан номер кнопки. И каково же было моё удивление, когда каждый уровень был под своим номером, несмотря на то, что я написал всего лишь одну команду для данного вида объектов, а не для каждого в частности.
Подтверждение интуитивной понятности.
В туториале также не было ни слова про счет. Но в моей игре он должен был быть. Механику набора (хотя скорее потери) очков я понимал, это было просто. Но вот создавать отдельную переменную под каждый уровень мне было лень. Единственным простым и действенным способом я видел использование одномерного массива (табличка, 16 строк, 1 столбец). Создав его я попробовал заполнять ячейки по прохождению уровней. Это стало работать благодаря всего одной команде. Она в конце уровня просто присваивает соответствующей ячейке бОльшее из двух значений: текущий счет, сохранённый в ней счет. Написать эту команду оказалось действительно не сложно.
Результат.
Софтом я доволен более чем. Тест уровней производится непосредственно в браузере. И будь геймдев кулинарией, я бы процитировал Гюсто из "Рататуя" - Создавать игры может каждый!
Скачать получившуюся игру для винды можно Тут.
Спасибо за внимание.