Gamedev


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
1008 89 378

Gamemaker Thread Аноним 23/08/17 Срд 16:41:21 4395611
Newspost.png.png (258Кб, 1120x640)
1120x640
Почему бы не создать ламповый гм-тредик?
Обсуждаем, обмениваемся опытом, задаем вопросы.

Относительно недавно вышла вторая версия: GameMaker Studio 2, пиратки которой еще нет.
Стало НАМНОГО удобнее работать с тайлами, слои тоже помогают.

Так-то 1.4 может все то же, что и двойка, поэтому если жалко бабла, можно писать на старой версии. Но двойку будут развивать и она будет становиться только лучше.
Аноним 23/08/17 Срд 20:31:04 4395952
>>439561 (OP)
Двойка - недоделанная параша. Лагающая, забагованная и неудобная.
А 1.4 я купил с кучей индюшатины на хамбл бандле за 15 бачей и не жалею.
Аноним 23/08/17 Срд 20:34:33 4395983
>>439595
> Лагающая
Обнови пеку для учебы

>забагованная
Список багов в студию

>неудобная
Хз. я после 1.4 просто кайфую от скорости своей работы.
Аноним 23/08/17 Срд 22:52:38 4396204
>Обнови пеку для учебы
У меня на десятилетнем ПК летает.

>Список багов в студию
А вот один баг я лично отрепортил. Функция keyboard_key_press в step event при 60 fps вызывала утечку памяти, крашила игру через некоторое время и не позволяла запуститься дебагеру - крашила его сходу. Понять в чём причина было очень тяжело.

>Хз. я после 1.4 просто кайфую от скорости своей работы.
Я периодически открываю 1.4 для туториалов. 2 намного удобней. Но воркспейсы всё равно недобработаны. Должно быть как-то по другому. То что есть - годится только для драг-н-дроп даунов.

Так что шлём этого >>439595 нахуй уже вдвоём.


Аноним 23/08/17 Срд 23:08:30 4396245
>>439620
Чем тебе конкретно воркспейсы не угодили? Мне больше нравится, нежели каша из окон в 1.4
Аноним 23/08/17 Срд 23:46:09 4396346
>>439624
В основном тем, что из-за боковых окон на воркспейсе места мало. Соответственно и окошки очень маленькие. Постоянно возникает горизонтальная полоса прокрутки. Чтобы нажать на неё нужно либо вырубать нижнюю панель (которая всё равно влезает назад после каждого запуска игры) либо таскать окно. И боковая панель всё время вылезает, если у тебя где-то в таба комната открыта.
Ну и без правой панели всё равно не обойтись, ибо навигироваться по воркспейсу невозможно. С выкрученным зумом невозможно разобрать, что там в окошках. При основном масштабе нужно тянуть несколько экранов, чтобы найти нужный обхект с открытыми ивентами.
Даже на домашнем 40ка дюймовом монике постоянно такая проблема. На мелком рабочем мониторе - просто невозможно пользоваться.
Такие дела.
Аноним 24/08/17 Чтв 00:11:38 4396377
>>439634
Странно, у меня 24 дюйма моник и мне нормально. Причем кода у меня достаточно и прыгаю по объектам бывает часто. Короче, мне зашло больше, чем в 1.4
Аноним 24/08/17 Чтв 15:19:47 4397158
>>439561 (OP)
Зачем обсуждать гамак здесь? Если есть какие-то вопросы - на них ответят на форуме yoyo.
Если просто потрындеть - нас здесь полтора игродела.

Разве что перекличку провести.
Аноним 24/08/17 Чтв 16:00:05 4397229
>>439715
Да пусть будет, жалко что ли.
Аноним 24/08/17 Чтв 17:59:33 43974010
Аноним 24/08/17 Чтв 19:04:23 43974511
>>439740
О, круто! Новый дебагер - это то, что мне нужно, т.к. я сегодня взялся ещё раз переделать систему пасфадинга и перемещения своих квадратов.
Аноним 25/08/17 Птн 10:45:55 43984312
>>439745
Ага, круто. Ну и где блеать теперь узнать значения переменных?
Аноним 26/08/17 Суб 04:00:32 44000213
Процесс компиляции во второй отличается от первой? Пока сам работаю на первой, есть ли смысл финальную сборку проводить во второй? Добавили ли туда какие-нибудь магические оптимизации и прочее или в конечном итоге не будет разницы независимо от версии на которой игра компилировалась?
Аноним 26/08/17 Суб 04:02:33 44000314
>>440002
Пока не так много отличий на самом деле кроме удобства. А так я бы не стал переносить старый большой проект в двойку потому что импорт насоздает кучу скриптов совместимости. Нахуй надо.
Аноним 30/08/17 Срд 17:26:57 44086615
Как вытащить переменную из комнаты, в которой ты находишься в данный момент?

Допустим у меня есть две комнаты room_01 и room_02

В create event первой комнаты записано: shadow_level = 0
В create event второй: shadow_level = 1

Как объекту фонарик, находящемуся внутри комнаты добраться до этих значений?

Если я пишу фонарику в create event:
shadow_level = room.shadow_level - нихера не работает

если я пишу
shadow_level = room_01.shadow_level - получаю 1, как и положено. Но мне нужен shadow_level не строго заданной комнаты, а текущей!






Аноним 31/08/17 Чтв 03:50:17 44100016
>>440866
Используй глобальную переменную global.shadow_level
Аноним 31/08/17 Чтв 14:04:50 44107817
>>441000
Я спрашиваю не про пути обхода, а про способ получения доступа к переменным текущей комнаты.
Аноним 31/08/17 Чтв 14:08:53 44107918
Аноним 01/09/17 Птн 13:39:37 44122419
Дебагер после апдейта стал просто шикарным.
Теперь можно посмотреть значения переменных прямо в окне с кодом, можно залезть внутрь ds структуры. Можно менять значения переменных во время дебаганья.

Круто.
Аноним 02/09/17 Суб 08:56:53 44133620
>>440866
Не пиши ничего в коде инициализации комнаты, исполтщуй для этого объекты.
Аноним 02/09/17 Суб 11:46:48 44133821
>>441336
Почему не использовать код инициализации комнаты для инициализиции комнаты при переходе из комнаты в комнату?

Пока что я остановился на том, что пишу там
with obj_game {}
и задаю все нужные параметры.
Это лучше, что иметь в obj_game begin_step_event, следящий за сменой комнаты.






Аноним 02/09/17 Суб 11:49:07 44133922
>>441338
> следящий за сменой комнаты
Используй room_start и room_end эвенты, юный падаван.
Аноним 02/09/17 Суб 13:34:40 44134423
>>441339
>room_start и room_end эвенты

Опа нихуя. Я о них даже и не знал.

Сначала идут create ивенты объектов, потом create event комнаты, потом начинаются begin_step ивенты.

А когда выполняется ивент room_start?
Аноним 02/09/17 Суб 14:06:02 44134724
Аноним 02/09/17 Суб 14:07:04 44134825
>>441347
Ну это для гм6.1 актуально, в гмс:2 может быть по-другому.
Аноним 03/09/17 Вск 11:27:10 44143126
Аноним 17/09/17 Вск 17:57:27 44334527
Аноны, туплю. Вообщем реализовал такую камеру. Когда нажимаю мышкой могу "тащить" вид. Т.е. тоже самое когда в стандартном windows просмотрщике фото приближаешь фото и перемещаешься по нему. Сделал все, но один нюанс работает немного криво. Ограничил вид с помощью clamp и по координатам. Но когда я упираюсь в край карты с большим ускорением происходит кратковременный лаг.
Как правильно ограничить вид чтобы он не выходит за пределы комнаты? Чтобы он как влитой останавливался у края комнаты а не резко "пружинил"
Аноним 17/09/17 Вск 18:11:56 44334628
>>443345
покажи свой код и сними на видео этот эффект
Аноним 17/09/17 Вск 18:34:52 44334729
Аноним 17/09/17 Вск 18:39:07 44334830
Аноним 17/09/17 Вск 18:58:43 44335131
>>439561 (OP)
Единственное серьезное слабое место в 1.4 это редактор комнат. Ну и редактор кода можно подтянуть. Остальное можно вообще выпилить, только мешает. По мне так гамаку гуй вообще не нужен, особенно гуй объектов.
Аноним 18/09/17 Пнд 03:56:02 44342432
Купил сегодня вторую версию, заодно появилась возможность поставить легальную 1.4. Вот не знаю какую юзать. Импортнул проект из 1.4, приятно удивило то, что все нормально заработало из коробки. В 1.4 не нравился редактор комнат и дебаг (а именно невозможность добавлять вотчи). В двойке не понравилось, что отошли от интерфейса, к которому я привык ещё со времен версии GM5, но думаю привыкну. Есть ещё какие подводные камни?
Аноним 18/09/17 Пнд 04:29:33 44342533
>>443348
у тебя сначала идет clamp, а потом движение камеры
clamp должен быть в конце после всего кода
Аноним 18/09/17 Пнд 04:42:54 44342734
>>443424
Юзай вторую. К интерфейсу привыкнешь.
Аноним 18/09/17 Пнд 10:50:54 44348335
>>443425
Спасибо, помогло!
Аноним 18/09/17 Пнд 13:39:03 44353136
Подскажите туториалов по камере и интерфейсам в GMS2

Аноним 18/09/17 Пнд 13:41:21 44353337
Аноним 18/09/17 Пнд 14:24:26 44354738
>>443533
Вот ты серьёзно думаешь, что я не смог в гугле вбить gms2 camera tutorial?


Аноним 18/09/17 Пнд 14:26:54 44354839
>>443547
А чем тебя эти не устроили? Сполдинг норм рассказывает же.
Аноним 18/09/17 Пнд 14:30:03 44354940
>>443548
Сполдинг норм, я с него и начинал. Но все его туториалы максимум поверхностные, для самых ньюфагов. Уже давно не интересно.

Но у меня уже появились идеи, почему у меня интерфейс колбасится при движении. Буду пробовать.
Аноним 18/09/17 Пнд 14:31:11 44355041
>>443548
Ну и как тебе туториал сполдинга по one way platform? Норм что ли?
Аноним 18/09/17 Пнд 14:33:34 44355242
>>443550
Не смотрел, я только самые основы посмотрел, дальше сам уже.

>>443549
Дак ты б код вбросил.
Аноним 18/09/17 Пнд 14:54:47 44355643
>>443548
А ещё он коллизии объектами делает.
Аноним 18/09/17 Пнд 14:59:53 44355744
Аноним 18/09/17 Пнд 15:00:41 44355845
Аноним 18/09/17 Пнд 15:04:40 44356046
>>443558
Ну это если у тебя вся игра сделана под квадраты/прямоугольники, то мб и да.
Аноним 18/09/17 Пнд 15:09:13 44356147
Аноним 18/09/17 Пнд 15:18:17 44356248
.jpg (122Кб, 900x580)
900x580
>>443561
У меня проще система. Объект коллизий, который я просто поверх тайлов стретчу.
Аноним 18/09/17 Пнд 15:59:19 44359449
1.jpg (97Кб, 1920x552)
1920x552
Пошёл по туториалу спалдинга.

Там, где у него получился нормальный экран с выставленным размером у меня получилось пикрелейтед. Что это за нахуй?

global.camera = camera_create();

var view_matrix = matrix_build_lookat(x,y,-10,x,y,0,0,1,0);
//var projection_matrix = matrix_build_projection_ortho(1280,768,1,10000);
var projection_matrix = matrix_build_projection_ortho(1920,1080,0,10000);

camera_set_view_mat(global.camera,view_matrix);
camera_set_proj_mat(global.camera,projection_matrix);

view_camera[0] = global.camera;

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

//Enable the use of views
view_enabled = true;
//Make view 0 visible
view_set_visible(0,true);
Аноним 18/09/17 Пнд 16:03:49 44359850
Аноним 18/09/17 Пнд 16:08:21 44360151
Аноним 18/09/17 Пнд 16:10:44 44360252
>>443601
а значения x и у какие?
Аноним 18/09/17 Пнд 16:15:24 44360453
>>443602
Где в комнате поставил, такие и значения.

У него походу viewport через интерфейс настроен.

Добавил:

view_hport[0]= 1080;
view_wport[0] = 1920;


//Enable the use of views
view_enabled = true;
//Make view 0 visible
view_set_visible(0,true);


window_set_rectangle((display_get_width() - view_wport[0])0.5,(display_get_height() - view_hport[0])0.5,view_wport[0], view_hport[0]);
surface_resize(application_surface,view_wport[0],view_hport[0]);

заработало.
Аноним 19/09/17 Втр 08:52:00 44375054
>>443604
Хоспади, вчера за 2 часа, сидя с температурой 38 градусов, не имея никаких знаний, кроме кривого гайда, я сделал камеру лучше, чем у этих уёбков из One dog story.
Да, у меня бомбит от них.
Аноним 19/09/17 Втр 08:55:03 44375355
>>443750
Небось они по тому же гайду от Сполдинга и делали. У него так же тошнотворно кобасит камеру после остановки движения (но не так сильно, как в собаке, у них делитель скорости выше)
Аноним 21/09/17 Чтв 14:03:47 44419156
Какой примерный алгоритм чтобы сделать gui. Допустим у меня есть спрайт 16x16 с рамкой окна. Но т.к. окна могут быть разного размера этот спрайт надо как-то разбивать на куски. Т.е. берем угол потом скейлим (или просто кучу 1х1 рисуем) вернюю плашку на заданный размер х. Потом опять уголок. Верхушка готова. Нашел функции draw_part, как я понимаю надо использовать ее?

На ютубе примеры что я нашел рисовали окошки с помощью draw_rectangle или вообще draw_line, что мне не очень подхожит. Нужно чтобы окно создавалось именно из кусков спрайта.
Аноним 21/09/17 Чтв 14:13:55 44419757
Аноним 21/09/17 Чтв 14:21:36 44419858
Cап, мейкеры. Решил вкатиться в гейммейкер и сделать что-то для души. Решил погуглить гайдов, но они или легкие, по вещам, которые знает любой за первые курсы обучения, или по очень узко направленным вещам. С чего начать? Есть ли по gml'ю учебник? Гугл не помог, хотя и искать мог хуёво. Всякие ютуб канальчики, гайдики, которые разжуют сложное, а лёгкое опустят до гиперссылок на другие их ролики. Или тексты. С меня как обычно.
Аноним 21/09/17 Чтв 14:23:57 44419959
Аноним 21/09/17 Чтв 14:32:34 44420060
>>444198
Если по английски понимаешь, то рекомендую оффициальный мануал читать. Он у них лучше любого учебника написан. Я такое редко встречал, обычно мануалы больше для продвинутой аудитории подходят.
Аноним 21/09/17 Чтв 17:22:03 44421661
>>444197
Ну во многих играх окно ui рисуется ж собираясь по кусочкам из спрайта а не с помощью функций движка..
Аноним 21/09/17 Чтв 17:40:25 44421762
>>444216
Теоретически ты можешь на GUI слой пилить свои элементы и они будут скейлиться вместе с размером GUI и не надо будет нарезать.
Аноним 21/09/17 Чтв 18:00:37 44423163
Аноним 21/09/17 Чтв 18:17:36 44423564
>>444198
На Hellroom есть "Школа GML Архив". Но если не абсолютный новичок, то вперед реализовывать проект параллельно читая справку. Справка у гамака как уже сказал >>444200 , хороша. Что-то более специфическое спрашивают на форуме yoyo, на русских сайтах бесполезно. Уже почти все умерли.
Аноним 21/09/17 Чтв 19:01:32 44424265
image.png (16Кб, 233x248)
233x248
>>444216
Бери пикчу рамки (допустим, 9696), руби на мелкие(типа 3232), делай функцию, которая будет рисовать тебе рамки любого размера по кусочкам из твоего стрипа. На пикче чёрно-жёлтое говно - твоя рамка, красные перпендикулярные и прозрачные штуки - линии разреза.
Аноним 21/09/17 Чтв 21:40:42 44426766
>>444242
Так и сделал. Спасибо за совет.
Аноним 21/09/17 Чтв 21:52:52 44427267
На всякий случай отпишу и в эту тему тоже.

Требуется сделать прототип игры на Game Maker Studio 2. Ничего сверхъестественного - список фич, которые требуется реализовать скину. В основном это ходьба, менюшки и т.д. Ничего сложного.

Контакты - forgm@list.ru

