ruggaraxe ruggaraxe

Jusper, свет конечно не один, в подземелье есть холодный белый, теплый белый, есть желтый, зеленый. Это зависит от локации. Но это не яркие цвета конечно-же.
К выбору цвета подходим аккуратно, чтобы не разрушить стиль...

kirsakshlil kirsakshlil

Продолжаю перестраивать уровень. Решил вновь поиграться с постпроцессингом.

Jusper Jusper

ruggaraxe вот что хотел все время спросить.
У вас преимущественно один и тот же свет во всем данже используется. Не хотите ли попробовать разные оттенки или кардинально другие цвета освещения на разных уровнях...

ruggaraxe ruggaraxe

Jusper, Спасибо, да +1 к реализму) Теперь есть разница - бегать в гремящих латах или в кожаном доспехе)

Jusper Jusper

Вот это очень крутая фича! Напрашивалась :)

РОМАН РОМАН

Добавил нового юнита снайпера, он далеко и больно стреляет.
ВК: https://vk.com/co_of_co

ASH2 ASH2

На этой неделе мы сменили обложку игры

ВК: https://vk.com/snail_ninja

Jusper Jusper

Скриншотник еще не начался, но...

Jusper Jusper

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

Obscure Obscure

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

Jusper Jusper

Obscure,

Подкрутил публикацию напильником :) Вроде стало получше и картинки появились.

alexprey alexprey

Obscure, воу, видимо наш косяк с точки зрения UI. Надо будет поработать над этим (сейчас после аплоада файла там появляется кнопка - вставить ссылку).
Что касается проекта: звучит все очень круто

Obscure Obscure

Jusper, Можно произвольно, в начале, середине и в конце, на ваш вкус. Если не хотите заморачиваться, можно просто в конце текста. К сожалению, я не разобрался, как в самом тексте аплоудить изображения и вставлять их посреди текста...

Jusper Jusper

Obscure к публикации прикреплены скриншоты, в каком разделе текста их разместить?

Jusper Jusper

Временно закрепил запись с vk вместо ютуба.

Jusper Jusper

Друзья, ютуб трансляция отвалилась. Зальем запись после окончания трансляции. Извините за неудобство. Смотрите трансляцию в группе: https://vk.com/devtribe

Логотип проекта 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 с дробными числами...

Справка