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

Помогите с Гейм Мейкером

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

Имя массива в качестве элемента использовать нельзя. Нужно использовать имя массива И номера его элементов.

Да это я уж к тому времени понял, пытался делать по всякому, тщетно.

 

Ну ладно, видимо я зашёл в тупик, постараюсь переделать систему для работы с дата структурами (ds_grid вроде то что мне нужно), гдето даже читал что они быстрей работают чем Массивы. Но вот будет ли работать такая система быстро при загрузки информации для кадра - вопрос...

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


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

Недавно переписал и доработал одну мою старую zадумку.

Предостовляю SonicCiS игроделам пакет расширений, вместе с исходным кодом, для двумерного освещения.

 

litsystem.png

lit_system.zip

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

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


Ссылка на сообщение
Недавно переписал и доработал одну мою старую zадумку.

Предостовляю SonicCiS игроделам пакет расширений, вместе с исходным кодом, для двумерного освещения.

Посмотрел, ощущение двоякое

 

С одной стороны всё реализовано довольно здорово.

С другой - то что она до жути медленно работает. В стандартной комнате на своём компе получаю максимальный FPS - 140, увеличив количество обьектов до 200, получил всего то 25 кадров в сек. Не айс.

В общем для игр пока мало пригодно, ибо жрёт ресурсов чересчур много.

 

Какбэ оптимизация явно не помешает.

 

P.s - AmdAthlon3500 (2.2ghz)

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

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


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

Частично оптимиzацию я оставил на вас.

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

В дальнейшем воzможно действительно по колдую над оптимиzацией.

 

140 FPS это иzвиняюсь круче HD телевидиния, тут жаловаться грех.

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


Ссылка на сообщение
140 FPS это иzвиняюсь круче HD телевидиния, тут жаловаться грех.
Ну есть такое понятие "На вырост", в идеале чем больше FPS при обсчитывании кода, тем лучше, значит он меньше ресурсов пожирает.

Например сегодня наконец дописал код считывания скелетной анимации, при работе выдаёт ~2300 fps (ds_grid и вправду быстрей массивов), хотя ранее выдавал всего 700.

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

Например попробуй прописать чтобы отрисовывались обьекты исключительно попадающие в поле zрения играющего.
Нее, я скачал чтобы оценить, юзать я не буду, моему проекту система освещения врядли понадобится. Но тот кто будет использовать скорей всего так и сделает, Изменено пользователем 3DI70R

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


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

Люди, никто не подскажет, можно ли улучшить (и как) сцепление с поверхностью на движке Diadozer'a?

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


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

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

 

П.С. Модеры, закрепите уже темку, а?

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


Ссылка на сообщение
Судя по всему, это можно менять за счет параметра максимальной дозволенной скорости (точно сейчас не скажу).

Угу, побывал. Не могу 100% сказать сработало или нет, так что хотелось бы что-то более конкретное... Если можно. 9e73d54a.png

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


Ссылка на сообщение
Угу, побывал. Не могу 100% сказать сработало или нет, так что хотелось бы что-то более конкретное... Если можно. 9e73d54a.png

Попробуй в евенте Main в объекте персонажа в графе Game Motion увеличить у всех скриптов collision_ второй параметр. Это радиус для проверки коллизии, вроде как помогает.

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


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

Сразу куча пока два вопросов

1) Можно ли программно сделать так чтобы музыка повторялась не с самого начала, а с определенной точки? (как например, Emerald Hill - вступление и потом музыка бесконечно зацикливается) Или можно только резать файл и уже с этими обрезками химичить?

2) Как в движке Crouch down, Spindash and Rolling for Gamemaker 6.1 (by Damizean) сделать так что при касании стены или горки перс мог на нее встать/покатиться (если я плохо объяснил, ближайший пример)? А то он вверх плохо взбирается

3) ?????

4) Профит!

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

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


Ссылка на сообщение
Сразу куча пока два вопросов