Работа оплачивается
Аноним 22/09/17 Птн 18:50:11 44444468
Runner 2017-09-[...].webm (3437Кб, 1024x768, 00:00:14)
1024x768
Аноним 23/09/17 Суб 14:22:06 44468069
>>444444
бля, ещё 1 гет просрали
Аноним 23/09/17 Суб 15:39:17 44471770
>>444680
А по-моему это шин и суть /gd/
Аноним 23/09/17 Суб 15:58:11 44472571
Runner 2017-09-[...].webm (6997Кб, 1024x768, 00:00:22)
1024x768
>>444680
Ничего себе просрали. Гет в ГД взяли игрой. Это ли не вин?
Я сделал это за один день.

Аноним 25/09/17 Пнд 00:27:27 44503572
>>443427

>>443424-кун репортинг ин.
Да, GMS2 божественна. Наконец всё для людей, Yoyogames молодцы, что не побоялись всё так радикально переделать. 1.4 теперь воспринимается как идеологически устаревшее, глюченное нагромождение костылей. Ни капли не жалею потраченных 1500 рублей.
Аноним 25/09/17 Пнд 00:39:29 44503973
>>445035
Рад за тебя, пили годноту.
Аноним 25/09/17 Пнд 00:50:00 44504074
>>445035
Вот только на десктоп пилить никакого интереса нет.. по крайней мере у меня. А мобильные и хтмл5 модули стоят дорого.... очень дорого даже учитывая региональные цены в стиме. Учитывая что под боком юнити который во всем лучше.
Аноним 26/09/17 Втр 01:22:36 44525975
В 1.4 раздражает гуй. Сделали бы гм фрейморком и все настройки проекта в json. Удобнее было чем эти лагающие Delphi окошки с мерцающим дефолтным скином... Я с этого реально охуел еще в 2010. Мерцающие епта окошки... В дорогущем софте. Гуй не приспособлен совершенно для работы без мышки, что тоже очень неудобно.
Аноним 26/09/17 Втр 01:49:29 44526276
Аноним 26/09/17 Втр 11:49:39 44529077
Внимание! Внимание!

В гамаке недостаточно просто уничтожить data structure (например ds_grid) функцией ds_grid_destroy(name)

Необходимо также очистить указатель на неё
name = noone;

Иначе если какой-либо ещё объект создаст новую data structure, твоя переменная name может снова стать указателем на data structure, только уже другого объекта.


Этот долбаный баг преследовал меня месяц. Наконец я понял в чём дело. Может ещё кому-то пригодится.
Аноним 26/09/17 Втр 14:05:40 44533378
>>445259
>Сделали бы гм фрейморком и все настройки проекта в json.
В 1.4 так всё и есть, только проект хранится в xml.
Скачай сторонний редактор (их два, один хреновый, а второй тормозной и платный), или напиши свой.

В 2.0 вроде тоже хранится в xml, но формат другой.
Аноним 30/09/17 Суб 19:22:56 44607679
Аноним 30/09/17 Суб 19:57:29 44608280
>>446076
Нихуя не понял, как участвовать.
Аноним 30/09/17 Суб 20:33:02 44608781
>>446082
К началу приходи, там все напишут.
Аноним 03/10/17 Втр 19:52:14 44659282
Бамп треду. Аноны, кто-нибудь знает: дэсктоп-версия за 1,5 в стиме полноценная? Она чем-то отличается от версии на оф. сайте?
Аноним 03/10/17 Втр 19:52:53 44659383
>>446592
Полноценная. Ничем не отличается.
Аноним 03/10/17 Втр 19:59:23 44659784
>>446593
Стоит ли брать, если ты не умеешь кодить, но хочешь сделать игру?
Аноним 03/10/17 Втр 20:01:15 44660085
>>446597
Из всех 2д движков гамак наверн самый простой в освоении.
Главное не лениться и освоить его внутренний скриптовый язык, а не костылить конструктором.
Туториалов дохуя.
Аноним 03/10/17 Втр 20:01:26 44660186
>>446592
Ничем. Более того ты сможешь и на офф. сайте скачать не стимовскую.
Аноним 03/10/17 Втр 20:03:36 44660287
>>446600
>Туториалов дохуя.
На GMS 2 почти нихуя не нашёл. В основном кидало на туторы по первому.
Аноним 03/10/17 Втр 20:06:09 44660488
Аноним 03/10/17 Втр 20:09:20 44660589
>>446604
А у них там детально расписано? Можно при помощи этого гайда узнать, как, например, создать систему инвентаря в игре?
Извиняюсь, если слишком много лишних вопросов.
Аноним 03/10/17 Втр 20:11:08 44660790
Аноним 03/10/17 Втр 20:13:27 44660991
>>446607
Спасибо, посмотрю.
Аноним 03/10/17 Втр 20:31:20 44661392
>>446605
Создание инвентаря - это общий алгоритм. Зная как создавать инвентарь в целом ты сможешь это реализовать на любом движке.
Аноним 04/10/17 Срд 01:45:36 44666193
>>445040
А я пилю некоммерческий инди-аутизм
как и большинство здесь
Так что похуй.
Аноним 08/10/17 Вск 21:30:58 44740894
No-Cups-in-Ovec[...].jpg (43Кб, 594x402)
594x402
Аноним 08/10/17 Вск 21:31:16 44740995
b5522377c1158b7[...].jpg (129Кб, 625x937)
625x937
Аноним 06/11/17 Пнд 23:57:30 45497896
Дано прямоугольный треугольник

783,145/|
/ |
/ |
/ |
/ |
/ ______|783,159
769,159

Для провеки коллизии с треугольником в точках 769,159 и 783,159 используем функцию point_in_triangle
point_in_triangle(769,159,783,145,783,159,769,159) - результат true
point_in_triangle(783,159,783,145,783,159,769,159) - результат false

Охуеть не встать. Нахуя вообще такие функции нужны?



Аноним 07/11/17 Втр 00:11:04 45498097
s.png (2Кб, 640x400)
640x400
>>439561 (OP)
Спрошу еще и тут, может знает кто.

Как масштабировать в гейммейкере в целое число раз в полноэкранном режиме. Если разрешение экрана не делится на цело на заданное то нужно, увеличить рабочую область максимально насколько возможно, а вокруг оставить черную рамку.
Аноним 07/11/17 Втр 00:16:30 45498498
>>454980
Сам спросил - сам ответил.

Да.
Аноним 07/11/17 Втр 00:40:13 45499099
>>454984
Я не знаю как это сделать.
Аноним 07/11/17 Втр 10:19:28 455018100
>>454990
В любой ситуации с пропорциями экрана юзай виды. В твоём случае можно просто создать и увеличивать вид в целое число раз, пока он не будет по ширине или высоте больше самого экрана.
Аноним 07/11/17 Втр 18:28:07 455122101
>>455018
Виды не помогают. Если я в оконном режиме задам view_wport и view_hport, то да, гамак установит соответствующие размеры и у окна. Но в полноэкранном режиме он растягивает все на весь экран, а я могу только выбирать, сохранять пропорции или нет.
Аноним 08/11/17 Срд 19:00:51 455333102
>>455122
В полноэкранном тебе надо менять размер application surface
Аноним 08/11/17 Срд 20:30:18 455347103
>>455333
Я ковырялся с этим, ничего не получилось, и я забил. У игры разрешение 640x360, что идеально масштабируется на популярное разрешение 1080p, а для остальных добавлю возможность поиграть в окошке.
Аноним 10/11/17 Птн 15:14:08 455697104
Код кинетического скролла нужен кому-нибудь?
Аноним 11/11/17 Суб 22:17:20 456019105
Сап, пачаны. Есть вопрос - как лучше всего сделать в гамаке настройки звука в игре? У меня есть на руках готовое решение, но у него есть свои косяки и неприятные стороны так сказать. Может, Анончик знает что получше
Аноним 12/11/17 Вск 02:47:38 456049106
>>456019
конкретнее вопрос задай
Аноним 12/11/17 Вск 14:26:59 456125107
>>456049
куда уж конкретнее. Хочу в экран настроек игры кроме локализации, которую уже запилил, ползунки громкости звука, а если быть еще конкретнее, то музыки игровой. В готовой решении могу сделать три ползунка: мастер, музыка, эффекты, и убрать два последних, но мне по сути нужен только второй, а из-за чудесного кода плугина это сделать не получится. Либо мириться и оставлять два ползунка, либо что-то еще придумать
Аноним 13/11/17 Пнд 03:54:05 456248108
>>455347
https://forum.yoyogames.com/index.php?threads/how-to-properly-scale-your-game.995/

Я примерно так делаю.
Скопипастил тебе код из своего проекта.
https://pastebin.com/LfBif95f
Возможно, не оптимальный - несколько раз перекраивал, но работает и я не трогаю.

>>456125
Способ "в лоб" - юзать audio_sound_gain() для каждого звука с коэффициентом, устанавливаемым в настройках. Че-то типа:

bgm_sound_inst = audio_play_sound(bgm_level_1, 0, true)
audio_sound_gain(bgm_sound_inst, global.master_volume global.bgm_volume, 0)


sfx_jump_inst = audio_play_sound(sfx_jump, 0, false)
audio_sound_gain(sfx_jump_inst, global.master_volume
global.sfx_volume, 0)


Придется так писать после каждого вызова audio_play_sound, но другого способа я пока не вижу.
Аноним 13/11/17 Пнд 04:03:16 456249109
>>456248
Полетела разметка кода про звук из-за звездочек, которые макаба воспринимает как курсив.
https://pastebin.com/8KWrigJk
Аноним 13/11/17 Пнд 05:19:54 456254110
>>456248
спасибо за ответ, но да, тут все-таки нагромождение, сам понимаешь. Буду думать дальше. И так стараюсь во второй игре избежать всех ошибок первой
Аноним 13/11/17 Пнд 08:41:10 456263111
>>456254
Можно эту штуку обернуть в скрипт и вызывать вместо audio_play_sound(). Будет не громоздко, как по мне.
Аноним 13/11/17 Пнд 22:09:44 456393112
Аноним 13/11/17 Пнд 22:42:36 456401113
>>456393
Нет, все-таки рисуется. Это я невнимательный, использовал application_surface_enable() вместо application_surface_draw_enable(). А в твоем коде мне две вещи остались не ясны.
1. Зачем ты в событии Step изменяешь размер окна при переходе в полноэкранный режим? Это же вроде ни на что не влияет уже.
2. Почему рисуешь application_surface в PreDraw? Ведь все остальное отрисовывается после, а мы увидим предыдущий кадр таким образом, правильно?
13/11/17 Пнд 23:22:07 456404114
На 8.1 сижу, пофиг на эти 1.4, 2
Аноним 13/11/17 Пнд 23:38:06 456410115
>>456404
Да всем похуй на тебя, дедуль.
Аноним 14/11/17 Втр 01:35:56 456421116
>>456401
1. Индусский код-анахронизм, оставшийся от предыдущих вариантов реализации. Сам убрал, когда перечитал его в очищенном от кучи закомменченного мусора виде. Уже после отправки на двач, лол.
2. Почему-то в свое время решил, что так надо. Сейчас прочитал вот этот док http://docs.yoyogames.com/source/dadiospice/002_reference/surfaces/the%20application%20surface.html и увидел, что действительно логичнее рисовать application surface в post-draw.

В общем, и для меня это дело оказалось полезным.
Пересмотрел свежим взглядом на код, который накостылил по наитию и боялся менять.

>>456404
4.3 была самая ламповая. Жаль, что игоры, сделанные в ней, нормально не идут на современные пеки.
Аноним 16/11/17 Чтв 03:37:47 456732117
Анон, выручай еще раз, я с тупым вопросом. Решился чего-то вдруг запилить боссфайт в игру и все сделал, кроме одной детали - гг лупит оружием ближнего боя (копья и мечи), и получается так, что при ударе по боссу, он за секунду соприкосновения с оружием выхватывает каждый тик указанный дамаг и умирает сразу. Подскажи, как сделать после получения дамага кулдаун в пару секунд, а то голова не варит уже. Спасибо
Аноним 16/11/17 Чтв 04:31:24 456733118
>>456732
таки реализовал. По своему, но работает. Все равно не откажусь почитать ваши варианты, если кто чего отпишет
Аноним 16/11/17 Чтв 16:38:49 456806119
>>456732
Реально тупой вопрос. Как у тебя вообще дамагание реализовано?

У меня при мили ударе возникает объект, который существует до тех пор, пока проигрывается ударная анимация. Любой объект семейства enemy, столкнувшийся с этим объектом получает урон, но получает его только 1 раз.

Для этого в create event создаю список
targets = ds_list_create();

В евенте "столкновение с объектом enemy" пишу:


if ds_list_find_index(targets,other) = -1
{
нанести урон
}
ds_list_add(targets, other);

и не забываю уничтожить этот список в destroy event
ds_list_destroy(targets);



Аноним 16/11/17 Чтв 17:00:10 456807120
>>456806
Если тебе нужен КД в пару секунд - очищай список целей каждые пару секунд.
Аноним 16/11/17 Чтв 19:18:33 456821121
>>456806
Да оно у меня очень просто реализовано. Есть родительский объект врага и родительский объект оружия. Плюс есть объект, который хранит данные о здоровье босса. В итоге я просто подвязал уже имеющийся скрипт и при столкновении этих двух объектов запускается внутренний таймер с миганием спрайта того, кто словил дамаг
Аноним 17/11/17 Птн 03:54:09 456887122
>>456806
точно также делал, когда пилил игру типа нинджа гайдена
Аноним 17/11/17 Птн 04:01:05 456888123
>>456401
Таки пришлось вернуть этот код.
Почему-то если игра стартует в полноэкранном режиме, то если из него выйти, размер окна становится иногда неадекватно мелким. Почему-то этот баг не проявляет себя, если менять полноэкранный режим через Window_set_fullscreen() - только через alt+enter.

