Перейти к содержимому
Джанкер

Game Maker - советы и примеры

Рекомендуемые сообщения

Вот ещё проблема. Когда я ввожу код для спин дэша у меня вылетает ошибка:

spin_force+=1

 

variable name expected

Значит переменная не инициализирована. Нельзя использовать += на переменных, которым прежде не было присвоено какое-нибудь значение. Вполне логичная ошибка. Это как резать яблоко, не имея при этом яблока.

 

 

 

И ещё на моём гамаке событие draw ну вообще не работает

Значит, ты что-то не так делаешь.

Поделиться сообщением


Ссылка на сообщение

кстати, в начале темы упоминалась проблема передвижения вверх и вниз в стиле соник батл. Джанкер, помнится ты ответил, что тут дело либо 2д, либо 3д решается. Но есть еще один хороший вариант-это так называемый Fake3D. Насколько мне кажется, в батле используется именно эта технология во время битв. Вот, пожалуйста, хороший пример с этой технологией: http://sandbox.yoyogames.com/games/151917-wip-ultimate-fake-3d

Поделиться сообщением


Ссылка на сообщение

кстати, в начале темы упоминалась проблема передвижения вверх и вниз в стиле соник батл. Джанкер, помнится ты ответил, что тут дело либо 2д, либо 3д решается. Но есть еще один хороший вариант-это так называемый Fake3D. Насколько мне кажется, в батле используется именно эта технология во время битв. Вот, пожалуйста, хороший пример с этой технологией: http://sandbox.yoyog...ltimate-fake-3d

Оно ничем от обычного 3Д не отличается, просто все вычисления провели своими функциями. Соответственно, медлннее, но работает даже на Lite Версии Гамака. Собственно, для того и было сделано. Работать с ним, кстати говоря, неудобнее. Плюс функционал в разы меньше.

Поделиться сообщением


Ссылка на сообщение

Простите если достал всех своими вопросами или за тупой вопрос.

У меня в игре при прыжке на горизонтально движущуеся платформу Соник НЕ движется вместе с ней и приходиться ходить. Как сделать так чтобы он вместе с ней двигался?

 

Если что вот пример, исправить никак не могу.

 

http://sandbox.yoyogames.com/games/202670-sonic-project-demo

Поделиться сообщением


Ссылка на сообщение

Простите если достал всех своими вопросами или за тупой вопрос.

У меня в игре при прыжке на горизонтально движущуеся платформу Соник НЕ движется вместе с ней и приходиться ходить. Как сделать так чтобы он вместе с ней двигался?

 

Если что вот пример, исправить никак не могу.

 

http://sandbox.yoyog...ic-project-demo

Присвоить Сонику скорость платформы, что ещё можно сделать?

Поделиться сообщением


Ссылка на сообщение

Простите если достал всех своими вопросами или за тупой вопрос.

У меня в игре при прыжке на горизонтально движущуеся платформу Соник НЕ движется вместе с ней и приходиться ходить. Как сделать так чтобы он вместе с ней двигался?

 

Если что вот пример, исправить никак не могу.

 

http://sandbox.yoyog...ic-project-demo

Как раз пример валялся:

111.zip

Поделиться сообщением


Ссылка на сообщение

Как раз пример валялся:

Попробовал себе также сделать-не работает.

Но всё равно спасибо.

Поделиться сообщением


Ссылка на сообщение

Определить, насколько сдвинулась платформа, определить кто на ней стоит, дать смещение стоящим на ней - дело в шляпе

Поделиться сообщением


Ссылка на сообщение

Слушайте, возник вопрос: как сделать чтобы частица энергии вылетавшая из роботов эгга двигалась к игроку, даже если он переместился, но частица все равно двигалась бы к нему, пока игрок ее не возьмет? В общем как в STH 2006 2D

Поделиться сообщением


Ссылка на сообщение

Двигать ее к координатам игрока?

Поделиться сообщением


Ссылка на сообщение

ну да, только через move_towards_point он считывает координаты игрока но если ты сдвинешься, то кординаты изменяться, спс кэп, но частица изменять курс движения не станет

Поделиться сообщением


Ссылка на сообщение

Что мешает постоянно использовать move_towards_point?

Поделиться сообщением


Ссылка на сообщение

Упс, лаганул) 1001, спасяб s=)

Поделиться сообщением


Ссылка на сообщение

Как мне прописывать коды движений?

Читать мануал. Или хотя бы данную тему, чтобы найти уроки, ссылку на которые я уже давал.

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение

Читать мануал. Или хотя бы данную тему, чтобы найти уроки, ссылку на которые я уже давал.

Ясно,спасибо

Поделиться сообщением


Ссылка на сообщение

Вопрос 1: Как сделать создание случайного объекта с "процентной" вероятностью из другого обьекта? (Пример: obj1 создает случайный obj из списка при столкновении)

Вопрос 2: Как сделать проигрыш случайной музыки?

Поделиться сообщением


Ссылка на сообщение

1) Не понял, что из чего?

 

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

Поделиться сообщением


Ссылка на сообщение

дибильный вопрос,но подскажите как сделать уровень?а то вроде со скриптом все нормуль,осваиваю GML,а самим Game Maker'ом не разобрался.

Поделиться сообщением


Ссылка на сообщение

дибильный вопрос,но подскажите как сделать уровень?а то вроде со скриптом все нормуль,осваиваю GML,а самим Game Maker'ом не разобрался.

 

 

