Обзор стремительно развивающейся среды разработки microStudio
Здравствуйте дорогие читатели сайта! На написание этой статьи меня подтолкнул тот факт, что я не смог найти на необъятных просторах русскоязычного интернета, какой-либо подробной информации о microStudio. Можно найти небольшие заметки, на нескольких сайтах. Где совсем скромно написано про проект и о том, что он был залит на репозиторий GitHub. Даже фамилия разработчика не указана. Кроме того 19.11.2021 и 12.02.2021 вышли довольно большие обновления о которых я расскажу далее в этой статье.
Я горю желанием сформировать русскоязычное сообщество вокруг проекта (хотя бы и не большое, но дружное). Привлечь внимание к проекту. Найти людей намного умнее меня, которые помогут мне добрым советом. А так же привлечь новичков, которым могу помочь я, уже имеющий опыт работы в microStudio.
Тут я сразу оговорюсь, статья рассчитана в первую очередь на новичков в программировании и геймдеве. Поэтому я не буду использовать слишком заумные термины. Постараюсь рассказать простым и понятным языком.
Возможно и остальным, более опытным, будет интересно прочитать, ну хотя бы в плане "узнать что-то новое" о новом интересном проекте.
Если вы уже пробуете себя в геймдеве, но пока не можете определиться с языком, движком или средой для создание ваших шедевров, то вам так же будет интересна эта статья.
О создании проекта microStudio
Первое упоминание о microStudio я нашел на сайте Reddit от самого создателя этой среды, которого зовут Жиль Померей (фр. Gilles Pommereuil). Он пишет о том, что думал о создании этого проекта в течение многих лет и теперь наконец то стал воплощать свою идею в реальности. Его первоначальная идея состояла в том, чтобы создать онлайн-среду для начинающих программистов, желающих изучать программирование и создавать игры. Однако, даже на то время, а это было два года назад, Жиль не исключал возможности использования microStudio в качестве инструмента для создания прототипов и простеньких игр для мобильных устройств.
В начальных версиях microStudio в качестве языка программирования использовался JavaScript. Это было действительно легко реализовать в контексте браузера. Однако осталось несколько проблем:
javaScript не очень подходит для начинающих
что произойдет, если пользователь запустит цикл
while (true);
? (во многих случаях браузер выйдет из строя)будет ли возможность в будущем экспорта в Unity или MonoGame, при использовании javaScript? (может да, а может и нет, простого решения не существует)
можно ли будет представить некоторые инструменты отладки в microStudio? (точка останова, пошаговая отладка)
Таким образом, создателем среды было принято решение написать свой собственный упрощенный клон Lua по примеру MiniScript для Unity.
Ну вот так собственно и появился в microStudio свой язык программирования microScript схожий с Lua.
Не будем надолго останавливаться на этой главе, продолжим.
Что представляет из себя microStudio на данный момент
Это бесплатная интегрированная среда разработки видеоигр. Она также стремится стать платформой для обучения и обмена информацией. Онлайн версия доступна по ссылке.
Что немаловажно, этот проект с открытым исходным кодом, распространяемый по лицензии MIT. Вот ссылка на GitHub.
microStudio включает в себя все инструменты, необходимые для создания вашей первой видеоигры. Она предлагает следующие возможности:
редактор спрайтов (изображения в пиксельной графике)
редактор карт (т. е. карты или уровни)
редактор кода для программирования на microScript, простом, но мощном языке
поддержка импорта и экспорта изображений (PNG или JPG, размером до 256x256 пикселей)
поддержка импорта и экспорта аудиофайлов (WAV или MP3)
100% онлайн-работа, позволяющая вам мгновенно протестировать вашу игру в любое время в процессе ее разработки
возможность легко протестировать игру, законченную или находящуюся в разработке, на смартфоне или планшете
возможность работать с несколькими людьми над одним проектом с мгновенной синхронизацией
функции совместного доступа к сообществу, которые позволяют вам изучать чужие проекты, изучать и повторно использовать все, что вы хотите, для своего собственного проекта
возможность экспорта проекта в один клик: HTML5, Android, Windows, Linux, macOS
возможность работать полностью в автономном режиме, загрузив автономное приложение microStudio для Windows, Mac, Linux или Raspberry Pi
В обновлении от 19.11.2021 в microStudio были добавлены:
графические API: PIXI.js (2D), Babylon.js (3D)
графический API M2D (простой ускоренный 2D API, построенный поверх PIXI.js)
графический API M3D (простой ускоренный 3D API, построенный поверх Babylon.js)
дополнительные библиотеки: matter.js (API 2D-физики) и cannon.js (API 3D-физики)
M2D и M3D, надо отметить, по сути находятся в начальной стадии разработки. Сам автор microStudio не советует использовать их в настоящее время для каких-то серьезных вещей.
В обновлении от 02.12.2021, помимо прочего, были добавлены новые ЯП:
Python
JavaScript
Lua
Как сказано в названии статьи, microStudio действительно стремительно развивается, так как изначально эти обновления планировались только в 2022 году.
Мой опыт
Предыстория
На этот проект я наткнулся в марте этого года на одном из русскоязычных форумов. На то время я уже был знаком с Unity, и пару раз поздоровался с C#, даже не за руку. Ну если серьезно - я горел желанием создавать игры, и не желал заниматься долгим изучением языка. Звучит то может и глупо, но вот так то оно и было. Ведь как Unity рекламировали - скачал движок и делай игры легко, без знания языков, без навыков программирования, без смс и регистрации короче говоря. Я опробовал юнити вдоль и поперек, все что мог реализовать без знания языка и сторонних плагинов я сделал (на мой взгляд). Помогали всеразличные ролики на Ютубе и статьи в интернете (в том числе и Хабр). Я просто юзал движок и мне это очень нравилось. Но понятное дело что без ЯП дальше не двинуться, а использование различных плагинов для "программирования" казалось такими костылями...
Без знания языка если и можно что то сделать, то вряд ли это будет то, что хочется на самом деле!
Я решил попробовать UnityScript, так как до Unity поглядывал в сторону javaScript. Но новость о том что Unity отказывается от UnityScript натолкнула меня на изучение C#. Я не рассматривал другие языки как замену этому. Просто уроков в интернете было больше именно по C#. И тут все как то застопорилось. В процессе изучения я уже и забыл зачем я его учу! Да, бесспорно, я наслышан об достоинствах этого языка. Но тем не менее он достаточно сложен для новичка. Я не понимал как мне отсеять не нужную информацию. Я хотел использовать C# именно для разработки игр на Unity, а не изучать язык полностью в конце то концов. А после прочтения Герберта Шилдта "C# 4.0", мои мозги немного потекли. Да, мне тут есть в чем самого себя упрекнуть, но не только в языках было дело.
Еще отягощало то обстоятельство, что ресурсов моего ПК не хватало для нормальной работы в Unity. Тем более для работы с 3D графикой. А покупку нового железа я не рассматривал. Разработка игр - было просто моим хобби (и остается по сей день, так как я еще не получил никакого дохода от этих увлечений). Так же, то обстоятельство, что я не знал, как настроить игру под другие устройства (несмотря на всю кроссплатформенность Unity) не добавляло мне энтузиазма. Даже когда я определился с платформой (ПК,Windows) я не знал, как игра будет вести себя на других ПК. На моем то скромном компьютере всегда все лагало. В общем, так сложились обстоятельства, что Unity я забросил.
Бесспорно, Unity остается для меня очень хорошим движком, на нем была сделана "The Forest", фанатом которой я являюсь. Но извини Unity, я вернусь к тебе после того как поднаберусь мозгов.
Знакомство с microStudio
В марте этого года я активно искал тот инструмент (будь то среда или конструктор, движок), который позволит мне создавать небольшие игры, не останавливаясь на долго на ЯП. Ведь столько всего еще нужно знать помимо языка для создание игры в одиночку, для этого тоже нужно уделить время. В общем, это были довольно долгие поиски. И вот совсем случайно я наткнулся на microStudio.
Чем сразу она привлекла мое внимание, так это наличием обучающих материалов.
Мое довольно скромное знание английского языка на то время очень хорошо компенсировал автоматический онлайн-переводчик. Что касается перевода на русский язык, то я над ним сейчас работаю, думаю он появится в ближайшее время. Как видно на скриншоте, в microStudio есть обучающие материалы по программированию, рисованию, созданию игры и обзор самой среды в целом (окно проекта, меню и прочее).
Это очень помогло сразу сформировать мнение о microStudio. Мне очень понравилось, хотя проект на то время был еще сырой, но все же.
Так же очень помогали публичные проекты. Да, красивой графики там было не найти, да и зачем? ее можно поискать в другом месте или создавать самому, чем я и занялся. Но в плане поиска готовых решений для определенных задач по программированию игры, очень помогало. А так же у microStudio есть небольшое, но дружелюбное комьюнити, где всегда можно задать интересующие вопросы.
Очень удобно, что проект который вы создаете онлайн, находится в облачном хранилище. Игра сразу доступна онлайн, вот например ссылка на игру. В процессе редактирования игры в окне проекта, все ваши действия немедленно отображаются в самой игре.
При наведении на участки кода (в окне проекта) всплывают подсказки ссылающиеся на документацию, это очень удобно. Не менее удобно и то, что при желании их можно отключить.
Удручало только что графика была пиксельная (рисование в пиксель-арт). Но мне как фанату 8-ми и 16-битных игр показалось это даже забавным и я решил попробовать. Прочитав документацию (еще не такую подробную на то время, как сейчас) я решил что microScript мне очень даже подходит для моих не амбициозных целей. Я освоил этот не сложный в понимании язык на довольно неплохом уровне уже через два месяца (благо навыки программирования на PascalABC.NET уже были). А за последние девять месяцев я неплохо подтянул себя в программировании и пиксель-арте. В общем, microStudio стала для меня не плохим стартом в геймдеве.
Мое мнение о microStudio
Несмотря на то, что microStudio еще сильно рано тягаться с тем же Game Maker (хотя это разные вещи, у каждой есть свои плюсы и минусы, да и цели разные), все равно считаю текущую версию microStudio очень неплохим инструментом в создании 2D игр (за 3D пока ничего еще не могу сказать).
Постоянно отслеживая журнал изменений, видишь что то новое, в голове складывается понимания того, как эта среда устроена, ее плюсы и минусы. Интересно следить за развитием проекта и развиваться вместе с ним. Это реально неоценимый опыт!
До введения новых библиотек, почти все приходилось писать самому - такой опыт, новичку, не получить при разработки на движках. Поправьте меня конечно, если я в чем то не прав.
microStudio я советую попробовать новичкам. Особенно нацеленным на разработку Web-игр. А так же тем, кто в будущем нацелен на изучение JavaScript (даже для той же microStudio, написанной по большей части на этом языке, это оптимальный вариант). Изучая язык создавая игры - это не скучное занятие, это мотивирует все время двигаться вперед. Возможно для вас язык microScript станет отправной точкой в изучении программирования.
Единственный минус, пока в том, что невозможно найти материал в русскоязычном интернете на тему изучения microScript. Да, на сайте microStudio конечно есть туториалы, есть документация, но все же. Нет русскоязычного сообщества. Просто напросто не с кем пообщаться. Поэтому я создал группу в ВК, для общения. Так же я буду выкладывать время от времени уроки по языку microScript и другие интересные материалы (если это будет кому-то интересно). Вступайте, если вам интересен проект, или вы просто хотите поддержать меня советом, добрым словом. Я буду очень благодарен вам.
Конечно я не собираюсь задерживаться долго на языке microScript. В планах изучение JavaScript и Babylon.js. Но это будет уже совсем другая история.
Надеюсь вам было интересно. Поправьте меня в комментариях, где и в чем я был не прав, в чем заблуждаюсь и что упустил из виду.
Спасибо что прочитали статью до конца!