>>456421-кун
Аноним 17/11/17 Птн 21:14:38 457018124
>>456888
Хотел протестировать, но у меня на комбинацию alt+enter нет реакции.
Аноним 18/11/17 Суб 10:06:34 457059125
>>439561 (OP)
Если я хочу писать бровзерные игори, то надо платить 149 бачей?
Аноним 18/11/17 Суб 13:32:10 457079126
>>439561 (OP)
Я правильно понимаю, что gamemaker не дает сохранять файлы в папку с игрой, а только в общую папку <LOCALAPPDATA>/<GameName>? И теоретически, если на компе другая игра с тем же именем будет писать в тот же файл, то она всю сохраненку похерит. Как с этим бороться и нужно ли?
Аноним 19/11/17 Вск 04:48:02 457162127
>>457079
ты сам можешь выбрать, куда твоя игра будет сохранять данные
19/11/17 Вск 10:25:35 457169128
Давно искал тред по вопросам по GM. Ялично юзаю юнити (и там тоже есть 3D, но хочетчя создавать реальные 2D игоры. И так, как создать ландшафт, как создать героя, можно ли в бесплатной версии Game Maker создать норм игору без гличей и багов? Да и вообще можно ли?
Никогда не юзал ГМ
Аноним 19/11/17 Вск 13:57:17 457189129
Аноним 20/11/17 Пнд 14:16:31 457455130
Я смотрю вы тут по хардкору с камерой разбираетесь.

Подскажите мне, как правильно переносить камеру из комнаты в комнату? У меня при переходе из комнаты в комнату странным образом растягивается. Пока что я решил, что буду убивать камеру в room_end event и создавать новую камеру в room_start event. Но правильное ли это решение?
Аноним 20/11/17 Пнд 18:13:45 457498131
image.png (21Кб, 1204x158)
1204x158
что это блять за хуйня? я планировал первые игры на мобилки делать, ибо игры того типа, что я делаю, в стиме доебали вкрай. Ммало того, что на виндовс 39 бачейгодовая, сука, так сука на андроиды 400. Четыре сотни СУКА. Спасибо, продолжу сношаться с юнити, хотя гм:с первая очень нравилась
Аноним 20/11/17 Пнд 18:54:51 457507132
Аноним 20/11/17 Пнд 19:17:32 457512133
Ответь, анон, как Gamemaker экспортирует в html5?
Лучше, чем Unity? Как производительность относительно phaser?
Аноним 20/11/17 Пнд 19:50:36 457515134
>>457507
Ты бы ещё libgdx предложил.
Аноним 20/11/17 Пнд 19:55:13 457517135
>>457498
В стиме 6400 рубасов, что чуть больше 100 баксов.
Аноним 20/11/17 Пнд 21:24:04 457533136
>>457517
этот чувак поди и 39 баксов жмет, какие там 6400 рубасов
Аноним 20/11/17 Пнд 22:34:35 457539137
>>457533
ну это пиздец конечно. Любая хуевая игра отобьет эти шесть тысяч с головой, а тут жлобство какое-то
Аноним 20/11/17 Пнд 22:50:18 457546138
>>457539
Сомнительно, конечно, что отобьет. В Play market over 9000000 проектов с 5-10 установками...
Аноним 20/11/17 Пнд 23:13:20 457550139
>>457546
А, если геймаркет, то да. А ежели стим, то все ок
Аноним 21/11/17 Втр 02:08:32 457559140
>>457515
> libgdx
Параша/10. На нем нету ни одной годной игры в отличие от моногейма.
Аноним 23/11/17 Чтв 08:04:33 457951141
Нуб в треде. Можно ли в гм2 один объект (например, персонажа) "собирать" из нескольких разных спрайтов (например, два спрайт рук, два спрайта ног, спрайт туловища и спрайт головы, итого 6 отдельных спрайтов)? Или для этого нужно создавать соответствующее количество объектоа (6 в случае приведенного примера), и уже к ним привязывать спрайты?
Заодно может подскажете, из вашего опыта или вычитанных где-нибудь мудростей, каким количеством объектов на комнату следует ограничиваться?
Аноним 23/11/17 Чтв 08:05:24 457953142
Нуб в треде. Можно ли в гм2 один объект (например, персонажа) "собирать" из нескольких разных спрайтов (например, два спрайт рук, два спрайта ног, спрайт туловища и спрайт головы, итого 6 отдельных спрайтов)? Или для этого нужно создавать соответствующее количество объектоа (6 в случае приведенного примера), и уже к ним привязывать спрайты?
Заодно может подскажете, из вашего опыта или вычитанных где-нибудь мудростей, каким количеством объектов на комнату следует ограничиваться?
Аноним 23/11/17 Чтв 08:15:36 457954143
>>457953
Можно собирать из спрайтов посредством эвента draw, но это тот еще гемор.
Лучше писать контроллер, который бы собирал персонажа из объектов, проще манажить будет.
Аноним 23/11/17 Чтв 19:40:00 458077144
Аноны, там сейчас в стиме распродажа, поэтому решил купить дэсктоп версию. Что означает галочка In-App Purchases? Меня не наебут, заставив платить за что-либо ещё?
Аноним 23/11/17 Чтв 21:28:05 458106145
Аноним 23/11/17 Чтв 21:33:24 458111146
>>439561 (OP)
покажите САМЫЕ КРАСИВЫЕ игры на геймейкере
Аноним 23/11/17 Чтв 21:34:20 458114147
Аноним 23/11/17 Чтв 23:28:36 458159148
Аноним 23/11/17 Чтв 23:37:09 458160149
>>458114
>>458159
красиво. а сколько человек сколько месяцев их делали?
Аноним 23/11/17 Чтв 23:48:37 458162150
>>458160
возьми и напиши им
Аноним 24/11/17 Птн 13:14:07 458250151
>>457512
Неебу как относительно Phaser, но производительность неплохая. Правда пришлось править сгенеренный html код ручками т.к. какого-то хуя канвас сглаживался по-умолчанию что пиксельной игре не нужно.
Аноним 24/11/17 Птн 20:56:03 458327152
Пацаны, а если я буду учиться по 1.4 (мануалов больше), то потом смогу с полученными знаниями перекатиться в двойку?
Аноним 24/11/17 Птн 21:05:52 458328153
>>458327
Да, там практически идентично все в плане кода (с небольшими исключениями).
Двойка просто сильно удобнее сама по себе.
Аноним 24/11/17 Птн 23:33:54 458343154
Аноним 26/11/17 Вск 02:30:01 458517155
966C8HzRC8.jpg (104Кб, 1280x720)
1280x720
>>439561 (OP)
Вопрос к специалистам. Как реализовать редактор уровней в gms?
Аноним 26/11/17 Вск 03:12:35 458522156
>>439561 (OP)
>2
Язык-то добавили или так на ЖМЛ и сидите?
Аноним 27/11/17 Пнд 04:18:39 458663157
Жмл более чем достаточно для создания игр.
Аноним 27/11/17 Пнд 13:59:22 458708158
>>458522
Так-то ГМЛ норм на самом деле, хотя и не хватает нормального ООП конечно. Частично это компенсируется системой эвентов. Но приходится писать скрипты вне объектов, чтобы имитировать методы.
Итого жить можно, но можно и лучше.
Аноним 29/11/17 Срд 05:40:01 459023159
Помогите пожалуйста с одной проблемой. Делаю простенький платформер и пытаюсь сделать выстрелы вроде все нормально, но сука я не знаю как сделать так чтобы когда персонаж смотрит влево стреляет влево когда смотрю вправо стреляет вправо.
Вот код:
x = obj_hero.x+11;
y = obj_hero.y+6;
x2=0;
if (obj_hero.sprite_index == spr_hero_idle_right or spr_hero_right)
{
x2 = x+1;
}
else if (obj_hero.sprite_index == spr_hero_idle_left or spr_hero_left)
{
x2 = x-1;
}

image_angle = point_direction(x,y,x2,y);
firingdelay = firingdelay - 1;
if (keyboard_check(vk_space)) and (firingdelay < 0)
{
firingdelay = 5;
with (instance_create_layer(x,y,"Bullets",obj_bullet))
{
speed = 10;
direction = other.image_angle;
image_angle = direction;

}
}
Аноним 29/11/17 Срд 15:59:02 459070160
>>459023
1) Направление взгляда вынеси в отдельную переменную +1/-1, тогда просто будешь умножать на него и не нужно будет дублировать кучу кода.

2) Вместо A == B or C должно быть (A == B) or (A == C)
Аноним 03/12/17 Вск 15:16:18 459541161
>>459070
Спасибо за ответ, но я уже разобрался. И опять застрял, но теперь нет идеи.:(
Аноним 07/12/17 Чтв 04:53:10 460214162
>>457559
Первый That Level Again на libgdx сделан. Что еще расскажешь ыксперд?
>>457498
На первый такая же цена. Мне он правда по акции достался за 25$ весь комплект. Проф-версия, андроид и все-все-все, кроме iOS. Правда без интеграции со стимом, но через год дали и её. Надо просто подождать распродажи.
Аноним 07/12/17 Чтв 06:21:19 460215163
>>457539
> Любая хуевая игра отобьет эти шесть тысяч с головой
BLASTER COP
Аноним 07/12/17 Чтв 11:37:01 460241164
>>460215
почаще издавайтесь у дагов
Аноним 07/12/17 Чтв 11:44:50 460243165
>>460241
ну нас остальные бы опустили так, что мы б в обнимочку повесились с горя
Аноним 07/12/17 Чтв 12:15:16 460250166
>>460243
как же вы заебали уже. Сами бы издались и профит был в несколько раз выше гарантированно. Хотя, если ты ленивое хуйло и тебе настолько похуй,что ты слил игру дагам, то может быть и нет.
Аноним 07/12/17 Чтв 12:29:21 460251167
>>460250
бля, теперь и поныть на моих двачах не дают, ну надо же! ладно, ладно, понел.
Аноним 07/12/17 Чтв 12:40:12 460252168
>>460251
То-то же. По поводу заработка, если ты вдруг не веришь - загугли nikita ghost rus. Есть такой говнодел в стиме, который клепает говно со скоростью света и издается сам. Вряд ли бы он стал делать то, что не окупается рака яиц ему
Аноним 07/12/17 Чтв 12:46:33 460256169
>>460252
видел этого хуесоса. но с габендиректом он скорее всего обнищает такие суммы вливать.
Аноним 07/12/17 Чтв 22:26:24 460355170
>>460256
да нихуя подобного, он через директ залил все, что через грин не пролезло и не думает останавливаться судя по всему
Аноним 09/12/17 Суб 14:39:28 460641171
> That Level Again
То еще говнецо.
> Первый на libgdx сделан.
1/3. Автор понял какое это говно и съебал на другой движок
Аноним 09/12/17 Суб 14:40:53 460642172
Аноним 10/12/17 Вск 18:59:13 460808173
Анончики, нужна помощь. Когда-то давно установил GM 1.4, забросил. Позже пытался работать на Construct, но ограничения разочаровали. Короче, снова взялся за GM, даже успел запилить игрульку. И тут встал вопрос, а откуда я её качал? Может ли быть 1.4 у меня бесплатным и лицензионным? И смогу ли я выложить в плэй маркет эту игру?
Аноним 12/12/17 Втр 07:57:48 460971174
Создаю игру в которой главный герой бегает за мышкой. Делаю через ДнД и указываю направление движения и скорость, но когда гг доходит до мышки дико дергается. Как сделать чтобы он под мышкой останавливался или есть команда которая указывает путь а не направление?
Аноним 12/12/17 Втр 08:46:14 460974175
>>460641
Говнецо не говнецо, а слушать будешь стоя а ЕМНИП больше 5кк скачиваний. Так что рассуждения о качестве продукта, имеющего такую оценку аудитории бессмысленно.
К тому же да, 2 и 3 были сделаны на Unity и, как следствие, оптимизированы гораздо хуже. Багов в них полно, в то время как в 1 части их не было вообще. Тут он скорее перескочил из-за удобства и скорости разработки, чем из-за чего-то еще.
Аноним 12/12/17 Втр 08:49:29 460975176
>>460971
Дык выставь условие, чтоб он за 2-3 пикселя до мыши останавливался. Координаты того и того у тебя есть, если векторную математику не прогуливал на первом курсе, то проблем не будет, а если прогуливал, то загугли.
Просто весь скрипт движения подпихни под условие.
Аноним 12/12/17 Втр 08:50:55 460976177
>>460808
Если сможешь сделать билд под андроид, то да. Но вряд ли ты сможешь, если он не лицензионный.
Аноним 12/12/17 Втр 09:27:08 460977178
>>460975
А как взять Икс Игрик центра объекта?
Аноним 12/12/17 Втр 13:52:46 460980179
>>460977
Во-первых забудь про DnD. Сделать что-то на этом говне на порядок сложнее, чем через нормальный код.

Во-вторых координата объекта выставляется в спрайте этого объекта. По умолчанию x,y объекта это x,y верхнего левого угла спрайта. Если ты хочешь координаты центра этого спрайта, тогда пиши:
x_center = object.x + object.sprite_width/2;
y_center = object.y + object.sprite_height/2;

Или, если у тебя пиксель-пёрфект движение (что разумней):
x_center = object.x + ceil(object.sprite_width/2);
y_center = object.y + ceil(object.sprite_height/2);


Аноним 12/12/17 Втр 14:01:39 460982180
>>460980
Ну или можешь в спрайте выставить центр на центр спрайта и тогда x,y объекта у тебя будет его центром.
Аноним 12/12/17 Втр 14:33:10 460987181
>>460980
>>460982
Рили не понял нах эта лишняя дрочь, когда в настройках спрайта есть центрирование.
>>460977
Центрируешь спрайт. Центром будет object_name.x и object_name.y
Аноним 12/12/17 Втр 14:43:00 460989182
>>460987
Поймёшь, когда тебе понадобится что-то кроме центра спрайта.
Аноним 15/12/17 Птн 10:44:20 461344183
Как в ГМС2 сделать так, чтобы при переключении в полноэкранный не картинка растягивалась, а поле зрения камеры увеличивалось.

Ну и соответственно при ресайзе окна было то же самое - растягиваешь окно, а у тебя не изображение растягивалось, а просто больший кусок игрового поля показывался.
Аноним 15/12/17 Птн 15:12:06 461373184
>>461344
Играйся к с камерой и application surface
Аноним 15/12/17 Птн 15:17:11 461375185
>>461373
Точно с камерой? Может надо как-то алгоритм стрельбы персонажа поменять?
Аноним 15/12/17 Птн 23:12:45 461439186
Аноны, помогите со стрельбой в гмс2. Я столкнулся с проблемой, что пули не летят, когда в комнате включена физика, но без нее ничего не двигается. Как быть?
Аноним 15/12/17 Птн 23:35:10 461440187
>>461439
так это самое. Если мне не изменяет память, в первом гамаке точно так же. Либо ты делаешь все на встроенной физике и пилишь все под нее, либо пишешь свою физику, либо пользуешься чужой
Аноним 15/12/17 Птн 23:40:03 461441188
>>461440
2й день юзаю гейм мейкер. Как так изъебнуться, чтобы объект летел в заданном направлении на встроенной физике?
Аноним 15/12/17 Птн 23:40:52 461442189
>>461441
хуй знает, этим говном не пользовался никогда, всегда либо сам, либо подсматривал у кого. Почитай документацию, мб там поймешь чего
Аноним 15/12/17 Птн 23:42:46 461443190
>>461442
Из документации я понял чуть больше чем нихуя... Где можно найти чью-ту физику? Форумы там какие
Аноним 16/12/17 Суб 00:11:36 461448191
Аноним 16/12/17 Суб 00:13:18 461449192
>>461448
Там еще хуже чем на дваче. Мне предъявили, что я хуйню пощу и вежливо нахуй послали
Аноним 16/12/17 Суб 00:15:15 461450193
>>461449
так ты не пости, а просто поиском пользуйся, там да, как на дваче. В идеале как можешь делать - гугли на маркете гамака ассет под нужный тебе жанр игры (платформер, шмап и тд) , качаешь и разбираешь его по косточкам, там и найдешь самописные решения. Либо смотри туториалы пиксельпопа, heartbeast'a и шона сполдинга
Аноним 16/12/17 Суб 06:19:36 461485194
>>461449
Тебе там ясно сказали: либо используешь встроенный физический движок, либо передвигаешь объекты вручную - и даже дали ссылку.
Аноним 16/12/17 Суб 07:28:02 461487195
>>461485
Тщ майор, можете залогиниться
Аноним 16/12/17 Суб 09:45:27 461491196
>>461441
ты юзаешь movedir_x и movedir_y?
если да, то изменению параметров x и y на физоне делается не через x += и y+=, а через phy_position_x += и phy_position_y +=, параметры в твоем случае равнозначные
Аноним 16/12/17 Суб 10:43:05 461494197
>>461491
Ну я phy_poisition и юзаю всегда...
Аноним 16/12/17 Суб 10:47:04 461496198
image.png (386Кб, 699x629)
699x629
>>461491
Ну только пули работают в моем понимании при отключенной физики в комнате, а phy_position не работает без физики
Аноним 16/12/17 Суб 11:49:07 461498199
>>461496
если пули физический объект, то без включенной физики в комнате они работать как надо НЕ будут
если не физический, то ты прописываешь координаты x += и y+=
Аноним 16/12/17 Суб 11:53:34 461500200
>>461498
я юзал move_towards_point, оно двигает в сторону курсора, но при x += не будет же лететь в указанном направлении
Аноним 16/12/17 Суб 11:55:15 461501201
>>461496
Для платформера вообще не нужна физика, начнём с этого. Если что-то перемещается, это не значит, что надо использовать физ. движок.

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

Правильное решение: убери физику с персонажа и двигай его так же, как и пулю - изменением координат.
Аноним 16/12/17 Суб 11:58:12 461502202
>>461501
>Правильное решение: убери физику с персонажа и двигай его так же, как и пулю - изменением координат
А оно разве не будет как слайд шоу?
Аноним 16/12/17 Суб 12:19:30 461506203
>>461500
хуевый выбор, чую, если сдвинешь курсор, то пули тоже изменят направление
лучше высчитывай направление один раз исходя, например, из угла отрисовку спрайта оружия, если оно поворачивается, и используй lengthdir
>>461502
не будет, движение просчитывается каждый кадр, никакой разницы между физикой и её отсутствием тут нет
Аноним 16/12/17 Суб 12:27:38 461511204
>>461506
С пулями все норм, они меняют направление, если прописать mp_potential_step
Аноним 16/12/17 Суб 12:29:49 461512205
>>461511
в любом случае физон тут лишний, если вызывает такие проблемы
Аноним 16/12/17 Суб 12:31:38 461513206
>>461501
А как тогда возвращать гг на землю при прыжке без физики?
Аноним 16/12/17 Суб 12:44:47 461515207
>>461513
умножаешь вертикальную скорость на число меньше 1, где-то 0.3 или 0.25
только gravity его не называй, это уже вшитое
Аноним 16/12/17 Суб 12:46:48 461516208
>>461515
ой, бля, зачеркните
прибавляешь, не умножаешь
Аноним 16/12/17 Суб 12:47:56 461517209
>>461516
тогда каждый фрейм скорость будет уменьшаться на 0.3, типа, стартовая -8, следующий кадр -7.7, -7.4 и так далее
Аноним 16/12/17 Суб 14:48:39 461541210
Аноны, кто сейчас делает игры могу предложить свою помощь. Сам овощ нихуя рифма, ничего не могу сам сделать за не имением идей. Если у вас есть идея готов помочь реализовать. Связаться можно по почте lolqwert569@gmail.com
Аноним 16/12/17 Суб 14:55:22 461544211
>>461541
Если согласен помогать 3м школьникам с охуительными амбициями и хуевыми знания гейм мейкера, за нихуя, ради призрачного профита ввиде стартапа на патреоне и последующей выгрузки игры в стим, то велком
/Чел, разосравшийся в этом треде с физикой
Аноним 16/12/17 Суб 15:04:32 461546212
>>461544
Как связаться? Есть тим спик дискорд
Аноним 16/12/17 Суб 15:05:46 461547213
>>461546
Кстати живу на Камчатке и имею часовой пояс + 12 У ДС + 3 если что
Аноним 16/12/17 Суб 15:14:58 461549214
>>461547
Ля, ну если +12, то дискорд нн прокатит, давай я тебе на почту напишу лучше
Аноним 16/12/17 Суб 15:16:30 461550215
>>461549
А что не так? Сейчас зайти могу
Аноним 16/12/17 Суб 22:31:47 461611216
>>461501
Блять у меня теперь вообще гг распидарасило. Он ебашит без остановки во все стороны и ему абсолютно поебать на все преграды и он пролетает сквозь все объекты
Аноним 16/12/17 Суб 22:51:33 461614217
В написании своей физики, кстати, нет ничего сложного. Там буквально десяток строчек и все будет работать заебись. Главное пару принципов использовать и будет красота.
16/12/17 Суб 23:46:54 461624218
>>461611
Почитай мануал, пройди несколько туториалов, скачай пример платформера и разбери - потом начинай делать своё.
Аноним 18/12/17 Пнд 22:19:32 461873219
Всё не даёт покоя этот калечный редактор изображений. Как работать с ним? У него же ограниченное число пикселей на изображение, как я понял. Есть способ работать через другую программу, чтобы делать анимацию по кадрам? Интересует именно функция onion layers.
18/12/17 Пнд 22:48:07 461875220
>>461873
Не используй совсем. Или жди, пока допилят.
Аноним 19/12/17 Втр 06:46:40 461901221
>>461875
Ну бля, работают же как-то люди. Вопрос в том, как.
Аноним 20/12/17 Срд 11:47:19 462083222
Есть где скачать для пиратобояр вторую версию? А то когда последний раз смотрел (давно) не было ещё.
Аноним 20/12/17 Срд 15:27:41 462117223
>>462083
Там анальный дрм
Аноним 20/12/17 Срд 16:07:49 462125224
>>462117
Мб есть добрые люди на каких-нибудь сайтах, кто общедоступную версию выложил?
Аноним 20/12/17 Срд 18:28:23 462157225
Собирал кто пустой проект в apk на андроид? Какой размер пустого выходит?
Аноним 20/12/17 Срд 21:51:33 462193226
>>462157
Во второй хз, в первой если онли ARMV7 + x86 то 2мб
Аноним 21/12/17 Чтв 08:27:35 462232227
>>462125
Ты блять тупой? Дрм там не просто так для галочки
Аноним 21/12/17 Чтв 11:50:09 462262228
>>462232
Хуя ты восторженный даун. В этом мире существуют тысячи игр и прочего контента с дрм, но это не мешает пиратам такую защиту снимать.
мимо
Аноним 21/12/17 Чтв 18:56:50 462368229
>>462232
Ты блять в послание вникни, я блять написал про общедоступный аккаунт. Такая хуйня есть с играми на яблоки
Аноним 23/12/17 Суб 12:38:49 462547230
>>462262
в первом тоже была защита. просто второй никому не нужен, первого и так хватает
Аноним 25/12/17 Пнд 11:52:52 462874231
Бамп-антивайп.
Аноним 26/12/17 Втр 12:45:30 463156232
Ньюфаг в треде. Раскидал по комнате тайлы, поместил туда же обЪект с игроком и запустил для проверки. Игрока почему-то не видно. Что не так?
Аноним 26/12/17 Втр 19:07:59 463424233
Аноним 27/12/17 Срд 00:40:37 463469234
>>463424
Да я уже и сам разобрался.
Ещё такой момент: с чем может быть связанно отталкивание игрока от стенки, если напирать на неё? Если медленно пододвинуть объект к стене и затем двинуть его, игрока вообще вытолкнет за стену.
Аноним 27/12/17 Срд 15:39:06 463602235
Делаю платформер, на данный момент коллизии сделаны с помощью объекта стены. Хочу переделать коллизию на тайлы.
У меня есть движущиеся платформы, которые не представляю, как сделать тайлами.
В связи с этим два вопроса.
1) Будет ли прирост производительности, если статические стены (коих 90%) заменить тайлами, а движущиеся оставить объектами?
Тогда, получается, мне нужно будет в коде проверять коллизию дважды - на тайлах и на объектах. Но ведь объектов-стен теперь будет на порядок меньше. Стоит ли пытаться?
2) Можно ли сделать движущиеся платформы тайлами?
Аноним 27/12/17 Срд 15:48:48 463603236
>>463602
1) будет
2) нельзя. Оставь движущуюся платформу объектом - остальное тайлами.
Бамп треду. Аноним 31/01/18 Срд 10:16:31 472064237
1.png (38Кб, 313x237)
313x237
Runner 2018-01-[...].mp4 (3021Кб, 1024x768, 00:00:06)
1024x768
Runner 2018-01-[...].mp4 (511Кб, 550x304, 00:00:05)
550x304
Как я свет в гамаке анимировал.
Аноним 31/01/18 Срд 12:23:02 472088238
Аноним 31/01/18 Срд 14:25:38 472109239
>>472080
Как я вилкой чистить буду?
Расскажи, что имеешь ввиду, а ещё лучше дай туториал на то, как это сделать в.
Аноним 03/02/18 Суб 07:59:07 472709240
image.png (615Кб, 1920x1080)
1920x1080
image.png (581Кб, 1920x1080)
1920x1080
Как сделать чтобы герой был поверх верхних стен, но под нижними стенами, как на пикриле?
Аноним 03/02/18 Суб 09:57:24 472713241
>>472709
Простейший шейдер. Можешь навелосипедить с draw_sprite_part(), но будет совсем не гибко.
Аноним 03/02/18 Суб 12:22:17 472725242
>>472709
Блин, у тебя же туториал открыт. Смотри как сделано.