1) Можно ли программно сделать так чтобы музыка повторялась не с самого начала, а с определенной точки? (как например, Emerald Hill - вступление и потом музыка бесконечно зацикливается) Или можно только резать файл и уже с этими обрезками химичить?

Стандартными средствами GameMaker можно сделать такое только нарезав файл, как ты писал.

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

 

Среди предложеных здесь библиотек: http://gmtoolbox.com/ точно найдётся чтонибудь нужное.

 

2) Как в движке Crouch down, Spindash and Rolling for Gamemaker 6.1 (by Damizean) сделать так что при касании стены или горки перс мог на нее встать/покатиться (если я плохо объяснил, ближайший пример)? А то он вверх плохо взбирается
Ну для этого придётся писать собственный код, так как в этом примере только самые основы, но не более.

Я хоть уже и забросил Game Maker, и учу C++, но вроде как структуру этого движка не забыл.

Можно попытаться сделать чтото типа того:

if (player_collision_top(x,y,angle,mask) && y_speed<0 && action=action_jumping)
{
temp=player_get_angle(x,y,angle+180)
  if (temp>110 && temp<250)
  {angle=temp
  ground=true
  x_speed=cos(degtorad(angle))*y_speed}
}

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

Формула cos(degtorad(angle))*y_speed; возможно неправильная, если не работает, поменяй выделенную часть на sin ,cos ,-sin ,-cos. но в целом формула вроде эта, уж простите меня за такое пренебрежение математикой.

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

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


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

1) Будем искать

2) Ммм... Нет. У меня не получилось вовсе. Надо будет сделать версию 5 и на ней попробовать

Однако все равно спасибо за помощь

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

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


Ссылка на сообщение
Сразу куча пока два вопросов

1) Можно ли программно сделать так чтобы музыка повторялась не с самого начала, а с определенной точки? (как например, Emerald Hill - вступление и потом музыка бесконечно зацикливается) Или можно только резать файл и уже с этими обрезками химичить?

2) Как в движке Crouch down, Spindash and Rolling for Gamemaker 6.1 (by Damizean) сделать так что при касании стены или горки перс мог на нее встать/покатиться (если я плохо объяснил, ближайший пример)? А то он вверх плохо взбирается

3) ?????

4) Профит!

 

1) ДЛЛ называется BGM, там такое можно реализовать всего одним параметром.

 

2) Нужно маску круглой делать судя по всему (как я понял из объяснений проблемы)

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

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


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

2) Я знал что меня никто не поймет. Маска у перса итак круглая (круг 27х27). Он просто бъется головой о потолок, на который должен взобраться, и падает вниз, а не цепляется. Тоже самое кстати когда он падает вниз - перс игнорирует места, куда еще можно было встать и срывается вниз.

 

Короче (если окажется проще) он не желает вставать на блоки круче 45o

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

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


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

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

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


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

Эххх. В пятый раз переписывать придется. Ну да ладно. Где его можно взять? (Знаю, знаю - гугл твой друг, но все же?)

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

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


Ссылка на сообщение
Эххх. В пятый раз переписывать придется. Ну да ладно. Где его можно взять? (Знаю, знаю - гугл твой друг, но все же?)

Держи: http://rghost.ru/2570241

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


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

Люди, как сделать так, чтобы число, которое выбирается случайным образом было целое?

Мне надо чтобы босс выбирал позицию случайным образом между 0,1 и 2, а он выбираем "Между" ними (1.345435) 9e73d54a.png

Я знаю что вопрос нубский, но все-таки)

 

Я пытался сделать так:

if (Phase=0)
{
Place = random(2)
round(Place)
Phase=1
}

Не работает

Изменено пользователем Reven The Hedgehog

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


Ссылка на сообщение
Люди, как сделать так, чтобы число, которое выбирается случайным образом было целое?

Мне надо чтобы босс выбирал позицию случайным образом между 0,1 и 2, а он выбираем "Между" ними (1.345435)

