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

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

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

Вопрос таковой:

Как сделать полное затемнение зоны (на определенной глубине, depth) в Create и, конечно же, исчезновение этого эффекта в Alarm 0?

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

 

Ребят ну ответьте

http://sf21.ru/Documents/Manuals/gm_002.html

 

Если не понятно - читать официальный мануал в самом ГМ. Не знаем английского? - вперед искать говноперевод или выучить наконец английский.

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


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

Очевидно, да, если это все тот же ГМ?

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


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

Как определить что объект находится внутри группы других объектов (аля S3 Special Stage) ?

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


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

Ты про паренты? если да то в хелпе поищи с ними действия.

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


Ссылка на сообщение
Ты про паренты? если да то в хелпе поищи с ними действия.

Nope. Я про

800px-S3_special_stage_mechanics.svg.png

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


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

Проверять через Collision_rectangle

или можно сделать спрайт по форме и проверять через place_meeting

или можно проверять по массиву

или же можно проверять соседние клетки

или же...

Короче, ты понял - способов до хрена и больше.

самое главное на самом деле не проверять, находится ли объект внутри ограждения из других предметов, а проверять, что это самое ограждение замкнуто.

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

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


Ссылка на сообщение
Nope. Я про

 

Всё это делается хитрыми алгоритмами. Никогда не задумывался какие алгоритмы используются в Special Stage Sonic 3, но первым делом в голову приходит такой вариант:

 

algorhytm.png

 

После того как взята синяя сфера:

 

1) Проверяется на наличие пустого места рядом, если такое не находится, поиск обрывается. (зелёная стрелка)

2) Проверяются красные сферы рядом, около каждой красной сферы должно находится пустое место, если такая сфера найдена, переходим на неё. (чёрная стрелка)

3) Около этой сферы проверяется нахождение другой красной сферы с пустым местом рядом, переходим далее.

4) Повторяем N раз до того как снова встретим стартовую точку.

5) После того как рамка была найдена, от каждой правой (можно и левой), проверяем сферы немного левей, если она синяя, меняем на красную, и так далее, пока не упрёмся в красную точку. (жёлтая стрелка)

6) Повторить N раз.

7) Профит!

 

Блин, а интересная задачка однако, сейчас попробую написать всё это в gml.

 

UPD:

 

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

Ах да, Space и Ctrl вместо кнопок мыши потому что гамак не определяет кнопки тачпада на моём ноутбуке.

S3SpecialStage.zip

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

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


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

Угу, спасибо, буду разбираться

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


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

а можно ли переделать файл gmk или прочие Гейм мейкеровские файлы в флэш-игру? Может быть есть какие-нибудь конвертеры?

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


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

Я не работаю с гамаком, и не работаю с флешем.Но скажу что так нельзя.Да и зачем это все?

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


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

На самом деле для старых версий существовала альфа версия такого конвертора. Но он:

А) Мог конвертить только самые простые игры

Б) Качество конвертирования оставляло желать лучшего.

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


Ссылка на сообщение
На самом деле для старых версий существовала альфа версия такого конвертора. Но он:

А) Мог конвертить только самые простые игры

Б) Качество конвертирования оставляло желать лучшего.

но всё же! дайте линк на конвертер!

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


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

Джанкер же скзал что конверт для старых версий Гамака (наверное 4 или 5 или 6) . На новые версии он не пойдет в силу того что там код устроен иначе (в самой программе, а не игре) , да и смысл на фелш переносить простенькую игру .

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


Ссылка на сообщение
Очень напомнило: http://www.sonicfangameshq.com/view.php?sec=4&id=125

Только с перерисованными спрайтами и уровнем.

 

 

В любом случае нашёл на компе бэкап старых наработок. Датируются началом 2010го - сентябрём 2010.

Пытался создать самую красивую игру на Game Maker, получалось в принципе довольно таки неплохо, но Game Maker всё это грузило основательно, и после того как я обнаружил что он почти в холостом режиме выдаёт всего лишь 200 кадров\сек, забросил на это дело и ушёл учить C++.

Сейчас пишу движок под C++/DirectX в котором и постараюсь сделать все запланированные фичи, к Game Maker больше не вернусь, а посему выкладываю:

 

eyes_wip.gmk:

Глаза персонажа принимают форму глазниц, даже если они не круглые/квадратные, демонстрация на примере метал соника.

В принципе работает, но реализовано немного коряво.

 

menu_wip.gmk:

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

 

smoothangle.gmk:

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

Предполагалось использовать для смягчения поворотов спрайта при ходьбе на неровной поверхности, как в Sonic Worlds.

 

sonicanim_wip:

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

Расчёт анимации ведётся через формулы, это главное достоинство и недостаток, достоинство - выглядит очень плавно, недостаток - трудность написания анимаций.

 

SuperSonicEngine_wip:

Собственноручно склёпанный движок, в основе которого лежит движок Sonic Genesis. Изменено очень многое.