>>472713
draw_sprite_part() и шейдер. Всё так.
Аноним 03/02/18 Суб 12:27:14 472726243
>>472725
Вон в том же туториале, который ты смотришь, написано, что лучше шейдер использовать.
// a simple shader would be better/faster than setting the fog for each sprite drawn.
gpu_set_fog(true,i.silhouette_colour,1.0,1.0);
draw_sprite_ext( i.sprite_index, i.image_index, i.x,i.y, 1,1,0,i.silhouette_colour,1);

Но они там делают какое-то извращение, имхо.
Аноним 03/02/18 Суб 12:27:27 472727244
>>472725
Я шото прихуел с того, что там есть, поэтому тут и спросил
Аноним 03/02/18 Суб 13:26:13 472744245
>>472727
Знаешь, я сейчас открыл их туториал и тоже прихуел. Но это не значит, что не надо изучать как там что сделано - у них есть решения, охуенно экономящие фпс. Я этот гайд ковырял когда освещением занимался. В конце концов сделал всё на порядок проще, но их приёмы с растягиваием и блуром сурфейса я запомнил.

Можно гораздо проще всё сделать.
Держи охуенный гайд по шейдерам ля начинающих гамакеров:
http://xorshaders.weebly.com/

Ну и как спрайт кусками рисовать - сам разберёшься.

Аноним 03/02/18 Суб 19:01:33 472790246
Как работает ds_list_create? У меня он строку как то неправильно распознает, если количество значений поменялось.
Аноним 03/02/18 Суб 20:04:38 472795247
>>472790
Ты нормально вопрос задай.
Аноним 03/02/18 Суб 20:07:50 472797248
>>472795
Я решил сделать импорт старых сохранений, все по порядку разобрал, но в некоторых случаях ds_list_find_value получает не те значени, какие надо
Аноним 04/02/18 Вск 01:23:44 472843249
>>472797
Так, уже речь не про ds_list_create, значит?

Сделай ещё попытку, всё равно не получилось вопрос задать. И не забывай, ты всегда можешь заглянуть внутрь своих дата структур через дебагер.
Аноним 05/02/18 Пнд 15:15:57 473062250
Я догадываюсь, что поступаю как мудак, если на самом первом этапе повторения уроков лезу с вопросами, но с другой стороны это сообщение можно просто проигнорировать, если что, а может кому-то как раз нечем себя занять и он мне поможет.

Смотрю урок Make an RPG, там проблему бесконечного проигрывания анимации после начала движения решают через

if (!key_right and !key_left) {
image speed = 0
}

Я же хочу включать idle анимацию. Понятно, что надо просто прописать sprite_index = spr_player_idle; но у мня их две штуки, чтобы игрок оставался в левой idle анимации после того, как шел влево и в провой idle анимации после того, как шел вправо. Как это сделать?
Аноним 05/02/18 Пнд 17:29:10 473091251
>>473062
if image_xscale > 0 {
sprite_index = idle_right
} else {
sprite_index = idle_left

Это если ты его разворачиваешь через скейл
Аноним 05/02/18 Пнд 17:51:03 473099252
>>473062

Не бойся изобретать. Не бойся вводить новые переменные.

Зафигачь себе

if (!key_right and !key_left) {
sprite_index = spr_idle; //меняй спрайт с анимацией idle
image_speed = 0;
}
else{
sprite_index = spr_run; //меняй спрайт на спрайт бега
image_speed = 1;
}






Аноним 05/02/18 Пнд 17:52:16 473100253
>>473099
тьфу ты.

if (!key_right and !key_left) {
sprite_index = spr_idle; //меняй спрайт на анимацией idle
image_speed = 1;
}
else{
sprite_index = spr_run; //меняй спрайт на спрайт бега
image_speed = 1;
}
Аноним 05/02/18 Пнд 18:25:55 473104254
>>473091
Нет, не через скеил. У меня просто прописано

if (key_right) {
sprite_index = spr_player_run_right;
}

if (key_left) {
sprite_index = spr_player_run_left;
}

и соответственно загружено две разные анимации.

>>473099
>>473100
Я Game Maker Studio только этим утром установил. И не совсем понимаю твой код.

Алсо сейчас досмотрел этот урок https://youtu.be/72SWn4xr-0Q и вопрос по анимациям остался, т.к. он там удары не стал анимировать. С анимацией ходьбы/бега все понятно: нажимаешь вправо - проигрывается анимация вправо, нажимаешь влево - проигрывается анимация влево, а вот с ударами как? Как сделать, чтобы при нажатии одной и той же кнопки удара игра понимала, какую именно из анимаций проигрывать? Короче мне надо еще уроков по гейм мейкеру, в этой серии он многих вещей не касается.
Аноним 05/02/18 Пнд 20:50:40 473154255
Подскажите пожалуйста. Вот я покупаю гейммейкер 2 за 1500 рубасов в стиме и могу проддавать эти игры? Меня не нагнут за это?
Аноним 05/02/18 Пнд 21:40:30 473198256
>>473154
за что тебя нагибать?
Аноним 05/02/18 Пнд 21:53:01 473200257
>>473198
Всякая фигня с лицензиями
Аноним 05/02/18 Пнд 22:25:21 473208258
>>473154
да. Проблем нет, брат жив
Аноним 06/02/18 Втр 09:46:53 473291259
>>473104
>не совсем понимаю твой код.

В гамаке есть keyword- sprite_index - указывает на спрайт объекта. При помощи него ты можешь менять спрайт объекта когда захочешь, а не только при создании объекта.
Аноним 06/02/18 Втр 14:57:48 473348260
Посоветуйте туториалы по созданию игры типа Lone Survivor, т.е. перемещение по одной оси, стрельба, взаимодействие с объектами, инвентарь, диалоги и т.д.
В сети достаточно подробных туториалов для нубов, по которым даже человек абсолютно без опыта программирования может повторить шаг за шагом процесс создания игры в гамаке, но те что я видел, обычно для платформеров, изометрических рпг или топ-даун шутеров.
Аноним 06/02/18 Втр 15:35:06 473353261
>>473348
Бери туториал для платформера и не делай прыжки. В чём проблема?
Аноним 07/02/18 Срд 13:42:26 473547262
>>473353
https://youtu.be/G90wXOwPPVE?t=6m6s
Нахуя он создает вериабл b = -1; ?

Получается он дальше пишет
if (image_xscale = 1)
-1.direction = 0;
} else {
-1.direction = 180;
}
что блядь это вообще должно означать?
Аноним 07/02/18 Срд 14:13:39 473554263
>>473547
Резервирует контейнер для пули.

Для того, чтобы не использовать b в каком-то другом месте.
Во-вторых, если вдруг ему нужно будет обратиться к пуле b в каком-то другом месте,он сможет сделать проверку
if instance_exists(b)
{
блаблабла
}

Если b задано не будет - получится критическая ошибка. Если же b будет иметь значение -1, то это соответствует ключевому слову noone в гамаке. Проверка будет пройдена.

Вообще, когда я создаю всякие пули, я задаю временную переменную.

var b = instance_create...
b.spd = ...
b.dirx = ...
b.dmg = ...

Но если бы мне понадобилось, например, управлять пулей используя для управления объект игрока, я бы в криэйт ивенте написал
b = noone;
И ты лучше пиши не
b = -1;
а
b = noone или b = false
В смысле не используй цифру -1 там, где должно быть ключевое слово. Не потому, что работать не будет, а потому что в последствии, вернувшись к своему коду через пару месяцев, тебе будет легче в нём разобраться.




Аноним 07/02/18 Срд 14:31:49 473558264
>>473547
>Получается он дальше пишет

Ты не понял что он делает.
Сначала у него была b = -1
Потом он написал
b = instance_create.. и b поменяла значение.
Фунция instance_create возвращает id созданного объекта.
Теперь b содержит ссылку на созданный им инстанс. (Ключевое слово гамака id)

Поэтому, когда ты дальше пишешь

b.direction = 0

Ты изменяешь параметр direction этого объекта на 0.


И тут важно, обрати внимание и запомни:
Когда создаётся объект при помощи instance_create
сразу же начинает выполняться его криэейт ивент. СРАЗУ ЖЕ.

Поэтому, когда ты следующей строкой пишешь
b.direction = 0
помни, что криэей ивент УЖЕ произошёл.
Ну и, соответственно, ты не можешь использовать в криэйт ивенте этого инстанcа данные от создателя. Если тебе нужно вычислить для пули скорость в зависимоти от направления, либо вычисляй её после instance_create и предавай объекту, либо у объекта делай "дополнительный приэйт ивент".

Но это уже другая история, этим ты будешь заниматься потом. Пока кури туториалы.
Аноним 07/02/18 Срд 14:57:35 473571265
>>473558
Ну и раз уж ты такие вопросы задаёшь:

переменная в гамаке - штука умная и универсальная.

Во-первых она сама определяет свой тип, когда ты используешь =

Если b = 1 то она - int
Если b = 1/3 то она сразу real
Если b = "hello wrold" То она string

Но это тебе не очень инересно.

А вот если

b = spr_player
и при этом spr_player - это название твоего спратйа игрока, то b становится ссылкой на это спрайт.

И ты можешь использовать её для анимации. Например

create event:
sprite_walk_right = spr_zombie_walk_right
sprite_walk_left = spr_zombie_walk_left

if dirx = 1{
sprite_index = sprite_walk_right
}
else{
wprite_index = sprite_walk_left
}

Зачем так делать? Да затем, что когда ты будешь создавать много врагов, ты сможешь использовать для них одни и те же скрипты, меняя лишь значение sprite_walk_right в create event. Ты просто child objects будешь создавать, у которых только криэйты разные. Удобно же!

b = room_index

И теперь b это ссылка на твою комнату.
И так далее.



Аноним 08/02/18 Чтв 15:16:26 473806266
>>473571
Спасибо. Я едва ли что-то из этого понял вчера когда прочитал, но сейчас немного разобрался, когда делал удар врага по игроку.
Переменную можно привязать к объекту и это удобно тем, что можно создавать этот объект с уже заданными параметрами в коде его создателя.
var enhit = 0;
//enemy attack
if (alarm[0] <= 0) {
enhit = instance_create (x,y+30,obj_enemy_hit);
enhit.image_xscale = image_xscale;
alarm[0] = 60;
}
можно придать заданное направление (например для удара), скорость (для пули) и т.д.
Аноним 08/02/18 Чтв 15:43:21 473814267
>>473806
Послушай совет:
Никогда. Не. Используй. Алармы.

Во-первых их всего 12.
А если у твоего игрока куча разных механик? Тебе не хватит.

