RS Game Maker Community
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

 
Расширенный поиск
  Главная Форум Вики Блоги FAQ Игры Статьи Примеры Войти Регистрация  
  Просмотр сообщений
Страниц: 1 2 3 4 5 ... 8
1  Разработка / Вопросы и ответы по GameMaker / Re: Ответы@Gmakers.xyz — все вопросы сюда : Вчера в 21:46
Просто непонятно что значит "объединить".
Как ты себе представляешь управление мышкой и положением и углом камеры одновременно? Так-то правильно поставленная задача это половина решения. Ну хоть "хочу камеру как в %game_name%".

Вот например можно назначить ось Х мыши на поворот, а на движение остается только Y. Так что перемещать вид вбок не получится.
2  Проекты и Релизы / Проекты в разработке / Re: [TDS] - Агент: Blackline : Вчера в 20:08
Фпс в среднем 55, местами до 40.
Целиться вправо или влево принципиально невозможно (вверх и вниз нормально).
Ходить не очень удобно, но можно привыкнуть. Хотя я просто любитель танкового управления.
3  Разработка / Вопросы и ответы по GameMaker / Re: Ответы@Gmakers.xyz — все вопросы сюда : 05 Октябрь 2018 в 02:43
Если я правильно понял, нужно чтобы интерфейс всегда был в правильном месте, независимо от того, какая камера используется.

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

У меня получилось добиться этого следующей последовательностью трансформаций:
// Делаем преобразование:
d3d_transform_add_translation(-view_wview[0] / 2, -view_hview[0] / 2, 0);
d3d_transform_add_rotation_z(-view_angle[0]);                             
d3d_transform_add_translation(view_wview[0] / 2, view_hview[0] / 2, 0);   
d3d_transform_add_translation(view_xview[0], view_yview[0], 0);         

// Рисуем как будто в углу комнаты
draw_text(32, 32, "Hud The Game#FPS: " + string(fps));

// Сбрасываем трансформацию
d3d_transform_set_identity();
4  Разработка / Вопросы и ответы по GameMaker / Re: Ответы@Gmakers.xyz — все вопросы сюда : 13 Сентябрь 2018 в 20:33
Когда объект находится за границей, outside view выполняется каждый шаг. Причем после события step, так что можно в step выставлять видимость в true, а потом outside view выключит все внешние объекты.

Также условие нахождения в виде проверяется по ограничивающему прямоугольнику (bbox_left, bbox_top, ...). А в случае отсутствия маски – по координатам объекта.
5  Общение / Форумные игры / Re: Шифроманьяки : 12 Сентябрь 2018 в 01:19
последнюю часть не расшифровать

Да легко! Вот на этой картинке отлично виден ответ.
6  Разработка / Вопросы и ответы по GameMaker / Re: Ответы@Gmakers.xyz — все вопросы сюда : 24 Август 2018 в 12:46
А нужно, видимо, не меньше 60 fps.

Зато и вызовов вряд ли больше 10 000.
7  Разработка / Вопросы и ответы по GameMaker / Re: Ответы@Gmakers.xyz — все вопросы сюда : 24 Август 2018 в 09:56
А дело точно в draw_line? Например вычисление координат конца того же лазера, в зависимости от реализации, может запросто высосать весь fps.

Проверил, моё ведро выдерживает 10к draw_line за кадр при 20 fps 
8  Разработка / Вопросы и ответы по GameMaker / Re: Ответы@Gmakers.xyz — все вопросы сюда : 06 Август 2018 в 19:08
Лучше конечно деактивировать, но часто бывает достаточно выключить только рисование: visible=false.
Также рисование по умолчанию (если у объекта пустое событие ) вне вида выключается автоматически, но если там есть код, даже если это draw_self(), то событие выполняется всегда.
9  Разработка / Вопросы и ответы по GameMaker / Re: Ответы@Gmakers.xyz — все вопросы сюда : 05 Август 2018 в 23:46
Он создает и рисует туеву хучу поверхностей, можно попробовать уменьшить их размер. Например в SL_engine_ini переменную sl_buffer_texturesize можно без особых потерь качества поставить в 1/8.
Но хз как это правильно делается, там комменты на французском что ли.
10  Разработка / Вопросы и ответы по GameMaker / Re: Ответы@Gmakers.xyz — все вопросы сюда : 11 Июнь 2018 в 23:56
Я имел в виду это (8-9 строка)

draw_sprite(sprite_index,image_index,x,y);

var max_length, solid_object;
max_length = distance_to_point(mouse_x, mouse_y);
solid_object = objWall;

var lx, ly;
lx = x;
ly = y;

for (i = 0; i < max_length; i+=1) {
    lx = x + lengthdir_x(i, direction);
    ly = y + lengthdir_y(i, direction);
    if(collision_line(x, y, lx, ly, solid_object, 1, 0)) {
        break;
    }
}

