Главная Юзердоски Каталог Трекер NSFW Настройки

Gamedev

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 503 55 177
Добро пожаловать в гамакотред - адекватный тред Аноним 29/07/20 Срд 14:15:00 686540 1
1.jpg 3Кб, 250x142
250x142

Добро пожаловать в гамакотред - адекватный тред адекватного движка.

Задумал сделать 2d игру и не знаешь с чего начать? Качай демоверсию гамака
https://www.yoyogames.com/get
и запускай туториалы Шона Спалдинга
https://www.youtube.com/user/999Greyfox/playlists

Движок платный. Покупать лучше в стиме, по региональной цене. Десктоп версия 1600р.


Полезные каналы:
https://www.youtube.com/channel/UC7fkptPD1FHQyDc9Fnm9S_A
https://www.youtube.com/channel/UCdpsYesx7bwrKGU_u9hcwIg
https://www.youtube.com/channel/UCrHQNOyU1q6BFEfkNq2CYMA
https://www.youtube.com/channel/UCnKHIXYeYkehIJtF414f65A

Прошлый тред тонет здесь: >>617577 (OP)

Аноним 30/07/20 Чтв 16:49:12 686720 2
Что хуже для производительности - объявлять глобальную переменную иди постоянно обращаться к переменной объекта, типа player.ammo ?
Аноним 30/07/20 Чтв 22:54:13 686788 3
>>686720
Для производительности хуже делать поиск пути каждый шаг и выполнять код в draw_event.

На херню вроде этой обращать внимания не нужно до тех пор, пока ты не выполняешь это 1000 раз в цикле каждый шаг.

Ну а вообще можешь затестить. Сделай цикл с 100000 обращений к obj_player.ammo и global.ammo каждый шаг и сравни фпс.
Потом нам расскажешь.
Аноним 31/07/20 Птн 15:11:12 686905 4
>>686788
Разве код в draw разве хуже для производительности, чем в step? На форумах давно читал, что разницы нет
Аноним 31/07/20 Птн 17:43:13 686935 5
>>686905
Только что проверил с помощью цикла в цикле и всяких операций внутри.
Производительность от выполнения кода в степе не отличается от выполнения того-же самого в драве. Может, если бы там было какое рисование, тогда разница была бы заметна, но у меня в пустом проекте без спрайтов разницы нет.

Производительность при обращении к глобальной переменной выше, чем при обращении к переменной объекта. Полусчилось, что у глобальной ФПС был больше 200, инога падал до 130, не знаю почему. А при обращении к переменной объекта фпс никак вообще не поднимался выше 130
Аноним 31/07/20 Птн 17:44:08 686936 6
>>686935
Какие нибудь замечания, уточнения, коллеги?
Аноним 31/07/20 Птн 19:54:52 686947 7
>>686936
>The draw event is a very intensive event, in that it's one of the events that takes up most time and resources... to that end it is never a good idea to do anything in the draw event other than drawing. So save your large code or complex actions for the Step event or Alarms or whatever other event fits, but leave the draw event clear for the drawing as that's what it does best.
Аноним 31/07/20 Птн 20:04:18 686949 8
>>686947
Факт остаётся фактом. Проверь сам, если не веришь
Аноним 31/07/20 Птн 20:32:29 686954 9
>>686949
В пустом проекте с парочкой draw call у тебя разницы не будет. Но хуле, ты ж лучше шаришь в гамаке, чем его создатели.
Ебашь код в draw, не слушай никого.
Аноним 18/08/20 Втр 18:35:54 692039 10
1.jpg 6Кб, 443x205
443x205
Вышла версия 2.3

Ну кто бы сомневался.
Аноним 18/08/20 Втр 19:59:34 692064 11
Ну круто. Откатился назад, теперь даже пустой проект в гамаке не запускается.

НЕ ПЫТАЙТЕСЬ ПЕРЕКАТЬСЯ НА 2.3!!!!

Не движкосрача для, а предупреждения анончиков ради.
Аноним 18/08/20 Втр 20:11:09 692067 12
>>692064
А я всё равно попробую. Бета нормально работает.
Аноним 18/08/20 Втр 20:45:55 692077 13
image.png 144Кб, 620x354
620x354
ахахах сасать
Аноним 19/08/20 Срд 11:23:06 692155 14
>>692077
Ага, приятного аппетита.
Теперь все скрипты переписывать под формат function что ли? Вписывать все аргументы в скобки или даже переименовывать их. Скрипты же теперь глобальными стали и запускаются при запуске же игры.
При этом при конвертации всё работало ровно до тех пор, пока не захотел добавить скриптик новую функцию.
Или я чего-то не понимаю в конвертировании?
Аноним 19/08/20 Срд 12:12:35 692166 15
пикник-пример.png 12Кб, 508x456
508x456
Вроде перекатился. Пришлось стереть папку options в проекте, тогда всё заработало.

Переписывать ничего не пришлось, кроме замены названия переменной "new" на "new_quest", т.к. new в новой версии ключевое слово.

>>692155
Компилятор сам расставил внутри всех моих скриптов строки
function sc_box_add_item(argument0, argument1, argument2, argument3)
{
Внутри старый скрипт без изменений.
}

Скрипты вроде работают.

Но да, есть поломки. Например у меня по какой-то причине обрываются некоторые звуки и музыкальные треки.
Пока изучаю.
Аноним 19/08/20 Срд 12:28:15 692174 16
Походу некоторые звуки сломались при конвертации. Приходится их вручную удалять и загружать по новой.

Неприятно.
Аноним 19/08/20 Срд 15:48:12 692219 17
Продолжу.

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

Сравненивая (3.99999523162842 < 4) имеет результатом ложь. Впрочем ничего нового.
Аноним 19/08/20 Срд 15:48:32 692220 18
Аноним 19/08/20 Срд 19:58:37 692279 19
>>692039
А с хуя ли он принудительно ставит апдейт? Типа логиниться не дадим, переходи на новые костыли. Что за неувожение?
Аноним 19/08/20 Срд 21:33:33 692304 20
>>692279
Нет, никакой принудиловки.
Аноним 19/08/20 Срд 22:39:54 692319 21
image.png 9Кб, 448x121
448x121
Аноним 19/08/20 Срд 22:59:35 692323 22
>>692319
Это вроде был drm апдейт специальный. На 2.3 перекатываться не заставляют.
Аноним 20/08/20 Чтв 07:52:33 692386 23
>>692166
Радует, что у анона хотя бы нормально работает. У меня же после конвертации при открытии скрипта окошко с кодом осталось точно таким же, никаких изменений в коде, однако рядом же (сверху) появилось другое окно, в котором указано название скрипта, аргументы в каждой отдельной строчке и пара чек боксов внизу. Возможно, это с чего-то включилось DnDшное оформлений функций, хотя само DnD вообще не используется в проекте. Как это проверить? Или що делать?
Аноним 20/08/20 Чтв 08:15:32 692390 24
>>692386
Видимо, изначально всё таки это был DnD проект. Хотя и не ясно, почему канпилятор ругается на все функции после "успешной" конвертации.
Как проще всего свичнуться в GML? Можно всё экспорировать или галочку какую нажать?
Аноним 20/08/20 Чтв 10:53:04 692422 25
>>692386
У меня при конвертации куча ошибок вылезла. Второй день правлю и хз сколько ещё займёт.

Конечно это лишний повод пробежаться по всем частям игры...
Аноним 21/08/20 Птн 05:10:00 692825 26
Аноны, как искать причины классического "Runner.exe exited with non-zero status (-1073741819)"? Игра просто закрывается, обычного окошка с ошибкой нет. Чаще всего (несколько десятков раз) это происходит после первого End Step Event у всех объектов в игровой комнате, но не в меню: чекал с помощью show_debug_message в начале и конце выполнения соответствующих Step Event и End Step Event у всех объектов. Причем такого никогда не случалось при первом запуске конкретно игровой комнаты, часто было при втором и нередко - в один из последующих. Два раза игра закрылась в середине игры, порвавшись при выполнении Step Event у монстра.
Дс_листы удаляю сразу после использования.
Циклы while и подобное юзаю в 2х скриптах (из тех, которые выполняются непосредственно во время нахождения в игровой комнате), вызываются они достаточно редко. В принципе, они могут быть причиной, однако тесты в пустой игровой комнате, где сбоев у этих скриптов быть не должно, всё равно приводят к этой ошибке с, кажется, не меньшей редкостью.
Обнаружил это после переезда на 2.3.
Тут кто-то пишет возможную причину https://itch.io/t/890645/feature-recommendation-tips-for-gms23-users. но GMLive - это всё таки не GMS2, хотя девелопер и пишет, что причина может крыться в багах GMS2.
Есть соображения, как искать ошибку?
Аноним 21/08/20 Птн 05:18:54 692826 27
>>692825
UPD: дебаггерый режим просадки в FPS не показывает (вроде... из-за некоторой непредсказуемости момента вылет мог не успеть глянуть), но есть секундного масштаба фриз перед вылетом.
Аноним 21/08/20 Птн 05:24:24 692827 28
>>692825
>>692826
UPD №2: Может дело в изменениях синтаксиса? В релизном посте YYG не нашёл упоминаний о переработке старых команд. Может, дело в том, как работают новые функции? Или работе с arrays (потому что [ , ] не конвертнулось в [][], но продолжает работать, как и array_length/height_1d/2d).
Аноним 21/08/20 Птн 11:38:30 692867 29
>>692422
После того, как обнаружил что у меня ещё и пропали НЕКОТОРЫЕ из прикреплённых файлов и что сломались НЕКОТОРЫЕ из функций сохранения, и перестали проигрываться НЕКОТОРЫЕ звуки, принял решение не перекатываться.

Методы буду осваивать после того, как котёл доделаю.

Аноним 21/08/20 Птн 11:58:43 692874 30
>>692825
Такое бывает, если ты где-то конкретно накосячил.
Создай debug project и закрывай комментами код, с которым ты работал в последнее время и пробуй запускать. Когда сообщение "Runner.exe exited with non-zero status исчезнет поймёшь, где именно искать.
Аноним 21/08/20 Птн 11:59:13 692876 31
>>692825
Размер texture page в опциях не менял?
Аноним 21/08/20 Птн 13:37:47 692910 32
Так, посоны, хочу в триджэ режиме вращать объект по оси направления вгляда камеры через d3d_transform_add_rotation_axis(xa,ya,za,angle), мозги совсем дегроднули от многолетнего просмотра порно, не соображаю как мне этот аксис высчитать, синусы катангенсы в школе очень хуево проходили, а занятия с матрицами по высшей матеше упустил в универе в своё время.
При том мне пока даже хватит оставить z компонент за ноль, камера по вертикали мало двигается. Как из переменной поворота камеры простым кодом высчитать x и y компоненты вектора оси?
Я мог бы конечно наговнокодить лютое говно, которое будет даже работать, но лучше же нормально закодить.
Аноним 21/08/20 Птн 22:44:01 693194 33
>>692910
d3d_transform_add_rotation_axis(cos(degtorad(o_camera.pan)),sin(degtorad(o_camera.pan)),0,-10(1-2side))
сделал так, но чот не всегда по нужной оси вращает, когда угол поворота камеры ближе к 0 90 180 и 270 то работает как по маслу, а на углах в 45 градусов ебенит по другой оси, как-будто я и не поворачивался
Аноним 22/08/20 Суб 09:07:49 693239 34
>>692874
Хорошо, спасибо, попробую. Странно только то, что почти всегда вылетает, между эндстепами предыдущего шага и новыми степами. Draw? Баги 2.3? В 2.2.5-то не было такого (ВРОДЕ)
>>692876
Вроде нет. Может, само? Всё равно сравню. Спасибо, анон.
Аноним 22/08/20 Суб 20:10:43 693411 35
>>693239
Безрезультатно. Зато в 2.2.5 всё збс. Подозреваю, что это баг 2.3.
Аноним 27/08/20 Чтв 23:22:41 695738 36
>>692825
Врываюсь в тред! Короче, у тебя где-то дата вытекает лишняя, проверь наследуемость, и ds листы и карты.
Сегодня столкнулся с такой траблой, тоже долго ковырялся.
Аноним 28/08/20 Птн 07:37:52 696001 37
>>695738
Все ds-листы обычно больше десятка строчек не живут (но перепроверю, все ли убиваются), карт и наследуемости нет. Энивей, спасибо за внимание и советики, анон.

Аноним 07/09/20 Пнд 22:26:55 697689 38
.png 486Кб, 736x530
736x530
Разбужу мёртвый тред.
Предположим, мне нужно рисовать спрайт, который не вшит в сам объект, и его анимацию нужно будет контролировать (выключать, если она кончится, например). В таком случае нужно будет создавать скорость image_index'а для этого спрайта отдельной переменной и прибавлять по команде. Вопрос: по какой формуле тогда просчитывать эту скорость, чтобы она была идентична той, что указана на самом спрайте?
Аноним 08/09/20 Втр 15:17:05 697738 39
>>697689
Нихуя не понял, дай пример.
Аноним 08/09/20 Втр 19:41:52 697792 40
>>697738
Ну например, в draw event пишу:
if draw
{
draw_sprite(sprite_name,spd,x,y)
}

В то же время в step event:

if !draw
{
draw = true
spd += 0.1
}

if spd >= 10
{
draw = false
spd = 0
}

Как в данном случае рассчитать всё таким образом, чтобы прибавка к spd хотя бы приблизительно была равна нужной скорости, которая указывается на спрайтах (10 fps, 15 fps)?
Аноним 09/09/20 Срд 00:03:49 697811 41
>>697689
Ну смотри, у тебя есть room speed, которая 60 по умолчанию, у тебя есть спрайт допустим 15 фпс, 60/15=4. Соотвественно чтобы он работал с нормальной скоростью, тебе нужно показывать инкрементировать image_index раз в четыре степа, то есть в примере ниже будет у тебя что-то вроде spd+=0.25, только напрямую это сделать не выйдет, draw_sprite только целые значения принимает.

А вообще проще было бы сделать спрайт отдельным объектом.
Аноним 11/09/20 Птн 17:32:38 698235 42
Почему гамункер 1.4 иногда проигрывает не те звуки, которые я прошу? Ассет кеш сбрасывал уже 2 раза
Аноним 11/09/20 Птн 18:43:11 698252 43
>>697811
Draw_sprite прекрасно принимает не целые значения. Он просто отбрасывает не целую часть, как floor().
Аноним 12/09/20 Суб 01:05:44 698325 44
Во сколько обойдется системник для комфортной работы в гамаке? Чтоб без тормозов, фризов и т.д. Ниче понтового в плане графики и механик делать не собираюсь, что то на уровне hotline miami.
Аноним 12/09/20 Суб 10:41:17 698357 45
>>698325
System Requirements

OS: Microsoft 64bit Windows 7.
Processor: 64bit Intel compatible Dual Core CPU.
Memory: 2 GB RAM.
Graphics: OpenGL 4-compliant onboard graphics.
DirectX: Version 11.
Storage: 3 GB available space.
Аноним 12/09/20 Суб 14:54:30 698387 46
>>698325
На б/у Thinkpad за 10к рублей будет летать.
Аноним 03/10/20 Суб 14:08:05 701974 47
По урокам и гайдам можно без зания кода создать бродилку со стрельбой типа подземного человека? Музыка и рисование не проблема
Аноним 03/10/20 Суб 18:13:07 701993 48
Аноним 04/10/20 Вск 20:01:13 702087 49
>>701993
на драг н дропе можно или в любом случае нужно смотреть на код других?
Аноним 04/10/20 Вск 20:23:13 702088 50
Сап двощ. Делаю подобие платформера, пытаюсь заставить героя стрелять. Все работает, но он стреляет по прямой, хотя хотелось бы чтобы со временем пуля снижала свою высоту. Как это реализовать? Вот код который я пока использую для создания пули в коде персонажа
if keyboard_check_pressed(ord("F"))
{
b = instance_create(x, y, obj_projectile)
if (image_xscale = 1) b.direction = 180;
else b.direction = 0;
b.speed = bulletspeed;
}
Аноним 04/10/20 Вск 21:20:31 702093 51
>>702087
Драг н дроп - это отсталая тема, что-то типа базового кодинга для самых маленьких. Симулятор ходьбы в сайдскроллере в нём может и удастся сделать, но для случая, если тебе нужен будет больший функционал, лучше сразу начинать кодить на ГМЛ.
>в любом случае нужно смотреть на код других?
Ну если ты говоришь, что у тебя нет знаний кода вообще, то да, нужно смотреть на то, как делают другие, и курить мануалы гамака, в которых говорится, какая функция что делает. Потом уже поймёшь, как и что работает, и будешь сам делать.
Аноним 05/10/20 Пнд 02:47:09 702118 52
>>702088
В смысле, чтобы она у тебя по баллиcтической кривой двигалась?
Пишешь в step пули что-то вроде
speed-=0.01
y-=0.001
и радуешься.
Кстати, F -- это не самый лучший выбор для кнопки стрельбы, ctrl или z были бы удобнее.
Аноним 05/10/20 Пнд 09:06:55 702132 53
>>702093
Ну епт, обидно. Я послушал этого Спелдинга, и ладно на ангельском говорит, более менее понятные слова, но как же он тараторит, какой то акцент непонятный + дефект речи. одним словом программист
Аноним 05/10/20 Пнд 16:42:29 702283 54
>>702118
Спасибо конечно за совет, но это нихуя не сработало. Пули все еще летят строго горизонтально.
Аноним 05/10/20 Пнд 16:58:15 702298 55
>>702283
Ну он тебе предложил у изменять на 1/1000. Изменяй у на 10 и посмотри на разницу.
Подгоняй цифры в соответствии со своими размерами и скоростями.
Аноним 06/10/20 Втр 11:46:58 702388 56
>>686540 (OP)
>адекватный
>>686540 (OP)
> Десктоп версия 1600р
>>686540 (OP)
>платный
Да я на такие деньжищи джва месяца жить буду!
мимо среднестатистический геймдевелопер
Аноним 06/10/20 Втр 12:27:08 702400 57
>>698235
Это может происходить когда игра обращается к конкретному айди ресурса, если стоящие перед ним звуки добавлялись/удалялись игра по этому айди находит другой ресурс. Если в этом дело, попробуй к звукам обращаться через ассет_гет_индекс и вводи там стринг с названием ресурса.
Аноним 06/10/20 Втр 16:40:31 702469 58
image.png 4Кб, 311x315
311x315
>>702118
>>702298
Изменения цифр помогли, но траектория все еще не та, видимо я объяснил через жопу. Короче вот, красным показано как они летят сейчас, а зеленым - желаемый результат
Аноним 06/10/20 Втр 19:07:36 702490 59
>>702469
Графики функции в школе проходили? Напиши функцию, которая рисует линию №3.
Аноним 06/10/20 Втр 19:33:10 702497 60
Аноним 07/10/20 Срд 03:50:28 702546 61
>>702469
А, там у меня небольшой проеб в коде, забыл как в гамаке координаты работают, нужно к y прибавлять, а не отнимать.
попробуй так:

if (speed>1){
speed-=0.1
}
y++;


Будет падать, не прилетая обратно.
А если хочешь реальную арку, чтобы сначала еще и поднималась, то тогда нужно ввести понятие вертикальной скорости, которую ты прибавляешь ко все тому же y:

y+=vspeed
vspeed+=0.1;

и про которую в create пишешь
vspeed=-3; (ну или какое число тебе подходит)