Во-вторых порядок исполнения кода. Ты знаешь когда они выполняются? В тот самый момент, когда оттикал таймер. А когда тикает этот таймер? В начале шага, в конце, в самом шаге? А в какой последовательности у разных объектов он тикает? А если твой игрок неуязвим, а на тебе ДоТ, который сделан на аларме, а аларм тикает у врага? НАХУЙ! Это самое главное.

В-третьих без алармов код проще и понятней.
То, что у тебя написано превращается в:

В криэйт ивент пишеш:
enemy_hit_timer = 0;
enemy_hit_time = 60

В степ ивенте меняешь аларм на:

enemy_hit_timer ++
if enemy_hit_timer > enemy_hit_time{
enemy_hit_timer = 0;
enhit = ...
бла бла бла }

И не думаешь через месяц "а за что у меня отвечает alarm[8]?" и не вспоминаешь "а я этот же аларм использовал для кулдауна регенерации здоровья, надо поменять." У тебя всё в криэйт ивенте хранится.


Нахрена тебе эта ересь?

Аноним 08/02/18 Чтв 17:14:51 473854268
>>473814
За совет спасибо. Про timer я вообще не знал, про алармы узнал из туториалов в связи с этим и использовал. В принципе конкретно в этом случае с врагом у меня это временная мера, пока враг представляет собой красный прямоугольник который бьет меня оранжевым прямоугольников. В будущем планирую привязать obj_enemy_hit к кадру анимации, в которой враг будет бить, так что этот аларм можно будет спокойно вырезать.

Но на всякий пожарный уточню, алармов всего 12 ведь не на всю игру, а на конкретный объект? То-есть alarm[0] прописанный для obj_player не имеет никакого отношения к alarm[0] прописанного для obj_enemy, гейммейкер путать их не будет и они прекрасно живут своей жизнью независимо друг от друга?
Аноним 08/02/18 Чтв 18:10:17 473880269
>>473854
На объект.

>о-есть alarm[0] прописанный для obj_player не имеет никакого отношения к alarm[0] прописанного для obj_enemy,

И даже alarm на одном obj_enemy не имеет отношения к alarm На другом obj_enemy.
Это просто встроенный неудобный таймер гейммейкера. лучше таймеры делать самостоятельно.


Аноним 09/02/18 Птн 20:08:59 474263270
Хм... создал сейчас вторую комнату и перемещение между ними через дверь, все работает, но на душе как-то неспокойно. Я решил чтобы не засирать лишними эвентами obj_player создать коллижн ивен внутри самой двери
if (instance_exists(obj_player)) and (key_use) {
room_goto(rm_f1_garage);
obj_player.x = 180;
}
Только после того, как все опробовал и убедился, что плеер перемещается и хп у него остается ровно тоже количество что и было в предыдущей комнате, задумался а почему оно вообще работает. Ведь этот коллижн ивент запускается из самой двери, почему room_goto перемещает именно плеера в другую комнату, а например не саму дверь? Такой код вообще нормальный или я потом с ним наебусь?
Аноним 09/02/18 Птн 21:34:40 474287271
>>474263
Потому что это не объект игрок перемещается куда-то, а исчезает одна комната и на её месте появляется другая.

Если на каком-то объекте стоит галочка persistent, этот объект остаётся на своём месте.
Остальные обхекты исполняю свой room_end event и исчезают.
Затем появляются объекты новой комнаты.

Строкой obj_player.x = 180; ты меняешь ккординату x игрока. Камера перемещается за ним. Она у тебя сейчас автоматическая, от гейммейкера, и ты её должным образом не контролируешь. Но и комната у тебя, скорее всего, в один экран, поэтому странного поведения камеры ты не видишь.

Аноним 09/02/18 Птн 21:43:46 474289272
>>474287
>Ведь этот коллижн ивент запускается из самой двери

Читай мануал:
Note that calling this function does not instantly change rooms, and the room will not change until the end of the current game frame (meaning that any code after this function will still be run, as will some events). This function will also trigger the Room End event.

Команда room_goto поднимает флаг перехода в другую комнату.
Но переход этот происходит только после окончания текущего фрейма.
Также эта команда выполняет room_end event всех объектов.

Порядок выполнения кода такой:
В step event у тебя где-то срабатывает команда room_goto. После этой команды всё продолжается как обычно.
Выполняются step event всех объектов, потом их draw event на самом деле ивентов больше. но сейчас это не важно

После исполнения draw event начинается, собственно, переход в другую комнату.

Сначала выполняется room_end event комнаты вот с ивентами комнаты могу ошибаться
Затем для каждого объекта исполняется room_end event, после чего объект, если он не persistent, уничтожается.

Потом выполняется room_start event новой комнаты. Затем create event всех объектов в новой комнате, затем room_start event всеъ объектов в новой комнате, затем create event новой комнаты, затем room_start event новой комнаты.

Я надеюсь ты понял мысль.




Аноним 09/02/18 Птн 21:53:58 474293273
>>474263
>Такой код вообще нормальный или я потом с ним наебусь?

Вот это хорошо:
if (instance_exists(obj_player))

Если сразу привыкнешь это писать при обращении к объекту, потом будет легче.

Аноним 09/02/18 Птн 22:09:46 474301274
>>474287
>Потому что это не объект игрок перемещается куда-то, а исчезает одна комната и на её месте появляется другая.
>Если на каком-то объекте стоит галочка persistent, этот Теперь все понятно, на obj_player у меня как раз стоит persistent. Makes total sence.
>>474289
Из этого поста пока мало что понял, но не буду рашить. У меня еще много базовых вещей впереди на освоение. Вернусь к этому чуть позже.
Аноним 16/02/18 Птн 19:01:30 476840275
Аноны, помогите сделать движение рук. Нужно, чтобы пока нажата ЛКМ, при передвижении курсора справа от игрока его руки целились в сторону курсора, а когда курсор переходит в левую часть экрана, спрайт менялся на противоположный
Аноним 16/02/18 Птн 21:13:12 476885276
>>476840
Step Event:

if (mouse_check_button(mb_left)) {
if (mouse_x < x) {
image_yscale = -1;
} else {
image_yscale = 1;
}

image_angle = point_direction(x, y, mouse_x, mouse_y);
}
Аноним 17/02/18 Суб 22:50:22 477110277
>>476885
Может еще подскажешь, как сделать спрайт рук отдельно от основного
Аноним 17/02/18 Суб 23:03:11 477115278
>>476885
И еще при нажатии спрайт выворачивается, но я юзал похожую функцию для поворотов. Если нажать в левую часть, то после нажатия кнопок вправо и влево используется противоположное направление
Аноним 18/02/18 Вск 00:19:01 477167279
>>477110
Рисуй в draw event два спрайта.

Основной объект рисуй как
draw_self();
Дополнительный рисуй как
draw_sprite_ext(....) - и вводи для него отдельные переменные
sprite_hands_sprite_index =
sprite_hands_image_number =
sprite_hands_rotation =
sprite_hands_image_xscale =
и так далее. В мануале всё написано.

>>477115
Разжёвывать никто тебе не будет. Ты задаёшь ЭЛЕМЕНТАРНЫЕ вопросы, ответ на них есть в мануале.
Тебе показали способ как это сделать,и подсказали, про что читать. Иди и читай мануал.
пункт draw_sprite_ext

Аноним 25/02/18 Вск 22:47:35 480204280
Вопрос мёртвому треду: что там по turn-based rpg? Есть гайды о том, как реализовывать битву с действиями и т. д.?
мимонуфак
Аноним 26/02/18 Пнд 10:02:56 480248281
>>480204
Сам пиши, ничего в этом сложного нет
Аноним 26/02/18 Пнд 11:20:07 480276282
>>480204
Хотел побыть хорошим полицейским и по-доброму ответить на твой вопрос. Но просто не могу.

Ты написал хамский, потребительский пост, который даже не содержит в себе вопроса.

Попробуй задать вопрос ещё раз, при этом опиши то, что ты хочешь сделать, что именно у тебя не получается, опиши свои варианты подхода к проблеме и почему они не сработали.
Аноним 26/02/18 Пнд 14:01:01 480312283
>>480248
Не знаю ни одного ЯП, в гамак вкатился из-за рекомендаций, мол, очень хорош для новичков.
>>480276
Меня интересует система битв в целом: инициация боя, организация ходов, использование скиллов и предметов из инвентаря, накладывание эффектов, вот это вот всё. Не знаю ничего.
Аноним 26/02/18 Пнд 14:40:58 480331284
>>480312
И ты ожидаешь, что я тебе тут книгу напишу про то, как это делать, или дам ссылку на гайд "как сделать заебись"?

При том, что ты даже сам не можешь написать, что ты хочешь сделать.

> Не знаю ничего.
Тогда запускай самые первые туториалы по гамаку от Спалдинга и делай астероиды.

Аноним 26/02/18 Пнд 14:51:20 480335285
>>480331
>И ты ожидаешь, что я тебе тут книгу напишу про то, как это делать, или дам ссылку на гайд "как сделать заебись"?
Я какбэ в первом посте писал, что мне нужны гайды по тбрпг, блять. Почему харкачеры так привыкли искажать всё.
>При том, что ты даже сам не можешь написать, что ты хочешь сделать.
Я бы описал концепт, если бы беседовал с кем-нибудь индивидуально, но меня в первую очередь интересуют базовые механики, о которых я уже говорил.
>Тогда запускай самые первые туториалы по гамаку от Спалдинга и делай астероиды.
Зачем мне аркадные механики в турн бэйсед рпг, объяснишь мне? Все эти коллизии и прочую хуйню я и так освоил, меня интересуют углублённые знания.
Аноним 26/02/18 Пнд 15:11:27 480344286
>Зачем мне аркадные механики в турн бэйсед рпг, объяснишь мне? Все эти коллизии и прочую хуйню я и так освоил, меня интересуют углублённые знания.

Видимо не освоил, иначе знал бы, как работать с объектами.

>Я какбэ в первом посте писал, что мне нужны гайды по тбрпг, блять. Почему харкачеры так привыкли искажать всё.

Может не харкачеры искажают, а у тебя не получается вопрос задать?
Попробуй поставить себя на место собеседника. Допустим тебя спрашивают:
"Посоветуйте гайды по созданию мобильных приложений."
или
"Посоветуйте гайды по созданию головоломок."

Что ты ответишь?

А представь себе, если тебя спросят:
"как мне сделать так, чтобы мой враг в игре выполнял какое-то действие только тогда, когда я нажимаю на кнопку "конец хода"?"

Тогда тебе ответят:

Воткни в начало степ ивента объекта obj_enemy такую конструкцию:

if !turn_is_over
{turn_is_over = false;}
else
{exit;}
Дальше пиши код как обычно.

Потом создай кнопку, после нажатия на которую она будет выполнять следующий код
with obj_enemy
{turn_is_over=true}

Теперь после нажатия на эту кнопку у всех твоих врагов флаг turn_is_over станет true. Они выполнят step event один раз и снова установят у себя флаг turn_is_over = false.

>Я бы описал концепт, если бы беседовал с кем-нибудь индивидуально
Ты /gd с /b попутал. Тут всего 15 человек сидит. В общей сложности.

Я всё ещё добрый полицейский. Но это в последний раз.
Аноним 26/02/18 Пнд 15:15:25 480347287
>>480344
Ну, в таком случае мне нужен анон, с которым я смогу работать индивидуально. Тогда я уже смогу задавать ему конкретные вопросы, но один хуй никто не захочет этим заниматься.
Аноним 26/02/18 Пнд 15:20:24 480351288
>>480347
Здесь нет никого, кроме меня. Захочу ли я тебе что-то объяснять зависит только от тебя.
Аноним 26/02/18 Пнд 15:22:07 480352289
>>480351
И что же мне нужно делать, чтобы добиться твоего одобрения?
Аноним 26/02/18 Пнд 15:26:53 480353290
>>480352
Задавать правильные вопросы вот по этой инструкции >>480276
Аноним 26/02/18 Пнд 15:28:40 480354291
>>480353
Мог бы, но не хочу палить концепт. Могли бы обменяться мылами и поговорить наедине.
Аноним 26/02/18 Пнд 15:37:19 480367292
>>480354
>Мог бы, но не хочу палить концепт.
Смирись с тем, что твой концепт не интересен никому.