12213123.png

 

Изменено пользователем 1001

Поделиться сообщением


Ссылка на сообщение

ой спасибя,а бэк как настроить?

Уважаемый, почитайте уже мануал и туториалы, которые в первом посте даны, а? Не мучайте людей.

Редактировать первый пост не могу (там ссылка на покупку ведет), туториалы здесь: http://sandbox.yoyogames.com/make/tutorials

Изменено пользователем Джанкер

Поделиться сообщением


Ссылка на сообщение

Извините за нубский вопрос, не хочу ловить вирусы.

Дайте ПРОВЕРЕННУЮ ССЫЛКУ на кряк Гейм Мейкер 9.

  • Дизлайк 1

Поделиться сообщением


Ссылка на сообщение

Извините за нубский вопрос, не хочу ловить вирусы.

Дайте ПРОВЕРЕННУЮ ССЫЛКУ на кряк Гейм Мейкер 9.

Никто не хочет. GM9 еще не вышел. Есть Studio (кряк ищи сам), 9 нет.

Алсо, правило #0

Поделиться сообщением


Ссылка на сообщение

Хочется рассказать пару советов по оптимизации, что я накопил за все время работы с ГМ. Большинство методов очевидны, но почему-то не все ими пользуются.

 

1) Используйте умножение вместо деления там, где это возможно.

Например, вместо var/10 используйте var*0.1. Это чуточку быстрее.

 

2) Используйте переменную, если нужно рассчитать одно и то же значение для нескольких функций.

К примеру, не стоит делать вот так:

x=var1+var2+var3+10
y=var1+var2+var3+11
z=var1+var2+var3+12
xx=var1+var2+var3+13

Лучше сделать вот так:

var4=var1+var2+var3;
x=var4+10
y=var4+11
z=var4+12
xx=var4+13

Это также дает небольшой прирост в скорости.

 

3) Поменьше функций draw

Отрисовка сама по себе сильно отжирающий процесс, а если ее много, то это вообще ахтунг. Если нужно отрисовать, допустим, круг поверх спрайта, не нужно рисовать сперва спрайт, а потом круг каждый шаг, достаточно просто создать сурфейс, отрисовать на него спрайт и круг всего один раз, а уже сам сурфейс рисовать в каждом шаге. Чем меньше draw функций, тем быстрее будет работать игра.

 

4) Используйте instance_deactivate_region, чтобы отключить все объекты за пределами определенной области.

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

 

5) Тайлы вместо статичных объектов с отрисовкой.

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

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

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

 

6) Пользуйтесь принципом "Бритва Окамма" - не плодите лишних сущностей.

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

Более того, почаще используйте общие переменные.

 

7) Не считайте каждый шаг то, что можно считать всего раз в несколько шагов, или вообще всего лишь один раз.

Думаю, причины очевидны - нет смысла отнимать ресурсы на то, что, в общем-то, и считать то уже не надо.

Изменено пользователем Джанкер
  • Лайк 2

Поделиться сообщением


Ссылка на сообщение

Как сделать чтоб при запуске игры пиксельной,(увеличеным с 320 на 240) до 640 на 480 разрешением

 

 

пиксельная графика не размывалась?

а была оригенальной, вот так как в окошке конструктора уровней

 

 

6bcac7a28ddf.png

 

Поделиться сообщением


Ссылка на сообщение

Эмм.

Мануалы я прочитал.

У меня вопросик: Как увеличить уровень, в размерах?

И если я создам игру, то она будет включать в себя функцую фулскрина?

Поделиться сообщением


Ссылка на сообщение
Как сделать чтоб при запуске игры пиксельной,(увеличеным с 320 на 240) до 640 на 480 разрешением пиксельная графика не размывалась?

Как это делается в ГМ Студии я хз, а вот в обычном ГМ есть такая функция window_set_region_scale() как раз то, что нужно. Советую почитать в мануале про нее, прежде, чем использовать.

 

У меня вопросик: Как увеличить уровень, в размерах?

Если Вы прочитали мануал, таких вопросов возникать не должно, там это пишется открытым текстом.

 

И если я создам игру, то она будет включать в себя функцую фулскрина?

Да, это настраивается в настройках игры в ГМ. Опять же, написано открытым текстом в мануале.

Поделиться сообщением


Ссылка на сообщение

 

Поменьше функций draw

Отрисовка сама по себе сильно отжирающий процесс, а если ее много, то это вообще ахтунг. Если нужно отрисовать, допустим, круг поверх спрайта, не нужно рисовать сперва спрайт, а потом круг каждый шаг, достаточно просто создать сурфейс, отрисовать на него спрайт и круг всего один раз, а уже сам сурфейс рисовать в каждом шаге. Чем меньше draw функций, тем быстрее будет работать игра.

 

 

Сурфейсы сами по себе хрупкие штуки (хотя кто знает, я сам с ними ещё не работал), стоит изменить разрешение экрана -- и он потерян. А других вариантов с заменой функции draw нет?

 

 

Также хочется спросить -- я хочу приделать призрака для time attack, например. Есть одна идея -- объект через каждый alarm записывает в ini координаты игрока и его кадр спрайта. А потом этот объект будет призраком, который из ini будет постепенно брать координаты и показывать кадр спрайта. А записывать и читать всё это будут аналогичные функции которые работают, перейдя на новую строчку файла.

 

Такой способ сработает?

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×