Или можешь усадить пулю на path в относительных координатах https://docs2.yoyogames.com/source/_build/2_interface/1_editors/paths.html
Аноним 07/10/20 Срд 15:43:17 702613 62
>>702388
Возьми да спирать на распродаже, они обычно до косаря скидывают.
Аноним 08/10/20 Чтв 00:14:51 702689 63
>>686540 (OP)
Собираюсь с нуля сделать успешную игру за год в одно рыло. Какие подводные?
Аноним 08/10/20 Чтв 00:51:06 702694 64
>>702689
Сроки нереалистичные.
Аноним 08/10/20 Чтв 11:54:18 702730 65
>>702689
> Какие подводные?
Надоест через неделю и дропнешь. Но дропнешь не сразу. Ещё месяц будешь манямечтать о сеттинге, как там замок злого устроен, какие домики в лесу эльфов, как устроена иерархия разбойников. А потом еще через месяц придёт понимание, что тебе вообще нахуй не интересно этим заниматься.
Аноним 08/10/20 Чтв 18:52:22 702792 66
>>702694
Ну смотри:
2 недели - освоение основных возможностей движка, которые мне нужны.
2 недели - создание тестового уровня для отработки механник
Какое-то время на освоение анимаций. Прокачивнаие скилла в процессе
Далее покупка моделек и прочего, ибо я не художник
Все, можно собирать и пилить игру
>>702730
Ух, опасно. Взял пока пробную версию. Если через месяц не надоест, то приду сюда с результатами
Аноним 14/10/20 Срд 15:47:57 704007 67
image.png 46Кб, 206x525
206x525
>>686540 (OP)
При запуске дебагера вот эта хуйня на пике не появляется. Как-то раз закрыл ее и все. Как фиксить?
Аноним 14/10/20 Срд 20:32:30 704108 68
>>704007
Сделай reset layour. Где-то есть такой пунктик в меню window.
Аноним 15/10/20 Чтв 23:21:57 704376 69
Аноним 17/10/20 Суб 17:32:47 704677 70
image.png 4Кб, 241x121
241x121
Help. Настроил камеру, чтобы следовала за персонажем. И теперь он размывается в движении. Кручу настройки с пика - результаты рандомные, но не не, которые нужны. Если оставить камеру статичной, то все ок. Как фиксить?
Аноним 17/10/20 Суб 18:48:26 704683 71
>>704677
Пофиксил нормальным кодом
Аноним 20/10/20 Втр 07:41:45 705164 72
Аноним 23/10/20 Птн 19:55:53 706031 73
>>705164
Что значит "осваивать"? Что там осваивать?
Аноним 23/10/20 Птн 19:58:17 706033 74
>>706031
Конструктор, ёпт.
Аноним 24/10/20 Суб 11:57:34 706088 75
Раньше использовал view_Xview и т.д. Сейчас камеру в гмс2 получается перетаскивать только так:
viewx=camera_get_view_x(view_camera[0])
camera_set_view_pos(view_camera[0],viewx,camera_get_view_y(view_camera[0]))

Использование camera_set_view_speed(view_camera[0],tihohodi,0) ничего не дает

Есть ли внятный туториал по камере? а то находил только со слежением за объектом
Аноним 24/10/20 Суб 11:59:11 706089 76
Аноним 29/10/20 Чтв 18:16:00 706947 77
Анон, имеете ли дело с физикой в гамаке? Интересно узнать, может ли у конкретного инстанса слететь взаимодействие с другим объектами?

Вводная такова: я создаю три стены циклом и меняю их размер, как мне надо:
for ...
{
var _wall = instance_create_layer(..., "Instances", obj_wall);
with {_wall}
{
image_xscale = ...
image_yscale = ...
image_angle = ...
}
}
Потом включаю физику у всех:
with (obj_wall)
{
box_fixture = physics_fixture_create();
physics_fixture_set_density(box_fixture, 0);
physics_fixture_set_awake(box_fixture, true);
physics_fixture_set_box_shape(box_fixture, sprite_width/2, sprite_height/2);
my_fix = physics_fixture_bind_ext(box_fixture, id, -(sprite_width / 2), -(sprite_height / 2));
physics_fixture_delete(box_fixture);
}

Изначально у obj_wall галочки стоят на Visible и Solid (то есть их нет на Persistent и Uses Physics), а в физике стоит галочка на Start Awake;
В итоге, как и планировалось, я получаю 3 длинных стены, которые пересекаются своими концами. Сама проблема вот в чём: 1 или 2 стены обычно настоящие, а остальные (стало быть 2 или 1) рисуются, у них отображается fixture (или так: "flag = phy_debug_render_aabb | phy_debug_render_collision_pairs | phy_debug_render_obb;" только collision shape отображается?), но персонаж сквозь них легко проходит.

Может ли дело быть в том, что слетает физика? Или в чём? (обоснуя за объекты вместо тайлов не будет, сорян)
Аноним 29/10/20 Чтв 18:17:32 706948 78
>>706947
быстрофикс естественно \t в начале строк у меня нет, двощи такие сложные
Аноним 30/10/20 Птн 15:49:09 707081 79
>>706947
UPD: Видимо, проблема том, что fixture фигово накладываются для тех стен, у которых image_xscale и image_yscale задавался отрицательным. Хотя рисуются такие стены хорошо и правильно. Как и их fixture. И это странно. Баг гамака или я что-то упускаю?
Аноним 30/10/20 Птн 18:50:09 707104 80
>>706947
Если у объектов в настоящее время нет импульса, то вместо использования фикстур для создания колизии можно вполне создавать на месте старого новый объект)
Аноним 30/10/20 Птн 18:59:23 707105 81
>>707104
Зачем так делать?

Энивей, проблема разрешилась: при накладывании fixture на объект с отрицательным image scale происходит ничего. Вроде. Всё исправил. Спасибо за внимание.
Аноним 05/11/20 Чтв 13:23:04 707849 82
Можно ли двигать фон кодом? собираюсь сделать параллакс, но могу только объектами
Аноним 05/11/20 Чтв 22:18:46 707948 83
Аноним 06/11/20 Птн 01:10:53 707970 84
Аноним 09/11/20 Пнд 23:58:40 708797 85
>>707970
Ну в последнее время да, по крайней мере базовый функционал игры. Вообще судя по вопросу ты только вкатываешься в гейдев, так что тут особой разницы нет, главное - понять, как что работает, а дальше сможешь сам хуячить с нуля почти всё, так что тут он подойдёт, ну и ещё какой-нибудь PixelatedPope.
Аноним 10/11/20 Втр 00:23:11 708801 86
Как скочять ваше говно? Платить чтобы попробовать я конечно не собираюсь.
Аноним 10/11/20 Втр 00:35:35 708804 87
>>708797
Да, я тока вкотился, для меня это все в новинку. Спасибо, антош.
Аноним 10/11/20 Втр 01:31:37 708806 88
>>708804
Не за что. У Шона советую глянуть последнюю серию по созданию экшон-рпг, где он показывает, как с нуля сделать небольшую игру с камерой, ходьбой и прочим.
Аноним 10/11/20 Втр 13:35:51 708858 89
>>708801
> Платить чтобы попробовать я конечно не собираюсь.
Там триал месяц. Не толсти.
Аноним 10/11/20 Втр 14:28:34 708872 90
>>708858
Где скочять чтобы бесплатно пробовать без ограничений по времени?
Аноним 10/11/20 Втр 16:47:56 708902 91
>>708872
Нигде.
Если "попробовать" можегь поискать Game Maker 8 - у него вроде есть пиратки.
Аноним 10/11/20 Втр 17:14:33 708907 92
>>708902
> Нигде.
Почему ещё не взломан?
Аноним 24/11/20 Втр 12:43:24 711262 93
Аноним 24/11/20 Втр 16:30:13 711296 94
Аноним 24/11/20 Втр 18:54:25 711326 95
>>711296
Дело в том, что вот сделал я так, чтобы шар отскакивал, да. Но вот проблема - если в самом начале шар попадает в верхнюю стенку, то он начинает скакать вверх-вниз и в результате застревает
Аноним 24/11/20 Втр 19:55:05 711331 96
>>711326
Тред и диалог не читал, но такая проблема может быть.
Тебе надо проверять находится ли шар/точка за стенкой + направление его вектора. Например, если условные pos.y > wallheight && dir.y > 0, то dir.y = -dir.y. То есть даже если шар телепортнётся за уровень, то рано или поздно он вернётся в свою зону.
Конечно, в нормальных играх, наверное, таких проблем не должно быть, так как скорость поменяется раз и за ним же положение объекта. Твой вариант может случиться, наверное, если ты 2 раза вызываешь одинаковый код, где не надо или ещё что.
Аноним 24/11/20 Втр 21:50:05 711353 97
>>711331
Спасибо от души, с меня чай
Аноним 25/11/20 Срд 21:54:02 711473 98
>>686540 (OP)
Значит, возник вопрос в гейммейкере классическом (не studio). В общем, как сделать так, чтобы объект делал reverse при соприкосновении с другим объектом только если он идет вниз?
Аноним 26/11/20 Чтв 22:44:44 711674 99
>>686540 (OP)
значит гейм-мейкер 8.1, вот. как правильно заставить проигрывать анимацию разрушения объекта при колижне, чтобы не было лупов и объект одновременно и уничтожался, и проигрывал анимацию?
Аноним 28/11/20 Суб 14:21:17 711880 100
>>711674
Хуй знает что там в легаси версиях.

Проверяй if image_index >= image_number-1 или используй animation end event
Аноним 06/12/20 Вск 23:42:55 713502 101
А есть годные текстовые туториалы? Ненавижу видеоуроки.
Аноним 07/12/20 Пнд 11:10:42 713542 102
Аноним 10/12/20 Чтв 16:21:34 714189 103
Вообще не могу понять отладку в гмс2, мне нужно чтобы я мог видеть какой конкретно код выполняется в данную секунду
Аноним 12/12/20 Суб 20:17:55 714650 104
А ещё непонятно как организовать повтор игры
Аноним 14/12/20 Пнд 12:18:48 714926 105
Аноним 17/12/20 Чтв 13:32:32 715371 106
Какими способами можно организовать тень на задний фон?
Аноним 17/12/20 Чтв 15:46:02 715381 107
>>715371
>Какими способами можно добраться от точки А до точки Б?
По дороге? Через лес? Через горы? Может точка Б в космосе?
Опиши, блеат, что ты хочешь сделать. Со скриншотами.
Аноним 17/12/20 Чтв 16:56:55 715395 108
>>715381
на маркетплейсе нашёл прекрасный пример, спасибо, вопрос отпадает
Аноним 17/12/20 Чтв 18:17:55 715407 109
>>715381
нет, пример оказался для квадратных объектов, я помню популярный был пример наэкранного управления для tds , там бонусом как-то тень простенько была реализована
Аноним 20/12/20 Вск 23:40:31 715961 110
>>708902
>можешь поискать Game Maker 8 - у него вроде есть пиратки.
У первого ГМ студио точно есть
Аноним 22/12/20 Втр 11:35:47 716175 111
>>698325
желательно сисиди, чтобы по полгода не сохранял бекапы больших проектов
Аноним 22/12/20 Втр 11:38:00 716177 112
>>702792
Ну что, не надоело в итоге?
Аноним 29/12/20 Втр 12:40:29 717313 113
>>686540 (OP)
В гамаке можно лабать на плюсах?
Аноним 02/01/21 Суб 14:16:59 717997 114
Сап гамач, подскажите, я 0 в программировании, делаю прототип игры на кастрате при помощи "визуального скриптинга" - но Констракт оказался совсем уебжичным под мои задачи. Делаю вроде как достаточно примитивный платформер-сайдскроллер. Скажите, в гамак смогу вкатиться быстро и делать игру в нем? На констракте где то 2 года торчал, + давно в старых версиях первого гамака. Там сейчас обязательно gml юзать? Или можно ивентами также? GML освоить насколько трудно если 0 в программировании и математике?
Аноним 02/01/21 Суб 15:23:17 718001 115
Desktop лицензия которая продается в стиме, позволяет публиковать и продавать игры в том же стиме?
Аноним 02/01/21 Суб 15:29:10 718002 116
В стиме пишут про вылеты, краши, про то что проект не восстанавливается, но в основном отзывы с 2018. Сейчас в стим версии есть такое или ок работает все?
Аноним 02/01/21 Суб 18:11:27 718015 117
>>718001
Да.

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

>>717997
>Скажите, в гамак смогу вкатиться быстро и делать игру в нем?
Я лично вкатился в гамак очень быстро. Сносно работающий платформер я запилил через 2 месяца.

>визуального скриптинга
Не занимайся этим говном. Сразу в катывайся в нормальный код.

>Там сейчас обязательно gml юзать
Без языка ничего толкового не сделаешь.

>Или можно ивентами также
Ивенты в гамаке это последовательность выполнения кода в игровом цикле.

> GML освоить насколько трудно если 0 в программировании и математике?
А что вообще может быть сложного в освоении?
if else while repeat знаешь? Плюс минус равно умножить разделить знаешь? Тогда ты знаешь в принципе почти всё. Остальное в туториалах прочитаешь.
Аноним 02/01/21 Суб 20:01:21 718033 118
>>718015
>Я лично вкатился в гамак очень быстро. Сносно работающий платформер я запилил через 2 месяца

А с чем возникали проблемы? На что ушло больше всего времени, чтобы запилить сносно, из этих 2х месяцев?
Аноним 02/01/21 Суб 21:07:17 718045 119
>>718033
Примерно могу путь описать.

1) Освоение движка по туториалам. Туториал Астероиды.
2) Туториал платформер
3) Свой платформер по туториалу.
4) Понадобились тайловые коллизии разной формы. Сделал по туториалу.
5) Сделал стейт машину игрока и врагов. Опять же по туториалу.

На этом в принципе примитивный платформер был готов. Два месяца освоения.

Дальше захотелось, чтобы враги научились искать путь, перепрыгивать через пропасти, приследовать игрока и т.д. Здесь уже на 3 месяца глубоко забурился в дебри, но на выходе я уже представлял как сделать всё что угодно.
Дальше пошли эксперименты со светом, с партиклами, делал динамичные интерфейсы, разнообразные механики и т.д.
На всё, конечно, нужно время. Но решающим для меня был именно период ёбли с пасфайдингом. Именно тогда я научился программировать.
Аноним 06/01/21 Срд 05:28:25 718757 120
Есть ли смысл брать версию 2, если есть 1? Первой не пользовался, но она у меня есть.
Аноним 07/01/21 Чтв 15:05:12 719063 121
Не могу понять от чего лаги в игре(для телефона), игра не сказал бы что СЛИШКОМ тяжёлая. Первая игра была сложнее в плане механики, но не лагала, может ли это быть связано с новым runtime?
Аноним 08/01/21 Птн 16:30:07 719335 122
>>719063
Проверяй через дебаггер, на каких моментах у тебя просадки.
Аноним 09/01/21 Суб 06:24:26 719475 123
>>719335
мб поможет кому-то в будущем, убрал ассинхронные события синхолнизации излишней с гуглсервисами
Аноним 09/01/21 Суб 16:16:48 719530 124
Какие значения по умолчанию у вас стоят в значении alias password?
Аноним 09/01/21 Суб 16:57:17 719552 125
Аноним 11/01/21 Пнд 01:05:34 719879 126
Пацантре я сначала качнул триал гмс 2. Зарегил йойо аккаунт. Потом удалил гмс. Приобрел в стиме десктоп версию - и когда захожу с стим версии, у меня висит напоминание о конце триал версии через х дней. Что делать?
Аноним 11/01/21 Пнд 01:11:24 719881 127
>>719879

все, сделал линк акков, ми сори
Аноним 13/01/21 Срд 00:47:47 720389 128
Есть в гамаке переменная которая возвращает значение текущего кадра анимации спрайта? Типа current frame. У меня проигрывается анимация ходьбы гг например, и когда я перестал двигаться - чтобы анимация устанавливалась не на какой-то кадр, а на последний кадр который был в цикле анимации во время ходьбы
Аноним 13/01/21 Срд 00:56:33 720392 129
>>720389

Пока пришел к такому решению:

if move!=0
{
image_speed=1;
}
else
{
image_speed=1;
)
В принципе как надо работает
Аноним 13/01/21 Срд 00:56:58 720393 130
>>720392

Блеан, image_speed=0 в 2 случае конечно
Аноним 13/01/21 Срд 15:43:31 720499 131
>>720389
Падажжи, ёбана. Разве в гамаке фрейм сам по себе не остаётся на последнем кадре если остановить анимацию, раз в конце цикла ходьбы даже приходится её скидывать на нулевой фрейм кодом?
Аноним 13/01/21 Срд 21:56:54 720596 132
16030590953250.gif 4288Кб, 640x618
640x618
Если я вызываю скрипт и в нём меняю Х и У напрямую, то эти самые Х и У берутся у объекта, в котором я вызвал этот самый скрипт? Я же правильно понимаю работу новых скриптов в гамаке?
ньюфаг
Аноним 13/01/21 Срд 23:40:16 720604 133
>>720596
Да. И это не только в новых скриптах, так всегда было. Если нужно сменить переменные у других объектов, то сначала ставишь перед ней имя объекта, типа "obj_player.x".
Аноним 14/01/21 Чтв 09:29:25 720633 134
Аноним 14/01/21 Чтв 12:59:41 720663 135
Аноним 14/01/21 Чтв 13:53:43 720668 136
>>720663
так же есть глобальные переменные (скорее всего ты знаешь, но мало ли), которые игра помнит всегда, к ним обращаются через global.zalupa
но ещё глобалки можно заранее объявлять (например в самом начале игры) через команду типа globalvar zalupa; и тогда к ней можно будет обращаться просто zalupa, без приставки 'global.'

а так же есть локальные переменные, они работают только в конкретном куске кода где ты его пишешь, либо в скрипте, а потом уничтожаются, очень удобная штука, объявляется в начале куска кода, например через var zovno, zhopa=false, piska='mo4a';
либо через var zovno; vart zhopa=false; var piska='mo4a';
обрати внимание на true/false, в ГМЛ это не булеановая переменная, а просто 1 и 0 соответственно, считаются за числовые переменные и их можно в мат рассчетах использовать, например hp=10+5*(global.hard)
Локальные переменные удобны чтобы не воротить говна в коде и вместо этого жопожуйства:
draw_sprite(asset_get_index('spr_' + choose(zhazha, lazha, kazha) + string(irandom(3))), image_index, x + 60 + sprite_width(sprite_index), y - 20/5 + sprite_height(sprite_index)/4);
можно сделать что-то типа такого:
var _spr=asset_get_index('spr_' + choose('zhazha', 'lazha', 'kazha') + string(irandom(3)));
var _x=x + 60 + sprite_width(sprite_index);
var _y=y - 20/5 + sprite_height(sprite_index)/4;
draw_sprite(_spr, image_index, _x, _y)
Аноним 14/01/21 Чтв 15:10:43 720677 137
>>720499
> Разве в гамаке фрейм сам по себе не остаётся на последнем кадре если остановить анимацию

А как остановить анимацию?

>>720633
>image_index

Как я понял, код:

image_index='номеркадра'

Установит текущий кадр анимации на тот который я объявлю

А мне нужно установить на тот которого объект достиг пока выполнялся код

НУ типа

if player_stop()
{
image_index=last_frame
}
else
{
код анимации
}

Ну и как мне получать вот этот last_frame? Помогите плиз
Аноним 14/01/21 Чтв 15:19:41 720680 138
Как сбросить триал?
Аноним 14/01/21 Чтв 22:10:13 720771 139
walk.png 129Кб, 1275x672
1275x672
>>720677
В ютубе миллиард вариантов передвижения объекта показывают.
У каждого ютубера по гамаку плюс-минус свои варианты передвижения и столкновений. Приветливый космонавт даже систему одежды для перса покажет и расскажет.
Выбери один видос и перепиши код прямо с экрана, нахера ты велосипеды городишь?
Аноним 15/01/21 Птн 19:33:39 721064 140
>>720677
image_index почти никогда не принимает целочисленных значений. Это real, floor которого определяет текущий кадр.
Так что если ты хочешь поймать третий кадр анимации делай так:

if floor(image_index) == 2
(кадры считаются с нуля. Третий кадр убедт иметь Image_index от 2 до 2.99999999)

или

if image_index >= 2 && image_index<3

Если ты хочешь остановить анимацию на последнем кадре:

if image_index >= image_number -1
{
image_speed = 0;
}

Аноним 16/01/21 Суб 00:20:55 721168 141
А гейммейкеру нужно что-то платить, когда выкатываешь свое говно на продажу (не у них на маркетплейсе, а вообще, в стиме например)? Или купил лицензию и доволен?
Аноним 16/01/21 Суб 00:37:21 721189 142
>>721168
>А гейммейкеру нужно что-то платить, когда выкатываешь свое говно на продажу
Нет.
Аноним 20/01/21 Срд 12:21:23 722610 143
"Windows не удаётся получить доступ к указанному устройству, пути или файлу."
У одного тестера такая беда на десятке, у других на десятке и семёрках такого нет. Гугл говорит, что проблема в правах. Никак не фиксится с моей стороны и проблема в его винде?
Аноним 20/01/21 Срд 14:44:09 722637 144
Аноним 20/01/21 Срд 23:18:17 722715 145
Аноним 21/01/21 Чтв 06:36:43 722741 146
windows-ne-udae[...].jpg 38Кб, 755x411
755x411
>>722637
Адекватный гамак тред встречает вот так, пассивно-агрессивно? Что такое "неадекватный" тред я даже представить боюсь.
Ошибка при запуске файла. Всё.
Аноним 21/01/21 Чтв 14:32:19 722816 147
>>722741
>Адекватный гамак тред встречает вот так, пассивно-агрессивно?
Да, всё верно. Ты даже не удосужился копипастнуть код ошибки сюда, почему ты думаешь, что кто-то должен его гуглить по ключевым словам и пытаться найти что-то, что косвенно соответствует твоему случаю? Ошибок такого типа до ебени матери, всех цветов и размеров.
>Ошибка при запуске файла. Всё.
Ну хз, лично первое, что лично мне пришло на ум - запустить от имени администратора. В гайдах, которые ты и сам мог найти по коду ошибки, написано то же самое.
https://techarks.ru/windows/files/windows-ne-mozhet-poluchit-dostup-k-ukazannomu-ustrojstvu-puti-ili-soobshheniyu-ob-oshibke-fajla/
Дальше сам.
Аноним 24/01/21 Вск 02:53:18 723424 148
Зачем существуют юзер эвенты? Я так понимаю, это очередная паста спагетти кода типа алярмов и прочей поеботины?
Аноним 30/01/21 Суб 00:15:30 724403 149
>>723424
Не совсем.

Ты можешь записать туда код и использовать их вместо скриптов.

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

Аноним 30/01/21 Суб 10:24:10 724420 150
Хочу сделать jRPG, но не в классическом виде, а с добавлением экшен незначительного элемента - вроде как в Paper Mario где надо было по таймингу нажимать на кнопки во время фазы боя, чтобы нанести больше урона.

Идиотский вопрос, но насколько сложно будет? С какими сложностями предстоит столкнуться? По туторам на гамаке уже делал платформер и top-down стрелялку. Давно когда то делал раннер со случайной генерацией препятствий через массив. Может есть какие то материалы по поводу того как в jrpg баланс настраивают
Аноним 30/01/21 Суб 11:51:55 724423 151
https://heartbeast-gamedev-school.teachable.com/p/make-a-turn-based-rpg-in-gamemaker-studio

Как считаете, такие курсы стоящие или? В принципе, у меня нет проблем с самообучением, то есть, платформер и тдс я спокойно реализовал - не без затыков конечно. Но в самообучении у меня 2 проблемы, что до gml я не сталкивался с кодингом, и что отсутствует структурносить - то есть в конечном прототипе все как бы работает, но вероятно код кривой и костыльный, то есть если для прототипа где надо просто посмотреть как играется это еще нормально, но для реального продукта - нет
Аноним 30/01/21 Суб 23:28:34 724499 152
>>724423
Когда я только-только начинал, ролики хартбиста для меня были очень полезны.
Сейчас (уже 4 года прошло) я считаю это малополезным шлаком.

150$ отдавать за это... если для тебя это незначительная мелочь - то смело бери. Для новичков это очень хорошо подойдёт.
Я бы даже когда новичком был, брать не стал. Самообучение для меня проще и быстрее.

Аноним 31/01/21 Вск 19:39:56 724669 153
Купил в стиме deskop версию, и пошел 30ти дневный отсчет пробного периода. Как я понимаю я преобрел ее на месяц? А потом что, нужно еще раз казну пополнять?
Аноним 31/01/21 Вск 19:55:12 724675 154
>>724669
В блядских обсуждениях блядского стима какждое второе блядское сообщение по этому вопросу. Как вы, блять, игры собрались делать не умея читать?
Аноним 31/01/21 Вск 20:51:08 724688 155
>>724675
Ладно, ладно, не урчи. Хотя бы наводку дал насчет обсуждения сообщества, спасиибо. Сто харчей тебе в ебыч за агрессию.
Аноним 01/02/21 Пнд 00:59:52 724769 156
>>724688
Но он тащемта прав. Не умеешь гуглить - вон из профессии.
Аноним 02/02/21 Втр 11:41:54 725400 157
>>724403
Так, а как ты этот юзер ивент вызываешь?
Аноним 03/02/21 Срд 11:22:57 725651 158
>>724403
with obj_jukebox
{
event_perform(ev_user0,1)
}
Аноним 05/02/21 Птн 09:10:39 726008 159
>>725651
> ev_user0
Нумерованная числовая константа? Стронг!
Аноним 06/02/21 Суб 14:52:23 726145 160
А на вашем движке можно сделать изометрическую игру типа первого фоллаута?
06/02/21 Суб 15:55:33 726154 161
>>726145
разверну вопрос, есть ли ассет для системы трпг/српг с клеточками? на юнете есть пошаговая инструкция, но это пиздец оверкил, хочу сделать что-то уровня инто зэ брич, только с людьми и ЕЩЁ проще
Аноним 06/02/21 Суб 16:29:13 726159 162
Аноним 07/02/21 Вск 14:18:31 726418 163
Здраствуйте работяги геймдевелоперы, хочу вкатиться в этот движок для создания своей игры, вопрос такой, если разницы между стимовской и интернет версией? А также если пользоваться стимовской то придётся каждый 12 месяцев оформлять подписку?
Аноним 07/02/21 Вск 14:34:03 726419 164
>>726418
Побуду добреньким.
Во-первых, в стиме ты покупаешь ключ для yo-yo-games аккаунта, к которому привязываешь свой стим-аккаунт. Только тогда это будет не триальной версией. Во-вторых, китайцы купили оперу, а опера купила гейм-мейкер, так что хз что будет с движком в ближайшее время.
Аноним 07/02/21 Вск 15:04:48 726428 165
Аноним 07/02/21 Вск 16:58:46 726456 166
>>726419
Китайцы купили Cocos Studio, он превратился в стандартный китайский движок, неотличимый от других.
Аноним 07/02/21 Вск 17:33:21 726464 167
Аноним 07/02/21 Вск 17:40:23 726468 168
Аноним 07/02/21 Вск 17:52:51 726474 169
>>726468
Я знаю, я имею в виду, что гейм мейкер тоже превратится в джаваскриптовый движок для создания типично китайских игр, в лучшем случае. В худшем его просто закроют.
Аноним 07/02/21 Вск 18:24:06 726478 170
>>726474
>В худшем его просто закроют.
Как и зачем? И да, хуже той хуйни с драгндропом и прочей ебалы для кодинга без кодинга они уже в любом случае не добавят.
Аноним 09/02/21 Втр 03:10:22 726887 171
Снимок экрана ([...].png 64Кб, 1087x611
1087x611
Ради христа помогите начинающему затупку, почему аргументы не действую в скрипте?
Аноним 09/02/21 Втр 04:47:25 726892 172
>>726887
Синтаксис проверь
Аноним 09/02/21 Втр 09:35:36 726897 173
>>726887
Ты наверное хотел написать tilemap_GET_at_pixel
Аноним 16/02/21 Втр 23:05:46 728112 174
image.png 648Кб, 640x480
640x480
Рубрику "How did they code it" объявляю открытой. И на повестке дня Тоха, ну и буллет хелл как сущность. Правильно ли я понимаю, что каждая пулька - это объект, который обновляется 30/60 раз в секунду. Учитывая количество таких пулек, как это безобразие не тормозит? Это ж сколько памяти надо выделить для такой ебаной тучи экземпляров класса, скажем, Bullet, покрасить их и перемещать по экрану.
Аноним 16/02/21 Втр 23:14:40 728115 175
>>728113
>>728114
Типа при достижении капа те пули, что вышли за пределы экрана (а при достижении капа они скорее всего уже за пределами экрана), просто изнечтожаются?
Аноним 17/02/21 Срд 08:20:40 728142 176
image.png 1341Кб, 1000x823
1000x823
Аноним 20/02/21 Суб 10:28:48 728826 177
>>728112
достаточно скомпилировать через yyc
Аноним 20/02/21 Суб 21:20:29 728984 178
540196757494300[...].png 22Кб, 115x128
115x128
Сап, аноны. Поделитесь советом, плиз. Хочу чисто для себя попытаться сделать игру в стиле Contra Hard Corps. Гамак буду изучать с нуля. Игра в жанре run and gun, но хочу добавить элементы из рпг. Лайтовую прокачку и абилки, вместо выбора оружия как в Контре. Т.е. дефолтная стрельба и абилки в виде разной магии, которая накладывает статусные эффекты на врагов, хилит гг и т.п.
Вопросы следующие:
1) Есть гайды (видео или текст - безразлично) по созданию чего-нибудь приближенного к олдовой Контре?
2) Гайды по созданию статусных эффектов? К примеру: кровотечение, поджигание и т.п., с последующим постепенным уменьшением хп противника за определённый промежуток времени.
3) Не знаю как описать, опишу как могу. С боссами хочу добиться того же самого, как в той же Контре Хард Корпс. Хотя бы чего-нибудь приближенного. Нужно, чтобы у спрайта босса уязвимыми были определённые места, и чтобы некоторые функциональные части после вливания нужного дамага отваливались. Есть гайды по реализации подобного?
Заранее всех благодарю за ответ и любую помощь.
Аноним 20/02/21 Суб 22:02:57 728991 179
Аноним 20/02/21 Суб 23:41:52 729011 180
>>728984

По первому пункту:
Сначала делаешь стандартный платформер по туториалам. Разбираешься что там к чему, потом делаешь свой собственный с необходимыми тебе фишками.

Придумываешь все необходимые тебе типы коллизий. Прямая платформа, наклон 45 градусов, наклон 30 градусов, плаформа сквозь которую можно спрыгнуть/запрыгнуть и т.д.

Создаёшь необходимые тебе скрипты для определения этих коллизий. Точка, линия, прямоугольник - тебе этого будет более чем достаточно.

Создаёшь собственного персонажа - машину состояний. Он будет перемещаться по твоему полю коллизий так, как тебе нужно. Разгоняться с ускорением, тормозить со скольжением, делать прыжок, двойной прыжок, отложенный прыжок, прыжок от стены, прыжок сквозь платформу и т.д. - вот это всё


По второму пункту:

Если по уму...

Сделаешь специальный скрипт sc_init_enemy, который будешь добавлять в create_event каждому врагу.
В нём будут задаваться все необходимые для функционирования врага переменные.

Туда воткнёшь переменные отвечающие за механику кровотечения. Типа.
can_bleed = true;
is_bleeding = false;
bleeding_timer = 0;
bleeding_time = 0;
bleeding_tick_time = 0;
bleeding_damage_per_tick = 0;

Сделаешь скрипт для нанесения кровотечения врагу
И пуля при столкновении с целью среди прочего будет исполнять этот скрипт.
В коде, который будет выполняться при столкновении пули с obj_enemy будет что-то типа

var _target = sc_определить_id_объекта_с_которым_столкнулась_пуля
//бла-бла, всякий код
sc_enemy_start_bleeding(target,bleeding_time,bleeding_tick_time,bleeding_damage_per_tick)

А в скрипте будет
///@param0 target
///@param1 bleeding_time
///@param2 bleeding_tick_time
///@param3 bleeding_damage_per_tick

var _target = argument0
if _target.can_bleed //если цель может кровоточить
{
_target.is_bleeding = true
_target.bleeding_time = argument1
_target.bleeding_tick_time = argument2
_target.bleeding_damage_per_tick = argument3
if _target.bleeding_timer > argument2 _target.bleeding_timer = 0 //Условие, благодаря которому последующие пули сбрасывают таймер кровотечения, не мешая таймеру кровотечения наносить урон
}


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

В скрипт запишешь что-то типа
if is_bleeding{
bleeding_timer ++
if bleeding_timer >0 && (bleeding_timer mod bleeding_tick_time) == 0 //Если таймер кровотечение делится на время одного тика без остатка и при этом не равен нулю.
{
hp -= bleeding_damage_per_tick //получить урон от кровтечения
sc_сreate_bleeding_effect() //Выполнить скрипт, который создаст разлетающиеся капли крови, например
}

if bleeding_timer >= bleeding_time //условие прекращения кровотечения
{
is_bleeding = false;
bleeding_timer = 0
}

}

Ну в общем-то и всё. Так-то это ростая задача. Когда ты выполнишь первый пункт, ты всё это уже будешь уметь.
Начни с того, чтобы просто начать наносить врагам простой урон, а дальше накрутишь всякого.


По третьему пункту.
Да тоже ничего такого экстраординарного. Склеишь босса из нескольких врагов без поведения. Неуязвимые части сделаешь из неуязвимых врагов, уязвимые - из уязвимых. Уязвимые враги полученный урон будут транслировать контроллеру босса.
Сделаешь контроллер босса, который этих "врагов" будет нужным образом перумещать и уничтожать когда "часть отвалилась"

Аноним 22/02/21 Пнд 09:39:56 729218 181
>>686540 (OP)
А эта хуйня на рутрекере есть?
Аноним 22/02/21 Пнд 11:11:57 729224 182
>>728991
>>729011
Спасибо, анoнчики! Тогда скоро приступлю к изучению. Я находил на русском справку только по 8-й версии, я так понимаю она и для второй студии актуальна? За исключением того, что в студии некоторые команды иначе пишутся, как я понял. Если есть справка на русском по студии 2, то был бы вдвойне благодарен.
Аноним 22/02/21 Пнд 11:25:49 729226 183
>>729218
на рутрекере хз, но ломаная версия есть, сам пользовался пока нищуком был, а сейчас есть месяц триала
Аноним 22/02/21 Пнд 16:57:11 729275 184
Аноним 23/02/21 Втр 23:29:28 729499 185
Аноны, есть два экземпляра объекта obj_knopka
У объекта obj_knopka есть переменная id

У первой id = 0, у второй id = 1

Как сделать так, чтобы действие выполнялось по нажатии ТОЛЬКО мышкой на кнопку у которой id = 0?

СЛедующий код

with (obj_knopka) {
switch knopka_id {
case 0:
if mouse_check_button_pressed (mb_left) {
if collision_point (mouse_x, mouse_y, obj_knopka, false, false) {
//действие

}
}
}
}

Приводит к тому что действие происходит только с первой кнопкой, но тригеррится при нажатии на любую а не только первую
Аноним 23/02/21 Втр 23:36:15 729501 186
Или проще говоря - как будет сделать

есть переменная active у объекта knopka

Чтобы действие происходило когда я нажимаю на кнопку у которой active = true (при условии что значение этого acrive разным кнопкам я раздать уже смогу)
Аноним 24/02/21 Срд 08:57:02 729532 187
>>729499
break воткни после действия, а то код пикает твой кейс, а потом смотрит куда бы ещё это действие воткнуть, иша по всем условиям, надо это всегда брейком обрывать, если нудны определённые кейсы
Аноним 24/02/21 Срд 10:39:41 729539 188
>>729532
А лол. Я вроде ставил. Либо забыл либо код скопипастил без него. Ладно, посмотрю код, проверю
Аноним 25/02/21 Чтв 02:10:46 729663 189
А почему в гамаке draw_text выдает -4 если значение переменной = "noone"?

Create event; test_var = noone;
Draw GUI event; draw_text (x, y, noone);

Текст на экране: "-4"
Аноним 25/02/21 Чтв 02:12:16 729664 190
Блядь... DRAW GUI: draw_text (x, y, test_var);
Аноним 25/02/21 Чтв 09:34:17 729676 191
>>729663
Потому что константа noone имеет значение -4.
Аноним 25/02/21 Чтв 22:59:10 729913 192
>>729676
>значение

О как. Спасибо!
Аноним 07/03/21 Вск 06:19:07 731639 193
image.png 104Кб, 1692x514
1692x514
image.png 34Кб, 1571x215
1571x215
Аноны, решил запустить проект, который делал в ноябре 2020, на свежей версии студии и тут при запуске вот такой пикрил вылез. Как-то не очень информативно, может кто сталкивался?
Ошибок синтаксиса\компиляции - нет
Аноним 07/03/21 Вск 11:26:52 731654 194
>>731639
С тех пор вышла версия 2.3, в которой очень много поменялось.
Мне не удалось как следует переконвертировать под неё свой проект, остался на 2.2
Аноним 07/03/21 Вск 11:27:40 731655 195
>>731639
Можешь попробовать стереть папку Options в проекте. Запустится. Но проверяй все скрипты и все ресурсы. У меня часть звуков тупо потерялась.
Аноним 07/03/21 Вск 16:05:56 731676 196
>>731654
Ну это немного пиздец.
>>731655
Спасибо, попробую.

Ещё странный момент - создал новый проект с нуля, попробовал запустить и получил такую же ошибку.
Может это виртуалка винды виновата.
Аноним 07/03/21 Вск 18:19:19 731690 197
>>731655
> Можешь попробовать стереть папку Options в проекте
Не помогло.
> Но проверяй все скрипты и все ресурсы.
На первый взгляд все на своем месте. Потыкался по скриптам и спрайтам.
Аноним 07/03/21 Вск 20:51:36 731720 198
>>731639
Почисть проект через ctrl+f7 (иконка щёточки), проскролль выше по коду запуска, стопудов есть ошибка в коде, которая нормально не высветилась в компайл иррорс.
Аноним 08/03/21 Пнд 02:02:47 731759 199
image.png 82Кб, 2234x337
2234x337
image.png 93Кб, 2219x460
2219x460
>>731720
> Почисть проект через ctrl+f7
Тоже ошибка
> проскролль выше по коду запуска, стопудов есть ошибка в коде, которая нормально не высветилась в компайл иррорс.
Ты о моих скриптах? Там все норм с кодом и синтаксисом.
Аноним 08/03/21 Пнд 02:29:11 731765 200
>>731759
Запустил проект в офф мейкере и все сразу заработало. А до этого юзал крякнутый.
Всем спасибо.
Аноним 08/03/21 Пнд 18:05:30 731891 201
>>731765
видимо у тебя с рантаймом проблема была, там и рантайм и гм крякать надо, а если что-то не стакается то такая фигня выходит
Аноним 08/03/21 Пнд 23:06:11 731960 202
>>731891
Возможно. Напрягает неинформативность ошибки, очень сильно.
После питона особенно.
Аноним 13/03/21 Суб 01:44:23 732820 203
Гамак отрисовывает спрайты далеко за пределами экрана или игнорирует?
Мне это надо в плане - нужно ли свой механизм отсечения писать или он сам справится?
Аноним 13/03/21 Суб 08:16:06 732834 204
>>732820
Не, рисует всё, тут надо велосипеды писать в этом плане, чтобы оптимизация была.
Аноним 13/03/21 Суб 15:13:09 732935 205
>>732834
Опа, не знал.