Я знаю что вопрос нубский, но все-таки)

Таки да, вопрос действительно нубский.

 

place=choose(0,1,2)

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


Ссылка на сообщение
place=choose(0,1,2)

О_О

Это было действительно НАМНОГО проще чем я думал 9e73d54a.png

Спасибки

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


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

Вопрос:

У меня есть бадник. У него прописан код:

(Если Соник стоит левее, сменить left на true и наоборот)

if (mask2.x<o_police2.x and shoot=0)
{
left=true
}

if (mask2.x>o_police2.x and shoot=0)
{
left=false
}

И соответственно:

(Если left=truе, а спрайты "правые", поменять их на "левые", и наоборот)

if (left=true and sprite_index = PR2SR)
{
sprite_index = PR2SL
}


if (left=false and sprite_index = PR2SL)
{
sprite_index = PR2SR
}

Так... Проблема вот в чем: Если два бадника стоят рядом, а Соник между ними, то они оба поворачиваются в одну сторону, а надо, чтобы оба поворачивались в сторону Соника (Тоесть смотрели друг на друга). Каким бы мне кодом это заменить?

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


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

Reven The Hedgehog

Сравнивай не анимацию Соника, а его координату (х)

 

Например:

 

Если х>Соник.х то Поворот налево

Если х<Соник.х то Поворот направо

 

Все просто :)

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


Ссылка на сообщение
Сравнивай не анимацию Соника, а его координату (х)

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

Так... Проблема вот в чем: Если два бадника стоят рядом, а Соник между ними, то они оба поворачиваются в одну сторону, а надо, чтобы оба поворачивались в сторону Соника (Тоесть смотрели друг на друга). Каким бы мне кодом это заменить?

Проблемки судя по всему в этом участке:

 

if (mask2.x<o_police2.x and shoot=0);

if (mask2.x>o_police2.x and shoot=0);

 

Если o_police2.x это и есть обьект бадника, то лучше использовать просто x, так как o_police2.x, подбирает значения переменной для самой ранней инстанции (вродебы), ну и считает всё остальное основываясь на тех координатах.

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

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


Ссылка на сообщение
Вобще, здесь судя по всему немножко другая ошибка.

О! Пасибки, все работает. 85fd9b6e.gif

Изменено пользователем Reven The Hedgehog

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


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

Проясню еще побольше:

Чтобы такого не случалось, все, что должно быть разным для каждого противника (поворот, скорость, и так далее) нужно менять в объекте ПРОТИВНИКА, а не персонажа.

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


Ссылка на сообщение
Проясню еще побольше:

Чтобы такого не случалось, все, что должно быть разным для каждого противника (поворот, скорость, и так далее) нужно менять в объекте ПРОТИВНИКА, а не персонажа.

Ээээ... Я так всегда и делал, я думал что это логично... Смысл делать врага "вне" его самого? a3ba339a.png

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


Ссылка на сообщение
Ээээ... Я так всегда и делал, я думал что это логично... Смысл делать врага "вне" его самого? a3ba339a.png

Можно для ускорения обсчета делать все одним циклом и в одном объекте. Иногда оправдано.

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


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

Влом читать 89 страниц поэтому спрошу сразу! Есть Gif есть игра и Game Maker. Как заставить анимацию работать в игре? А то я делаю этот спрайт а он воспроизводит только один кадр и всё!!!!

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


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

Damin72, объясни конкретно что ты делаешь. {в следующий раз если влом читать 100 страниц, пользуйся поиском}

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


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

Damin72, может, скорость анимации (image_speed) повысить?

 

И еще. Увеличьте себе в настройках кол-во постов на страницу до 100 и тогда 89 страниц превратятся в 14. И не ленитесь читать руководство. Я по нему сделал не мало вещей. И использовать код вместо кнопок. Это проще, надежнее и профессиональнее.

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

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


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

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

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

×