draw_line(x,y,lx,ly);
11  Разработка / Вопросы и ответы по GameMaker / Re: Ответы@Gmakers.xyz — все вопросы сюда : 11 Июнь 2018 в 20:07
Всё просто – если max_length <= 0, то цикл ни разу не выполнится и переменные lx и ly останутся неопределенными. Чтобы победить это, достаточно задать им значение по умолчанию: х и у соответственно.

Кстати это напомнило мне одну фичу GM. А именно, что область видимости локальных переменных – весь скрипт, независимо от того, где они объявлены. Вот например
v = "self";

var v = "local";

show_message( v );   // "local"
show_message( self.v ); // Error: uninitialized variable 'v'

Кажется, что первое присваивание записывает значение в переменную объекта (self.v), но это не так, т.к. локальная переменная (local.v) в том месте уже видна. Соответственно, строка записывается в неё, а self.v остаётся неопределённой.
12  Портал / Песочница (статьи) / Re: Декомпилятор для GameMaker:Studio : 19 Май 2018 в 02:48
EPIC UPDATE

Официально заявляю об анонсе S.T.A.L.K.E.R. 2 о релизе версии 1.0

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

Дальнейшие планы – сделать распаковку .exe в проект для GMS 2, ну и чинить баги, очевидно.
13  Проекты и Релизы / Проекты в разработке / Re: Fungeoid [игра для программистов, головоломка] : 01 Май 2018 в 04:28
Да, адресация по двум индексам приносит боль.

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


P.S. А все-таки перевернуть бы стек обратно, или переставить вниз, или как-нибудь отметить его "верх".

UPD Удалось разогнать до 1797
14  Проекты и Релизы / Проекты в разработке / Re: Fungeoid [игра для программистов, головоломка] : 21 Апрель 2018 в 18:50
О вреде глобальных переменных: ты переопределяешь Task в tasks/task_*.lua
Если писать local Task = {}, то всё ок. Правда непонятно почему Task.new() во втором случае вообще вызывался, так как Task к этому моменту уже должен был перезаписаться.
15  Проекты и Релизы / Проекты в разработке / Re: Fungeoid [игра для программистов, головоломка] : 20 Апрель 2018 в 21:18
Мне кажется, так правильнее. Ведь во всех книжках есть аналогия со "стаканом", в который помещают значения. "Перевернутый" стек - как раз очень похож на стакан =)
Тогда пусть стакан снизу заполняется

Блин, вот такого читинга я и боялся, ага. Как думаете, как обезопасить игру от таких решений? Тупо сделать поле меньше - не хочется =(
В TIS-100 на каждое задание четыре теста, из них один рандомный (каждый раз разный)

А теперь решение 320 / 153:
ПоказатьСпойлер
ПоказатьСПОЙЛЕР
Ну или как-то так

Но это будет быстрее чем мой честный 613.
Не знаю, какой смысл ты вкладываешь в понятие "честный". Для меня это решение, печатающее правильный ответ для любых корректных входных данных.
16  Проекты и Релизы / Проекты в разработке / Re: Fungeoid [игра для программистов, головоломка] : 20 Апрель 2018 в 03:05
Илья, ты зачем стек перевернул?)


UPD
Самый быстрый, который возможно сделать - 615.
Это если без читов.

Хотя я кажется понял, как это сделать. Эх, было бы поле 16х16...

UPD 2
Что, если я скажу тебе, что это можно честно пройти за 320 циклов?
(Блин, чем я занимаюсь в два часа ночи...)
17  Проекты и Релизы / Проекты в разработке / Re: Fungeoid [игра для программистов, головоломка] : 16 Апрель 2018 в 00:13
Лучше я 11.0 скачаю
18  Проекты и Релизы / Проекты в разработке / Re: Fungeoid [игра для программистов, головоломка] : 16 Апрель 2018 в 00:00
Хз почему, но если в setColor не передавать четвертый параметр (альфа), то все ок.

19  Проекты и Релизы / Проекты в разработке / Re: Fungeoid [игра для программистов, головоломка] : 15 Апрель 2018 в 23:09
Löve 0.10.2: на полсекунды появляется интерфейс потом чёрный экран. Что-то ты там сломал.
20  Проекты и Релизы / Проекты в разработке / Re: Fungeoid [игра для программистов, головоломка] : 15 Апрель 2018 в 21:34
Renamed APIs
All renamed APIs in 11.0 are deprecated rather than removed, until the next major release.

Renamed love.window.getPixelScale to love.window.getDPIScale.
...
Страниц: 1 2 3 4 5 ... 8
RSGMC (gmakers.ru) © 2007—2018
Счётчик–@Mail.ru