Протестировал, поставив 4000 спрайтов друг на друга в одном месте в комнате.
Действительно ФПС не меняется от того, есть они на экране или нет.
Аноним 14/03/21 Вск 13:54:34 733134 206
Trying to draw non-existing sprite.
at gml_Object_gc_DrawEvent_2 (line 4) - draw_sprite(gilza_s,0,10,10);

Спрайт gilza_s существует.
Ассет кеш чистил
Аноним 14/03/21 Вск 16:45:46 733175 207
Покажи код. Если gliza_s - это переменная, значит ты на неё не назначил спрайт.
Аноним 14/03/21 Вск 16:49:23 733178 208
Аноним 14/03/21 Вск 16:55:14 733180 209
>>733175
>>733178
Не переменная, название спрайта. Я его и так и сяк пробовал, менял название спрайта с gilza_spr (и на спрайте и в коде), удалял и создавал по новой
Все остальне спрайты этот-же объект рисует
Аноним 14/03/21 Вск 17:59:08 733191 210
>>733180
Открой дебагером, посмотри значение переменной gilza_s
Добавь строчку var dbg = gilza_spr
Сравни значения.

Яйца в кукурузе, ты?
Аноним 14/03/21 Вск 18:03:45 733193 211
>>733191
>Яйца в кукурузе, ты?
Что......?
Аноним 17/03/21 Срд 19:25:34 733767 212
изображение.png 1401Кб, 1000x562
1000x562
аноны, подскажите, я лоу-скиллс лох, знаю про тригеры,переменные, языки програмирования, профайлер и отладку, писал скрипты..
Коплю деньги на лицензию GM на 12 месяцев.
Хочу сделать пиксельную рпг-шку на винду.
GM подойдет для этих целей?
Пример - пикрил
Аноним 17/03/21 Срд 19:43:31 733771 213
>>733767
> пикрил
А хелсбар то из спуки хауса спизжен (а может и они его откуда-то купили до этого).
Аноним 17/03/21 Срд 19:45:26 733772 214
>>733771
пикрил спизжен с поисковика, я чисто пример привел как это в теории должно выглядеть,меня волнует GM сможет это сделать так чтоб оно было оптимизированно и не жрало по 3 гига RAM'а?
Аноним 17/03/21 Срд 19:49:55 733774 215
>>733772
Любой популярный конструктор (см. Юнити, Годо, Гамак) сможет если руки не из жопы. Если напишешь адского говна, то и в 2д рпг может ООМ произойти, но это надо, блять, очень постараться.
Аноним 17/03/21 Срд 19:53:07 733777 216
>>733774
>Любой популярный конструктор (см. Юнити, Годо, Гамак)
Я ж в начале написал что я рукожоп.Не, это не значит что хочу чтоб все было легко...хочу найти движок с маленьким временем вхождения... а то пока в юнити войдешь постареешь.
Я просто слышал что GM для этого подходит хорошо т.к. тут все для старта есть, для таких рукожопов как я + тонна гайдов и инструкций.
Аноним 17/03/21 Срд 20:00:46 733778 217
>>733777
Ну тут язык попроще выучить чем в юньке.
Хотя C# для меня не был сильно сложным (возможно это ошибка выжившего, т.к. до это уже был опыт программирования) и туторов в юньке больше.
А в Годоте вообще Питоноподбный язык, но гайдов на русском практически нема, поэтому если английского не знаешь, то туда не суйся.
Хотя английский очень полезно выучить в любом случае, в программировании это всегда нужно.

Не знаю короч стоит ли эта разница в сложности денег за гамак. В любом случае есть триал, можешь попробовать, если тебе норм покупай, если нет - смотри в сторону других конструкторов.
Аноним 17/03/21 Срд 20:05:43 733780 218
>>733778
А, ну и да, основы геймдева типа стейт-машин тебе на любом движке придется изучать, тут разницы вообще нет.
Аноним 17/03/21 Срд 21:30:32 733799 219
>>733767
>Коплю деньги на лицензию GM на 12 месяцев.
Ты осбрался под мобилки девелопить что ли?
Но ты не знаешь самую базу даже?
Возьми десктоп версию за копейки в стиме для начала. Лицензию временную на мобилки будешь покупать когда тебе нужно будет на телефонах тестировать.

>Хочу сделать пиксельную рпг-шку на винду.
На винду же собрался. Нафиг тебе мобилки?

Да, подойдёт идеально.
Аноним 29/03/21 Пнд 23:40:56 735969 220
>>686540 (OP)
Напомните, была то ли альтернативная IDE то ли прям полная альтернатива GM.
Это было еще во времена 7 8 версий.
Аноним 30/03/21 Втр 13:17:10 736055 221
>>735969
Не знаю, что было во времена 7 и 8 версий, но во времена GMS1 был альтернативный редактор Parakeet IDE, на основе которого был сделан GMS2.

Также есть альтернативный редактор кода GM Edit от украинского разработчика Yellow Afterlife.

Есть недоделанный проект Game Creator
https://github.com/joshwyant/game-creator который задумывался как полная альтернатива ГМ, обратно совместимая с файлами проектов.

Есть Enigma Lateral GM https://enigma-dev.org/download.htm тоже должен быть обратно совместимый с проектами GMS.

Несовместимые альтернативы Гейм Мейкеру тоже существуют, например 001 Game Creator, GDevelop, Superpowers и т. д.
Аноним 04/04/21 Вск 11:41:00 737241 222
Пара вопросов знатокам.
1. Могу ли я установить одну и ту же лицензию standalone на комп и на ноут (работать поочёредно, не одновременно) или только через стим будет работать?
2. С каких пор официальная справка гамака существует на русеке? Вроде в прошлом месяце только англюсик был еще.
Аноним 04/04/21 Вск 13:52:40 737267 223
>>737241
1) Да. С трёх машин одновременно можно, вроде.
2) Хз. Недавно выкатили официальный русик для 2.3
Аноним 04/04/21 Вск 14:15:19 737272 224
5440.png 3Кб, 306x84
306x84
>>737267
Спасибо. Вагон пива тебе.
Аноним 05/04/21 Пнд 21:41:13 737465 225
>>737272 если любишь самогон - нарисуй ещё вагон
Аноним 06/04/21 Втр 14:57:54 737537 226
Как сделать гипертекст, что то не понимаю

Систему, когда выводится определенное сообщение, и после клика на слово или фразу переводило на другое сообщение, или другую руму с событиями и т.п.
Аноним 06/04/21 Втр 15:11:09 737542 227
>>737537
Придумай специальные метки. Можешь прямо как в html сделать даже.
Вставляй их в текст.
Добавь в свой контроллер текста функцию, которая будет читать эти метки, стирать их из строки, выводить текст, и, руководствуясь этими метками, делать часть строки активной.
Следи за мышкой, реагируй на клик по активной зоне, исполняй нужное действие.
Аноним 06/04/21 Втр 17:09:14 737564 228
>>737542
>Добавь в свой контроллер текста функцию, которая будет читать эти метки, стирать их из строки, выводить текст, и, руководствуясь этими метками, делать часть строки активной

Если я правильно понял, в код прописывать поиск всем тексте определенной строчки, удаление этой строчки. А как сделать часть строки активной? Какие метки имеются в виду?
Аноним 06/04/21 Втр 18:09:27 737569 229
>>737542
>>737542

Как это "как в HTML"? Какие специальные метки имеешь в виду, можешь распаковать как то?
Аноним 06/04/21 Втр 21:35:57 737593 230
>>737569
Ну я например вставляю в текст метки типа $p3 или $s1.
Мой контроллер вывода текста ловит символ "$", затем читает следующую букву и цифру.
$ означает что началась команда
p означает что нужно сделать паузу
3 показывает продолжительность паузы.

или
s означает что нужно изменить скорость вывода текста
1 указывает значение скорости.

Далее обработчик выбрасывает $p3 из строки, останавливает вывод на нужно время, затем продолжает.

Ты мог бы поставить такие же метки.

Типа "Вы можете <g rm_forest>отправиться в лес</g>, но на это уйдёт весь день."

Твой обработчик ловил следил бы за появлением симвла <
Появление этого символа сообщило бы обработчику, что началась команда, и выводить её не надо. А надо прочитать её.
Дальше он искал бы следующую букву. При виде буквы g понимал, что это команда на переход в другую комнату.
Далее он пропускал бы все пробелы и искал первую значащую букву. Ей была бы "r".
Потом записывал её и все последующие за ней, пока не наткнётся на пробел или на >
Потом по полученной строке "rm_forest" определял бы, в какую комнату предстоит перейти при нажатии на текст. Например при помощи функции asset_get_index("rm_forest")

Потом встречал > и понимал, что ввод команды закончен. Весь следующие текст ему нужно сделать активным.
Если текст выводится в одну строку, я бы запомнил верхнюю-правую координату буквы для этого.
Затем вывод текста другим цветом, пока не встретится </g>
Потом запоминание правой нижней координаты буквы и обычный вывод остального текста.

А дальше следить за point_in_rectangle координат курсора и полученных координат текста. И если игрок на него мышкой клац - ты знаешь в какую комнату идти.
Аноним 06/04/21 Втр 22:03:26 737601 231
>>737593
>Твой обработчик ловил следил бы за появлением симвла <
>Появление этого символа сообщило бы обработчику, что началась команда, и выводить её не надо. А надо прочитать её.
>Дальше он искал бы следующую букву. При виде буквы g понимал, что это команда на переход в другую комнату.
>Далее он пропускал бы все пробелы и искал первую значащую букву. Ей была бы "r".
>Потом записывал её и все последующие за ней, пока не наткнётся на пробел или на >

Какие функции гамака для этого можно использовать?
Аноним 06/04/21 Втр 22:20:49 737602 232
1.jpg 22Кб, 929x221
929x221
2.jpg 27Кб, 821x477
821x477
>>737601
string_char_at() в основном.

Я тексты записываю прямо как скрипты в гамак. (пик 1)
Помимо собственно текста передаю контроллеру текста всякую информацию типа портрета. анимации, эффектов, выборов и т.д.

Далее врубается обработчик текста, который из полученных данных берёт всё, что нужно, в том числе и строку с текстом.

Считает её длину в пикселях string_width() и разбивает так, чтобы поместилась в 4 строки моего диалогового окна без переносов слов.
Затем по одной буковке выводит текст со стандартной скоростью, но если натыкается на $ вместо вывода следующей буквы читает всю команду и исполняет её.

Например на пик2 скрипт добавляет в буффер по одной букве из строки пока не наткнётся на пробел, перенос строк я использую для этого символ |, или на конец текста.
Аноним 06/04/21 Втр 22:30:00 737605 233
Попробуй для начала написать скрипт, который найдёт в тексте симол < и выведет текст без него.

Что-то типа
var _string = argument0
var max_i = string_length(_string)
var _text_buffer = ""
var _char_buffer = ""
for (var i=0; i< max_i; i++)
{
_char_buffer = string_char_at(_string,i)
if _char_buffer!= "<" _text_buffer += _char_buffer
}
draw_text(x,y,_text_buffer)
Аноним 06/04/21 Втр 22:31:04 737608 234
3.jpg 12Кб, 402x160
402x160
Аноним 07/04/21 Срд 00:34:11 737652 235
Аноним 08/04/21 Чтв 23:19:17 737915 236
aa.png 9Кб, 481x248
481x248
Что это? У меня при запуске дебага игра крашится и не сворачивается
Аноним 08/04/21 Чтв 23:32:45 737917 237
>>737915
А ты читать уже не умеешь?
file-->preferences-->runtime feed
Выбирай рантайм соответсвующий твоей версии.

Пиратку небось юзаешь. Ну тогда сосамба.
Аноним 08/04/21 Чтв 23:44:34 737920 238
>>737917
>Выбирай рантайм соответсвующий твоей версии.

Я хз что такое IDE.

>>737917
>Пиратку небось юзаешь. Ну тогда сосамба.

Пиздобол, лицуху я юзаю. Короче обновил гамак проблема исчезла
Аноним 11/04/21 Вск 22:28:41 738333 239
>>686540 (OP)
На рутрекере со скидкой можно купить?
Аноним 14/04/21 Срд 21:13:33 738723 240
>>738333
Не советую, настрадался с пираткой и решил купить этот блядский движок
Аноним 20/04/21 Втр 14:28:56 739406 241
Есть ли проверенный для полноценной игры способ имортировать катсцену видеоформата в GMS 2?
Аноним 20/04/21 Втр 14:29:54 739407 242
>>739406

Если нет то какие есть варианты? В любом случае будет снято видео и надо как-то эту в игровую сцену вставить
Аноним 20/04/21 Втр 14:33:20 739408 243
>>739407

