ruggaraxe ruggaraxe

Jusper, Отлично пишите! :)

Jusper Jusper

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

Jusper Jusper

ruggaraxe,

Да, в этом плане все ок. Логично, что графен на старой машине, если не упарываться, не взлетит. Но я рад, что это было не 5 фпс, как даже в некоторых АА (типа Pillars of Eternity в некоторых схватках...

Jusper Jusper

ruggaraxe,

Подкреплю ее к публикации.

ruggaraxe ruggaraxe

Jusper, вот ссылка на анкету (я затупил со ссылкой с топике, сорри)
https://docs.google.com/forms/d/e/1FAIpQLSd_Wn53lJFrnfGpWI2IX...

ruggaraxe ruggaraxe

Jusper, честно говоря, да на 800х600 даже не проверяли... :) сорри. Ориентировались на FullHD и выше. Хотя над интерфейсом конечно же надо еще хорошенько поработать.
Тултипы постараемся сделать обязательно к следующей версии...

Jusper Jusper

GenElCon,

4x стратегия, понятно.

GenElCon GenElCon

Jusper,

Наверное. В прошлом они сделали Endless Legend - посмотри и сразу станет ясно в какую сторону они работают.

Jusper Jusper

GenElCon,

Я не очень понял по трейлеру геймплей. Это что-то типа цивы? Или это RTS?

GenElCon GenElCon

Humankind от разработчиков Endless Legends (и Space, но тут важно именно Legends).
А также согревающие сердца олдов трейлеры Port Royal 4 и Knights of Honor.

Jusper Jusper

Похвалю темную атмосферу, отличную работу с освещением, тенями и шейдерами. Происходящее на экране корректно задает атмосферу до тех пор, пока не начнется сам экшон, об это напишу далее. Управление персонажем отзывчивое...

Jusper Jusper

Первое, оно же самое тяжелое - UI. Я конечно, понимаю, что 800x600 совсем уже не в моде (завтра проверю на нормальной широформатной машине). Заблюренный текст я еще прочитать могу, но вот конкретно размер его крайне мал...

...
Jusper Jusper

ruggaraxe, я поиграл на старом маке 2012 года (Macbook Pro, Intel HD 4000), рад что с учетом довольно нагруженной по свету и теням картинке игруля не лагает как последняя сволочь (лагает конечно, но очень терпимо...

Jusper Jusper

Вот тут можно посмотреть игровой процесс. Видно, что в Новиграде просаживается FPS.

Jusper Jusper

С учетом тотального количества наигранных на свиче часов, думаю, что именно Switch станет для меня платформой, где я пройду Ведьмака.

Jusper Jusper

alexprey, это первое. Второе это постэффект, которыЙ засвечивает весь песок.

alexprey alexprey

Jusper,

Да, по мне так перебор с интенсивностью освещения

alexprey alexprey

Jusper, в игре используется таже моделька для юнита, только вид сверху)

Jusper Jusper

Пацаны, я опоздал.

Слэш Полигон в эфире.

Логотип проекта Game Maker

Ещё 10 советов и трюков GameMaker Studio2. Часть 2

Ещё 10 советов и трюков GameMaker Studio2. Часть 2

Добро пожаловать в продолжение списка трюков и советов по GameMaker Studio 2. Независимо от того, знакомы ли вы уже с этим движком или только начали его изучать, можно узнать что-то новое.

Ссылка на первую часть

#11 Подключите Твиттер!

Игроки смогут отправлять посты в Твиттер прямиком из игры. Например, о количестве набитых очков.

///tweet_score();       
var tweet = "I scored " + string(score) + " points in this game!";      
url_open_ext("https://twitter.com/intent/tweet?text=" + string(tweet), "_blank");    

Для получения дополнительной информации посетите этот сайт
А так же не забудьте сначала сделать специальный URL. Больше информации

#12 Как разделить тысячные в числе

Пример, как вставить запятые в числа для разделения тысячных (например, 1234567 -> 1,234,567):

