Десктоп версия в стиме: https://store.steampowered.com/app/585410
Триал-версия: https://accounts.yoyogames.com/downloads
FAQ
Q; Чем отличается лицензия от триала?
A: Функционально - ничем, но ты не сможешь компилировать проекты в готовые экзешники, запускать игру можно будет только внутри эдитора.
Q: Чем отличается версия движка в стиме от подписок на сайте yoyogames?
A: Опять же, почти ничем. Есть разные уровни подписок для разных нужд, но в конечном счёте всё упирается в то, что лучше взять лицензию в стиме, если выбор стоит между десктопом, вебом или мобилками (это если речь об одной платформе). Если ты у мамы гига-нигга разработчик с большим охватом аудитории и планируешь вкатываться на несколько платформ сразу (включая консоли), то тут уже стоит вопрос о выборе выгодной подписки с сайта. Но для средней руки разработчика всё же подойдёт десктоп вариант за 1599 рублей в стиме (нередко бывают скидки).
Q: А как начать?
A: Открываешь канал (https://www.youtube.com/c/ShaunSpalding) и ищешь туториалы на самые базовые темы: камера, перемещение персонажа, отрисовка объектов, переменные, простейший интерфейс и так далее. Потом берёшь и делаешь по образу и подобию, пытаешься реализовать желаемые механики сам. Непонятно, как работает та или иная функция? Открываешь мануал (https://manual.yoyogames.com) и ищешь ответ на свой вопрос. Если остаются вопросы - спрашиваешь в треде.
Полезные каналы по теме:
https://www.youtube.com/channel/UC7fkptPD1FHQyDc9Fnm9S_A
https://www.youtube.com/c/FriendlyCosmonaut
https://www.youtube.com/channel/UCrHQNOyU1q6BFEfkNq2CYMA
https://www.youtube.com/channel/UCnKHIXYeYkehIJtF414f65A
https://www.youtube.com/c/GMWolf/videos
Переустановка не помогает.
Ну вот что это за дерьмо?
Да
Всё, вопрос снят, пересохранил в другое место и починилось
Кто-нибудь пользуется GMEdit? Есть ли возможность экспорта проекта в .exe, имея компилятор на случай оффлайн разработки :-( ?
Нашёл плагин buildier и его форк, однако оба ВРОДЕ только позволяют запускать проект, но не экспортировать собранное. Может надо какие-то аргументы где-то написать, чтобы экзешник создавался?
Авторы пишут, что этот плагин работает с настройками компилятора. Может в GMS2 надо что-то настроить, чтобы всегда создавались экзешники?
Требование пусть и редкого перехода в онлайн режим, лицензии-хуензии вызывают некоторую тревогу. Купленные на торрентах версии, ВОЗМОЖНО, не очень безопасны. Да и ставятся не всегда успешно. А 2.2.5 под рукой очень нужен.
Надеюсь, аноны продвинулись по пути обезопашивания себя дальше, чем хватает моей фантазии и навыка гугленья.
Как насчёт Хотлайн Котёл?
Что ты имеешь в виду под "как Хотлайн Майами"? Если просто игра в таком же жанре (топ-даун шутер), то просто: на ютубе дохуя видосов на тему (перемещение, стрельба и т. д.).
А на VM не вылетает.
Такое началось когда перешел на визуал студию 2019, так как гамак почему то теперь не хочет работать с VS 2017
Да. Можешь просто делать папки с ресами внутри папки с игрой и заставлять гамак читать их оттуда.
На пике во время движения здания на заднем плане и некоторые стены на переднем искажаются так, словно они трехмерные. Мне что-то такое нужно. Мне нужны трехмерные комнаты с двухмерными персонажами и объектами. Здесь проблема еще в том, что ебучий гамак предоставляет двухмерный редактор. Я решил рисовать карту сверху, как в думе, а высоту прописывать отдельно в каждом объекте. Как я понимаю, мне надо настроить матрицы проекции, вида, вот это все, я настраиваю по руководствам, но после настройки у меня все плоское и горизонтальное, как пол.
Как можно прописать спрайту свои настройки поворота, углы там, это все? Я не могу разобраться в этом. Делать комнаты как они будут вяглдеть на экране, сбоку, мне кажется не очень удобным. Глубина не так интуитивно настраивается, как высота.
инб4 еблан - сам знаю.
инб4 нормальный трехмерный движок - идея хорошая, но гамак я немного знаю, а юнити/уе4/годот нет.
инб4 программный рендер - тормозит при сколь-нибудь значительном количестве объектов.
Нет, совсем не то, что нужно. У меня типа как в Paper Mario, но их всего трехмерного мне достаточно тупо текстурированных прямоугольников.
Я, кажется, сумел настроить нужную проекцию, с камерой разобрался, пытаюсь вращать спрайты, но все они вращаются вокруг единой точки в начале координат (вроде как), а мне нужно, чтобы каждый вращался вокруг собственного центра. Я передаю матрицу преобразования в matrix_world, подозреваю, что это совсем не то, что надо делать. Им как-то можно назначить свой собственный центр вращения?
Я СПИЗДИЛ ГАМАК СОСИТЕ ХУЙ ПИНДОСЫ
>>799653
Чел. Это вручную нарисованные задники. Хочешь ебаться, заходи в фш и дергай наклон и искажение
>а мне нужно, чтобы каждый вращался вокруг собственного центра
Ка ты эту матрицу преобразования получаешь? Нужно сперва повернуть вокруг начала координат, а потом сдвинуть туда, где он должен стоять.
Я совершенно точно тебе говорю, что дома на заднем плане трехмерные и искажаются по перспективе.
>>799724
Матрицу я делаю через matrix_build, потом умножаю на matrix_world.
То есть чтобы чего-то добиться, мне надо объект сдвинуть в центр координат, повернуть на нули, потом повернуть как мне надо и переместить в нужное место? ебаный рот этого гамака Не может такого быть, я что-то делаю неправильно. В ютубе руководств именно по спрайтам нет, впрочем, там и так в основном примеры по старым версиям гамака, с d3d.
За что вообще отвечает matrix_world? Я так понимаю, она касается не отдельных объектов, а всего мира.
Если так, то бесполезно будет каждый объект отдельно сдвигать со всеми другими.
Почему ты используешь спрайты??? Ты же сам понял, что это модельки (кубы) с натянутой текстурой. Грузи кубы!!! Иначе тебе придётся писать подобие софт-рендера, которое поворачивает спрайты в зависимости от расстояния, угла и параметров камеры.
Нет, не хватает.
Нельзя делать кастомные абилы персонажей.
Нельзя делать кастомные стволы.
Нельзя делать кастомных противников.
Определённые персонажи могут сражаться только с определёнными фракциями врагов из-за отсутствующих анимаций добивания.
Нельзя вставлять кастомную музыку и звуковые эффекты.
Есть моды типа хантера, которые так или иначе фиксят последние два пункта, но это осуществляется посредством замены ресурсов, то есть пердолингом. Исходный код есть только на доисторическом гамаке 7 ЕМНИП, сосите хуй как грица.
там рекурсия какая-то была. На стенде яндекса посылали общаться с комьюнити. А комьюнити отправляло общаться с техподдержкой. А техподдержка уверяла, что специалистов нет, но вы спросите на стенде яндекса...
https://marketplace.yoyogames.com/assets/10411/yandex-games-sdk-html5
Вот чото есть. Не хочется ебаться с движком чтобы потом осознать что твой высер залить туда нельзя. Мб сразу на юнити тогда? Там же тож можно платформеры делать двадэ.
Нет. Уже скомпилированные проекты нельзя запускать в редакторе на уровне исходного кода.
1. Берём (условно) два небольших куска Room’а
2. По мере продвижения персонажа вглубь Room’а эти два куска прогружаются в случайном порядке, генеративно делая локацию бесконечной.
Возможно ли это или мне правда придётся отпердоливать over 9000px повторяющейся хуйни?
На ютубе ничего внятного не нашёл, а без ютуба я здесь червь-пидор.
Там в основном туториалы про loop, но внятных демонстраций результатов, которые я мог бы здесь применить, я не нашёл.
Я ухожу с гамака потому, что на нем хорошо получается делать только пиксельное индиговно. Все, что за пределами, - извините, пройдите в сторону хуя. Трехмерность на нем словно бы нарочно сделана предельно неудобной, а двухмерный редактор окончательно убивает третье измерение. Скелетная анимация - исключительно через спайн, и то она будет закрытой и тайной (алсо меня позабавило, что менять анимации можно только у назначенного объекта спрайту, а просто рисовать анимированный скелет в произвольном месте нельзя), сторонние фреймворки от любителей и не обновлялись уже года три. Механизма вещания событий нет. Нихуя нет. Да они только в версии 2.3 догадались, что в скрипте может быть более одной функции, что необязательно переменные должны называться argument0 и т.п.
Гамак, к несчастью, именно что конструктор. Как лего. Захотел кастомную деталь - отливай ее сам, а это будет долго и очень трудоемко. Можно сделать на гамаке технологическое чудо, но я предпочту сразу начать работу на более универсальном движке.
Нет. Просто помимо гамака куча распиаренных движков, некоторые из которых даже бесплатные типа годота, но при этом на годоте пока что норм игр не выходило.
>>803452
Хуйню не неси. Я мб ничего не могу сказать насчёт 3д, потому что не знаю за это, да и гамак, будем честны, оброс её как 3 колесом в телеге, но по поводу конструктора полная хуйня была сказана. Да, движок не самый гибкий, но ты думаешь, что на том же хрюнити у тебя всё по щелчку пальца всё будет делаться или как? Хочешь фишку - пили её. Тебе даже визуальные эффекты добавили недавно из коробки. Тут люди целые фпсы делают на гамаке, но ты можешь и дальше ныть.
Кста ты не знаешь случаем а на гамаке можно нормально сделать игру идентичную ANNO: Mutationem?
Я же говорю, что можно что угодно, даже то, о чём ты говоришь, но я в триде не шарю, так что советов тебе дать не могу. Вот игра на гамаке 1.4:
https://www.youtube.com/watch?v=fqTd2AtP4G8
А чего ты хотел добиться? Всё корректно выводится. Если ты хотел отмасштабировать r_game, то увеличения вьюпорта недостаточно.
Я хочу поменять размер комнаты. Изначальный размер 1270х720. На первом пике находясь в другой комнате меняю размер r_game на 1600х900, затем перехожу в r_game. На пике два уже меняю вид и камеру на те же 1600х900, но получаю какой-то пиздец.
Да. Поищи в стиме, называется просто GameMaker. Если у тебя до этого была лицуха гамака 2 стимовская, то она продолжит работать, они даже будут её длительное время поддерживать, потому что есть люди, которые недавно купили продукт.
а в чём подвох? я как-то упустил этот момент смены типов лицензий.. они теперь все в браузере/облаке или ещё какая ебала?
>а в чём подвох?
Ну пока - ни в чём, если они достаточно долго будут поддерживать старую версию. Если они забьют на неё хуй раньше времени (что маловероятно), то получается, что они поменяли в одностороннем порядке условия пользования, а там их уже набутылить коллективным иском можно, но смотреть надо по ситуации.
>я как-то упустил этот момент смены типов лицензий..
Да забей, это нигде не афишировалось.
>они теперь все в браузере/облаке или ещё какая ебала?
Как и раньше: раньше ты держал единоразовую лицуху на аккаунте yoyogames, а сейчас будет подписочная.
> использовать разрешение вместо виртуальных координат
> переёбывать разрешение вьюпорта на каждый чих
> показывать рандомные куски кода, в надежде что кто-то прочитает мысли и напишет за тебя кодподскажет.
Блядь, ну даже и не знаю где тут проблема, нахуй!
Чел, я не ебу че за виртуальные координаты. Я в последний раз юзал гм8.1. Че тебе там по коду не понятно хз. Там очевидно всё.
Ору с анальников набутыливателей. Коллективный иск кокок, лицензия кокок лол. Что ты там бутылить собрался, если у старых пользователей действуют старые условия? Где написано, что лицензию нельзя менять?
Ори дальше, олух, не знающий банальной законодательной базы.
>анальников набутыливателей
Да-да, канешн. Ваньки-дурачки из гэдэ харкача, которые одним распидорством занимаются, нихуя не смогут, зато ты лучше всех нас вместе взятых.
Сходи посмотри в обсуждения, как люди за бугром недовольный этой хуйнёй.
>Что ты там бутылить собрался
Юридическое лицо, которое состоит из обычных смертных людей.
>если у старых пользователей действуют старые условия?
Ты читать не умеешь или не хочешь?
Пока - никого. По старым условиям люди приобретали фулл лицензию в стиме навсегда, и к ней была подключена постоянная поддержка. Если они забьют на это хуй, то тогда и поговорим.
Пропорции изображения к хуям сломались. Ты вместе с размером самой комнаты меняй и то, как она будет рисоваться виды, камеру пропорционально, а то естественно каша будет.
Так у тебя экран непропорционально растягивается и логично, что все ломается. Если ты хочешь увеличить размер, то нужно изначальный размер на целое число умножать. Например, если у тебя изображение 100 на 100, то оно может быть увеличено до 200 на 200, 300 на 300, но не до 135 на 120
У меня ничего не растягивается. Я меняю размер комнаты, окна, вида и камеры на одно и то же значение.
Вот смотри. У тебя экран какой? 1366/768, да? А меняешь ты вид на 1600/800. Каким образом у тебя должно нормально уместиться изображение 1600/800 в экран 1366/768?
и какой вообще смысл в смене размера комнаты?
Не, у меня 1080р. 1366/768 сам гамак по дефолту ставит.
>и какой вообще смысл в смене размера комнаты?
Хороший вопрос. Можно без этого обойтись, но меня бесит что я не пойму чому нее отрабатывает нормально.
Только сегодня смотрел видос про камеру, все отлично работает. Попробуй все на дефолтное сбросить и по гайду пройтись
https://www.youtube.com/watch?v=uBCXLlsQc2c&list=PLhIbBGhnxj5JcbfoxS_CWTnImRL_wB_Wg&index=6
>Просто помимо гамака куча распиаренных движков
Ну вот есть Unity и Unreal, тут понятно почему на них много народу сидит. Но почему годот так форсят? В последнее время появилось куча туториалов по нему разной степени паршивости, видосы типа "переделал старую игру на Godot", новости о том, что годот заменит юнити и т.д. и т.п.
Тут же полтора туториала в год выходит.
А что в итоге? На гамаке Hotline miami, Katana zero, Loop Hero, Risk of rain 1, Hyper Light Drifter, Undertale, VA-11 Hall-A, а на годоте разве что о Cruelty Squad слышал и это не похоже на то, что можно ставить в пример.
Есть в гамаке какой-то подвох или почему так мало народу юзает?
Так он же бесплатный без возможности экспорта, а как надо будет экспортировать, то можно и подписку взять - на сайте гамака 80 рублей, лол.
Понял, вопросов более не имею
Дядя, там 1600х900. Поле маленькое, отрезается.
Блять, я примерно определил из-за чего такой кал. У меня в предыдущей комнате вид 1280х720. Если я там железно задам 1600х900 - всё окей. Если я там поменяю через код - опять такая поебень. Получается я не могу менять размер вида динамически?
>>824029
Спасибо. Там базовая хуйня. Я всё это знаю.
> Получается я не могу менять размер вида динамически?
С чего это вдруг? Можешь. Я без проблем это делаю.
Косячишь с камерой где-нибудью
>Там базовая хуйня. Я всё это знаю.
Ну так код свой показывай.
Вот как выставить камеру с зумом х2, например.
width = round(display_get_width()/2);
height = round(display_get_height()/2);
view_wport[0] = width;
view_hport[0] = height;
view_enabled = true;
view_visible[0] = true;
window_set_rectangle(0,0,view_wport[0]2, view_hport[0]2);
surface_resize(application_surface,view_wport[0],view_hport[0]);
Смекаешь?
>Есть в гамаке какой-то подвох или почему так мало народу юзает?
Ты сейчас только что в своём же посте написал, что его дохуя народа юзает, чтобы создавать хитовые игры, алло.
>Тут же полтора туториала в год выходит.
Потому что всё уже вышло + ты плохо ищешь. Как по мне туториалов достаточно. Плюс годот вышел в 2016 году на секундочку, а гамак существует уже хуй знает сколько, даром, что речь идёт о 1.4 и совсем говномамонтовых версиях, которые отличаются от текущей двойки только интерфейсом, производительностью и частью функций.
Если с сайта скачать, потом игру можно же в стиме выкладывать?
Потому что эта дыра, в основном, не интересует их основных потребителей. Они даже о ней не подумают, а просто оплатят подписку
Теперь и в ней разницы нет. Только обновы на версию с сайта оперативнее прилетают
Есть ли способ рисовать из объекта, который идет по порядку отрисовки ниже, спрайт на объекте, который выше?
Мне в голову пришло только завести для рисования отдельный объект и передавать ему спрайт, который нужно нарисовать, и прочие параметры, но я чувствую, что это что-то не то.
Вопрос по первому гамаку
kenney.nl
Нахуя ты этот вопрос задаёшь в треде гамака?
Нахуя ты, гандон, в ГД-то это тащишь?
Можно ли засунуть функцию в массив и вызывать ее по индексу?
Есть код вида:
array =
[
[1],
[2, function(1)],
[3]
]
Проблема в том, что он не просто создает 2д массив, а почему-то исполняет function(1). Как-так?
Кажется, дошло.
Хотел, чтобы из одного элемента массива вызывалась функция с уже заданными параметрами. В теории, так вообще можно?
Что мешает вызывать с параметрами? array[1][1](парметры)
Рисую вот так.
1872x1056, 0:09
create event:
activated = false;
active_timer = 0
active_time = 60
activation_radius = sprite_width/2
image_speed = 0
image_index = 0;
step_event:
if !activated
{
if mouse_check_pressed(mb_left) && point_in_circle(mousex,mousey, x,y,activation_radius) activated = true
}
else
{
image_index = 1
active_timer ++
if active_timer > active_timer
{ image_index = 0; active_timer = 0; activated = false}
}
1872x1056, 0:08
Спасибо, но что-то не сработало, решил по васянки сделать, просто анимацию на нажатие кнопки, а не смену картинки как было изначально.
Подскажите, как сделать чтобы персонаж за рамки окна убежать не мог. Неужто придётся стены делать по бокам?
>стены делать по бокам
Это самое лучшее решение. Ты избавишься от лишней механики "не заходить за рамки комнаты", ограничившись механикой "не заходить в стены".
Чем меньше механик тем лучше. Это сейчас у тебя их всего две. Когда будет 22, будешь думать "а почему скриншейк сбрасывает моего персонажа в пропасть?".
Понятно. Я пока что вообще не понимаю как реализовать механику видимости только того, что рядом. В игре тёмная комната и видеть противников я должен только начиная с определённого расстояния.
if (distance_to_object(player) >=200) вообще коряво работает как-то, то работает, то впритык ему пофиг. Не знаешь как решить?
distance_to_object считается от границы хитбокса того, кто вызывает эту функцию, до границы хитбокса объекта.
Очевидно, что у тебя косяк с хитбоксами.
Однако использовать distance_to_object для того, чтобы не видеть в тёмной комнате как-то странно. Обычно для этих целей делают темноту и свет.
Ну у меня действия проходят в темноте, поэтому я сделал вот такой код:
if (distance_to_object(player) <= player.view_radius){
image_alpha = player.dark
}else{
image_alpha = 0
}
и да, проблема была в хитбоксах, я их подравнял и нормально стало работать.
А почему бы тебе весь экран не закрасить чёрным сурфейсом, и не прорезать в нём градиентную дырку - свет вокруг игрока.
Делаешь объект, у которого в
create event:
sf_light = noone
draw_event:
var x0 = камера.x - камера.width/2;//Сам вставь координаты и ширину/высоту своей камеры
var y0 = камера.y - камера.height/2;
var w2x = камера.width/2 - камера.x;
var h2y = камера.height/2 - камера.y;
if !surface_exists(sf_light)
{
sf_light = surface_create(камера.width,камера.height); //Сам вставь ширину и высоту своего окна
surface_set_target(sf_light);
draw_clear_alpha(c_black,1);
surface_reset_target();
}
surface_set_target(sf_light);
draw_clear_alpha(c_black,1);
gpu_set_blendmode(bm_subtract);
draw_sprite(спрайт света,0,w2x + player.x, h2y + player.y) //Спрайт света - например пикрил
gpu_set_blendmode(bm_normal);
surface_reset_target();
draw_surface(sf_light ,x0,y0);
Укладываешь этот объект в комнату, на слой выше, чем игрок и враги. Получаешь пикрил 2.
А почему бы тебе весь экран не закрасить чёрным сурфейсом, и не прорезать в нём градиентную дырку - свет вокруг игрока.
Делаешь объект, у которого в
create event:
sf_light = noone
draw_event:
var x0 = камера.x - камера.width/2;//Сам вставь координаты и ширину/высоту своей камеры
var y0 = камера.y - камера.height/2;
var w2x = камера.width/2 - камера.x;
var h2y = камера.height/2 - камера.y;
if !surface_exists(sf_light)
{
sf_light = surface_create(камера.width,камера.height); //Сам вставь ширину и высоту своего окна
surface_set_target(sf_light);
draw_clear_alpha(c_black,1);
surface_reset_target();
}
surface_set_target(sf_light);
draw_clear_alpha(c_black,1);
gpu_set_blendmode(bm_subtract);
draw_sprite(спрайт света,0,w2x + player.x, h2y + player.y) //Спрайт света - например пикрил
gpu_set_blendmode(bm_normal);
surface_reset_target();
draw_surface(sf_light ,x0,y0);
Укладываешь этот объект в комнату, на слой выше, чем игрок и враги. Получаешь пикрил 2.
Я если честно только начал всем этим заниматься пару дней назад и у меня камеры даже нет, все действия происходят в одной комнате.
Тогда камера.x/y у тебя будет центр комнаты, а камера.width/height ширина и высота комнаты.
спасибо за помощь!
Слушай, а ты не знаешь как сделать так, чтобы мышка только один раз срабатывала. А то я нажимаю на распределение очков и у меня вместо единичного раза, сразу всё вбухивает. Пытался через таймер решить, но что-то как-то не пошло.
Так ты на отпускание делай.
Не нужно никакого таймера.
if mouse_check_button_pressed(mb_left) && point_in_rectangle(mousex,mousey, координаты кнопки) point ++
Какой ещё таймер?
почему хуёвое? Какие-то проблемы могут возникнуть? Я потестил, вроде теперь одиночный клик нормально работает.
Ты уничтожаешь и пересоздаешь объекты. Ты просто нагружаешь систему, когда это не надо. Если ты начнешь дальше такие прекрасные решения использовать, то у тебя простейший платформер 5 фпс выдавать.
Я тебе выше писал, используй released, он реагирует на отпускание клавиши
Так у меня на другие объекты обычное
mouse_check_button_pressed() работает нормально, клик зачитывается как одиночный, только с этими 5 кнопками фигня какая-то.
У меня есть объект менеджер у которого в шаге это:
if (global.ochko >= 1){
instance_create_depth(250,153, 0, newlvl_hp)
instance_create_depth(250,193, 0, newlvl_attack)
instance_create_depth(250,233, 0, newlvl_skorost)
instance_create_depth(450,357, 0, newlvl_dark)
instance_create_depth(450,402, 0, newlvl_view_radius)
}
у кнопок на нажатие ЛКМ это:
if (global.ochko = 1){
global.player_attack += 0.5
instance_destroy(newlvl_hp);
instance_destroy(newlvl_attack);
instance_destroy(newlvl_skorost);
instance_destroy(newlvl_dark);
instance_destroy(newlvl_view_radius);
global.ochko -= 1
}else if (global.ochko >= 2){
instance_destroy(newlvl_hp);
instance_destroy(newlvl_attack);
instance_destroy(newlvl_skorost);
instance_destroy(newlvl_dark);
instance_destroy(newlvl_view_radius);
global.player_attack += 0.5
global.ochko -= 1
}
Очко даётся когда соответственно накапливается опыт и растёт лвл
У меня есть объект менеджер у которого в шаге это:
if (global.ochko >= 1){
instance_create_depth(250,153, 0, newlvl_hp)
instance_create_depth(250,193, 0, newlvl_attack)
instance_create_depth(250,233, 0, newlvl_skorost)
instance_create_depth(450,357, 0, newlvl_dark)
instance_create_depth(450,402, 0, newlvl_view_radius)
}
у кнопок на нажатие ЛКМ это:
if (global.ochko = 1){
global.player_attack += 0.5
instance_destroy(newlvl_hp);
instance_destroy(newlvl_attack);
instance_destroy(newlvl_skorost);
instance_destroy(newlvl_dark);
instance_destroy(newlvl_view_radius);
global.ochko -= 1
}else if (global.ochko >= 2){
instance_destroy(newlvl_hp);
instance_destroy(newlvl_attack);
instance_destroy(newlvl_skorost);
instance_destroy(newlvl_dark);
instance_destroy(newlvl_view_radius);
global.player_attack += 0.5
global.ochko -= 1
}
Очко даётся когда соответственно накапливается опыт и растёт лвл
Только что заметил что все эти if а нажатии вообще не нужны
можно просто вот так:
instance_destroy(newlvl_hp);
instance_destroy(newlvl_attack);
instance_destroy(newlvl_skorost);
instance_destroy(newlvl_dark);
instance_destroy(newlvl_view_radius);
global.player_attack += 0.5
global.ochko -= 1
Пробовал вот так:
event_perform_object(objectEn, ev_mouse, ev_global_left_press)
Но чёт не хочет работать.
>регистрировалось нажатие на ближайшем враге левой кнопкой мыши.
Хуйню городишь.
if keyboard_check_pressed(ord("E"))
{
var _tar = instance_nearest(x,y,objectEn)
if _tar !=noone
{
with _tar
{
//исполняй нужный код
}
}
}
у меня разный код при клике на разного врага, да и к тому же их несколько. Не знаю как реализовать.
Научись использовать скрипты.
В своём главном игровом контроллере сделай
enum enemy_types
{
orc,
elf,
wizard,
crocodile,
}
Создай скрипт типа cs_enemy_interaction() внутри него сделай код типа пикрил
Назначь каждому врагу в create event его тип type = enemy_types.orc. Тогда у тебя во-первых все взаимодействия будут собраны в одном месте, во-вторых сможешь легко вызывать этот скрипт.
if keyboard_check_pressed(ord("E"))
{
var _tar = instance_nearest(x,y,objectEn)
if _tar !=noone
{
//Если хочешь исполнять код от лица вызывающего
cs_enemy_interaction(_tar .type)
//или если хочешь исполнять код от лица врага
with _tar
{
cs_enemy_interaction(type)
}
}
Научись использовать скрипты.
В своём главном игровом контроллере сделай
enum enemy_types
{
orc,
elf,
wizard,
crocodile,
}
Создай скрипт типа cs_enemy_interaction() внутри него сделай код типа пикрил
Назначь каждому врагу в create event его тип type = enemy_types.orc. Тогда у тебя во-первых все взаимодействия будут собраны в одном месте, во-вторых сможешь легко вызывать этот скрипт.
if keyboard_check_pressed(ord("E"))
{
var _tar = instance_nearest(x,y,objectEn)
if _tar !=noone
{
//Если хочешь исполнять код от лица вызывающего
cs_enemy_interaction(_tar .type)
//или если хочешь исполнять код от лица врага
with _tar
{
cs_enemy_interaction(type)
}
}
Нахуя тебе это нужное брат, нет в гамаке нативной поддержки 3д, если ты нуб то будешь сидеть пердолиться часами чтобы просто вывести сцену с плоскостью, в роадмапе поддержки 3д на ближайший год-два нет, так что в годо/юнити/анрил вкатывайся, я сам нуб и сейчас примерно изучаю возможности движка, он задрочен под 2д, причем пиксельарт 2д, потому что за атласы, мешдеформ и кости надо отдать бабки езотерикам и купить Спайн, это просто нужно принять если нравится сам IDE и скриптинг в гамаке, и начать пилить что-то в рамках возможностей которые он имеет нативно.
Ну потому что у меня особо запросов под 3д нет. Мне не нужна продуманная физика, какие то взаимодействия лишние. Это простой проект но он "играться" будет только в 3д, с такой стилистикой которая задумана.
Я почему спросил туториалы, потому что меньше времени уйдет на пердолинг, чем на изучение полноценных движков.
Если ничего не получится укачусь на юнити
Ну что, докачалось у тебя? У меня вообще логин сбило и восстановить не получается. Ебучая опера
Сам разобрался, это оказалось старое расширение, есть еще ImGui_GM и оно работает хорошо, всем рекоммендую кому нужны замороченные интерфейсы.
Я заебал с вопросами, пошлите меня нахуй с треда пжжжжжжжжж
Привет! Я думаю, ты имеешь в виду "GameMaker" (не "гамака"). GameMaker действительно хороший движок для новичков, особенно если ты хочешь создавать 2D-игры. Он обладает простым и интуитивно понятным интерфейсом, а также предоставляет возможность использовать встроенный язык GML (GameMaker Language), который довольно прост в изучении.
GameMaker может быть хорошим стартом, если ты только начинаешь свой путь в геймдеве. Он дает достаточно возможностей для создания интересных и качественных игр, не будучи слишком сложным для освоения. Время обучения зависит от твоего опыта и насколько быстро ты усваиваешь новые знания, но многие новички могут освоить основы за несколько недель или месяцев.
Касательно актуальности этого движка в будущем, трудно сказать точно. Однако GameMaker существует уже достаточно долго и имеет стабильную репутацию. Разработчики продолжают обновлять движок и добавлять новые функции. Так что на данный момент можно сказать, что это хороший выбор для начинающих.
Если ты рассматриваешь другие движки для создания игр, рекомендую обратить внимание на такие популярные и мощные движки, как Unity и Unreal Engine. Они предлагают более широкие возможности и поддерживают создание 3D-игр, но требуют больше времени на обучение и могут быть сложнее для новичков.
На текущий момент актуальной версией является GameMaker Studio 2. Она предлагает улучшенный интерфейс, новые функции и более мощные инструменты для разработки игр по сравнению с предыдущими версиями, такими как GameMaker Studio 1.4 или GameMaker 8.
GameMaker Studio 2 стоит выбрать, так как это самая современная и поддерживаемая версия движка. Он обладает большим количеством улучшений, что делает его более удобным и функциональным для разработчиков.
В любом случае, выбор движка во многом зависит от того, какие игры ты хочешь создавать и какие навыки ты хочешь развивать. Удачи в геймдеве!
Спасибо огромное за развернутый ответ
>ты имеешь в виду "GameMaker" (не "гамака")
А что такое тогда гамака? Я думал это сокращение слова гейммейкер
>В любом случае, выбор движка во многом зависит от того, какие игры ты хочешь создавать и какие навыки ты хочешь развивать
В планах сделать платформер сайд скролл шутер
> В планах сделать платформер сайд скролл шутер
Если ты хочешь создать платформер сайд-скролл шутер на GameMaker, то это отличный выбор. Движок хорошо подходит для создания 2D-игр, и многие успешные платформеры и сайд-скролл шутеры были разработаны на нем. Несколько успешных игр, созданных на GameMaker, которые можно привести в качестве примеров, это "Hyper Light Drifter", "Risk of Rain" и "Gunpoint". Эти игры получили хорошие отзывы и показали, что с помощью GameMaker можно создавать качественные и интересные игры.
Некоторые ссылки, которые могут быть полезными:
Shaun Spalding - Один из самых известных авторов уроков по GameMaker. Его канал содержит обширный набор туториалов для новичков:
https://www.youtube.com/user/999Greyfox
HeartBeast - Еще один популярный автор уроков по GameMaker с акцентом на разработку 2D-игр:
https://www.youtube.com/user/uheartbeast
Платформер на GameMaker (туториал от YoYo Games):
https://help.yoyogames.com/hc/en-us/articles/216754858-Beginner-s-Guide-To-Platform-Games
Создание сайд-скролл шутера на GameMaker от HeartBeast:
https://www.youtube.com/watch?v=zqtT_9eWIkM&list=PL9FzW-m48fn3Ya8QUTsqU-SU6-UGEqhx6
Эти ресурсы помогут тебе начать разработку своего платформера сайд-скролл шутера на GameMaker.
По факту ИИ дал развёрнутый ответ и пожелал анончику удачи. А мешки с костями только пукнули какой-то нерелейтед хуйнёй для самоутверждения.
В гамаке тоже нужно учить полноценный язык программирования.
Если ты хочешь сделать игру, то без программирования ты не обойдёшься даже в renpy.
Гамак нужно брать, если ты хочешь сделать 2д игру. Он для этого создавался и идеально для этого подходит.
Юнити заточен на 3д.
Сидел добавлял объекты в игру, зашел потестить и внезапно спрайт персонажа начал поворачиваться в противоположную ходьбе сторону.
Так же слетели маски с объектов, на 1 пике голубой это то где должна быть стена, а белым то где она фактически. Что я мог нажать, что все так перевернулось?
Хе-хе, не плохо.
Блять, 3 дня делал эту залупу. Думал новую игрушку себе нашел. А тут такая хуйня. Все облазил, да что это такое блять!
Сейчас я это говно попробую скопировать в новый проект без объектов.
>>879249
Все таки разобрался на свежую голову.
Не понятно как, но я случайно развернул персонажа вписав ему -1 в Scale X. А так же неправильно написал строчку.
Получалось что индекс маски был равен "DOWN" а у меня это 3, лол, чему 3 хуй его знает. Очевидно что равен СПРАЙТУ под номером 3.
Спасибо всем волнующимся!
Я что-то запутался в их лицензиях, вроде теперь триал чисто бесплатный все время, но нельзя сделать экзешник пока не заплатишь? Т.е. можно сделать игру, заплатить за 1 месяц, сдлать экзешник и не платить в следующем?
И как в геймстудио с ассетами? Можно ли накачать графония готового?
Shaun Spalding пидоор-транс что ли? Почему у него на аватарке носатая баба (он сам)?
>Game maker studio норм тем для 2д стратежки пошаговой?
Game maker studio норм тем для 2д
Графоний не относится к движку. Идёшь на сайты с ассетами, заказываешь/качаешь имеющийся, вставляешь в движок.
>Т.е. можно сделать игру, заплатить за 1 месяц, сдлать экзешник и не платить в следующем?
Да. Можешь даже кого-то попросить тебе exe скомпилить.
Так и должно быть? Или можно как -то настроить чтоб в ИДЕ запускалось?
И можно как-то смотреть как она будет выглядать под андроидом?
Там пиздец, при визуал кодинге не так работает как при текстовом.
Какого хуя.
Есть спрайты букв. Не могу заставить их правильно отображаться.
Если ставлю начало с "A" пишутся правильно только первые буквы слов. Если ставлю начало с "a" пишутся правильно все кроме первой, а первая и вовсе исчезает.
Смотрел много видео, читал, так и не понял. У них все работает с первого раза. Указывают начало с "A" и все отлично, а у меня вот это.
Все дело в том что у меня не правильный словарь?
То есть, после больших букв обязательно должны идти скобки и крышечки. 91-96 сдвигает маленькие буквы на 6 знаков дальше.
Блять, ну конечно. Все сходится.
Всем разработчикам привет!
Такая проблема -только начинаю осваивать движок, потому не знаю многого.
Вот и появилась надобность делать так, чтобы при наведении на определённый объект он менял текстуру.
Это, конечно очень просто, но мне нужно немного иначе.
Чтобы при смене текстуры между образными спрайтами 1 и 2 появлялся промежуточный на n-ное количество времени.
Предполагаю, что это так-то можно сделать через alarm, но как нигде не отыскал, да и сам не разобрался.
Можешь вторую текстуру сделать анимированной. Несколько кадров "промежуточных", после основной кадр второй текстуры. И останавливаешь анимацию.
Решение так себе. Ибо анимация начинается не сразу при наведении. Но хоть как-то.
Хотя можешь сделать 3 кадра анимации. При наведении переключать на второй, увеличивать скорость на нужную тебе и останавливать анимацию на 3 кадре. так будет лучше.
Можешь и через будильник. Просто через время вызывай его и ставь нужный sprite_index. Мне кажется это хуже.
Такая же беда.
в твиттере говорят, что чинят: https://twitter.com/GameMakerEngine/status/1680888839680688128
Работать бесплатно можно.
Без подписки нельзя делать самостоятельный билд - только запускать из редактора. Иногда ебёт мозги и запускает в браузере, но это легко фиксится.
Вход в оперу действительно тупит, я зашел сюда сейчас спросить что с этим можно сделать.
У тебя скорее всего с компом что-то не так.
Так нахуй. У меня куплен лицензионный второй гомак в стиме, тобишь я не могу могу на нëм билдить игру без подписки?
Вроде на тех, кто купил до подписок, это не должно было распространяться. мимо давно свалил на нормальные движки
Если куплен, то тебе должны дать подписку на год, вроде как.
Здорово, Котёл
Они больные чтоли? Сначала было все ок - купил программу один раз навсегда. Потом они сделали нововведение - временные подписки. И оттолкнули большую часть аудитории от гамака. И вот теперь они делают ее бесплатной
Через JS
Есть ли какая-нибудь книга для начинающих типа "Unity за 24 часа"? Смотреть видео слишком долго, и тем более они на английском - далеко не всё понятно.
Есть, но они устарели.
Тут не только видео, но всё текстом дублируется https://gamemaker.io/ru/tutorials
Используй встроенный перевод браузера, если не осилил английский.
Так раздражает это. Вот у вас компания, доходы которой зависят от того сколько годных игр сделают пользователи вашего движка. Ну сделайте вы нормальное поэтапное руководство, чтобы оно было прямо на главной странице, переведите его на основные языки, постоянно обновляйте его по мере обновления движка. Неужели это такая непосильная задача для такой компании. Отсутствие нормального руководства отсеивает очень много людей ещё на этапе знакомства с программой.
>Ну сделайте вы нормальное поэтапное руководство
Ты не смог на сайте найти его?
https://manual.gamemaker.io/monthly/ru/#t=Content.htm
Хуйня это.
Вот этот раздел существует уже долго. Где хотя бы одна хорошая успешная игра. Почему один примитивный мусор? Да потому что люди просто нормально не освоили эти движки, потому что нет нормальных учебников. Там что-то почитали, там что-то посмотрели, что-то не поняли, потому что всё на английском, там что-то уже устарело и не работает так, как написано. Знания разрозненные. И в итоге нет нормальных результатов.
Ты не понимаешь сути /gd.
>Вот этот раздел существует уже долго. Где хотя бы одна хорошая успешная игра.
В пизде, дура залетная, здесь были успешные игры и авторы стали миллионерами
Мне кажется, во всём айти так. Покупаешь какую-нибудь микроволновку - там руководство на сотни страниц. А эти движки и пр. - намного более сложная хуйня, а нормальных руководств в комплекте нету. Это как если бы на той же микроволновке кнопки были бы не подписаны, и нужно было бы гуглить за что какая кнопка отвечает, смотреть видео, узнавать на форумах и пр.
У микроволновки две ручки - мощность и время. Можно обойтись только одной - время, т.к. большинство обычно ставит на макс. мощность.
Хуй тебе, пиздабол
Вот видос для новичков где обьясняют как перевести шейдер с шейдертой в гейм мейкер
https://youtu.be/gBnpBQCvzyI?si=Klshnns3DU4SM_tA
ого, спасибо
(у меня только так получилось)
То есть никаких лимитов по функционалу? Слишком щедро выглядит
но вот дальше, понятия не имею что с ними надо делать и как это визуализировать
Дальше на каждый луч рисуешь столбик пикселей на экране. Сколько лучей - столько и столбиков.
Такой ситуации не будет, ты просто расставишь стены по периметру уровня. (блок стены = препятствие)
Ну как вариант ты можешь нарисовать значала задник неба/чего то подобного. Если эта часть не загорожена, то поверх нее ничего не отрисуется
Но вообще шиза таким заниматься в 2к24
На самом деле я неточно написал.
Ведь если залупенька далеко, то она все равно полный столбец по вертикали не нарисует, а там что-то должно быть.
Так вот вспомнил, это что-то - пол и потолок.
всё равно спасибо, примерная идея в голове появилась
ну вот, спустя 7 лет занятий на гамаке и 3 года изучения математики, смог выдать что то подобное
домножил на модуль косинуса (не может же быть отрицательного расстояния), получилась какая то фигня
Откуда у твоего косинуса отрицательные значения, у тебя угол обзора больше 180 градусов?
вот, нашол какое то англоязычное видео, где тоже советуют умножать на косинус угла...
а при чом здесь вообще косинус, почему косинус а не арксинус или корень из семи?
>а при чом здесь вообще косинус, почему косинус а не арксинус или корень из семи?
Чтобы найти длину проекции вектора ld на вектор lc.
хммм
то есть сначала надо получить дистанцию до коллизии центрального луча, а потом отрисовывать все остальные?
у меня просто алгоритм запускает лучи справа налево в цикле, бинарным поиском высчитывает дистанцию точки коллизии и в том же цикле сразу же "рендерит" этот луч
Это не связано с коллизиями (как ты себе представляешь, у тебя экран волнами будет ходить от того что колонна перед тобой?)
А с тем, что экран плоский, а лучи одинаковой длины, испущенные из одной точки (игрока), чертят окружность, как тебе выше показали.
я этой картинки совсем не понял
в первом и втором случае лучи одинаково упадут на обьект, если он достаточно близко
но на практике они ведь искривляются именно вблизи
> Геометрия, пятый класс. Катет, гипотенуза, косинус.
не ври, тригонометрия прямоугольных треугольников с 7 класса идёт, а тригонометрическая окружность с 10
> Лучше найди готовый код и адаптируй под ГМ.
но так ведь неинтересно
> Угол луча нужно считать от линии взгляда. Луч в центре - 0 градусов, самый правый луч - 90 градусов или 0.5 пи радиан.
а я разве не так посчитал?
ладно, последний пост, извиняюсь за то, что превратил тред в свой блог. вот конечный результат и кот
А ты в каком классе?
>но так ведь неинтересно
https://lodev.org/cgtutor/raycasting.html
Вот в этом туториале без тригонометрических функций корректируют эффект линзы. Найди в статье переменную perpWallDist
вот что реально делает домножение на косинус
а вот это делает деление на косинус (как подсказали тут)
Или я чет не понимаю, но если у тебя угол в радианах, то зачем ты его делишь на 180?
image_angle в градусах
что бы перевести в радианы надо умножить на pi и разделить на 180, потому что функция cos считает в радианах
(ray_angle_rad уже в радианах)
Почему ты УМНОЖАЕШЬ на расстояние до стены? Ведь чем больше расстояние, тем меньше высота стены. То есть надо делить. Найди готовый код
Кстати, в Game Maker есть константа pi и готовая функция degtorad и наоборот.
а что вот с этими тупиками и заворотами делать? тут никакой косинус не помогает...
Найди готовый код. Я предполагаю, что у тебя ошибка в каждой строчке, и ошибки копятся, так что коррекция в конце уже не имеет смысла, т.к. расстояние (или угол) изначально высчитаны неверно.
А здесь нельзя скачать? https://gamemaker.io/ru/download
GMS VM это виртуальная машина, которая исполняет скрипты на game maker script. Это разве не равняется билду под виндоус?
GMS YYC это транспилятор, который превращает код на game maker script в C++ и компилирует с помощью Visual Studio. Это тоже для виндоус, но компилируется медленнее (а работать должен быстрее).
И правда, это я туплю, мне почему-то показалось, что когда я покупал подписку, то там был вариант EXE, спасибо!
Почему никого не слышно?
Все на дефолд пересели?
На русском написано что можно экспортировать куда угодно кроме консолей
А если язык поменять, то только на их площадку
там нечем интересоваться, просто всё отображалось криво, из за того, что у меня не было вот этого экрана проекции. сделай то же самое, получишь сейм эффект
Это туториальщик Шон после трун-перехода Сара Спалдинг
бля лол серьезно? чета ржу как идиот
В Британии это 8/10 тяночка, между прочим.
Есть готовый шейдер глоу эффекта в настройках слоя включаешь и настраиваешь, если хочешь свои писать то есть курс Shader Tutorial for GameMaker и Shader Stuff на канале DragoniteSpam
>чем гамак2 и новый гмс отличаются?
всем, это разные программы
> есть смысл платить 5к за новый если есть старый?
нет, можно использовать бесплатную версию
попробуй понять, сконцентрируйся
здесь никто не делает игры, это раздел геймдев-инцелов