Не гифку же делать из него и вставлять, это будет ад в плане производительности. Хотя может кто то из вас гиф использовал?
Аноним 20/04/21 Втр 19:44:43 739432 244
>>739406
натыкался на гитхабе два года назад, h264 играло
если твоя игра для говнокалькуляторов, будет тормозить на катсцене
катсцены надо выжигать
Аноним 20/04/21 Втр 20:03:17 739435 245
>>739432
На что натыкался то
Аноним 21/04/21 Срд 00:07:28 739475 246
>>739435
на код для подгрузки mp4 или ворбис не помню
Аноним 22/04/21 Чтв 10:59:22 739590 247
Как начать делать игру? У меня есть идея, но не понимаю, с чего начать. С рисования спрайтов? С расставления квадратов по окрестности и программирования ходьбы квадрата-протагониста?
Аноним 22/04/21 Чтв 11:54:49 739597 248
>>739590
Что сделать-то хочешь?
Аноним 22/04/21 Чтв 12:50:59 739607 249
Аноним 22/04/21 Чтв 12:56:10 739608 250
Аноним 22/04/21 Чтв 16:44:33 739626 251
>>739608
Там первый ГМ, а у меня второй...
Аноним 22/04/21 Чтв 17:11:37 739632 252
>>739626
Там разница только в интрфейсах.
Аноним 22/04/21 Чтв 20:06:56 739640 253
Сап, двощ. Тема такая: начал делать примитивную игрулю в гамаке, просто дабы научиться делать игоры, код писать и т.д., ибо до того был очень далек от всего этого. Короче, проблема в том, что я хочу сделать управление жестами (под мобилки), но перемещение объекта свайпом работает только если у объекта выключена физика. В то же время мне кровь из носу как важно что бы физика у него была, ибо при столкновении с ним другие объекты должны уничтожаться. Есть такая возможность и это я тупой или прийдется крутить костыли?
Аноним 22/04/21 Чтв 22:20:29 739645 254
>>739640
Тебе не нужна физика. Вообще все эти встроенные штуки с осторожностью юзай. Тебе нужен обычный коллижн with (instance_place(x, y, obj(другие объекты)){instance_destroy();} .
Аноним 23/04/21 Птн 14:29:29 739708 255
Ребят, а как язык приложения поменять? Хочу чтобы английский был
Аноним 23/04/21 Птн 18:29:03 739741 256
Аноним 24/04/21 Суб 17:10:09 739841 257
>>686540 (OP)
Делаю ТДС. Есть проблема.
У противника есть поле зрения. Если игрок в поле зрения, то противник должен запомнить координаты игрока и идти к ним.
Я сделал поле зрения противника и движение с обходом препятствий.
Но как сделать это:
Если игрок вышел из поля зрения (Появилась стена), противник должен прийти к месту, где игрок был последний раз в поле зрения. Когда противник окажется там, он должен покрутиться 1-3 раза возможно и начать дальнейший обход
Аноним 24/04/21 Суб 18:45:22 739852 258
>>739841
Твой противник - машина состояний.

У него есть состояние "иду на точку", в котором он перемещается к выбранной точке, а в конце скрипта делает проверку

"игрок в поле зрения?"
"игрок переместился?"
"могу ли я добраться до той точки, в которой сейчас игрок?"

Если все три проверки успешны, меняешь координаты точки-цели и в следующем цикле противник движется к новой выбранной точке.

Когда точка достигнута противник переходит в состояние "выбор следующего действия".
Если игрок в заданной точке не обнаружен, то принятое решение = "покрутиться" + pokrutitsya_times = choose(1,3).

Приняв решение противник переключается в состояние "порутиться" и покручивается пока pokrutitsya_times не становится равно 0.

После того, как покрутился, снова переходит в состояние "выбор следующего действия", в котором если опять не обнаруживает игрока, принимает решение "начать дальнейший обход"
Аноним 24/04/21 Суб 19:29:52 739857 259
>>739852
>меняешь координаты точки-цели
Хз как сделать
Можно пример?
или может сделать так что игрок раз в три секунды срет невидимымыми точками к при отсутствии игрока бот идет к последней высранной куче
Аноним 24/04/21 Суб 20:19:21 739863 260
>>739857
Ты тупой потому что. Какие точки? Наверное сделал Если вижу - иду.
А надо - если вижу -вношу координату в переменную и иду пока моя координата не станет равной целевой.

>>739852
Не нужно никакое "выбор следующего". Нужно просто "состояние погоня" -"состояние покрутиться"
Аноним 24/04/21 Суб 21:01:20 739870 261
>>739863
>>739863
ты не понял суть вопроса:
мне нужно чтобы бот шел на точку где последний раз был виден игрок, так как он сьебался за стену

Уже весь инет перелопатил, везде тупой тупой

А решений так ну у кого и нет

Ебаный геймейкер
Аноним 24/04/21 Суб 21:13:44 739871 262
>>739870
А как ты движение с обходом препятствий запилил? У тебя куда враг пиздует, когда игрока не видит?
Аноним 24/04/21 Суб 21:32:21 739878 263
>>739870
Как у тебя бот вообще видит?
Аноним 24/04/21 Суб 22:41:54 739892 264
>>739878
Если ты знаешь как помочь хотя бы примерно - то скинь мыло или телегу, если помощь будет существенная - я могу отблагодарить.
Аноним 24/04/21 Суб 23:15:59 739897 265
>>739892
Я даже не понимаю что ты делаешь. Бот у него в гей мейкере. Что за бот? Откуда бот? Видит он там че-то. Охрана за дворцом прячется, эльфы крутяться. Давай вместо XY проблемы ты сам нормально вопрос сформулируешь.
Аноним 24/04/21 Суб 23:43:55 739902 266
Аноним 24/04/21 Суб 23:46:33 739904 267
>>739902
Но вообще лучше перед тем как стучаться, правильно задай вопрос в треде.

Скопируй свой код в pastebin, сделай скриншоты, максимально подробно опиши, в чём твоя проблема, что именно мешает тебе записать последнюю точку, в которой был виден игрок, и отправлять врага в неё, обновляя её координаты каждый шаг.
Аноним 05/05/21 Срд 16:13:47 741122 268
>>686540 (OP)
Планирую скачать восьмой гамак и сделать на нём игру. Какие подводные камни? На более новые версии переходить не хочу.
Аноним 05/05/21 Срд 22:22:13 741185 269
Все. Опера испортила единственное что было хорошо в гейм-мейкере. Возможность написать в гугле название функции и получит ответ первой ссылкой. Спасибо. Теперь нужно пол-часа искать мануал на сайте йо-йо гейс и ждать по пол-часа пока их штмл-5 приложение соизволит загрузить страницу гоняя огромные загружающие квадраты по экрану. Прямо как и во всех остальных движках.
Аноним 06/05/21 Чтв 09:08:36 741257 270
>>741185
Не понял. Причем здесь браузер вообще?
Аноним 06/05/21 Чтв 16:01:20 741344 271
Аноним 06/05/21 Чтв 16:52:16 741354 272
>>741344
Нет смысла использовать кривую поделку 10-летней давности, зачем?
Аноним 06/05/21 Чтв 18:40:45 741362 273
>>741354
Чтобы сделать игру.
Аноним 07/05/21 Птн 19:57:55 741448 274
>>741122
Если ты планируешь выпускаться на Windows никаких критических проблем, но чем не нравится GMS 1? Там производительность выше и возможностей побольше.
Аноним 07/05/21 Птн 20:02:13 741451 275
>>733777
Не такой уж он и низкий, дохера всего придется писать самому или искать кривущие ассеты. Ту же систему камер, инерцию для тача, ui куда же без него и так до бесконечности
Аноним 10/05/21 Пнд 01:09:53 742064 276
>local variable playbackSpeed(100008) not set before reading it
Чего блядь? Я понимаю, в чем мой косяк, я пытался прочитать переменную до того, как она задана. Но откуда взялся этот playbackSpeed? У меня ничего с таким названием никогда не было.
Аноним 10/05/21 Пнд 01:50:30 742071 277
>>742064
Там обычно в логе пишется и файл в котором вылазит ошибка и строка. Залезь и посмотри.
Аноним 17/05/21 Пнд 04:42:25 743521 278
gms2tiles.png 73Кб, 916x759
916x759
>>686540 (OP)
Почему некоторые тайлсеты не правильно отображаться?
Не совсем могу объяснить, но покажу скрин.

В окне настроек тайлсета всё верно отображается, а вот в редакторе комнаты такая же ересь, как в нижнем окне autotiling'а

Ощущение, что GMS как-то смещается картинку в некоторых частях
Аноним 17/05/21 Пнд 15:07:11 743569 279
>>743521
Что-нибудь с оффсетами или separation накосячил.
Аноним 04/06/21 Птн 16:13:38 746623 280
>>743521
>некоторые

Это которые больше чем 2048 в ширину \ высоту?

Похоже, будто гамак его сжимает принудительно. В настройках билда проверь размер текстур.
Аноним 16/06/21 Срд 11:17:33 748874 281
Сап.

Я на доске нуфаг, являюсь веб макакой и последнее время думаю попробовать поизучать какой-нибудь движок.

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

Я когда был малолетний дебил пытался делать простые игры в геймейкере (тогда ещё в первой версии), поэтому любопытно по старой памяти поглядеть что там нового и интересного. Но уже столько времени прошло, новые движки появились, которые выглядят продвинутее что ли.

Вероятно, я тупой, но можете хотя бы вкратце пояснить гейм мейкер вообще актуален сейчас? Почему он предпочтительнее, чем годот, например? Для меня пока что главный плюс, что в гамаке язык JS-о подобный.

Заранее благодарен за советы мудрые.
Аноним 16/06/21 Срд 19:17:01 748950 282
.png 119Кб, 1920x1080
1920x1080
>>748874
>Вероятно, я тупой, но можете хотя бы вкратце пояснить гейм мейкер вообще актуален сейчас?
Ну типа да. На 1.4 делалась куча культовых игр: хотлайн майами, гипер лайт дрифтер, нуклеар трон, андыртейл, вальхалла, вот это вот всё. На двушке сейчас тоже парочка неплохих игор вышла.
>Почему он предпочтительнее, чем годот, например?
Хуй знает, годотом не пользовался, но могу сказать, что язык гамака достаточно прост (я не про драг-н-дроп, если что, который совсем хуйня для детей), его буквально может освоить даже дебил вроде меня, который нихуя кроме таблиц в экселле не создавал. Главное - не бояться искать туториалы, штудировать мануал, если что-то не знакомо, и спрашивать советы у людей с опытом (у гамака есть активный сервер в дисе, там 24/7 работают каналы по разруливанию каких-либо технических вопросов).
По сути, самое содержательное пояснение по теме, которое я могу дать тебе. Если хочешь - можешь сам попробовать трайл двушки/угнать на русракере и пощупать, что да как. Из очевидных отличий 1.4 и 2 - лучше интерфейс, производительность и некоторые новые плюшки.
Аноним 16/06/21 Срд 19:35:36 748953 283
>>748950
Спасибо за пояснение!

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

На мысли эти меня натолкнули в целом менее положительные отзывы у гамака относительно того же годота. Вот и интересуюсь, собственно.
Аноним 17/06/21 Чтв 11:32:31 749029 284
>>748953
Если ты будешь сравнивать движки по играм, которые на них вышли, то годот в этом плане... Но это уже территория движкосрача.

ХЗ что значит "актуальность". Ты собрался на работу устраиваться и хочешь изучить востребованный движок? Юнити.

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

Для сравнения гамака с годотом можешь хартбисту написать. Он и по гамаку и по годоту уроки даёт. https://www.youtube.com/c/uheartbeast/

Аноним 17/06/21 Чтв 19:24:14 749066 285
Может кто помочь, нужно сделать exe-файл, что бы продемонстрировать игру, но у меня только демо версия!

Если можете помочь, отпишите
Тг: leksasasasasasasasasas
Аноним 17/06/21 Чтв 19:36:41 749067 286
>>749029
Спасибо за советы! В обчем, скачаю демку гамака, поковыряюсь.
Аноним 18/06/21 Птн 00:23:04 749088 287
Посоны, така беда - делал туториал по джрпг боёвке, оказалось, что японский хуй обзирает 2.3, а у меня 2.2, в котором нету Broadcast Sysyem. Я попытался написать свою систему, но соснул.
Где можно почитать, как она вообще реализуется?
Я сделал глобальную переменную, в которую юниты шлют свои мессаги, а потом другие юниты её читают, и когда все прочитали, она обнуляется. Проблема начинается, когда два юнита в неё пишут разные мессаги.
Как эту броадкас систем по уму сделать?
Аноним 18/06/21 Птн 00:26:12 749089 288
>>748874
В чём проблема поставить интересующие тебя движки и попробовать что-нибудь сделать?
Я вот три раза пытался вкатиться в Unity, безуспешно. Брезгливо попробовал гамак, и просто охуел, насколько там всё по уму и логично сделано если сравнивать с юнити.
Единственный минус - он платный. Но я пирачу.
Аноним 30/06/21 Срд 23:03:51 751415 289
>>749088
Нихуя не понятно, что это за система и что именно ты хочешь. Давай детали.
Аноним 01/07/21 Чтв 02:59:52 751431 290
пацаны, фри версия пойдет для сбора своей задумки полностью? и могу ли я потом её же скомпилировать на десктопы и мобилы, уже купив нужные версии?
Аноним 01/07/21 Чтв 03:27:58 751432 291
>>751431
Они буквально вчера сказали, что с триал версии убирается временное ограничение.
>пацаны, фри версия пойдет для сбора своей задумки полностью?
По сути да, потому что единственное отличие триала от лицухи теперь в том, что в триале нельзя компилировать экзешники. В остальном там весь инструментарий присутствует.
>и могу ли я потом её же скомпилировать на десктопы и мобилы, уже купив нужные версии?
Если файлы проекта есть, то да. Но там ещё фишка в том - что десктоп, мобила и веб - это всё разные лицухи, которые нужно отдельно покупать.
Аноним 01/07/21 Чтв 21:03:12 751506 292
>>751431
даже я активный юзер гамака с лохматых годов и до конца поддержки гмс1 включительно свалил, цены не адекватные, это они мне должны доплачивать за пользование движком где дохуя чего нет.
Аноним 02/07/21 Птн 03:07:12 751544 293
1.png 54Кб, 637x652
637x652
2.png 0Кб, 538x391
538x391
Застревает персонаж (зеленая коллизия) при прыжке влево в крае платформы (красная коллизия). Но выйти влево, вправо и прыжком можно. Как это пофиксить?
Аноним 02/07/21 Птн 12:40:03 751581 294
>>751544

Это происходит когда я прыгаю но проваливаясь уже на 1 пиксель ниже уровня платформы, делаю инпут влево, и меня следующим кадром переносит влево как я понял, при проверке слева показывает что пусто. Может на 1 пиксель по диагонали надо ещё чек сделать?
Аноним 02/07/21 Птн 13:10:05 751584 295
>>751581
Проверяй одновременно икс и игрек.
Аноним 02/07/21 Птн 13:50:42 751592 296
>>751544
Ох этот неофитский код с keyboard_checkами и place_meetingами.

Да ещё и whilы безумные!

Учись дебагать, это самый необходимый тебе навык на этом этапе. Фрейм за фремом смотри, как меняется координата твоего персонажа в какой момент.

Ох ох ох, у тебя там ещё попытка заменить state machine условиями в if.

if death==false - вот это вот.

Код твой абсолютно безумный, честно говоря. Глазами его не подебагать. Да и не нужно это дебагать, этот код нужно удалять и полностью переписывать.


Во-первых:
Прежде чем вводить дополнительные механики разберись с движением.
Рекомендую вот этот туториал.
https://forum.yoyogames.com/index.php?threads/on-slopes-and-grids-subpixel-perfect-topdown-movement-and-collision-line-without-objects.4073/
Он для GMS1.4 написан, но полностью подходит для GMS2.
Сам проект импортируется в GMS2, всё работает практически без изменений. В GMS2.3 можно улучшить при помощи функций.

Да, для новичка это сложно. Но одно лишь освоение этого туториала даст тебе море очков экспириенса, ты сможешь прокачаться на нём.

Напиши собственные функции проверки коллизий, проверяй только одну точку или одну линию в тех случаях, когда тебе нужно проверить коллизию справа/слева/по диагонали.

Разберись что такое Pixel perfect движение, двигай своего персонажа только на целый пиксель, даже если у тебя дробная скорость.

Твои коллизии в платформере должны быть идеальны от и до! Займись ими вплотную!

Во-вторых: котроллер.
Ты сейчас молодой, шутливый, лепишь повсюду keyboard_check_pressed(vk_up). В тот момент когда ты заходешь перейти на wasd шутки кончатся. А когда захочешь сделать поддержку джойстика... не стоит вскрывать эту тему.
Это скучно, но лучше сразу сделай объект obj_controller, который в begin_step_event будет иметь кода типа
jump_pressed = keyboard_check_pressed(vk_up)

а потом в коде игрока обращайся к контроллеру if obj_controller.jump_pressed вместо keyboard_check_pressed(vk_up)

В-третьих:
Прежде чем вводить переменные death, hit, attack и т.д. почитай (посмотри туториал спалдинга) что такое state mashine. Тебе понравится, всё станет гораздо проще.

В четвёртых: когда прокачаешься достаточно, узнаешь что прямоугольные функции типа place_meeting работают не совсем так, как ты думаешь. Слева и снизу у тебя не будет столкновения тогда, когда координаты объектов "вроде как" совпадают.
У тебя же нет этого бага, когда ты справа к стенке прилипаешь?



Аноним 04/07/21 Вск 00:11:15 751766 297
>>751592

Спасибо за помощь! К сожалению, я не смог изучить туториал, потому что там картинки на странице не отображаются

Сделал по твоему совету контроллер, для инпута игрока

State machine тоже сделаю по туториалу

Кстати, при помощи дебага я понял, что place_meeting не дает столкновение слева и снизу/справа. А так как я не переделал систему калькуляциии скоростей и коллизий, то проблему я пофиксил, при помощи дикого костыля.
Аноним 05/07/21 Пнд 02:16:05 751940 298
рисую спрайт в Draw event функцией:

draw_sprite_ext (sprite_index, image_index, x, y, obj_player_base.draw_xscale, obj_player_base.draw_yscale, image_angle, image_blend, image_alpha);

В Step event есть изменение встроенной image_xscale спрайта на 1 или -1 в зависимости от того куда развернут персонаж

После того как я сделал эту функцию в Draw, у меня больше не отзеркаливает спрайт, хотя функция draw_sprite_ext не затрагивает встроенную переменную image_xscale. Почему так?
Аноним 05/07/21 Пнд 02:17:11 751941 299
>>751940

То есть параметр image_xscale меняется на -1, но при этом спрайт всегда рисуется по направлению вправо
Аноним 05/07/21 Пнд 08:33:00 751946 300
>>751941

xscale The horizontal scaling of the sprite, as a multiplier: 1 = normal scaling, 0.5 is half etc...
yscale The vertical scaling of the sprite as a multiplier: 1 = normal scaling, 0.5 is half etc...

Я так понял это и есть image_xscale, то есть мне надо просто отрицательное задавать, умножать на -1 может быть когда спрайт отражен должен быть
Аноним 05/07/21 Пнд 11:00:13 751952 301
>>751940
draw_sprite_ext (sprite_index, image_index, x, y, obj_player_base.draw_xscale, obj_player_base.draw_yscale, image_angle, image_blend, image_alpha);

Так ты и не используешь параметр image_xscale здесь. Вот если бы ты писал draw_self() у тебя бы всё работало.

Так что меняй obj_player_base.draw_xscale на -1 при движении влево.

А лучше сделай отдельный спрайт для каждого направления, даже если это просто одинаковые спрайты. Нельзя такие важные объекты как obj_player зеркалить и скейлить. Потому что при отзеркаливании твой спрайт может сместиться на 1 пиксель.
Аноним 05/07/21 Пнд 17:30:14 751993 302
>>751952

Да, именно если я пишу draw_self () то офк этот спрайт разворачивается
Но у меня же тогда функция растягивания не будет работать, или спрайт будет рисоваться два раза
Спрайт который растягивается не разворачивается при том что параметр im_xs = -1

Я зеркалю obj_player (скин игрока). obj_player_base я ничего не делаю, он сделан для коллизий и движения
Аноним 05/07/21 Пнд 18:55:48 752012 303
привет! я как неосилятор прошелся уже по 3 туториалам, но как дело доходит до своего проекта сразу плыву. насколько реально найти что то типа ментораза копеечку конечно же, что бы не срать тут своими вопросами 24\7?
Аноним 05/07/21 Пнд 19:55:58 752018 304
>>752012
Нужно учиться самому решать возникшие проблемы, потому что дальше будет только труднее. Когда начнёшь создавать свою игру постоянно будет возникать сложные и очень сложные задачки.
Аноним 05/07/21 Пнд 21:26:00 752023 305
>>751993
Ну пиши тогда либо

draw_sprite_ext (sprite_index, image_index, x, y, image_xscale, obj_player_base.draw_yscale, image_angle, image_blend, image_alpha);

или пиши

draw_sprite_ext (sprite_index, image_index, x, y, obj_player_base.draw_xscale, obj_player_base.draw_yscale, image_angle, image_blend, image_alpha);

Но меняй не image_xscale, а obj_player_base.draw_xscale
Аноним 05/07/21 Пнд 21:38:05 752024 306
>>752012
Нафиг кому нужны твои копеечки?

Просто правильно задавай вопросы.
Максимально подробно описывая что именно ты делаешь и что именно происходит не так.
Прикладывай на скриншоты, демонстрирующие проблему, прикладывай свой код и рассказывай как ты сам пробовал её решил.

В большинстве случаев ты в процессе написания вопроса получишь на него ответ. В остальных случаях получишь быстрый ответ на форуме.

Ну и погуглить не забывай.
Аноним 06/07/21 Втр 08:12:55 752046 307
>>752023

Сделал по другому, просто в зависимости от инпута (лево или право) меняю эту свою переменную на положительное либо отрицательное значение, и все работает
Аноним 06/07/21 Втр 18:04:02 752126 308
745675467456555.png 124Кб, 1166x840
1166x840
Сап, анонасы. Я ньюфажина.
В некоторых играх (например, Stardew Valley) если персонаж при движении упирается в препятствие достаточно близко к его краю - он не просто встает, а начинает двигаться к этому краю, пока не обойдет препятствие.
Стало интересно, как это реализовать. На ум приходит только создание особых "угловых" объектов коллизий, но это плохой вариант.

Можно ли как-то замутить проверку расстояния от игрока до краев маски объекта, с которым он сталкивается?
Или есть более простой способ заставить персонажа самостоятельно обходить препятствия?
Аноним 06/07/21 Втр 18:26:31 752128 309
>>752126
>Можно ли как-то замутить проверку расстояния от игрока до краев маски объекта, с которым он сталкивается?
По ходу, понял как
Аноним 06/07/21 Втр 21:51:30 752150 310
1.png 20Кб, 1166x840
1166x840
>>752126
Я так делаю:

При нажатии кнопки движения:
Проверка на линию коллизии шириной с персонажа на 1 пиксель вперёд по направлению движения.
Если коллизия впереди есть, делаю две проверки линии коллизий по бокам персонажа длинной в самого персонажа + 1 пиксель по направлению вперёд.

Если хотя бы одна из них не даёт коллизии, то нажатие кнопки движения приводит не к движению вперёд а к движению вбок с замедленной скоростью по направлению к ближайшей боковой линии без коллизий.

Получается как будто персонаж скользит в нужном направлении.

Вместо скольжения можно просто стартовать движение в бок, с правильной анимации. Но как по мне, "скольжение" лучше.
Аноним 06/07/21 Втр 22:01:03 752153 311
>>752126
>Можно ли как-то замутить проверку расстояния от игрока до краев маски объекта, с которым он сталкивается?

Твой вопрос вызван тем, что у тебя нет набора скриптов для работы с коллизиями.

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

Аноним 06/07/21 Втр 23:54:48 752163 312
Аноним 11/07/21 Вск 02:05:37 752965 313
https://nikles.it/2019/gamemaker-tutorial/how-to-code-a-platformer-engine/

Анон, я сделал по данному туториалу pixel perfect movement/collision, в принципе я все понял

>>751592
>Разберись что такое Pixel perfect движение, двигай своего персонажа только на целый пиксель, даже если у тебя дробная скорость

Вот у меня вопрос: если я делаю round своей координаты в конечном итоге мой спрайт двигается integer'am, а если убираю - то по дробным. Но если я округляю пиксели, то у меня "тряска" спрайта игрока. А если убираю - ее нет, с анимацией все ок. Но получается тогда движение не пиксельперфектное? Могут быть баги? И как нужно делать?
Аноним 11/07/21 Вск 11:07:53 752980 314
>>752965
1) Покажи тряску
2) я делаю round своей координаты - смысл туториала не в этом. По туториалу у тебя есть буферы движения ax и ay(кажется) к которым прибавляется твоё перемещение за шаг. Как только перемещение закончилось, от ax и ay забирается целая часть (ax div 1) и прибавляется к твоей текущей координате, а дробная часть (ax mod 1) Остаётся в буфере для движения в следующем кадре.
3) если я округляю пиксели, то у меня "тряска" спрайта игрока. А ты не округляй, ты делай floor
Аноним 11/07/21 Вск 11:26:11 752981 315
Аноним 11/07/21 Вск 11:27:53 752983 316
>>752981

+Видно на гифках на тех же страницах тутора
Аноним 11/07/21 Вск 19:01:27 753066 317
Аноним 12/07/21 Пнд 00:00:09 753119 318
2021-07-11 23-5[...].mp4 352Кб, 1920x1080, 00:00:16
1920x1080
Аноним 12/07/21 Пнд 00:09:53 753122 319
Аноним 12/07/21 Пнд 00:28:41 753124 320
>>753119
Что не так в проджекте? У тебя тат зум 6х. За каждую единицу перемещения персонаж прыгает на 6 реальных пикселей.
Не делай такого невротебенного зума.
Если хочешь крупный пиксель с плавными движениями - увеличивай свои картинки а не зум камеры.
Аноним 12/07/21 Пнд 00:31:33 753125 321
>>753124
>У тебя там зум 6х
Там комната 320х160, которая растягивается на фулскрин. При разрешении 1920х1080 как раз 6х получается, да.
Аноним 12/07/21 Пнд 01:00:51 753129 322
Runner 2021-07-[...].webm 420Кб, 320x160, 00:00:10
320x160
Вот реальный размер твоего изображение и пиксель пёрфектное движение.
Аноним 12/07/21 Пнд 01:10:50 753130 323
>>753119
Чел, там precise collision используется тупо для движения.