/// @function add_commas(integer, separation);      
/// @description Insert commas in a number, from right to left, every separation spaces      
/// @param {real} The input value      
/// @param {real} Number of digits grouped between commas      
     
var str = string(argument0);     
var sep = argument1;     
for (var i = string_length(str) - (sep - 1); i > 1; i -= sep) {     
  str = string_insert(",", str, i);     
}     
return str;  

#13 Используйте инверсию логических переменных

Это уменьшает количество кода, и действительно очень удобно!

if (keyboard_check_pressed(ord("S")))     
  sndEnabled = !sndEnabled;    

В приведенном выше примере переменная sndEnabled переключается между истиной и ложью при каждом нажатии клавиши S.

#14 Автоматическое форматирование кода

Просто вставьте свой код по ссылке ниже, и он автоматически красиво оформится!
http://jsbeautifier.org
Отлично работает для GML, не взирая что он предназначен для JavaScript.

#15 Камера как в Nuclear Throne

Пример камеры, которая напоминает ту, что была в игре Nuclear Throne. Этот фрагмент кода центрирует камеру, между obj_player и курсором мыши.

var cam = view_camera[0];     
var xpos = (obj_player.x + ((mouse_x - obj_player.x) / 2)) - camera_get_view_width(cam) / 2;     
var ypos = (obj_player.y + ((mouse_x - obj_player.y) / 2)) - camera_get_view_height(cam) / 2;     
camera_set_view_pos(cam, xpos, ypos);  

#16 Ремапинг диапазонов чисел

Переназначение числа arg0 из одного диапазона (arg1,2) в другой (arg3,4).

/*      
value = 110;      
m = Map(value, 0, 100, -20, -10);      
// m = -9      
*/     
///Map(val, min1, max1, min2, max2)      
return argument3 + (argument4 - argument3) * ((argument0 - argument1) / (argument2 - argument1));    

#17 Инкрементное вращение на 45 градусов

Код для поворота спрайта к направлению мыши, с шагом в 45 градусов, для 8-сторонней ориентации.

var dir = point_direction(x, y, mouse_x, mouse_y);     
image_angle = round(dir / 45) * 45;    

#18 Шестнадцатеричный цвет в GMS

Вначале изучения GameMaker, у многих возникают сложности с понятием в нём кода цвета. GameMaker хранит цвета в формате "little endian". Из-за этого цветам назначается $BBGGRR вместо шестнадцатеричного #RRGGBB:
Желтый в HEX: #FFFF00
Желтый в GMS: $00FFFF

#19 Точность чисел

Как бы это ни звучало странно, не всегда операция 0.5 + 0.5 выдаст результат 1 для переменных с плавающей точкой, а на самом деле что-то вроде 1.000000000001.
Чтобы обойти это, вы используйте функции floor() или round() для фиксации целого значения.

#20 Выражения и функции GameMaker оцениваются по-разному при использовании компилятора YoYo

При использовании компилятора YoYo все выражения и функции оцениваются слева направо. На всех других платформах они оцениваются справа налево.
Например, такой код даст разные результаты в зависимости от платформы:

val = max(num, ++num, num++);  

Ссылка на оригинал



В 12 подсказке, что то не так с кодом... Толи название переменной не то где то используется, толи логика
В 13 код и текст немного разнятся, не критично, но может путать)
В 16 можно подробнее о чем речь? Это получается что то вроде перевода единицы измерения аля цельсий - > кельвин?
На счёт 19. А что если сравнивать два флоата? В GMS есть такая же проблема как и в других языках?

Summon EfimovMax

alexprey,
12 - Опечатка (set -> sep), фиксед
13 - Фиксед)
14 - Это скрипт для изменения числа в определённом ранге (на определённое число из заданного ранга)
19 - Здесь я что-то конкретного не скажу, кроме что в GMS нельзя задать тип переменной, из-за этого может произойти штука, описанная в пункте. Можно просто запомнить, что если число точно Int, то стараться его сразу округлять floor'ом

EfimovMax, спасибо за фиксы :3
Да, тяжело в GMS с дробными числами...

Справка