>Могли бы обменяться мылами и поговорить наедине.
Я сижу на анонимном форуме не потому, что хочу меняться мылами и говорить с кем-то наедине.
Аноним 26/02/18 Пнд 16:13:40 480394293
>>480354
>Мог бы, но не хочу палить концепт.
Ну бля, ну так хотелось спиздить у тебя идею очередной рпгшки, ну чо вы опять обламываете(9(
Аноним 26/02/18 Пнд 16:19:21 480398294
>>480394
скоро будет ажиотаж вокруг рпг, успей вкатиться
Аноним 26/02/18 Пнд 16:21:12 480401295
>>480398
Ага, скоро ведь девяностые, рпг на пике своей популярности
Аноним 26/02/18 Пнд 16:27:44 480407296
>>480394
Я просто не хочу шкварить своё говноподелие об двач, тем более /gd.
Аноним 26/02/18 Пнд 16:28:52 480409297
>>480407
Но у тебя нет никакого поделия. И не бует.
Аноним 26/02/18 Пнд 16:38:55 480416298
>>480409
Ну раз ты так сказал.
Аноним 27/02/18 Втр 14:57:08 480762299
Подскажите как реализовать стрельбу в платформере. Меня интересует даже не столь техническая, как практическая сторона. Вот у меня есть персонаж, и он может стрелять во все стороны. Как лучше сделать повороты рук, чтобы это не выглядело будто у гг суставы вращаются во все стороны? Может есть примеры там в каких-то играх или видео какие-нибудь
Аноним 27/02/18 Втр 16:04:11 480777300
>>480762
Ты определись, тебе стрельбу нужно реализовывать или повороты рук?

У тебя 2д или 3д? Вектор? Руки - отдельный объект? С вот этим всем определись.

А лучше всего - нарисовать каждый кадр положения рук и тела для стрельбы, иначе будет выглядеть как говно.
Аноним 27/02/18 Втр 16:40:54 480813301
>>480777
Повороты рук во время стрельбы. Рисовать каждый кадр смысла нету, потому что тогда нельзя будет поворачиваться и стрелять одновременно
Аноним 27/02/18 Втр 17:21:36 480819302
>>480813
>>потому что тогда нельзя будет поворачиваться и стрелять одновременно

Чтоблять?

Ты сначала объясни, что ты хочешь, картинки запости. Понять что-то из твоего лепета невозможно.
Аноним 27/02/18 Втр 21:16:33 480892303
>>480819
Да хуле непонятно-то? Мне надо чтобы при стрельбе можно было вертеть руками во все стороны и это не выглядело по-уебански. Я пытался сделать это отдельным спрайтом рук и получилась хуйня. Вот я и спрашиваю другие способы сделать это
Аноним 27/02/18 Втр 21:33:25 480895304
>>480892
Делай 3д хуле. Как ещё можно сделать не рисуя отдельные кадры для каждого положения, еблан?
Аноним 27/02/18 Втр 21:41:19 480897305
>>480895
У тебя 2d вид сбоку? Или 3d? Или изометрия? Ты не способен видео залить на двач? Иди учись.

Если 2d вид сбоку - рисуй.

Ты из автомата стреляешь или из пистолета?

Где ты видел, чтобы кто-то за спину себе стрелял? Как ты вообще себе это представляешь?



Посмотри как в ghost 1.0 сделано. Она наклоняется вперёд и назад туловищем, сгибает руки, отставляет назад ногу, опускает и поднимает голову и стреляет только в передней полусфере. Если надо стрелять назад - разворачивается.
Она векторная, состоит из кусков, но каждый кадр стрельбы отрисован. Каждые 10 градусов поза чуть-чуть меняется, а в пределах 10 градусов ходят только руки.

Если ты хочешь тупо вращать неанимированный спрайт рук - у тебя и получится тупо. Чтобы было хорошо нужно много работать.

Аноним 27/02/18 Втр 23:17:17 480920306
>>480897
>Каждые 10 градусов поза чуть-чуть меняется
Ну и это будет выглядеть дёргано и будет ощущение, что пуля летит не из дула
>Где ты видел, чтобы кто-то за спину себе стрелял? Как ты вообще себе это представляешь?
Ну так за спиной у меня спрайт меняется на противоположный
Аноним 27/02/18 Втр 23:47:53 480926307
>>480920
>Ну и это будет выглядеть дёргано и будет ощущение, что пуля летит не из дула

Ты жопой читаешь? Поза меняется каждые 10 градусов. В пределах этих 1- градусов перемещаются руки. Открой ghost 1.0 да посмотри как там сделано.

Чтобы это повторить мне, например, нужно недели две рисовать. У меня уже опыт некоторый есть со спайном. Тебе - два месяца понадобится. Готов? Вперёд!
Аноним 02/03/18 Птн 21:38:56 482212308
image.png (284Кб, 850x531)
850x531
Аноним 02/03/18 Птн 21:41:13 482213309
Аноним 02/03/18 Птн 22:18:42 482222310
>>482212
Хотел посидеть на раздаче, но самому не скачать.
Аноним 02/03/18 Птн 23:34:58 482231311
>>482222
Я сидел на раздаче, но у меня она перестала идти
Аноним 02/03/18 Птн 23:36:41 482232312
>>482222
Да че ты врежч, скорость около 1мб
Аноним 03/03/18 Суб 00:51:34 482241313
>>482212
посижу на раздаче с недельки две, если дадите докачать до фулла
Аноним 03/03/18 Суб 19:35:55 482368314
Screenshot20180[...].jpg (19Кб, 417x388)
417x388

Аноним 03/03/18 Суб 20:24:06 482376315
щитпостинг
Аноним 03/03/18 Суб 20:28:09 482378316
Соре, я просто даунич немного. Кстати, я раздаю. Качайте, сейчас скорость норм должна быть
Аноним 05/03/18 Пнд 07:52:26 482800317
Кто-нибудь знает, как в GMS2 под windows сохранить файлы где-то кроме "User\AppData\Local\project_name"? Разумеется, без вызова диалога. Нашёл для обхода этого "сэндбокса" несколько расширений от пользователей, но они все на гейммейкер версии 1.4. Буду очень признателен, если кто подскажет что-нибудь.
Аноним 14/03/18 Срд 00:08:03 486329318
>>482212
Всё скачалось (скорость 1мб), сижу на раздаче.
Аноним 14/03/18 Срд 10:46:08 486508319
>>472725
>Блин, у тебя же туториал открыт
Это не туториал, а пример.
Аноним 17/03/18 Суб 21:52:22 487982320
Анон, почему, когда я иду в вертикальную коллизию и пытаюсь подвигать вправо-влево, я не двигаюсь до тех пор, пока не перестану идти в стену, но если я делаю аналогично с вертикальной коллизией, то такого не происходит. Что за хуйня?

Код:
obj_player

create

w_spd = 2;
n_spd = 3;
r_spd = 6;
spd = 3;

draw

draw_self();

step

//UPDATE INPUT
input_left = keyboard_check(vk_left);
input_right = keyboard_check(vk_right);
input_up = keyboard_check(vk_up);
input_down = keyboard_check(vk_down);
input_walk = keyboard_check(vk_control);
input_run = keyboard_check(vk_shift);

//ALTER SPEED
if(input_walk or input_run) {
spd = abs((input_walkw_spd) - (input_runr_spd));
} else {
spd = n_spd;
}

//RESET MOVE VARIABLES
moveX = 0;
moveY = 0;

//INTENDED MOVEMENT
moveY = (input_down - input_up) spd;
if(moveY == 0){ moveX = (input_right - input_left)
spd; }

//COLLISION CHECK
//Horizontal
if(moveX != 0){
if(place_meeting(x+moveX, y, obj_collision)){
repeat (abs(moveX)){
if(!place_meeting(x+sign(moveX), y, obj_collision)){ x += sign(moveX);}
else { break; }
}
moveX = 0;
}
}

//Vertical
if(moveY != 0){
if(place_meeting(x, y+moveY, obj_collision)){
repeat (abs(moveY)){
if(!place_meeting(x, y+sign(moveY), obj_collision)){ y += sign(moveY);}
else { break; }
}
moveY = 0;
}
}

//APPLY MOVEMENT
x += moveX;
y += moveY;
Аноним 17/03/18 Суб 21:53:34 487983321
>>487982
Ёбаный курсив. Там в двух местах есть звёздочки, если что.
Аноним 17/03/18 Суб 23:36:55 487995322
И что тебе не нравится? Ты же сам пишешь, что у тебя движение по х возможно только если нет движения по у.

if(moveY == 0){ moveX = (input_right - input_left) spd; }

Вообще это пиздец - то что ты написал. Надеюсь ты первый день просто как кодить учишься.
Аноним 18/03/18 Вск 00:34:39 488007323
>>487995
>Ты же сам пишешь, что у тебя движение по х возможно только если нет движения по у.
Бля, точно. Спасибо, не заметил.
>Вообще это пиздец - то что ты написал. Надеюсь ты первый день просто как кодить учишься.
Учусь по гайдам.
Аноним 18/03/18 Вск 01:16:48 488012324
Артик.png (560Кб, 700x700)
700x700
>>439561 (OP)
Гд, родимый, помоги пожалуйста забороть ошибку:

############################################################################################
FATAL ERROR in
action number 1
of Step Eventunit1
for object obj_unit_effector:

Variable <unknown_object>.<unknown variable>(100007, -2147483648) not set before reading it.
at gml_Object_obj_unit_effector_Collision_2de17de7_8960_48b4_917c_ea87cd83c070 (line 5) - if (creator.allie_status != other.allie_status)
############################################################################################
--------------------------------------------------------------------------------------------
stack frame is
gml_Object_obj_unit_effector_Collision_2de17de7_8960_48b4_917c_ea87cd83c070 (line 5)



Бьюсь уже кучу времени с ней. Соль в том, что описываю юнит для стратежки, у юнита раз в кол-во кадров (число задается параметром кулдаун) при подходе на расстояние для атаки создается инстанс (обджект эффектор), который считает колижн с недружественным объектом и отнимает у него хп. Собственно при попытке скомпайлить вылезает эта сранина. Скажите, какие куски кода нужно скинуть, чтобы разобраться, ток помогите.

Рандомпик
Аноним 18/03/18 Вск 02:24:40 488018325
>>488012
Скорее всего ты не проверяешь существуют ли инстансы перед тем как ими манипулировать. Или не назначаешь или неправильно назначаешь переменную creator. Или у другого объекта просто нет такой переменной как allie status. Или ты случайно назначил юнит родителем эффектора или еще какие-нибудь проблемы с наследованием.
В общем показывай весь код и общий вид объекта эффектора и заодно скрипт который его создает.
Аноним 18/03/18 Вск 02:48:43 488020326
image.png (282Кб, 1600x1160)
1600x1160
image.png (260Кб, 1600x1160)
1600x1160
image.png (286Кб, 1600x1160)
1600x1160
>>488018
Вот. Только не пугайся кода, я в гмс всего два дня сижу.
Аноним 18/03/18 Вск 03:30:37 488022327
>>488020
Ну вот смотри, насколько я вижу создаешь ты эффектор однозначно, но создателя ему назначаешь ситуативно, а потом переменную хозяина спрашиваешь однозначно, при этом создаешь эффектор там где гарантированно срабатывает Collision. Creator в таком случае получается инициализированной, но пустой переменной.
Перенеси создание эффектора под скобки боевого статуса и посмотри станет ли лучше.

Аноним 18/03/18 Вск 03:43:35 488023328
>>488022
Да, я так как раз делал, когда пытался сам баг выловить, в таком случае ошибка все равно вылетает, но позже. Сейчас сделаю и покажу.
Аноним 18/03/18 Вск 03:50:00 488024329
image.png (283Кб, 2779x1190)
2779x1190
>>488022
В этот раз игра хотя бы открылась, хоть и не надолго.

(Алсо, можешь поподробнее объяснить, почему получается, что я ситуативно назначаю, но однозначно спрашиваю? Или какой-нибудь урок/статью может посоветуешь, чтобы разобраться)
Аноним 18/03/18 Вск 04:34:04 488026330
>>488024
>можешь поподробнее объяснить
Что там объяснять, получается так потому что ты не назначаешь создателя сразу же при создании (и не проверяешь назначен ли он перед тем как запросить статус, но это в данном случае было бы необязательно). То есть effector.creator=id дожно быть на следующей строчке после instance_create(effector), а не по разную сторону фигурных скобок двух-трех разных if else, у которых вся суть в том что код срабатывает только в зависмости от ситуации.

Да и вообще делать это в step не самая лучшая идея, ты создаешь допустим 60 объектов в секунду, а нужен из них только один, только когда срабатывает alarm, соотвественно лучше и перенести в аларм.
Аноним 18/03/18 Вск 04:55:23 488029331
>>488026
Вау, сейчас сделал как ты сказал, и все заработало. Спасибо тебе огромное, родина не забудет твоего подвига!
Аноним 18/03/18 Вск 14:21:36 488100332
Untitled.png (2Кб, 500x500)
500x500
Анон, у меня проблема. Делаю анимации, которые разложены в чарлисте, с которого берутся необходимые куски.
Есть объект игрока, который имеет спрайт 200x200 в виде белого квадрата, но с коллизией и центровкой персонажа. В коде:

obj_player

create

x_frame = 0;
y_frame = 0;

draw

var anim_length = 10;
var frame_size = 200;
var anim_speed = 3;

draw_sprite_part(charlist,0,floor(x_frame)звёздочкаframe_size,y_frame,frame_size,frame_size,x,y);

if (x_frame < anim_length -1) {
x_frame += anim_speed/60;
} else {
x_frame = 0;
}

В итоге получается хуйня, как на пикриле: посередине квадрат, за которым в углу находится персонаж. Жёлтое - коллизия. В чём подвох?
Аноним 18/03/18 Вск 14:34:01 488106333
>>488100
UPD: отключил родителя, который отвечал за глубину объектов, и квадрат исчез, но персонаж всё ещё в углу.
Аноним 18/03/18 Вск 15:03:34 488118334
>>488100
>В чём подвох?
>NOTE: When drawing with this function, the sprite x offset and y offset are ignored and the sprite part will be drawn with the top left corner at the specified x / y position in the room.
Отнимай соответствующие оффсеты из координатов x и y в draw_sprite_part.
Аноним 18/03/18 Вск 15:09:17 488121335
>>488118
Объясни, пожалуйста, про какой именно оффсет идёт речь. Первый кадр анимации расположен в левом верхнем углу.
Аноним 18/03/18 Вск 15:13:40 488123336
>>488118
>>488121
Падажжи, оффсета - это центровка? Тот маленький крестик? Теперь понятно. Спасибо, запомнб на будущее.
Аноним 20/03/18 Втр 09:58:31 488591337
Где-то читал, что для gms2 будет поддержка Нинтендо Сыча. Но ведь Nintendo не дают левым разработчикам выкладываться? Или как?
Аноним 20/03/18 Втр 10:20:50 488600338
>>488591
> Где-то читал, что для gms2 будет поддержка Нинтендо Сыча. Но ведь Nintendo не дают левым разработчикам выкладываться? Или как?

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

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

После чего с полученным разрешением идешь на форум юнити в закрытый от простого быдла раздел где по ссылке качаешь закрытые компоненты юньки для свитча (нужна версия про, если что).
Аноним 20/03/18 Втр 10:21:15 488601339
>>488600
>если соне одобрит

Нинтенда, т.е.
Аноним 20/03/18 Втр 10:23:09 488603340
>>488600

Ну и да, в данном варианте, не забывай что нинтенда по-факту становится твоим издателем и ты будешь обязан выполнять все её пожелания, зарубать по её прихоти свои безумные идеи, реализовывать одно охуительнее другого пожелания нинтенды оптимизировать код и.т.д.
Аноним 20/03/18 Втр 10:27:13 488606341
Аноним 20/03/18 Втр 16:07:29 488722342
>>488606
>>488600
>>488603


Йеп. Спасибо огромное.

Стало быть какой-то отдельный Nintendo SDK не нужен и я смогу из "родной среды", в случае чего, портировать под свич?
Аноним 20/03/18 Втр 18:22:37 488763343
>>488603
Одно из этих пожеланий будет нон стопом ебашить марио
Аноним 20/03/18 Втр 19:15:30 488784344
>>488763
@
А ТЫ И НЕ ПРОТИВ


Кстати, парни, в GML можно как-то объявлять свои функции? Хочу, например апдейт состояния персонажа вынести в отдельный блок и вызывать его при определённых обстоятельствах (внутри step ивента, но не каждый раз)
Аноним 20/03/18 Втр 19:19:16 488786345
>>488784
Переформулирую вопрос, ибо я даун. Я наю, что скрипт вызывается как функция. А как работает передача туда значений? Нужно ли это вообще?
Аноним 20/03/18 Втр 23:22:28 488834346
>>488786
>А как работает передача туда значений?
Слегка через жопу. При вызове скрипта стандартно -- пишешь аргументы в скобках через запятую. А в самом скрипте будет что-то вроде
var xyz=argument0
var qwe=argument1
и так далее.
>Нужно ли это вообще?
Естественно, и возвращать из них значения тоже нужно.
Аноним 20/03/18 Втр 23:58:49 488839347
>>488834
всё, на самом деле я и сам разобрался. Не привык я к тому, что в документации действительно ВСЁ написано. Я такое наверное только к РенПаю видел, и то там пользовательские вики, а не официалка.


Но всё равно большое спасибо. Я рад что у вас тут дружелюбное коммьюнити.
Аноним 29/03/18 Чтв 19:48:50 492927348
Привет, парни. Я решил попробовать сделать клавиатурный тренажер, как самое простое, что я смог придумать.

Идея была проста:
два массива, в одном символы допустимые для данной сложности, во втором символы нагенерированные для уровня.
После генерации спавнятся блоки на которые наносятся эти символы по порядку.

Но я э... Видимо, где-то что-то проебал по фактике и мне пришлось перезагружать компьютер, потому что он чуть не загорелся, так и не запустив окошко. Но он так и не выдал ошибки. Я боюсь открывать этот проект у себя :(
чё делать?
Аноним 29/03/18 Чтв 20:32:24 492937349
>>492927
> мне пришлось перезагружать компьютер, потому что он чуть не загорелся
> если бы волшебники были погромистами
Проиграл чет с этого.
Аноним 29/03/18 Чтв 20:57:45 492942350
Анон, объясни, как ебануть простейший спрайт с анимацией. Есть меню. В Draw GUI пытался прикрепить анимированный фон, но нихуя не понимаю, что использовать: draw_sprite_ext не работает, вроде. Можешь помочь?
Аноним 29/03/18 Чтв 21:29:43 492947351
>>492942
>draw_sprite_ext не работает, вроде
такого быть не может
Аноним 29/03/18 Чтв 21:40:49 492952352
>>492947
Тогда как делать то, что я описал, через него? Объясни, пожалуйста.
Аноним 29/03/18 Чтв 21:44:14 492955353
>>492952
братан, причин множество. кривой 3д-режим, который не справляется с переходами из него, depth объекта выше задника, прочее говно с view, alpha в 0, крч тонны их. я не смогу угадать. это как если бы ты спросил "почему у меня моделька в юнети не импортируется".
Аноним 29/03/18 Чтв 21:52:43 492956354
>>492955
Альфа на единичке. Всё что могу сказать.
Если в subimg выставить -1, то спрайт тупо начнёт быстро пролистываться, хотя у меня скорость анимации на единице.
Можешь хотя бы объяснить, как это проворачивать с нуля?
Аноним 29/03/18 Чтв 21:56:35 492957355
>>492956
>Можешь хотя бы объяснить, как это проворачивать с нуля?
берешь и без задней мысли отрисовываешь.
draw_sprite(x,y, sprite_index, image_index); и всё.
в том то и проблема что инфы от тебя мало вата
Аноним 30/03/18 Птн 06:43:08 493012356
>>492957
Хорошо, распишу подробнее.
Нужно, чтобы фон растягивался по всей комнате. То есть наверное нужно брать начало в 0,0, плюс высоту-ширину обоев, плюс скейлить. Но как ебануть нормальную анимацию с нужной скоростью?
30/03/18 Птн 11:37:06 493045357
>>492927
Ты словил бесконечный цикл.
Запускай игру в режиме дебага, можешь даже без брекпоинтов. Когда начнёт адски тормозить дави, переключайся в окно дебагера и дави на паузу.

Вуаля. Далее жамкай f9 пока не поймёшь, где же ошибка.
Аноним 30/03/18 Птн 11:45:41 493047358
>>492942
draw_sprite_ext прекрасно работает.

create event:
animation_timer = 0;
animation_speed = 0.08;

bg_sprite_ = spr_background
bg_max_frame = sprite_get_number(bg_sprite) - 1;
bg_alpha = 0.5;
bg_xscale, bg_yscale = вычисляешь сам


draw_event
var frame = animation_timer хпишу Х вместо звёздочки animation_speed;
if frame > bg_max_frame {animation_time = 0; frame = 0;}
draw_sprite_ext(bg_sprite, frame, x, y, bg_xscale, 0, c_white, bg_alpha)

Вот тебе счастье
Аноним 30/03/18 Птн 11:46:33 493048359
>>493047
>draw_sprite_ext(bg_sprite, frame, x, y, bg_xscale, bg_yscale, 0, c_white, bg_alpha)
Аноним 30/03/18 Птн 11:49:30 493051360
>>493047
draw_event
var frame = animation_timer хпишу Х вместо звёздочки animation_speed;
animation_timer ++; пропустил строчку
if frame > bg_max_frame {animation_time = 0; frame = 0;}
draw_sprite_ext(bg_sprite, frame, x, y, bg_xscale, 0, c_white, bg_alpha)
Аноним 30/03/18 Птн 18:40:14 493267361
>>493047
>>493048
>>493051
Анон, всё работает. Добра!
Олсо, ещё заметил, что нужно офсету вычитать, ну или крепить её в центр, но всё равно спасибо.
Аноним 30/03/18 Птн 20:15:26 493292362
2018.03.30-20.12.mp4 (1844Кб, 1600x900, 00:00:19)
1600x900
>>439561 (OP)
Здарова, игроделы. Хуй знает, может кто сталкивался с проблемой. Когда объект движется по диагонали, то камера начинает дергаться. В чем проблема то может быть.
Аноним 31/03/18 Суб 18:55:03 493544363
Анон, где можно посмотреть различные команды для дебаффа? Вот, например, мне нужно, чтобы у меня выводились офсеты объектов с их координатами по y. Как это сделать?
Аноним 31/03/18 Суб 23:02:54 493578364
>>493292
Подкрути в настройках камеры границы с 200 до 198 и посмотри стало ли лучше. Подгони там же аспект порта под аспект камеры, пусть будет 800х800 например.
Аноним 31/03/18 Суб 23:08:22 493579365
>>493544
В draw_event объекта пиши draw_text(x+30,y-30,переменная).
31/03/18 Суб 23:48:07 493584366
01/04/18 Вск 00:13:11 493588367
Аноним 01/04/18 Вск 13:43:14 493639368
>>493584
Благодарю. Но я вообще нихуя не шарю пока что в этом. Так что будет сложновато в коде разобраться.
Аноним 01/04/18 Вск 13:50:07 493641369
>>439561 (OP)
Алсо вопрос. Запарно ли сделать так, чтобы спрайт врага изменялся в зависимости от положения? Например у меня 8 сторон движения и соответственно 8 спрайтов. Какая вообще должны быть логика изменения спрайтов? Мол if direction = значение градуса {
sprite_index = spr_move_top;
}
или что то вроде такого.
Аноним 01/04/18 Вск 15:21:38 493646370
>>493641

Всё будет так, как захочешь лично ты. Нет такой логики, которая "должна" быть.

Я бы сделал так:
Ввёл бы врагу две переменных dirx и diry.

Сделал бы 3 вот таких переключателя:

if dirx == 1
{
switch diry
{
case -1: sprite_index = sprite_walk_right_top; break;
case 0: sprite_index = sprite_walk_right; break;
case 1: sprite_index = sprite_walk_right_bot; break;
}
}

if dirx == 0
{
switch diry
{
case -1: sprite_index = sprite_walk_top; break;
case 1: sprite_index = sprite_walk_bot; break;
}
}


if dirx == -1
{
switch diry
{
case -1: sprite_index = sprite_walk_left_top; break;
case 0: sprite_index = sprite_walk_left; break;
case 1: sprite_index = sprite_walk_left_bot; break;
}
}

Можно даже свитч из свитчей, но так код, имхо, более читаемый.
Аноним 08/04/18 Вск 21:08:34 494790371
Допустим, мне нужен рандомное число от 0 до 60, но мне нужно исключить отрезок от 20 до 40. Как это сделать через irandom_range? Это вообще возможно?
Аноним 08/04/18 Вск 22:00:13 494793372
>>494790
не уверен в синтаксисе, давно на GML не писал

while true {
var num = irandom_range(0, 60);
if (num < 20 || num > 40) break;
}
Аноним 08/04/18 Вск 23:02:24 494796373
>>494790
if(irandom(1))
num = irandom(20);
else
num = irandom_range(40, 60);

>>494793
Чет оподливился с этого кода.
Аноним 09/04/18 Пнд 03:34:15 494815374
>>439561 (OP)
Господа, я тут недавно начал осваивать сурфейсы. Собсна вопрос, как на сурфейсе отрисовывать анимированный спрайт?
Аноним 09/04/18 Пнд 05:18:19 494817375
>>494815
Отбой, уже сам разобрался
Аноним 09/04/18 Пнд 20:42:31 494970376
Безымянный.png (9Кб, 600x600)
600x600
>>494796
Не работает нихуя.
У меня есть хуйня, при помощи которой можно выкидывать предметы из инвентаря. Выкидываются они по окружности, как на рисунке, но в красные области по бокам выкидывать нельзя, потому что предмет там застревает с нихуя и его нельзя подобрать. Следовательно мне нужно исключить области от 330 до 30 и от 150 до 210 градусов. Если я пишу
var itemdir;
if(irandom(30)){
itemdir = irandom(150);
} else {
itemdir = irandom_range(210, 330);
}

, то нихуя не работает.
Аноним 09/04/18 Пнд 20:46:10 494971377
>>494970
Ёбаный высер Абу не может нормально показывать табы. Вот лучше:
var itemdir;
if(irandom(30)){
itemdir = irandom(150);
} else {
itemdir = irandom_range(210, 330);
}
Аноним 09/04/18 Пнд 22:00:49 494987378
>>494971
Конечно не работает, ты же хуйню написал, а я не знал куда оно тебе нужно и сделал для твоего примера.

Для нового примера сойдет такой код:
rand = irandom_range(30, 270);
if(rand >= 150)
rand += 60;
Аноним 09/04/18 Пнд 22:25:38 494991379
>>494970
>if(irandom(30))
Ты вообще задумываешься перед тем, как код копипастить?
Аноним 09/04/18 Пнд 22:27:46 494992380
>>494970
>предмет там застревает с нихуя
Значит у тебя баг в коде, ищи его.
Аноним 09/04/18 Пнд 23:54:16 495006381
19289794.jpg (57Кб, 456x566)
456x566
>>494992
Уже нашёл, спасибо.
Аноним 12/04/18 Чтв 19:33:35 495519382
Как убрать определённую составляющую из энумератора? Допустим, у меня код типа такого:
enum item {
item1 = 1,
item2 = 2,
...
item100 = 100,
}

Как мне в irandom_range(1, 100) убрать, скажем, тридцатый номер?
Аноним 12/04/18 Чтв 20:19:46 495522383
>>495519
Можно сделать

var item = choose(irandom_range(1,29),irandom_range(31,100))

или просто
item = choose(item.item1,item.item2,item.item5)
если веще мало.
Аноним 14/04/18 Суб 02:01:01 495708384
Если у меня платформер с большим количеством разных состояний персонажа, которые перекрывают базовые механики (например, скиллы, которые блокируют любые другие кнопки во время своего исполнения, кроме определенных "окон", когда можно нажать что-то определенное и зависящее от скилла), то наверное это лучше делать не в одном степе, а каждое состояние перенести на свой скрипт, активирующийся по выполнению определенных условий во время степа, я прав? Не будет ли это нагрузочно для системы (постоянные вызовы скриптов по идее должны отнимать ресурсов)? Просто я пытаюсь как-то весь код степа разбить на состояния и понимаю, что я там очень быстро запутаюсь, отдельные скрипты очень сильно помогут в этом плане.
Аноним 14/04/18 Суб 02:30:49 495709385
GameMakerStudio[...].webm (3788Кб, 1920x1012, 00:00:43)
1920x1012
>>495708
Ты не о том паришься.
Разбивай на скрипты и регионы смело.
Я тоже долго парился о такой фигне.
Аноним 14/04/18 Суб 02:50:16 495711386
>>495709
Да я все время блять не о том парюсь из-за своего ебаного перфекцеонизма. Тем более я еще даже на стадии прототипирования, где по идее велосипедить и костылить вполне норма, но нет блять, мне нужно сразу все в финальной архитектуре и с минимальной нагрузкой на железо. Но в принципе так, как ты скинул, я себе все это дело и представлял. Мде, работа прогером явно не для меня.
Аноним 14/04/18 Суб 11:02:58 495719387
>>495711
Вот нашел чем удивить. Когда я только начинал, точно так же пытался всё сделать максимально эффективно. Например по мтнимуму вводил новые переменные, они же память занимают! Лучше я одну и ту же переменную буду использовать как таймер для всех фаз и всех состояний. Но это же полная хуйня.

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

И всё равно, когда требуется написать что-то не требующее оптимизаций (инвентарь например, или эффект в паузе) просто кайфую. Писать получается в три раза быстрее, а код, по сути, такой же точно выходит.
Аноним 19/04/18 Чтв 05:53:54 496394388
Аноны, у меня в Степе при определенном действии вызывается определенный скрипт. Скрипт должен двигать объект с определенным таймингом, по сути мелкими дискретными шагами. Но ведь вызывается он один раз. Как заставить скрипт выполняться несколько раз? Или надо переписывать логику, чтобы он нужное количество раз просто из Степа вызывался?
Аноним 19/04/18 Чтв 21:08:07 496503389
Аноним 19/04/18 Чтв 23:10:02 496531390
>>496503
Ну то есть 2 вариант. Жаль. Было бы прикольно, если бы была команда по типу "повторить" выполнение скрипта и писать ее в самом скрипте.
Аноним 19/04/18 Чтв 23:46:29 496533391
no.png (3Кб, 322x101)
322x101
>>496531
>если бы была команда по типу "повторить" выполнение скрипта
так у тебя степ каждый кадр это делает
Аноним 20/04/18 Птн 00:09:49 496535392
>>496533
Но мне это нужно не в степе, а внутри самого скрипта, пока степ "спит". А кстати, можно ли вызвать скрипт в теле его самого?
Аноним 20/04/18 Птн 00:40:05 496543393
>>496535
>внутри самого скрипта
а почему бы и нет?
>To execute a script from an object or a time line you can use the Execute Script action , but you can also call it in a code box using the actual script name as if it were a function or even by using the GML function script_execute.
script_execute(scr, arg0, arg1, arg2, ...);
Аноним 20/04/18 Птн 01:24:00 496559394
>>496543
Да, я уже проверил, правда оказалось, что это не совсем то, что нужно, потому что без степа теперь скрипт не будет учитывать столкновения, которые могут возникнуть во время движения в скрипте. Так что буду все же вызывать скрипт степом несколько раз.
Аноним 21/04/18 Суб 15:37:41 496767395
>>458250
Кинешь игру заценить?
Аноним 21/04/18 Суб 16:25:56 496772396
>>457512
>как Gamemaker экспортирует в html5
Очень хорошо, он из GML генерирует аналогичные функции на js и потом обфусцирует их. Правда, некоторые функции иногда могут не работать.
Аноним 21/04/18 Суб 16:32:10 496773397
>>457951
Можно использовать скелетные анимации.
Аноним 21/04/18 Суб 20:52:54 496839398
>>457512
Он это делает весьма непредсказуемо. В моей игре он например отрубил партиклы к хуям. Плюс почему-то добавился статтеринг и хуй ты пойми откуда.
Было играбельно, но как-то вот не радовало.
Переписал на фазере и стало заебись.
Аноним 26/04/18 Чтв 16:21:27 497356399
>>439561 (OP)
Анон, выручай.
Проснулся из глубокого сна, лол.
В 2011 баловался с GM 8.0., в 2012 купил в стиме game maker stuido за даллары, но так нихуя и не сделал, но потом узнал, что моя лицензия походу стала бесплатной.
Что там сейчас в 1.4? Можно ли на ней делать и релизить бесплатные игры в том же стиме? Можно ли монетизировать рекламой внутри игры?(да, влажные фантазии, просто не смог найти адекватной лицензии). В том же юнити все просто, получаешь больше 100к $ - покупай лицензию.
Или для все этого нужно покупать анальную 2.0 студию?
Аноним 28/04/18 Суб 06:03:39 497536400
Нахуя нужно Draw_self;
Смотрю гайди, часто пишут. По логике нарисовать объект, но он и так сука есть. Зачем нужно это?
Аноним 28/04/18 Суб 08:06:33 497541401
>>497536
Потому что draw_self изначально есть у всех объектов, но создав даже пустой скрипт в событии draw, оно продает и тебе необходимо указать его явно, не сделав этого и запустив игру у тебя просто не будет рисоваться тот спрайт который ты указал в настройках объекта
Аноним 28/04/18 Суб 08:06:52 497542402
Аноним 28/04/18 Суб 08:30:55 497544403
Аноним 01/05/18 Втр 08:51:58 497907404
hHeDFtX.png (11Кб, 610x70)
610x70
Эт чё такое? Я всё понимаю, я абсолютно нормально отношусь к тому, что из бесплатной версии нельзя собрать проекты ни под одну из платформ и ничего против не имею, но вроде же говорили, что всё остальное, кроме материалов стора доступно.

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

Есть ещё какие-то варианты? Или, мб, ломаная версия (только на период разработки. Как только я начну собирать проект я обязательно куплю лицензию)
Аноним 01/05/18 Втр 12:30:22 497920405
>>497907
>Тратить тонну бабла особо не охота
Берешь коммерческий продукт для разработки. Говоришь что тратить бабла не охота. Логика?

>Есть ещё какие-то варианты?
Дохрена. От взять старую ломаную пиратку гамака до фришных инструментов типа с++. Выбирай на вкус.
Аноним 01/05/18 Втр 21:21:06 497964406
>>497920
>взять старую ломаную пиратку гамака до фришных инструментов типа с++
и через какой отрезок времени будет готов прототип на гмл и через какой на цпп?
ну конечно если это не match3 :3
Аноним 01/05/18 Втр 23:25:50 497970407
>>497920
>тратить бабла не охота
Не охота, до тех пор, пока то, что я делаю не оформится в играбельный вид. Я же говорю, в целом, я более чем готов платить за лицензию. Но какой смысл покупать её, если, я не знаю, я где нибудь в середине пойму, что мне не хватает возможностей? Или, там, что всё лагает как кусок говна.

Потом я, в любом случае, купил бы лицензию чтоб собрать проект
Аноним 08/05/18 Втр 13:49:00 498624408
>>497356
Бамп вопросу.
Тредик, не умирай!
Аноним 13/05/18 Вск 06:45:03 499215409
image.png (1256Кб, 1920x1080)
1920x1080
Матерые кодеры, если таковые имеются, я никогда не работал кодером, но свою игру делаю сам, расскажите, когда кодер понимает, что его код вполне хорошо выглядит, и в целом надежен, понятен (читай переполнен комментариями) и его можно пускать в свет?

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

Пока что сам себя обнадеживаю, что это прототип, так что над качеством кода можно не париться. Но когда дело дойдет до "чистовика", как подойти к этому вопросу? Нет у меня особо глубокого понимания, чем принципиально отличается "релизный" код от препродакшенового, и когда я смогу сказать себе "вот так и оставь". Хотя мб это во мне перфекционизм играет (он мне в сосничестве всю жизнь поломал, сейчас каждый день живу, сражаясь с ним), я хз.

В общем, тл;др - через что чаще всего должен пройти прототипный код, чтобы стать релизным? А то боюсь пока дальше новые механики писать, боюсь, что будет такая каша, что потом либо все переписывать придется, либо будет неоптимизированная параша.
Аноним 13/05/18 Вск 07:30:33 499216410
>>499215
> расскажите, когда кодер понимает, что его код
как только он написан. тут, понимаешь, без реальных образцов разного кода не обойтись. лаконичность (DRY, KISS) очень растяжимое понятие. кто-то жарит красивые однострочники, чтобы вместо 500 строчек было 100, а кому-то надо 100 строк без извратов с синтаксисом, третий напишет 1500 строчек с очень продуманным api и максимально высокой отчуждаемостью, а четвертый жахнет в 20 строк, но с миллионом тормозных зависимостей и "небольшим" сайд-эффектом. и автор каждого решения будет считать свой код правильным и хорошим. важно иметь опыт в каждом из этих подходов - тогда код становится инструментом. чем длиннее инструкция к молотку (комментов к коду) - тем больше он говно. и еще важно пройти этап тяжелых задач (кодеры постоянно комплексуют из-за тривиальных задач). чтобы желание "все переписать" отбилось, чтобы не плодить лишние классы... чтобы не было оверинжиниринга, чтобы у написание кода была прозрачная цель. и вот когда оба этих "важно" пройдены - только тогда ты можешь смастерить честный молоток, а не ходить по галочкам "меньше строчек" и "полное покрытие тестами". хороший код пишется медленно (пусть и быстрее из раза в раз), плохой быстро. сила в том, чтобы стараться везде засунуть говнокод, но угадывать места, где этого делать не стоит.

> через что чаще всего должен пройти прототипный код, чтобы стать релизным
через зеленую кнопочку "релиз" в админке стима, например.
Аноним 13/05/18 Вск 11:26:20 499229411
done-better-tha[...].jpg (22Кб, 800x600)
800x600
>>499215
с опытом
например я елси посмотрю свой код год назад у меня рукалицо, и я уверен что через год у меня будет такое же чувство если я буду смотреть на свой код в текущий момент
но вообще не еби мозги, прототип всегда может быть таким, если работает то заебись, потом отрефакторишь, когда общая картина появится
Аноним 13/05/18 Вск 11:34:20 499230412
в чем разница межу обычной компиляцией и YYС? Внутри APK не нашел ничего особо отличающегося
Поясните за компиляцию?
Аноним 13/05/18 Вск 15:22:07 499243413
>>499216
>>499229
Окей, спасибо, попробую дальше говнокодить, мб понимание придет
Аноним 13/05/18 Вск 15:50:16 499244414
>>499230
в гугле есть инфа
Аноним 13/05/18 Вск 15:52:06 499245415
>>499244
я тупой и сычующий дегенерат, который найти разницу вообще в гуглах не смог
Аноним 13/05/18 Вск 15:59:14 499246416
Аноним 14/05/18 Пнд 07:11:05 499282417
Как же я заебался с анимациями и коллизиями. Если спрайты разных анимаций разной высоты - считай уже себе гемора прибавил, это говно обязательно застрянет в полу и перестанет двигаться и прыгать. Если маска коллизий не строго зеркальна по центральной вертикали, то возле стен при смене направления движения так же ебаные застревания.

И это я только две анимации впихнул. Хуль так сложно? Как белые люди это делают, что у них ничего не застревает? А я еще наивный дебил хотел хитбоксами все захуярить, я ж ебанусь это вручную хуярить все.
Аноним 14/05/18 Пнд 12:04:58 499296418
Runner 2018-05-[...].mp4 (13050Кб, 1392x868, 00:00:16)
1392x868
>>499282
Неправильный подход.

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

Я задал своему персонажу width и height и считаю коллизии по ним. Они не меняются вообще никогда. По колижн маскам считаю только столкновения с другими объектами.
единственный момент, когда рамка в стену уходит - залезание на препядствия. Для этого костыли стоят.

Аноним 14/05/18 Пнд 13:31:15 499305419
0.jpg (122Кб, 900x900)
900x900
Какая формула расчета скорости, если известны hspeed и vspeed.
Школу прогуливал.
Аноним 14/05/18 Пнд 13:40:55 499307420
>>499305
теорема Пифагора

А вообще зачем тебе рассчитывать ее, если ты задаешь hspeed и vspeed, и объект автоматически движется?
Аноним 14/05/18 Пнд 13:41:45 499308421
>>499305
Сложение двух ортогональных векторов.
Вычисляй модуль скорости по теореме Пифагора.
Аноним 14/05/18 Пнд 14:48:08 499316422
1.jpg (75Кб, 960x951)
960x951
>>499307
>зачем тебе рассчитывать ее, если ты задаешь hspeed и vspeed, и объект автоматически движется?
Затем, что он как раз таки начинает автоматически двигаться, и движение врядли как-то можно отменить не приравняв эту самую скорость к нулю. Мне нужен был именно расчет без движения.

А вообще сейчас хорошенько прогулялся по городу и понял что скорость можно найти по принципу point_distance(x, y, x+hspeed, y+vspeed).
Надеюсь подводных камней в таком методе нету.
Аноним 14/05/18 Пнд 14:52:35 499319423
>>499316
Ты действительно поехавший.
Аноним 14/05/18 Пнд 17:19:59 499344424
>>499296
У меня маска была в самой сердцевине персонажа, иногда игнорировала голову и конечности и пр. Думал, что при обволакивании будут слишком большие зазоры между препятствиями и персонажем. Окей, спасибо, попробую обволакивать. Прямоугольник, кстати - отдельный объект или в дро отрисовываешь?
Аноним 14/05/18 Пнд 17:33:51 499347425
>>499344
Я просто его в draw event нарисовал, для наглядности.
Аноним 18/05/18 Птн 07:46:46 499894426
Анон, как правильно вращать?
У меня есть энное количество отдельных спрайтов, которые должны быть соединены друг с другом и вращаться как-то так, чтобы красиво было. Как автомат с магазином и лежащими на нем руками.
Но как только я начинаю эту ебалу вращать, она расплывается по всему экрану. Я понимаю, что для этого надо смещать все добро через тригонометрические функции, плюс появилась идея учитывать оффсеты спрайтов, но я не могу обволочь эти мысли в какую-то понятную для всех, для гейммейкера и для себя самого форму.
Есть ли где-то видеоуроки или хотя бы текст об этом? Во всех туториалах на ютубе пилят очередную говноспрайтовую РПГ, а у меня система анимации ближе к флешевой, многокадровые спрайты мне не подходят никак.
Аноним 18/05/18 Птн 09:31:05 499899427
>>499894
spine или dragon bone + Skeletal Animations гейммейкера.

Гугли.
Аноним 22/05/18 Втр 11:46:54 500481428
image.png (50Кб, 532x398)
532x398
image.png (7Кб, 454x41)
454x41
Анон, выручай.
Пытаюсь сделать параллакс скроллинг в GMS2.
Все бы ничего, но во время движения с краю экрана появляется вот такая полоска, а когда персонаж останавливается, бэкграунд резко дергается на ширину этой самой полоски. Объект, на котором висит код параллакса загружается самым первым, код находится в Step Event, пробовал пихать его в End Step и Begin Step, но ноль эффекта
Аноним 22/05/18 Втр 12:23:09 500489429
>>439561 (OP)
1. Если я верно понял, триалка не ограничена по времени и можно хоть до усрачки изучать триал, и даже полноценно пилить в нём своего игоря?

2. Что там с физикой, есть хоть какие-нибудь зачатки?
Аноним 22/05/18 Втр 14:36:13 500523430
>>500481
У тебя какого размера БГ? Сдаётся мне, что ширина у него с твой экран. Поэтому если ты его сдвигаешь, то остаётся неочищенный участок старого application_surface.

Ты попробуй галочку поставить в свой бэкграунд Horizontal Tile. Что изменится?
Аноним 22/05/18 Втр 14:40:35 500525431
>>500489
Триал не полноценный.
Я полную версию купил, когда обнаружил, что в триале нельзя создать больше одного тайлсета. Знаю что какие-то функции path в триале ограничены, какие-то gpu.

Аноним 22/05/18 Втр 14:48:22 500526432
>>500489
Что там с физикой - без понятия. Она там есть. Я использую свою.
Аноним 22/05/18 Втр 14:50:38 500528433
>>500525
>>500523
Спасибо, качну пока 1.4 на освоение.
Аноним 22/05/18 Втр 16:54:40 500547434
>>500523
Ничего не меняется. Попробовал использовать в два раза более широкое изображение — то же самое.
Аноним 22/05/18 Втр 18:21:53 500559435
>>500547
Скинь проект в дропбокс, посмотрю что ты делаешь.
Аноним 22/05/18 Втр 18:40:33 500564436
>>439561 (OP)
Скачал, посмотрел, некоторые вещи осваиваются интуитивно, это очень хорошо.
Вопрос такой. Есть объект, который постоянно должен "падать", ибо гравитация. Как это реализовать? Порылся в ивентах, не нашёл "пустого" события, которое должно выполняться всегда, без условий.
Ну или ткните в ссыль с такими вот базовыми туториалами.
Аноним 22/05/18 Втр 18:42:02 500565437
Аноним 23/05/18 Срд 00:18:09 500607438
>>500564
Бегом смотреть Shaun Spalding
Аноним 23/05/18 Срд 00:45:43 500612439
>>500565
Спасибо, нашёл, разобрался.
>>500607
Смотрю уже.
Да, неплохое двигло, мне нравится, ещё бы умел на андройды выгружать, и не по лицухе за 130 баксов.
Аноним 23/05/18 Срд 01:06:52 500617440
>>439561 (OP)
А инди-песочницу гамак2 осилит? Пример - Stardew Valley.
Аноним 23/05/18 Срд 01:32:30 500624441
>>500612
Подозреваю, что этот экспортер делает некислую прибыль, так что вряд ли забесплатно сделают. Но если они выкатывают при этом такой продукт, то не жалко.
Аноним 23/05/18 Срд 01:33:28 500625442
>>500617
По-моему, легче спросить, что он НЕ осилит. В 2д, разумеется.
Аноним 23/05/18 Срд 04:38:59 500645443
>>500617
Осилит. Но мне в гамаке сложновато работать с большими проектами.
Аноним 23/05/18 Срд 10:21:38 500681444
>>500564
В GMS2 (и в более ранних версиях роде тоже) есть встроенный туториал в духе "шаг за шагом делаем первую примитивную игру". Там делов на полчаса, и практически все базовые вещи научишься делать. Это гораздо лучше, чем видосы-туториалы, где бородатый хер два часа чавкает в микрофон, объясняя 2 строки кода смотреть.
Аноним 23/05/18 Срд 10:27:19 500683445
>>500559
Не могу этого сделать по ряду причин, но проблему я более-менее решил.

Я пришел к выводу, что переменная, которая получается из команды camera_get_view_x(view_camera[0]) все время отстает на один фрейм от настоящего положения камеры. Тогда я поставил условие, что бэкграунд двигается только при условии, что скорость персонажа не равна нулю. Это, конечно, как-то костыльно, и вылезла еще пара проблем, но их оказалось легко решить, и все работает. Наверное, есть какой-то более изящный путь, если найду, то поменяю систему, конечно.
Аноним 11/06/18 Пнд 11:00:43 504034446
Бамп.
Аноним 14/06/18 Чтв 01:38:25 504807447
Аноним 06/07/18 Птн 16:25:16 510367448
Вопрос от Фонаря:
Хочу запилить Монополию, но никак не могу придумать - как лучше реализовать улицы? Делать как отдельные объекты или как?
Аноним 06/07/18 Птн 16:59:53 510387449
>>510367
Тайлмапами делай.
Аноним 06/07/18 Птн 17:01:55 510389450
>>510387
А как тогда отслеживать их переменные?
Аноним 06/07/18 Птн 17:14:59 510403451
>>510389
Вариантов куча. Первое, что приходит в голову - завести массив / словарь / список, и в процедуре генерации карты заводить в него нужные данные с тем же индексом, что у тайла в тайлмапе. Обращение к тайлам организовать через геттер, в котором эти данные будут доставаться.
Аноним 06/07/18 Птн 17:16:17 510405452
>>510403
А разве не подходит вариант сделать 40 объектов для каждого поля, и у каждого объекта - свои переменные?
Аноним 06/07/18 Птн 17:18:14 510407453
>>510405
Вполне подходит. Одобряю.
Аноним 06/07/18 Птн 17:19:27 510408454
>>510407
Просто мне такой способ кажется очевидным, но при этом - костыльным. Не может же все быть настолько просто. Или может? И нет смысла изъебываться, если можно все сделать просто?
Аноним 06/07/18 Птн 17:20:24 510410455
>>510408
Да забей. Главное, чтоб работало.
Аноним 06/07/18 Птн 17:24:16 510415456
>>510410
И то верно. Спасибо, анон.
Аноним 07/07/18 Суб 01:09:30 510700457
Гамак не видит подключенный геймпад (gamepad_is_connected();) пока игра свернута. Подключал четвертый дуалшок.
Проблема в гамаке, в геймпаде или во мне?
07/07/18 Суб 19:38:45 510976458
Бамп.
Аноним 07/07/18 Суб 21:21:37 511032459
>>510700
Безотносительно: зачем игре видеть геймпад когда она свёрнута?
Она клавиатуру-то не видит, когда ты табнулся в другое окно. И это правильно.
Аноним 08/07/18 Вск 01:11:37 511126460
>>511032
Просто таким образом можно было бы намеренно или случайно вызвать ошибку, свернув игру в определенный момент, но уже вроде нашел, как это исправить.
Аноним 09/07/18 Пнд 20:43:38 511672461
1531158217612.png (349Кб, 1280x720)
1280x720
1531158218072.png (393Кб, 1280x720)
1280x720
Сап аноны. Я очень нью, но может вы поможете мне с одним вопросом. Решил попробовать сделать первую лёгкую игрушку про самолетик, который стреляет говном (стандарт из стандартов). Самолет должен стрелять в сторону, в которую направлена мышка, с промежутком а 310-50 градусов. Но вот беда.
Для поворота модельки я сделал вот:
var mouse_angle = point_direction(x, y, mouse_x, mouse_y);
if (mouse_angle > 310 || mouse_angle < 50)
image_angle = mouse_angle;
Как сделать подобное ограничение для пуль, которые вылетают. Пробовал часа три и нихуя не придумал, собсна. Вот мои самые удачные идеи (пикрилы)
Аноним 09/07/18 Пнд 20:54:44 511673462
>>511672
> с промежутком В 310-50 градусов
самофикс
Аноним 10/07/18 Втр 06:24:39 511790463
>>511672
Есть функция clamp, которая позволит сделать все то же самое, но в одну строчку.
И я не понял, в чем твоя проблема. Все должно работать. Скорость пули можно записать через speed ее экземпляра, направление через direction, которое ограничить через clamp.
Аноним 10/07/18 Втр 06:26:51 511791464
>>511790
>>511672
Черт, я болван слепошарый, там все так и сделано. Прошу прощения.
Но тогда я по-прежнему не понимаю, в чем твоя проблема.
Аноним 10/07/18 Втр 06:37:50 511793465
>>511791
Я пробовал делать через clamp, но это не даёт никакого эффекта. Хотя может быть просто я криворукий (что более вероятно) и попробую ещё, как приду домой, спасибо. Если не получится, спрошу ещё раз, надеюсь на помощь :3
Аноним 10/07/18 Втр 06:48:54 511797466
>>511793
А да. Не дало эффекта, это значит, что она просто не работала, и камы-пули продолжали лететь из очка вертолета, будто ограничения и вовсе нет. Но скорее всего я просто жиденько обосрался и попробую еще раз переписать.
Аноним 10/07/18 Втр 10:48:54 511866467
>>511790
Попробовал вот так:
direction = clamp(point_direction(x,y,mouse_x,mouse_y),310,50) + random_range(-4,4);
Не работает ниже 0, пробовал через -50, пробовал через кламп 310,0 + кламп 0,50 — ни в какую.
Аноним 10/07/18 Втр 11:04:40 511879468
>>511866
var куда_стрелять = point_direction(x, y, mouse_x, mouse_y);
if ((куда_стрелять < 180) {
куда_стрелять = clamp(куда_стрелять, 0, 50);
} else {
куда_стрелять = clamp(куда_стрелять, 310, 360);
}

Аноним 10/07/18 Втр 11:43:47 511890469
image.png (128Кб, 1187x712)
1187x712
>>511879
Не выходит, получается аналогично моему варианту.
Аноним 10/07/18 Втр 11:46:11 511892470
>>511879
>>511890
А, все, понял, где я обосрался. Вместо 0 поставил 360 как у тебя и все ахуенно заработало. Спасибо, анон!
Аноним 10/07/18 Втр 11:52:17 511897471
Гамаконы, есть вопрос. Во второй студии есть адекватная реализация коллекций вместо отвратительной "ds_ " ? И что там вообще по ООП, есть какие то подвижки?
Аноним 10/07/18 Втр 11:57:25 511902472
>>511897
Не держись за гамак. Если чувствуешь, что тебе тесно в игровом конструкторе - переходи на полноценный движок. Базарю, чем позже перейдешь, тем больше пожалеешь о потраченном на все эти гамаки времени впоследствии.
Аноним 10/07/18 Втр 14:10:19 511949473
>>511897
Сложные вопросы задаёшь.

В GMS2 есть возможность подключать какие-то явовские списки. Я сильно не вникал, т.к. меня ds полностью устраивают.

По ООП фигово, только самому имитировать скриптами. Функции нормально строятся.
Аноним 10/07/18 Втр 14:17:19 511953474
>>511902
Странные вещи говоришь.

Я лично я в гамаке совершенно не вижу игрового конструктора. Да, в нём можно включить физику "искаропки", заставить объекты перемещаться по путям и делать прочие примитивные вещи.

Но это только верхушка айсберга. На самом деле с гамаком можно сделать намного больше. Абсолютно всё, что может понадобиться для хорошей 2д игры.
Аноним 13/07/18 Птн 14:18:40 513550475