Ни в коем случае так не делай.
Аноним 12/07/21 Пнд 01:12:25 753131 324
.gif 55Кб, 1280x720
1280x720
Как сглаживать подобную угловатость у вращающихся объектов?
Аноним 12/07/21 Пнд 01:19:13 753132 325
>>753131
В современных пиксельарт играх не делают зум.
Вставляют спрайт с уже нарисованным на нём крупным пикселем и спокойно вращают.

Некоторые считают это зашкваром (я тоже). Некоторые не признают за пиксельарт. Но практира такова.

С таким крупным пикселем либо та, либо как у тебя на картинке. Хз что хуже.
Аноним 12/07/21 Пнд 01:19:28 753133 326
>>752965
>>752981
У меня была такая хуйня. В итоге, понял, что трясется не спрайт игрока, а камера.
Встроенные штуки, не требующие кода, в гейм мейкере часто работают не как ожидаешь. В частности, настройки камеры и видов в комнате. Создай камеру и вид кодом, и следование за игроком тоже.
Аноним 12/07/21 Пнд 01:22:20 753134 327
>>753133
А, прочитал посты дальше. Это другая хуйня.
Аноним 12/07/21 Пнд 01:23:39 753135 328
.mp4 212Кб, 462x360, 00:00:03
462x360
Аноним 12/07/21 Пнд 01:32:57 753137 329
Sprite-0002.jpg 24Кб, 1280x720
1280x720
Аноним 12/07/21 Пнд 01:36:24 753138 330
>>753137
Ясно, мы вам перезвоним.
Аноним 12/07/21 Пнд 01:41:00 753140 331
>>753133
>>753129
>>753125
>>753124

Все понятно, я сделал все спрайты под 1920х1080, но у меня последний вопрос, если игру запустят на 2560 x 1440 мониторе, то там же будет зум, и из за этого объекты опять будут прыгать > чем на 1 пиксель. И как быть?
Аноним 12/07/21 Пнд 02:08:54 753141 332
>>753140

В принципе это то же самое что я сделаю 960/540 и х2 зум на моем HD монике. То есть нормалёк
Аноним 12/07/21 Пнд 02:21:53 753142 333
>>753132
>В современных пиксельарт играх не делают зум.

Для меня это стало откровением

У меня до сих пор в голове туториалы где размер окна six-forty by three-sixty. Я думал что без зума делают только дауны...
Аноним 12/07/21 Пнд 09:34:17 753148 334
>>753140
Пиксель монитора 2560 x 1440 в 4 раза меньше, чем у монитора 1920х1080 (при одинаковых физических размерах мониторов), так чро физическое расстояние, которое пройдёт объект на экране будет одинаковым и для глаза не будет разницы.
Аноним 15/07/21 Чтв 01:44:21 753864 335
Почему когда я меняю Depth слоя, depth других слоев автоматически меняется

Мне надо допустим

Слой1 тайлы Detph0
Слой2 спрайты Depth0
Слой3 инстансы Depth1

Если я ставлю глубину какому то 1 слою, оно автоматически меняет глубину и других слоев на 100 единиц. Хотя у других людей в проектах выставляется глубина слоев
Аноним 15/07/21 Чтв 02:34:34 753865 336
>>753864

Пришлось сделать отдельный скрипт, но там если я делаю двум слоям одинаковую Depth, спрайты проникают друг в друга.
Аноним 15/07/21 Чтв 11:22:00 753886 337
>>753864
У слоёв же должна быть разная глубина.
Аноним 15/07/21 Чтв 20:00:59 754052 338
image.png 1909Кб, 1920x1080
1920x1080
Пророк
Аноним 15/07/21 Чтв 22:06:43 754079 339
>>754052
Не рекомендую использовать код из его туториалов. Этот код - говно.
Аноним 15/07/21 Чтв 23:37:27 754109 340
>>754052
Не знал, что Максим Кац делает игры.
Аноним 16/07/21 Птн 01:28:59 754121 341
>>753886

Неа не должна быть

Короче можно сделать. Чтобы гамак не менял глубину нужно убрать замочек на всех слоях - тогда можно ставить любому слою любую глубину
Аноним 16/07/21 Птн 01:29:43 754122 342
>>754079

Почему? Что конкретно?
Аноним 16/07/21 Птн 10:42:13 754169 343
>>754122
Коллизии.
Использование keyboard_checkов прямов в коде.
Наиебанутейший способ сделать 1-way-platforms.
Поехавший инвентарь.
Туториал по камере просто нет слов.

Сами его туториалы, безусловно, очень полезны новичкам. Но Также новичкам нужно знать, что то, что в этих туториалах написано - суперсвехупрощённо и не правильно.
Аноним 16/07/21 Птн 11:34:28 754184 344
>>754169
>Использование keyboard_checkов прямов в коде.
Не смотрел его видосы, Но тут-то что не так? Где еще keyboard_check использовать?
Аноним 16/07/21 Птн 11:57:33 754188 345
>>754184


>>751592
>объект obj_controller, который в begin_step_event будет иметь кода типа
>jump_pressed = keyboard_check_pressed(vk_up)
Аноним 16/07/21 Птн 12:06:04 754190 346
>>754188
Ебать ты кодовый нацист. Ну, в принципе, справедливо.
Аноним 16/07/21 Птн 21:32:10 754448 347
Проблема такая: у меня 60 фпс монитор, и когда скорость комнаты 60 фпс (В настройках Game options Main Game frames per second - 60, как я понял это и есть встроенная переменная room_speed) - идет микрофриз частый, изображение дергается. Никаких For / while / draw нет, просто прыгающий квадрат

Я гуглил англоязычные треды по этой проблеме - Sleep margin менял, не помогает. И везде один ответ был как решение: room_speed сделать 999 - типа тогда исчезает. В итоге я меняю Game frames per second на 120 и перестает подфризивать, но можно ли так делать? Что-то меняется для логики и производительности если 120 фепесов делать?

И второй вопрос, как снижать GPU usage? Пустой проект выдает около 14%, по-моему как то чересчур много
Аноним 16/07/21 Птн 21:38:24 754449 348
>>754169
>Использование keyboard_checkов прямов в коде

Тут соглы

>>754169
>Коллизии

Я такие же юзаю, они работают, мне просто пиксель перфект колижен не нужен, у меня не платформер. Мне кажется их можно использовать

Аноним 17/07/21 Суб 08:32:58 754542 349
И как теперь сделать так, чтобы на мониторе 75 гц у меня игра не ускорялась по сравнению с монитором 60 ГЦ? Потому что выдает 75 фпс / 60 фпс, соответственно все ускоряется
Аноним 17/07/21 Суб 09:06:55 754550 350
>>754542
У тебя там где-то должна быть дельта между фреймами. Ты должен во всех своих формулах движения умножать всё барахло на дельту. Тогда всё движущееся будет двигаться обратно пропорционально скачкам фпс.
мимо
Аноним 17/07/21 Суб 10:51:33 754561 351
Кто баловался с мультиплеером, во второй студии гамака мультиплеер получше пилится, чем в 1.4, или без разницы?
Аноним 17/07/21 Суб 11:49:27 754600 352
>>754550
>>754550

Я тоже прочитал в обсуждениях про дельта тайм, что его надо юзать, только не совсем понял:

У меня стоит 120 room speed

На моём Монике игра выдает 60 кадров, на другом 75 в секунду. Если я буду использовать дельтатайм в скриптах, то что будет с логикой? Она будет работать как 120 шагов в секунду везде, то есть скорости будут одинаковые везде, при разной частоте обновления дисплея? То есть она отвяжется от фпс, если я верно понял?
Аноним 17/07/21 Суб 15:27:03 754812 353
>>754600
> она отвяжется от фпс, если я верно понял?
Да.
Аноним 17/07/21 Суб 21:51:48 754958 354
>>754550
Вообще какой-то не очень правильный ответ на вопрос.

В гамаке скорость игры не привязана к частоте монитора. Скорость игры можно как повышать, так и понижать прямо в процессе игры, частота монитора тут ни при чём.

Другое дело что таки да - если компт тормозит, и FPS проседает, то торможение это может быть обработано по-разному. Можно просто замедлить игру. А можно у замедленной игры увеличить все скорости, умножив их на дельта тайм.

И то и другое плохо. Игра не должна тормозить.

>И как теперь сделать так, чтобы на мониторе 75 гц у меня игра не ускорялась по сравнению с монитором 60 ГЦ? Потому что выдает 75 фпс / 60 фпс, соответственно все ускоряется

Ты можешь установить скорость игры в микросекундах. Это должно решить проблемы любых ускорений.
game_set_speed(33333, gamespeed_microseconds); // поставит тебе "60 фпс"

Но я как-то мало про это знаю, т.к. никогда не запускал гамаковские игры на мониторе с 75 герц.
Аноним 17/07/21 Суб 22:02:22 754960 355
>>754958
>game_set_speed(33333, gamespeed_microseconds)

Стоп-стоп. Это поставит на 30 fps
Аноним 17/07/21 Суб 22:09:59 754962 356
>>754960
game_set_speed(16666, gamespeed_microseconds) даст 60 fps
Аноним 17/07/21 Суб 22:28:46 754967 357
Сейчас потестировал, если на мониторе пониженый FPS игра будет работать медленнее, как не повышай game_speed. Пусть у тебя ещё куча fps_real в запасе.
Аноним 19/07/21 Пнд 00:56:06 755260 358
image.png 113Кб, 1920x1080
1920x1080
Юзаю 2.5Д камеру
Появились полосы на тайлах которые ближе всего по глубине к камере
И игра по прежнему тормозит (фпс стабильный и не проседает). Просто подфризивает при движении изредка, очень заметно. Увеличение room_speed до 999 не помогает
Аноним 19/07/21 Пнд 01:07:26 755262 359
Еще и фпс до 55 теперь дропается
Аноним 19/07/21 Пнд 01:29:13 755263 360
Окей, убрал полосы этим

In the tileset resource that you use set the texture border width to a higher value
Аноним 19/07/21 Пнд 10:02:21 755274 361
>>751415
Типа там один юнит броадкастит "Я ударил!"
Все остальные, когда слышат "Я ударил!" смотрят у себя на флаг "выбран" и если он стоит то отрабатывают получение пиздюлины.
Аноним 09/08/21 Пнд 05:42:59 762830 362
>>755274
Ну давай разберём по частям тобой написанное:
Во-первых, непонятно, зачем тебе какие-то глобальные переменные, в которых нужно что-то отсылать.
Во-вторых, я опять же не ебу, что у тебя за код, тащи свою хуйню сюда, телепаты в отпуске.
Аноним 10/08/21 Втр 22:06:15 763169 363
Эту ебалу перевели на модель подписки лол.
Самое время съебнуть на юнити.
https://www.yoyogames.com/en/get
Аноним 10/08/21 Втр 22:09:51 763170 364
>>763169
Да, кстати. Не успел я купить на распродаже базовую версию с поддержкой десктопа и начать изучать, как они переобулись и вскоре стим-версию тоже склоупнут и выебут. Пиздец разочарование, в твиттере тоже вой стоит. Видимо, и правда, придется юньку щупать. Физическое отвращение к любой залупе с подписочной моделью.
Аноним 10/08/21 Втр 23:28:03 763183 365
>>763169
Кстати я вот этого тоже не понял.
Мне сегодня клиент написал чтобы я принял новое лицензионное соглашение. Я принял и продолжил работать, не вникал.

Получается меня на подписку перевели что ли?
Аноним 10/08/21 Втр 23:33:41 763184 366
1.png 14Кб, 771x197
771x197
>>763183
Всё нормально. Тем, у кого уже перманентная лицензия, ничего не угрожает.
Аноним 11/08/21 Срд 00:46:13 763187 367
>>763184
Вроде бы не угрожает. В профиле перманентная лицензия вообще отображается как free мерзость какая, по будущим обновлениям сейчас этим мудакам особой веры нет. Где-то эти костыли рано или поздно вылезут.
Аноним 11/08/21 Срд 10:36:58 763208 368
>>763184
>>763187
На форуме пиздят! Ещё как угрожает: если у вас была перманентная лицензия, то взамен выдаётся 12 месяцев бесплатной подписки по тайеру "инди". У меня в профиле 17 месяцев, хз это глюк или они так расщедрились.
11/08/21 Срд 12:18:06 763217 369
да ёб твою мать...
Аноним 11/08/21 Срд 12:55:08 763224 370
1.png 9Кб, 1139x143
1139x143
>>763208
В моём профиле всё ок вроде.
Аноним 11/08/21 Срд 13:15:34 763230 371
>>763224
Зайди в раздел "subscriptions".
Олсо вангую что через год все "вечные" лицензии обнулятся. Или нельзя будет обновится без покупки подписки. Или ГМ загнётся.
Аноним 11/08/21 Срд 14:53:45 763250 372
>>763230
Бля, реально. Походу на 17 месяцев мне подписку сделали...

Пидоры.
Аноним 11/08/21 Срд 16:09:45 763262 373
>>763250
Котёл, тебе придётся переходить на Годот!
Аноним 11/08/21 Срд 16:10:56 763263 374
>>763262
Для безыгорных гамак бесплатен.
Аноним 11/08/21 Срд 17:50:41 763285 375
>>763230
> Или нельзя будет обновится без покупки подписки
Скорее всего это.
Аноним 11/08/21 Срд 18:30:53 763291 376
>>763285
А я всё равно застрял на 2.2 до тех пор, пока не выпущу Котёл.
Аноним 11/08/21 Срд 20:02:19 763302 377
>>763291
Да тут вопрос не в версии, по большому счету, а в хамском отношении к лояльному клиенту, которому в нынешних условиях всё-таки есть куда свалить. Олды вон до сих пор в шестом фотошопе сидят под ХР и им нормально, главное чтоб для задач хватало, но там и пиратка, а не вот это вот всё.
Аноним 13/08/21 Птн 19:45:28 763670 378
выходи отсюда.mp4 7546Кб, 1920x1080, 00:00:06
1920x1080
Штош, думал перекатить прожект на 2 студию, но пока придется остаться на 1.4
А там уж либо после продаж попробовать перекатить, либо щупать хуюнити/говнот, а то и удк5 ждать. Вот уж современный мир, когда лучший убийца продукта это этот же самый продукт.
Подписка вроде не дорогая, но всё равно противно. А самое уебанское, это то что уже купленное отбирают.
Аноним 26/08/21 Чтв 17:43:03 766190 379
Спрашиваю по поводу звуков, так как ничего об этом не знаю. В гейм мейкере лучше всего для звуковых эффектов использовать какой формат? ogg является лучшим для этого выбором?
Аноним 26/08/21 Чтв 21:05:42 766237 380
>>766190
он там вроде автоматом конвертит все во что ему нужно
Аноним 10/09/21 Птн 12:05:10 768988 381
Тред, видимо, теперь уже посвящён оплакиванию перманентной лицензии и перекатыванию куда угодно (Unity точно удобнее GMS2 для разработки 2D игр?). Однако, начатое надо доделывать. Возник вопрос и, надеюсь, в треде ещё остались адекваты.
Есть ли вшитые шрифты, которые умеют показывать китайские (TC и SC), японские и корейские иероглифы? Ну и хинди ещё збс было бы.
Скачал гугловские CJK из Noto Sans и Noto Serif, но как-то с ними проект вырос с 30 Мб до 190 Мб. Не хотеть этого. С другой стороны, Noto по хорошей лицензии распространяется.
Подсобите советиком, аноны, прошу.
Аноним 10/09/21 Птн 12:23:55 768989 382
>>768988
>Тред, видимо, теперь уже посвящён оплакиванию перманентной
Нет, не посвящён.

>Есть ли вшитые шрифты, которые умеют показывать китайские (TC и SC), японские и корейские иероглифы? Ну и хинди ещё збс было бы.
Ну что значит "вшитые"? Либо ты используешь системный шрифт ОС пользователя, либо прикрепляешь свой шрифт к проекту.

Шрифт с kaji естественно много весит, так что для японцев и китайцев можешь сделать отдельные версии, чтобы остальных кандзями не напрягать. Или использовать системые шрифты, какие у них там широко распространены, я не знаю.

А ещё у меня для тебя хорошая новость. Корейцы уже 60 лет иероглифами не пользуются.
Аноним 10/09/21 Птн 15:06:48 769000 383
>>768989
>Нет, не посвящён.
Прекрасно.

>Ну что значит "вшитые"? Либо ты используешь системный шрифт ОС пользователя, либо прикрепляешь свой шрифт к проекту.
То есть если у меня в самой игре иероглифы не отображаюся, у пользовтелей, живущих в мире иероглифов, будут? В самой студии у меня, кстати, иероглифы прекрасно отображаются. Странно это всё.

>Шрифт с kaji естественно много весит, так что для японцев и китайцев можешь сделать отдельные версии, чтобы остальных кандзями не напрягать. Или использовать системые шрифты, какие у них там широко распространены, я не знаю.
Прекрасный совет, спасибо. То есть общего шрифта для них нет? У Noto там вроде по 30-40к символов, а наиболее часто у азиатов используется 2-8к. Хотя, такие "выборочные" рофлошрифты, наверное, ещё поискать надо.

>А ещё у меня для тебя хорошая новость. Корейцы уже 60 лет иероглифами не пользуются.
Но и латиницей чё-то не особо пользуются чувствую терминологически подъёб.
>
Аноним 10/09/21 Птн 15:23:25 769002 384
>>769000
>Но и латиницей чё-то не особо пользуются чувствую терминологически подъёб

У них свой корейский алфавит слоговый. Наподобие японской каны.

>30-40к символов
Это слишком дохуя, лутый оверкил. Никто столько не знает. 2к школьных иероглифов + 3к связанных с твоей профессией.

>у пользовтелей, живущих в мире иероглифов, будут? В самой студии у меня, кстати, иероглифы прекрасно отображаются

Не знаю. Не тестировал никогда. Но по идее так и должно быть, если ты используешь системные шрифты.
Аноним 10/09/21 Птн 15:38:33 769004 385
>>768988
Ты уверен что твое говно нужно кому-то в китае или японии? Попробуй назвать пару инди-игр от китайцев или японцев. Думаешь там кто-то узнает о твоей игре? Ты тратишь время на хуйню.
Аноним 10/09/21 Птн 15:43:23 769005 386
>>769004
>Ты уверен что твое говно нужно кому-то в китае или японии? Попробуй назвать пару инди-игр от китайцев или японцев. Думаешь там кто-то узнает о твоей игре? Ты тратишь время на хуйню.
Это здоровые амбиции, не обращай внимание.
Аноним 10/09/21 Птн 15:46:06 769007 387
>>769002
>Не знаю. Не тестировал никогда. Но по идее так и должно быть, если ты используешь системные шрифты.
Но у меня в системе иероглифы отображаются. И в самой Studio весь текст корректно отображается. Может быть, проблема с тем, какой фонт задается в коде.
Аноним 10/09/21 Птн 15:54:45 769010 388
>>769007
Ну скинь билд с кандзи.
Запущу у себя просто так, а потом через японскую аплокаль и посмотрю на буквы.
Аноним 10/09/21 Птн 16:00:44 769012 389
>>769010
Я пока не готов её скидывать, однако идея настроить под это виртуалку хороша, спасибо!
Аноним 11/09/21 Суб 17:55:05 769215 390
>>768988
>>768989
>>769002
>>769004
>>769010

Решение проблемы нашлось: к счастью при выборе областей номеров используемых символов при настройке фонтов можно скопировать весь текст и GMS2 сам отберёт только нужные иероглифы и символы.
10/10
Ручаюсь, Юнити3Д так не умеет.
Размер игры снизился со 190 Мб до 35 Мб. Прекрасно. OTFки Фонтов, конечно, сами ещё перед релизом надо будет добавить, но это мелочи.
Аноним 11/09/21 Суб 18:53:50 769216 391
>>769215
>Ручаюсь, Юнити3Д так не умеет
https://docs.unity3d.com/Manual/class-Font.html
Одной галочкой включается. Только отработка ошибок слишком замысловатая.