Главная фишка, рабочая, но недоделаная скелетная анимация. Так же есть лицевая анимация, реализовано перемещение глаз, рта. Но реализация совсем простая.

 

water_wip:

Заново сделанный движок, но всё так же в его основе лежит Sonic Genesis.

Главная фишка, это псевдо 3D вода, которую я писал дня 3. Есть эффект пробивания лучей сквозь водную гладь, отражения экрана, искажения экрана.

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

 

В общем и всё, быдлокод там разумеется есть, но на момент написания он мне казался идеальным.

Если кому надо, пользуйтесь.

code.rar

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

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


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

Возьму Меню, т.к. в этом я нуль. Хорошая сборочка такая, но из этого мне надо только меню.

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


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

А где взять это???

Только не доделанное

короче чтобы отредактировать его можно было)))

 

 

О всё не надо там же ссылка была)))

Изменено пользователем Shadow and Mephiles

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


Ссылка на сообщение
А где взять это???

Только не доделанное

короче чтобы отредактировать его можно было)))

 

 

О всё не надо там же ссылка была)))

http://diadozer.my1.ru/load/5-1-0-86, вроде

 

Алсо, я пожалуй возьму водичку. Если все это дело [SGML] не начнет еще более дико тормозить (куда это годится, максимум 190 FPS на четырехядернике)

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

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


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

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

 

P.S.как-нибудь взгляну на сборочку.

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


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

Есть разница между оптимизацией кода, на который ГМ рассчитан, и оптимизацией кода, который расширяет возможности самого ГМ. В последнем случае без собственных ДЛЛ не обойтись, но и даже тогда все может тормозить. Для простых игр не вижу смысла переходить на чистые языки, даже игру уровня Megaman Zero можно реализовать без тормозов (ну или просто хороший платформер. В пример можете поискать игру Iji она еще на 5 ГМ написана. Висит на главной странице YoYoGames.com). Для более сложных, к примеру игры со скелетной анимацией(но тут тоже есть исключения: Blank Blood+ или Nana Game - Ryona геймы от японских разрабов), игры с кучей партиклов, игры с кучей объектов, которые одновременно выполняют до 1000 действий, и так далее, нужно учить языки (я, кстати, советую Python+Panda 3D, если 3Д делать хотите). То, что я делаю 3Д на чистом ГМ - это чистой воды извращение, которое я делаю ради прикола и чтобы посмотреть, что можно выжать из ГМ. В итоге ни одной игры на этих 3Д движках я не делал и пока не собираюсь.

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

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


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

Учитывая, что я сам запорол оптимизацию и 190 FPS - моя вина

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


Ссылка на сообщение
Сейчас пишу движок под C++/DirectX в котором и постараюсь сделать все запланированные фичи

Искренне желаю тебе завершить задуманное ch8D

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

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


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

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

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

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


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

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

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

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


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

Люди, такая ситуация:

Задача, сделать классическую комбинацию - Кнопка-Дверь, но, чтобы сэкономить место, хочется сделать это только двумя объектами много раз. В комнате, 2 одинаковых кнопки и две двери (Объект - Кнопка, две копии, Объект - Дверь, две копии).

Цель - Наступил на одну кнопку, уничтожилась одна дверь, на вторую - вторая, при том, что имеется только один объект кнопки и один объект двери.

 

Код для кнопки(butlv2):

Create:
push = 0;

Collusion with Mask:
push = 0;

Ctrl + Create(отдельно для каждой):
1)but = 1;
2)but = 2;

 

Код для двери:

Ctrl + Create(отдельно для каждой):
1)dor = 1;
2)dor = 2;

Step:
if (butlv2.but = dor && butlv2.push = dor)
 {
 instance_destroy();
 }

 

Проблема:

В общем, код работает, но почему то он работает только с той кнопкой, которую я оставил на уровней первой. Тоесть, на сколько я понимаю, проблема в Step'e, а точнее в принадлежности but'a. Кто скажет как поправить?

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


Ссылка на сообщение
Проблема:

В общем, код работает, но почему то он работает только с той кнопкой, которую я оставил на уровней первой. Тоесть, на сколько я понимаю, проблема в Step'e, а точнее в принадлежности but'a. Кто скажет как поправить?

Reven The Hedgehog,

Я бы сделал это так:

 

Кнопка

Ctrl + Create(отдельно для каждой):

ENT=//(id нужной мне двери)

 

Дверь

Ctrl + Create(отдельно для каждой):

ENT=//(id нужной мне кнопки) может пригодится если делать сложную систему.

 

Кнопка

Step:

if(ON==1) //Если нажата

{

with(ENT){instance_destroy()}

}

Изменено пользователем СоСНА

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


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

Хм... Логично, даже работает. Спасибо, должен буду 643c099a.gif

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


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

А где я могу найти спрайты (текстуры) Green Hill'а?

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


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

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

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

×