>When you set the Characters drop-down in the Import Settings to Dynamic, Unity will not pre-generate a texture with all font characters. Instead, it will use the FreeType font rendering engine to create the texture on the fly. This has the advantage that it can save in download size and texture memory, especially when you are using a font which is commonly included in user systems, so you don’t have to include the font data, or when you need to support asian languages or large font sizes
Аноним 11/09/21 Суб 19:23:28 769218 392
>>769216
:-(

Напомните тогда, почему мы пользуемся гамаком?
Аноним 11/09/21 Суб 20:56:36 769230 393
Аноним 12/09/21 Вск 23:28:27 769396 394
>>686540 (OP)
Добрый вечер.
Сегодня купил движок, десктоп версию.
Поясните за грабли новичку.
Аноним 13/09/21 Пнд 00:25:36 769400 395
>>769396
Очищай сурфейсы после создания. На только что созданном сурфейсе может быть нарисовано то, что было нарисовано на уже освобождённом.
Аноним 13/09/21 Пнд 03:24:23 769412 396
>>769396
>грабли
Что это? Это какой-то девелоперский сленг?
Аноним 13/09/21 Пнд 09:47:35 769428 397
>>769414
О, стоп-тайм на гифке. Тоже рекомендую юзать.
Аноним 13/09/21 Пнд 11:53:40 769440 398
>>769230
Местные аноны наверняка знают гамак лучше, чем в движкосраче. Мне просто хочется знать 2-3 главных приемущества гамака и всё. Никаких вопросов, выпадов или какого бы то ни было другого продолжения этого обсуждения с моей стороны не будет.
Аноним 13/09/21 Пнд 12:01:51 769442 399
>>769440
Ну каких тебе "главных преимуществ"?

Простой, удобный, для 2d лучше не найти.
Мультиплатформа.
Сделать можно всё что угодно.
Отличная техподдержка от сотрудников yoyo на форуме (не раз с ними общался) и от обычных пользователей.

Что ещё от движка нужно?

Могу припомнить, что несколько раз сталкивался с багами в гамаке, репортил их и их исправляли.
Аноним 13/09/21 Пнд 12:07:16 769444 400
>>769442
Спасибо за скорый ответ! Примерно так его и видел.
Аноним 24/09/21 Птн 20:56:57 770812 401
Сегодня столкнулся с какой-то лютой жестью в гамаке.

При загрузке комнаты у большинства объектов стал выполняться clean_up евент ДО create event.

Т.е. заходишь в комнату - игра вылетает потому что инстансы выполняют clean_up ивент, в котором нужно освобождать сурфейсы, если они есть. А переменная с указателем на сурфейс ещё не объявлена, т.к. create event ещё не произошёл.

Я убрал код из clean up, игра стала загружаться, create выполнился но все инстансы были невидимы. Хотя по дебагеру было видно что в комнате они есть.

Что это была за хуерга я вообще не понял, потому что через 20 минут попытак дебаганья всё внезапно снова начало работать.

Я могу только предположить что хуйня была как-то связана с потерей интернет соединения во время работы, из-за чего могла как-то пойти по пизде лицензия yoyo и игра ограничила кол-во объектов, которые можно иметь в проекте.

Если у кого-то было что-то подобное. отпишитесь.
Аноним 24/09/21 Птн 22:39:35 770826 402
>>770812
Объекты не перманентные? Хз что у тебя там, но клинап выполняется при окончании комнаты.
Аноним 29/09/21 Срд 16:54:10 771371 403
Сел разбираться с движком и че за херня? Пишу y += speed; А у меня объект по диагонали уезжает. Какого хуя? В туторах оси под прямыми углами стоят.
Аноним 29/09/21 Срд 22:41:51 771413 404
>>771371
Потому что speed - это одна из встроенных переменных, наряду с direction. Объект движется в сторону, определяемую direction (которая по умолчанию равна 0, это вправо) со скоростью, указанной в speed. Соответственно, если ты к этому сверху привяжешь y += speed, объект будет двигаться по диагонали. Делай кастомные переменные типа spd, тогда будет двигать только вниз.
Аноним 11/10/21 Пнд 17:32:27 772521 405
image.png 1366Кб, 1280x720
1280x720
Подскажите, имеет ли смысл пилить РПГМ-подобную игру (aka пикрил) на GMS, а не на, собственно, RPGM? А то я чет спонтанно купил гамак, а потом подумал, не проще ли херачить игру на вроде бы специально заточенном под это движке. Хотя Undertale же сделан на нем, значит, препятствий по факту нет.
Аноним 11/10/21 Пнд 21:27:34 772564 406
>>772521
>Подскажите, имеет ли смысл пилить РПГМ-подобную игру (aka пикрил) на GMS, а не на, собственно, RPGM?
Нет. Другое дело, что ГМС для более серьёзного и гибкого геймдева, даром, что относительно простой в освоении. РПГМейкер - это больше конструктор с прямыми указаниями типа "один шаг влево" (минус всякие кастомные скрипты, без которых даже размер окна нельзя поменять из коробки).
Аноним 26/10/21 Втр 12:41:02 774720 407
Аноним 02/11/21 Втр 22:42:09 775818 408
Доброго времени суток

Собираюсь приобрести стим версию для декстопа, но не могу выкупить за лицензию, мне дадут 12 месяцев инди варианта подписки или же перманентную лицуху??

Ну и стоит ли оно того вообще или же рассмотреть другие варианты?
Аноним 02/11/21 Втр 22:53:31 775820 409
>>775818
>перманентную лицуху
Это. Один раз покупаешь в стиме и оно закрепляется за акком.
>Ну и стоит ли оно того вообще или же рассмотреть другие варианты?
В плане? Другой движок или что?
Аноним 02/11/21 Втр 23:11:52 775821 410
>>775820

>В плане? Другой движок или что?
Да, в далёком будущем хотелось бы делать какие-нибудь прикольные проектики, что-то по интереснее чем платформеры по гайдам, и выкладывать их на какой-нибудь itch.io или даже стим.

И вот что лучше для этого гамак, unity или какой нибудь unreal с годотом?)
Аноним 03/11/21 Срд 01:24:41 775828 411
.jpg 230Кб, 1912x1072
1912x1072
.jpg 424Кб, 1920x1080
1920x1080
.jpg 684Кб, 1920x1080
1920x1080
.jpg 197Кб, 1920x1080
1920x1080
>>775821
>Да, в далёком будущем хотелось бы делать какие-нибудь прикольные проектики, что-то по интереснее чем платформеры по гайдам, и выкладывать их на какой-нибудь itch.io или даже стим.
Ну есть дофига игр на гамаке, например, многие из них публикуются в стиме, выглядят некисло.
>платформеры по гайдам
Такое больше нужно для тех, кто вообще ничего в кодинге не понимает: объяснить принцип работы переменных и объектов, функции, вот это вот всё.
>И вот что лучше для этого гамак, unity или какой нибудь unreal с годотом?)
Ну я как адепт церкви гамака должен тебя склонить к оному, но я хотя бы объясню, почему: хороший движок с понятным интерфейсом, в котором чётко видно, где какой объект/скрипт и как он будет работать/вязаться с другими, багов по минимуму, да и то они фиксятся довольно быстро. Производительность выше по сравнению с тем же юнити да у чего угодно она блять выше, чем у юнити.
Короче, если тебе нужен удобный движок для 2Д игр на самом деле гамак ещё и в 3Д может с минимальным порогом вхождения, то вот, пожалуйста. Сам попробуй что-нибудь потыкать: у гамака есть трайл версия, с которой недавно сняли ограничение по времени, то есть ты в ней только собирать экзэшники не сможешь. Посмотри, что да как, если чего непонятно - обращайся сюда.
Аноним 03/11/21 Срд 10:29:31 775852 412
>>775828
Юнити позволяет создавать крутой визуал благодаря сочетанию 2д и 3д, а что там за 3д в гамаке я хз.
На самом деле юзаю юнити, т.к. просто лучше в нем шарю.

мимо
Аноним 03/11/21 Срд 14:21:36 775883 413
.png 2367Кб, 1920x1080
1920x1080
>>775852
>а что там за 3д в гамаке я хз
Ну вон выше полноценный тридэ проект на гамаке. Есть игры по типу Titan Souls, которые совмещают в себе 3Д и 2Д в топ-даун перспективе. Челик с этой доски делает арчтавер, правда на 1.4.
Аноним 03/11/21 Срд 14:28:28 775886 414
>>775818
>Собираюсь приобрести
>рассмотреть другие варианты?
Да, рассмотри Godot, он на 100% бесплатный и в 2D может не хуже GMS. Жалко что ли 36 МБ с официального сайта скачать без какой-либо установки? А официальные мануал с туториалами очень хорошо поясняют, как что-то сделать.
Аноним 03/11/21 Срд 21:25:15 776017 415
>>775828

Спасибо, анон, за развёрнутый ответ, буду ждать скидон на лицензию, а пока поковыряю триал версию
Аноним 13/11/21 Суб 14:55:55 777287 416
Я объявляю константы в create event объекта o_Controller
Например

#macro PLAYER_WALK_SPEED 15
#macro PLAYER_JUMP_BUFFER 20

Есть разница, буду я это делать так, либо в Creation Code румы?
Аноним 19/11/21 Птн 11:28:04 777905 417
Посоны, где скачать более-менее свежий гамак с кряком? Интересует преимущественно десктоп.
Нахожу только старые версии.
Аноним 19/11/21 Птн 14:04:55 777917 418
>>777905
>где скачать более-менее свежий гамак
https://www.yoyogames.com/ru

>с кряком
Нигде.

А зачем? Он же практически бесплатный.
Аноним 19/11/21 Птн 14:13:47 777921 419
>>777917
>А зачем?
Чет жаба душит $50 отдавать. Если уж в стим пойду, то куплю, да.
Аноним 19/11/21 Птн 14:18:26 777923 420
>>777921
>Чет жаба душит $50 отдавать

За что ты собрался 50$ отдавать? Ты точно ходил по ссылке? Попробуй ещё раз, может быть ты всё-таки сумеешь найти там кнопку "бесплатно"? (Она там слева внизу)
https://www.yoyogames.com/ru/get

Когда (никогда) понадобится сделать билд на пека заплатишь 82 рубля за месяц лицензии или скинешь свой проект в тред, чтобы тебе билд кто-нибудь сделал.
Аноним 19/11/21 Птн 14:23:11 777925 421
>>777923
Вот блин, спасибо. Я в стиме смотрел. Я так понял запуск проекта бесплатен, а компилятор платный?

>заплатишь 82 рубля
У меня 5 баксов написано.

Аноним 19/11/21 Птн 21:18:49 777978 422
Ребят, в последний раз пользовался версией 8.1. С тех пор большие изменения произошли? Сейчас без проблем вкачусь? Можете вкратце рассказать что изменилось с тех пор?
Аноним 19/11/21 Птн 21:57:58 777989 423
>>777978
>Ребят, в последний раз пользовался версией 8.1. С тех пор большие изменения произошли?
Не просто изменения, а глобальный оверхол почти всего, хотя суть осталась всё та же.
>Сейчас без проблем вкачусь?
Да.
>Можете вкратце рассказать что изменилось с тех пор?
Если вкратце, то подтянули интерфейс и производительность, добавили новых фич. Девочка уже совсем большая, теперь это не просто Gamemaker, это GameMaker Studio 2(.3.6).
Аноним 19/11/21 Птн 22:50:44 777995 424
>>777989
А синтаксис поменялся? Функции те же?
Аноним 21/11/21 Вск 09:25:40 778107 425
>>777995
>А синтаксис поменялся? Функции те же?
По большей части всё то же самое, скорее добавили новые функции к уже существующим, чтобы не пердолиться. В любом случае, освоить всё это не так уж трудно.
Аноним 21/11/21 Вск 11:34:16 778114 426
>>772521
Твой пикрил как раз хороший пример того, что можно было бы сделать на любом другом движке кроме RPG Maker'а. Зачем брать движок для РПГ, если ты не пользуешься ни чем кроме системы диалогов?
Аноним 21/11/21 Вск 11:39:23 778115 427
>>777995
Какая разница что поменялось в синтаксисе, если его детали с 99% вероятностью ты уже не помнишь? С выхода гамака 8.1 уже лет 10 прошло и если ты его тогда в последний раз трогал то сейчас все равно переучиваться.
Аноним 22/11/21 Пнд 11:19:35 778227 428
>>778107
Понял, спасибо!

>>778115
Все основные функции помню. Достаточно серьезно задрачивал его в те времена.
Аноним 23/11/21 Втр 12:02:19 778319 429
Ребят, не могу понять как создавать файлы и папки в гмс.
Например хочу сделать редактор уровней и хочу сохранять в файл папка_с_игрой/levels.txt
Пишу такой код
file_text_open_write("levels.txt");
или
file_text_open_write(working_directory + "levels.txt");
но нигде не могу найти созданный файл. Ни в папке с проектом (datafiles), ни в временной папке. Что я делаю не так?
Аноним 23/11/21 Втр 12:58:39 778322 430
>>778319
Не пробовал например сделать show_debug_message(working_directory + "levels.txt")

чисто так сказать потыкать везде и проверить где обосрался?
Аноним 23/11/21 Втр 13:31:28 778324 431
image.png 173Кб, 1920x1080
1920x1080
>>778322
Пробовал.

Чет хуйню какую-то сделали в студии. Раньше намного удобнее было.
Аноним 23/11/21 Втр 13:50:57 778326 432
1.png 19Кб, 531x201
531x201
>>778319
Файлы, которые ты создаёшь в игре (твои сейвы, текущие конфиги или твой levels.txt создаются в сэндбоксе во временной папке C:\Users\твой юзернейм\AppData\Local\название твоего проекта

Если ты захочешь прикрепить свой файл к проекту, то жми на кнопку, как на пикрил.
Прикреплённый к игре файл нельзя редактировать из игры. Игра не имеет права write к любым файлам на диске пользователя, только к файлам в разрешённой ей временной папке.
Аноним 23/11/21 Втр 13:53:55 778327 433
>>778326
Понял. Спасибо, анон!
Аноним 30/11/21 Втр 00:58:58 779142 434
Дружочки-пирожочки, доброй ночи. Подумываю наговнокодить и, видимо, наговнарисовать суперкрутую игру пушка 10/10. Начал потихоньку пилить прототип и накидывать идеи в блокнотик. Планирую делать тактику в изометрии или около того. Для статичного окружения подумываю использовать спрайт стакинг. Это рабочий вообще вариант? В том плане, удержится ли фпс, если будет сотня другая обьектов рисоваться подобным образом?
Аноним 02/12/21 Чтв 10:18:58 779535 435
Аноним 03/12/21 Птн 06:20:11 779648 436
>>779535
В гамак? У меня сложилось впечатление, что у меня срака треснет делать там 3д.
Аноним 03/12/21 Птн 11:34:34 779662 437
.mp4 4002Кб, 960x540, 00:00:15
960x540
>>779142
Если тактика, то вполне. Гамак ещё на 1.4 выдерживал 100+ объектов, которые постоянно двигались туда-сюда. Другой вопрос: дойдёт ли у тебя до этих 100 объектов?
Аноним 03/12/21 Птн 11:50:23 779663 438
>>779662
Охуенно, прямо наглядно видно, как фпс ещё на загрузке провалился ниже плинтуса.
Аноним 03/12/21 Птн 14:04:14 779670 439
Так, Аноны, ситуейшн такая.
Года 4 назад пытался сделать игру, но сдох комп еще на моменте анимаций персонажа. Щас через дохуя времени у меня вновь зачесалась простата желание дрочить гамак.
Коротко - игра 2д-платформер типа КатанаЗеро в стиле Хотлайна.
Что изменилось за последние несколько лет?
Аноним 03/12/21 Птн 15:07:55 779677 440
>>779663
Ну смотри: на прошлом зачищенном уровне у них всё летало, хотя была куча трупов, у которых есть физон при смерте (они отлетают и при смерти), плюс их можно взорвать или воскресить. Ещё там куча стволов, которые можно брать, партиклы, эффекты горящей земли и прочее говно, плюс два персонажа. На следующем уровне овердохуя (500+) противников с разными паттернами поведения, плюс всё вышеназванное. И это ещё на 1.4 с его производительностью. Тебе на двойке хватит твоего пошага на сто объектов с головой.
Аноним 03/12/21 Птн 19:29:58 779721 441
>>779648
Не так сложно, как кажется, но хоть стекинг и проще реализовать, наверное, будет, но думаю по оптимизации модели лучше будут.
Аноним 03/12/21 Птн 19:30:55 779722 442
>>779677
Понял.

Пс. На фпс кто-то другой вонял. Не я.
Аноним 03/12/21 Птн 19:41:14 779723 443
>>779721
Я глянул гамако дискорд, раздел 3д, там чет уныленько на самом деле. И в целом не советуют без опыта лезть. Правда и в стакинге я пока застрял, т.к. планировал манипулировать с depth с помощью косинуса угла камеры до обьекта, а он сука такая только 2 знака после запятой и этого мало((((((( стакинг я выбрал щоб камеру вертеть офк и там депс супер критично настроить.
Аноним 04/12/21 Суб 03:20:32 779775 444
>>686540 (OP)
Проснулся в 3 часа ночи, почистил мандаринку и подумал о том, что мой теоритический метод определения depth если и будет работать, то только с объектами в один тайл размером, чего не хотелось бы. Ебаное программирование игрушка сатаны.
Аноним 04/12/21 Суб 10:01:20 779787 445
Инсайдерские англюсикоблядки, в гамаке в апдейтах вообще запланировано встроенное освещение, по типу слоя эффектов?
Аноним 07/12/21 Втр 04:19:56 780181 446
2021-12-07 04-1[...].webm 9567Кб, 1920x1200, 00:00:17
1920x1200
Стоило вдумчиво посидеть вместо прокрастинации и депф даже вроде заработал
Аноним 31/12/21 Птн 07:45:08 782778 447
Такой вопрос. Мне нужно завершить сетевую игру, условием победы является 10 фрагов одного из игроков. Объекты сервера и клиента разнесены по разным комнатам. На сервере, прямо в скрипте передачи пакета от сервера к клиенту, вставил строчку, if player_kill = 10 {network_destroy(server)} и она работает. Из этого скрипты так же могу вытащить переменную имени того, кто набил 10 фрагов. Так вот. Куда мне лучше присвоить эту переменную, чтобы передать всем участникам? Как перекинуть всех в новую комнату завершения игры?
Аноним 03/01/22 Пнд 02:18:00 783236 448
Поясните за 2D массивы в юнити.
Почему это не работает?
lightBulb1[0] = [3,2,1,0,1,2,3];
lightBulb1[1] = [3,2,1,0,1,2,3];
lightBulb1[2] = [3,3,2,1,2,3,3];
lightBulb1[3] = [3,3,3,2,3,3,3];
for (var v=0; v<3;v++)
{
for (var h=0; h<6;h++)
{
show_debug_message(string(lightBulb1[v,h]));
}
}
Ошибка:
Push :: Execution Error - Variable Index [0,4] out of range [1,4] - -1.lightBulb1(100012,4)
Когда вот так задаю массив, тоже не работает.
lightBulb1 = [[3,2,1,0,1,2,3],
[3,2,1,0,1,2,3],
[3,3,2,1,2,3,3],
[3,3,3,2,3,3,3],];
Гамак 2.2.5
Аноним 03/01/22 Пнд 02:23:02 783237 449
>>783236
>в юнити.
Хуюнити, блядь. Пока мотал /gd в поисках ламповейшего треда, взгляд зацепился за юнитеблядков, сорян.
Аноним 03/01/22 Пнд 03:14:20 783238 450
>>783236
Во втором варианте запятую в конце убери
Аноним 03/01/22 Пнд 03:28:26 783243 451
>>783236
>>783239
Дело говорит. И в дебаг меседж мне кажется еще стринг залупаться будет, типо для чего он вписан вообще? Я такого синтаксиса не помню на вскидку.
Аноним 03/01/22 Пнд 03:44:15 783246 452
>>783238
Убирал, не помогало. С запятой на каком-то форуме увидел.
>>783239
Тоже пробовал, не работает.
>>783243
Дебаг месседж только стринги выводит, чтобы переменную вывести - надо её в стринг сконвертить, для этого и стринг.
Спасибо, посоны, за попытку помочь.
В итоге плюнул и сделал одномерный массив, и вывожу как
lightBulb1[v+h*6].
Аноним 03/01/22 Пнд 04:19:02 783248 453
>>783246
Дебаг выводит значение любого типа. Быстрый поиск в мануале функции стринг() выдает ожидаемое ничего. Второй вариант создания массива без запятой в конце является правильным, в мануале он есть.
Аноним 03/01/22 Пнд 04:26:29 783249 454
>>783248
Гоню, есть такая функция. С мобилы не нашел, с компа нашел)
Аноним 03/01/22 Пнд 04:51:25 783250 455
>>783246
Даже вздрочился с кровати за комп проверил, все работает. Массив создавал как твой второй вариант, только без последней запятой, потому что не может так быть, чтоб у тебя один уровень массива оканчивался запятой, а другой нет. Скопировал твои форы и написал нормально индексы [v][h]. А еще при создании не помню точку с запятой писал или нет в конце. В мануале вроде ее не надо ставить.
Аноним 03/01/22 Пнд 05:28:51 783251 456
Насчет первого способа чет вообще хз. Поидее бульб[0] =[] инициализирует массив бульб с одной ячейкой. Т.е. тут нет указания на то, что вложенное в эти скобки тоже является массивом и типо надо инициализировать через [[]]; тогда у меня возникает вопрос, а чем в первом случае является числа через запятую?
Аноним 03/01/22 Пнд 14:12:00 783307 457
>>783247
Судя по мануалу она есть, как "массив массивов". Т.е. у тебя одномерный массив одномерных массивов. Что, собственно, и иллюстрирует запись выше.
>>783248
>Дебаг выводит значение любого типа.
Даже при автозаполнении он в подсказке пишет: show_debug_message(str)
...посмотрел в мануале:
"Note that the message can be either a string or a real number, but if you need both then the number will have to be converted to string first using the string function"
Действительно, ты прав. Больше не буду стринги писать.
>>783250
Да как так-то? Вот я написал:
lightBulb3 = [[3,2,1,0,1,2,3],
[3,2,1,0,1,2,3],
[3,3,2,1,2,3,3],
[3,3,3,2,3,3,3]];

Правильно? Как мне теперь к нему обратиться?
content = lightBulb3 [[2],[3]];
show_debug_message(content);

Выдаёт 2 в output, но вылетает с ошибкой:
DoConv :1: illegal array use at gml_Object_main_level_Create_0 (line 39) - content = lightBulb3[[2],[3]];

content = lightBulb3[[2][3]];
Object: main_level Event: Create at line 39 : got '[' expected ',' or ']'
Object: main_level Event: Create at line 39 : malformed assignment statement

content = lightBulb3[2,3];
Тоже выдаёт 2, но вылетает с другой ошибкой:
Push :: Execution Error - Variable Index [2,3] out of range [1,-1] - -1.lightBulb3(100015,64003)
at gml_Object_main_level_Create_0 (line 39) - content = lightBulb3[2,3];

Может в GML2.3 всё работает, а в GML2.2 - нет?
Аноним 03/01/22 Пнд 14:15:26 783308 458
>>783307
>Выдаёт 2 в output
>Тоже выдаёт 2
Прошу прощения, это выдавал другой debug. Т.е. во всех трёх случаях ничего не работает никак.
Аноним 03/01/22 Пнд 16:00:16 783334 459
>>783307
Bulb[1][0];. Такая конструкция выдает содержимое. Просто две квадратные скобки без запятых между ними, не вложенные никуда.
Аноним 03/01/22 Пнд 18:01:55 783356 460
>>783334
Только не у меня.
lightBulb3 = [[3,2,1,0,1,2,3],
[3,2,1,0,1,2,3],
[3,3,2,1,2,3,3],
[3,3,3,2,3,3,3]];
content = lightBulb3[1][0];

Object: main_level Event: Create at line 38 : Assignment operator expected
Object: main_level Event: Create at line 38 : malformed assignment statement
Аноним 03/01/22 Пнд 18:03:09 783357 461
>>783356
а что у тебя на 38 лайне?
Аноним 03/01/22 Пнд 18:17:50 783361 462
>>783356
просто скопировал твой код в криейт ивент рандомного объекта. все работает. поселдняя версия стоит гмс2. в предыдущей тоже работало.
Аноним 04/01/22 Втр 02:39:36 783470 463
>>783357
>content = lightBulb3[1][0];
Т.е. что-то он создаёт, а как это прочитать - хз.
к слову, если написать
content = lightBulb3[1];
show_debug_message(content);
То он выдаёт в Output
{ { 3,2,1,0,1,2,3 }, }
>>783361
Для верности, скопировал этот код в новый объект - монопенисуально.
У меня 2.2.5. Чтобы не тратить время добрых людей предлагаю считать, что в мою версию такого хайтека как двумерные массивы тогда ещё не завезли.
Аноним 04/01/22 Втр 03:32:19 783474 464
>>783470
>{ { 3,2,1,0,1,2,3 }, }

[ 3,2,1,0,1,2,3 ] должен быть такой аутпут с content = lightBulb3[1];

>У меня 2.2.5. Чтобы не тратить время добрых людей предлагаю считать, что в мою версию такого хайтека как двумерные массивы тогда ещё не завезли.

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

и мне ошибка в 38лайне не нравится. он не ругается, что ты индексы ячеек кривые задаешь на оутпут, он ругается на оператор присваивания почему-то.
Аноним 04/01/22 Втр 13:34:28 783515 465
>>783474
Спасибо, друг, забей. Слишком много времени отняло уже, проблему обошёл, буду пилить дальше.
>он ругается на оператор присваивания почему-то.
Я думал, что на то что просто "=" а не ":=", но оба варианта, похоже, одинаковы. Ошибка, во всяком случае, остаётся.
Всё. Хуйсним.
Аноним 04/01/22 Втр 23:20:07 783679 466
Есть какое-либо целостное хранилище инструкций как правильно реализовать те или иные функции для игр, которые обычно реализуют неправильно? Как через тот же place_meeting.
Или же какое-то хранилище скриптов, которые можно использовать у себя?
Аноним 05/01/22 Срд 00:34:24 783686 467
>>783679
Не совсем понятно, что именно ты хочешь. Типа как не допускать спагетти говнокода или что?
Аноним 05/01/22 Срд 21:33:55 783825 468
хочу сделать противника который будет идти ко мне сам и не проходить сквозь меня и стены, написал в обьекте монстра скрипт
phy_position_x += sign (obj_player.x - x) speed_enemy;
phy_position_y += sign (obj_player.y - y)
speed_enemy;
То есть, он должен идти ко мне сам, но почему-то мне выдаёт ошибку. Не могу понять почему, обрыл интернет что-бы найти ответ на вопрос.
После запуска игры выдаёт ошибку в консоли


___________________________________________
############################################################################################
ERROR in
action number 1
of Step Event0
for object obj_monster:

DoAdd :2: undefined value
at gml_Object_obj_monster_Step_0 (line 5) - phy_position_x += sign (obj_player.x - x) * speed_enemy;
############################################################################################
gml_Object_obj_monster_Step_0 (line 5)

в чём проблема и как её решить ?
Аноним 05/01/22 Срд 22:29:51 783836 469
>>783825
Real (single precision floating point value, or undefined if the instance is not physics enabled)

DoAdd :2: undefined value
Аноним 05/01/22 Срд 22:42:34 783837 470
>>783825
А у меня такой вопрос еще. А ты уверен, что obj_player.x - что-то тебе передает вообще? Ну типо я конечно подозреваю, что в данном случае он дает х от рандомного обж.плеер и так как он один, то получаем как надо, но все же? У тебя же тут не конкретизируется экземпляр объекта.
Аноним 11/01/22 Втр 02:25:16 784742 471
Ребята, вот у меня есть несколько объектов, например:
enemy1
enemy2
enemy3
Есть несколько инстансов каждого в руме. Мне нужно к ним ко всем применить некое действие (например - убить).
Для одного я пишу цикл:
for (var i = 0; i < instance_number(enemy1); ++i;) {убить};
А можно как-нибудь изящно в одном цикле всех обойти?
Т.е., по сути - получить ссылки на все объекты с маской "enemy*".

Пока писал придумал, что можно каждому в криейт сказать, чтобы записывал свой айдишник в массив all_enemies[], лежащий в том объекте, где осуществляется обработка.

Может есть лучше способ? Потому что в таком случае непонятно, что делать, когда один из объектов убирается.
Аноним 11/01/22 Втр 16:37:14 784860 472
>>784742
Можно создать родительский объект obj_enemy и сделать всех врагов детьми этого объекта.

После чего применять
with obj_enemy
{
hp = 0
painfull_death_flag = true
}
Аноним 11/01/22 Втр 17:21:09 784876 473
>>784860
Оооо!
Спасибо!
Так вот для чего все эти дети-родители нужны.
Аноним 11/01/22 Втр 17:23:07 784877 474
>>784860
>with obj_enemy
А это в цикле юзать или как? Типа цикл, как у меня выше, только вместо enemy1 - тот родительский объект?
Аноним 11/01/22 Втр 17:25:16 784878 475
>>784877
он тебе код уже полностью написал, не надо никаких циклов, если ты даешь команду родительскому объекту, то ее получают все дети.
Аноним 11/01/22 Втр 23:56:07 784908 476
>>784878
Спасибо, хлопцы, всё работает!
Аноним 12/01/22 Срд 00:08:52 784909 477
Что за чертовщина: когд добавляю в сцену больше трёх объектов - перестаёт работать код?! Пофигу, что это за объекты - даже свежесозданные пустышки.
Если их три - всё зашибись, добавляю четвёртый - не работает.
Ошибки нет, просто не делает то, что должен. У меня код ставит и убирает тайлы на разных тайловых слоях - ничего сложного не делает. Освещение тайловое. Т.е. с объектами вообще никак не взаимодействует!
Аноним 12/01/22 Срд 00:21:28 784910 478
>>784909
Не бывает такого.

Включи режим дебага и пройдись строчка за строчкой.
Аноним 12/01/22 Срд 00:53:58 784917 479
>>784910
В общем, проблема в определении размера тайловой карты. Вот этот код работает при 4 объектах, но не работает при 5:
В сцене 4 слоя:
Instances (тут 4 объекта - main, в котором весь код и 3 пустышки.)
Dynamic_light (на момент запуска пустой)
Static_light (содержит тайловую карту статичного освещения)
Room_base (содержит тайловую карту уровня)

Этот код лежит в Create. Больше никакого работающего кода в проекте нет (Step закомменчен).
layBase = layer_get_id("Room_base");
layStaticLight = layer_get_id("Static_light");
mapStaticLightId = layer_tilemap_get_id(layStaticLight);
layDynamicLight = layer_get_id("Dynamic_light");
global.mapDynamicLightId = layer_tilemap_get_id(layDynamicLight);
mapSizeX = tilemap_get_width(layBase);
mapSizeY = tilemap_get_height(layBase);

for (var v=0; v< mapSizeY; v++)
{
for (var h=0; h< mapSizeX; h++)
{
//get
var dataLight = tilemap_get(mapStaticLightId, v, h);
tilemap_set(global.mapDynamicLightId, dataLight, v, h);
}
}
Если в проекте всего 4 объекта, то размер карты mapSizeY и mapSizeX определяется нормально, и всё работает.
Если в проект добавить ещё один объект, то mapSizeY и mapSizeX становятся равны -1, и цикл for игнорируется.
Если вручную задать вместо mapSizeY и mapSizeX какие-нибудь цифры - то снова работает.
Такие дела.
Какой-то пиздец.
Аноним 12/01/22 Срд 01:02:46 784918 480
>>784917
Пилять, поставь брекпоинт в том месте, где код не исполняется и скинь проджект на гугл драйв.
Аноним 12/01/22 Срд 01:06:29 784919 481
>>784917
>Если в проекте всего 4 объекта, то размер карты mapSizeY и mapSizeX определяется нормально, и всё работает.
Если в проект добавить ещё один объект, то mapSizeY и mapSizeX становятся равны -1, и цикл for игнорируется.

Значит ты не можешь получить значения ширины и высоты слоя layBase.

Скорее всего ты даже не можешь получить его правильный id выполняя layBase = layer_get_id("Room_base");

Ты всю эту малафью делаешь в create event объектов. Скорее всего у тебя косяк с порядком исполнения кода. Проверь Instance creation order в комнате.
Аноним 12/01/22 Срд 01:17:30 784922 482
>>784918
Всё, я разобрался.
У меня в
tilemap_get_width(layBase);
layBase = layer_get_id("Room_base");
Т.е. ссылка не на карту, а на слой.
Если добавить
mapBaseId = layer_tilemap_get_id(layBase);
И брать размеры с правильной ссылки - всё работает:
tilemap_get_width(mapBaseId );

Странно, почему при количестве объектов <5 работает и layBase... но я рад, что удалось всё починить. Я уже практически настоящий программист, гы.
Аноним 12/01/22 Срд 01:30:21 784924 483
>>784922
>Странно, почему при количестве объектов <5 работает и layBase.
Потому что тебе просто повезло угадать со значением. id слоя это просто число. Оно может меняться.
Аноним 07/02/22 Пнд 02:21:59 789778 484
image.png 36Кб, 1032x633
1032x633
Слева - тайл в самой игре (кривой), справа - тайл на превью в конструкторе комнаты (нормальный). В игре почему-то он с меньшим разрешением. Проблема только на двух слоях с одинаковым тайлсетом. Кто-нибудь знает как фиксить?
И вообще постоянно баги случаются когда меняю что-то в тайлсете и обновляю его.
Аноним 07/02/22 Пнд 02:43:07 789779 485
>>789778
Уменьшил размер тайлсета - стало норм. Но в чем суть так и не понял.
Аноним 16/02/22 Срд 09:39:24 791488 486
image.png 80Кб, 225x225
225x225
мужчины подскажите. уже 3 месяц ковыряю почти с нуля гамак. с переменным успехом прошел курс на юдеми и френдлиастронавт но сам почти ничего не могу сделать. у всех так или я прост одаренный и стоит бросить это все?
Аноним 16/02/22 Срд 09:59:04 791492 487
>>791488
У всех, ковыряй дальше, и работай над своим ментальным восприятием. Подходи к любому вопросу не с мыслью "А что если не получится?", а с мыслью "А что если получится?", каждая неудача это +100XP, любое действие, даже самое маленькое, например тупо поковыряться в гамаке 5 минут, пытаясь сделать что ты хочешь - это шажочек в сторону твоей цели.
Аноним 16/02/22 Срд 13:41:27 791506 488
>>791488
Как ты объясняешь это для себя? Ведь на курсах чему-то же учили. Есть какие претензии к курсам?
Аноним 16/02/22 Срд 15:13:58 791517 489
>>791506
К курсам никаких претензий, особенно если второй раз смотреть уже с какой то базой. не получается что то сделать нестандартное, что не разбирали в курсе. Условно сделать файтинг, как планировал, даже не могу начать не знаю с какой стороны подступиться, даже Стейт машину не могу составить уже неделю.
Я конечно же не целый день работаю, только вечерами 1-3 часа в день.
Аноним 16/02/22 Срд 18:28:04 791564 490
>>791517
начни хоть с чего-то лол. сделай всратую стейт машину и неправильную. когда упрешься в ее всратость, поймешь что тебе в ней мешает, переделаешь код и т.д. А так скорее всего ты не концентрируешься на задаче и нехуя не делаешь на самом деле. Типа сядешь на свои 1-3 часа из который 2.99 выбираешь музыку для кодинга и кипятишь чай.
Аноним 16/02/22 Срд 19:24:29 791578 491
image.png 604Кб, 802x554
802x554
>>791564
>Типа сядешь на свои 1-3 часа из который 2.99 выбираешь музыку для кодинга и кипятишь чай.
Ну ты и мразь. Я как раз сидел пил кофе, курил и слушал музон скролля двачи уже почти три часа когда вдруг напоролся на твой пост.
Аноним 16/02/22 Срд 20:05:54 791592 492
Аноним 16/02/22 Срд 20:14:38 791593 493
>>791488
Так а что не получается? Опиши, что ты хочешь сделать, и что именно не выходит.
>курс на юдеми
Ну ты и кек.
Аноним 16/02/22 Срд 20:47:45 791598 494
>>791593
А чо? Я хз где брать описание задач, на Ютубе или слишком одинаковые или какие то всратые. Официальный форум не сильно помогает там каждый второй вопрос "как сделать передвижение, как сделать анимацию"
Аноним 16/02/22 Срд 20:55:02 791600 495
>>791598
А что конкретно ты хочешь сделать? Аркаду, платформер, внку?
Аноним 16/02/22 Срд 21:17:14 791602 496
>>791600
хотел платформер солузлайк, потом понял что как то не вывожу, решил попроще платформер тип контры, но пока осилил только передвижение и то большую часть взял из курсов что уже прошел.
вообще я рисовал раньше, делал демку и один чел с меня взял 15к сделав вообще столько сколько я сделал, после 3 месяцев обучения, за час.
Аноним 16/02/22 Срд 21:31:17 791604 497
>>791602
Ну для начала тебе нужно общее понимание того, как в гамаке работают переменные и скрипты, для этого я бы посоветовал сделать что-то совсем примитивное, типа кликера, или вон посмотреть туториалы по созданию инвентарей (у Сполдинга вон недавно было). У меня примерно так же было, я не мог понять, как и что работает, потом приучился, глядя на чужой код.
Аноним 21/02/22 Пнд 21:55:26 792590 498
Сто лет гамаком не пользовался. Когда-то покупал лицуху в стиме, а сейчас гамак перешел на подписку и были некоторые непонятки с тем, как они поступят со старыми покупателями. Сами гамаковцы клялись, что у них все будет вечно работать.
Сейчас зашел в дашборд на сайт, там хер пойми что, Free Permanent, подписка на Creator (12 months free), хуе-мое. Объясните, я уже наебан гамаком?
Аноним 21/02/22 Пнд 22:26:14 792599 499
>>792590
Если покупал в стиме, то проблем не должно быть. Что у тебя не так выходит?
Аноним 13/03/22 Вск 19:28:38 795254 500
Йоу!
Кто-нибудь тут пользуется GMEdit? Интересно, есть ли возможность экспорта проекта в .exe, имея компилятор на случай оффлайн разработки :-(
Нашёл плагин buildier и его форк, однако оба ВРОДЕ только позволяют запускать проект, но не экспортировать собранное.
Может надо какие-то аргументы где-то написать, чтобы экзешник создавался?
Авторы пишут, что этот плагин работает с настройками компилятора. Может в GMS2 надо что-то настроить, чтобы всегда создавались экзешники?

Или может есть ещё какие варики? О крякнутой студии думать пока не очень хочется.
Аноним 23/03/22 Срд 07:04:10 796085 501
Тред обмяк? Аноны перекатились куда-то? Где все?

Вопрос актуален: >>795254
Могу только добавить, что купил на торрентах нужные крякнутые версии, но антивирус ругается на приложенные файлы, что неудивительно, но немного пока раздражает и антивирус отрубать пока желания нет.
Аноним 01/04/22 Птн 00:02:14 796973 502
Аноним !! 29/07/23 Суб 03:39:30 890336 503
проверка старого трипкода в мертвом треде
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов