MrMouseSE

На Пикабу
поставил 286 плюсов и 754 минуса
отредактировал 0 постов
проголосовал за 0 редактирований
3087 рейтинг 44 подписчика 9 подписок 36 постов 2 в горячем

Словеска в СПб

Вдохновившись и всё такое (да и жажда уже жаждется). Хотел бы собрать пати в словеску-настолку, чтобы их поводить.

Словеска в СПб Настольные игры, Словеска, Dungeons & Dragons

Как-то так сложилось, что в СПб у меня как-то катастрофически не ладится с играми. Может тут хоть повезёт больше.

Итак, что я хочу:

- Игры в СПб в реале, с живыми людьмим, за мёртвым столом...

- Мне нужно стабильное, самоорганизованное пати из 3-6 человек, которые будут сами собираться и с интересом ждать новых игр.

- Система либо 3.5, либо сильно упрощенная на её основе. Либо по договорённости

- Адекватное поведение. Мастер всегда прав, но открыт к общению. Нет ничего более пукановзрывающего, чем доказывание мастеру, что "яхотелсавсемподругомуштоппроизошло!".

С другой стороны:

- Свобода. Никаких стен, непроходимых троп, вообще никаких ограничений, кроме логики мира.

- Максимальное внимание к деталям, взаимосвязи и не очевидные зависимости.

В целом:

- Простор для фантазии. Я ярый противник всяких костылей из музыки, актёрских выебонов и всего такого. Если вам важнее вашей фантазии представление - лучше, мне кажется, сходить в театр.

- Максимально низкий порог вхождения. Всё объясню, покажу, расскажу. Нужно только слушать и вникать.


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

Показать полностью 1

В поисках критики

В поисках критики 3ds Max, Enviroment, Gamedev, Длиннопост

Собственно вопрос. Моделлинг в принципе закончен, делаю перерыв перед текстурингом, поэтому хочу собрать критику на "добавить-отнять" и т.п. Суть примерно такая: здание для игры... чот типа 2.5д энвайромента.


А чтобы это не было так уж вульгарно, сварганим небольшой туториал.

Шаг 1. Общая форма объекта. Тут вообще сложно что-то посоветовать. Самый простой вариант - смотреть рефы, пиздить заимствовать понравившееся, как-то воплощать самому. Это самый благодатный этап для эмм... заимствования. Форма всё равно в процессе изменится, никто не заметит :D

В поисках критики 3ds Max, Enviroment, Gamedev, Длиннопост

Шаг 2. Первые характерные элементы/детали. Отсюда и далее нужно крепко взять в голову и не выпускать (если это гейм-объект), что все лишние полигоны надо выпиливать сразу, иначе забудется. А бегать потом по всей модельке и искать, где чо забыл - очень геморно. И на этом этапе не надо жалеть объектов. Слепить всё в один меш - секундное дело, а вот разгребаться на уровне подобъектов - то ещё удовольствие.

В поисках критики 3ds Max, Enviroment, Gamedev, Длиннопост

Шаг 3. Прикручивание доп.элементов (куча рефов, заимствование плагиат, вот это всё). Лучше всего делать всякие зеркальные и повторяющиеся элементы инстансами (зависимыми), а масштабироание/отражение делать через ноду. Это позволит добавить в финале в стэк модификатор анврапа и развернуть сразу все объекты, а не расставлять их по тем же местам после развертки... сам я, конечно, так не делаю, о чем сожалею потом :(

В поисках критики 3ds Max, Enviroment, Gamedev, Длиннопост

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

В поисках критики 3ds Max, Enviroment, Gamedev, Длиннопост

Шаг 5. Обратная сторона

В поисках критики 3ds Max, Enviroment, Gamedev, Длиннопост
В поисках критики 3ds Max, Enviroment, Gamedev, Длиннопост
В поисках критики 3ds Max, Enviroment, Gamedev, Длиннопост

Шаг 6. Ну и заполняем пустоты. Тут важно не перебарщивать, часто бывает, что хочется ещё вот тут чо-нить прикрутить, и тут ещё... А потом смотришь - другая сторона "опустела"... ну как со стрижкой усов... только наоборот.

В поисках критики 3ds Max, Enviroment, Gamedev, Длиннопост
В поисках критики 3ds Max, Enviroment, Gamedev, Длиннопост

Шаг 7. Общая композиция и колоризация для "прикинуть как будет выглядеть". Особого смысла не несёт, само собой. Но глаз может немношко порадовать.

В поисках критики 3ds Max, Enviroment, Gamedev, Длиннопост
В поисках критики 3ds Max, Enviroment, Gamedev, Длиннопост

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


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

Показать полностью 12

Два взгляда на жизнь

Обсуждение американской тюрьмы под роликом в тытрубе...

Два взгляда на жизнь Школьники, Тюрьма, Малолетки, Менталитет

Краткость... а нет, постойте-ка...

Краткость... а нет, постойте-ка...

Игра с нуля без мам пап и кредитов на GMS2. build_0_0_5

Доделал рубку корабля наконец-то, буду летать с комфортом!

Игра с нуля без мам пап и кредитов на GMS2. build_0_0_5 Тег, Indiedev, Инди игра, Gamedev, Game maker studio 2, Гифка, Длиннопост

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

Итак. Билд 5 ознаменовался для меня победой сил разума над силами добра и я, наконец-то, упаковал все свистелки-перделки метеорита в сам метеорит.

Игра с нуля без мам пап и кредитов на GMS2. build_0_0_5 Тег, Indiedev, Инди игра, Gamedev, Game maker studio 2, Гифка, Длиннопост

Что это за хуйня? тут происходит? Во-первых - вся эта шушера, что вращается и выделяет метеориты - отрисовывается через прозрачку, обратнопропорционально дистанции до объекта, т.е. чем ближе к кораблю - тем больше непрозрачность объекта. Во-вторых - по тому же принципу меняется цвет. Тут всё приведено в абсолютных величинах и это косяк. Надо считать в величинах относительных типа

effect_alpha = 1 - distance_to_object(obj_player) / display_get_height();
effect_color_shift = clamp(2*distance_to_object(obj_player) / display_get_height(),0,1)*255;
effect_color = make_colour_rgb(255, color_offset, color_offset);

И пихать это в соответствующие значения в draw_sprite_ext(). Таким образом получим альфу стремящуюся к единице, приближаясь к кораблю и изменение цвета в красный. (Умножение на два во второй строчке - это на самом деле высота экрана/2, но так как это значение в знаминателе - умножаем, после раскрытия скобок. После "измерять дистанцию в космосе одометром" буду пытаться предвосхищать идиотию школоты). Ну и результат:

Игра с нуля без мам пап и кредитов на GMS2. build_0_0_5 Тег, Indiedev, Инди игра, Gamedev, Game maker studio 2, Гифка, Длиннопост

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

Игра с нуля без мам пап и кредитов на GMS2. build_0_0_5 Тег, Indiedev, Инди игра, Gamedev, Game maker studio 2, Гифка, Длиннопост

ну тут всё ещё проще: берём один пиксель и скейлим его, меняя значение колор по тому же принципу - температура движка пихается в диапазон от 0 до 255 и является параметром для G и B каналов в make_colour_rgb(). Если вам надо в какой-то другой цвет уводить значение - используйте сочетание каналов в том виде, в котором оно вам нужно. Ну а прирост самой линии - просто скейл пикселя в draw_sprite_ext(), прямопропорционально параметру (тоже в диапазоне значений, лично у меня сделано через множитель).

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

Ну и гифка с геймплеем

Игра с нуля без мам пап и кредитов на GMS2. build_0_0_5 Тег, Indiedev, Инди игра, Gamedev, Game maker studio 2, Гифка, Длиннопост

движки перегреваются и вырубаются, а при перегреве корабля - вырубается отрисовка всей инфы. Такие дела.

Показать полностью 5

Лока для "поиска предметов"

Есть тут любители этого жанра? Может подскажите как чего улучшить?

Лока для "поиска предметов" 3D моделирование, Gamedev, 2d игры, Steampunkmodel, Стимпанк

ну и сермат, по моделлерской привычке.

Лока для "поиска предметов" 3D моделирование, Gamedev, 2d игры, Steampunkmodel, Стимпанк

критика там, советы, а то уже глаз замылился.

Показать полностью 2

Игра с нуля без мам пап и кредитов на GMS2. build_0_0_4

Прикупил новые энергохранилища... бу. А то старые постоянно текли. А эти - классные! Продавец сказал, что не фонят... почти.

Игра с нуля без мам пап и кредитов на GMS2. build_0_0_4 Тег, Indiedev, Инди игра, Gamedev, Game maker studio 2, Гифка, Длиннопост

Ну и для привлечения внимания. Тут уже кое-что происходит.

Игра с нуля без мам пап и кредитов на GMS2. build_0_0_4 Тег, Indiedev, Инди игра, Gamedev, Game maker studio 2, Гифка, Длиннопост

В прошлом посте мне какой-то кадр написал, что дистанцию меряют одометром... В космосе... одометром... который измеряет количество оборотов колеса. ВОТ ЧТО С ВАМИ НЕ ТАК?! Вас в школу не пускали, чтобы остальные не отупели?!

Погнали!

Итак, худо-бедно, я добрался до четвёртого билда. Тут я прикручивал температуру двигателям, каждому свою. И прикручивал на это и кое-что ещё ивенты. Выглядит это вот так:

Игра с нуля без мам пап и кредитов на GMS2. build_0_0_4 Тег, Indiedev, Инди игра, Gamedev, Game maker studio 2, Гифка, Длиннопост

вот такая вот портянка. Всё это упихано в obj_player (так как это поведение плэера). Я уже говорил по этому поводу, что накосячил с представлением переменных и впихал их все в глобал - это не правильно, надо это было всё в качестве свойств объекта оформлять и работать с объктами.

Кроме этого - подобные партянки надо заворачивать в скрипты и дополнительные объекты в зависимости от целей. Например абзац с комментарием

//temperature decrease

можно целиком заворачивать в отдельный скрипт сразу. И вызывать его в obj_player Step. В совокупности с неймингом типа obj_player.Main_jet_temp - вы всегда сможете в теле скрипта быстро разобраться. Нейминг скрипта в таком случае должен содержать описательное слово для функции, которую он выполняет, например:

decrease_ship_temperature

Зачем я сделал так как сделал? Потому что дурак криворукий! На самом деле - для меня несколько сложно держать в голове весь листинг, это требует определённой подготовки. И мне проще было катать всё в одну страницу. Это можно пережить, но с парой условий! Во-первых - нужна четкая разметка и нейминг, чтобы через час/день/неделю вы сами смогли бы разобраться в своих каракулях и была бы надежда, что разберётся кто-то другой. Во-вторых при условии, что после отладки вы свернёте всё это и отфильтруете тухлый базар кривой нейминг в более понятный. Ещё раз - читая скрипт должно быть понимание того, что там происходит. типа:

if obj_player.asshole_temperature > 100500 then obj_player.asshole_temperature --;

Кроме того я прибрался в Objects, поудаляв всё лишнее. И да, я по-прежнему считаю, что создавать объект на любой пук - это плохо. Нужно подходить к этому обдумано и логично.

Игра с нуля без мам пап и кредитов на GMS2. build_0_0_4 Тег, Indiedev, Инди игра, Gamedev, Game maker studio 2, Гифка, Длиннопост

по здравому размышлению, позже, я удалил ещё и obj_expl, который проигрывает анимацию взрыва корабля. И джетфайр, перенеся этот функционал в obj_player и реализовав в скриптах. Я считаю, что это удобнее потому, что текст скрипта в коде будет в явном виде и его так или иначе захочется прочитать, а ссылка на создание инстанса, на мой взгляд, не такая уж и явная. Но, тут надо оговориться, что я решаю конкретную задачу - у меня один корабль, в котором используется один раз взрыв и отрисовка факела. Если объектов, которые используют эти сущности больше чем один - смысл создавать им общий объект - скорее всего - есть.


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

Игра с нуля без мам пап и кредитов на GMS2. build_0_0_4 Тег, Indiedev, Инди игра, Gamedev, Game maker studio 2, Гифка, Длиннопост
Показать полностью 4

Круговая индикация (fixed)... GMS2

В прошлой теме мне справедливо заметили про рукожопость про низкую производительность решения, с чем я согласен. Гораздо более правильно отрисовывать индикатор в один примитив, чем в 100500 линий. @Nefrace , спасибо тебе за поджопник в нужном направлении подсказочку. Был ешё вариант с постепенной отрисовкой спрайта, но, конкретно для этой задачи, данный способ считаю неоптимальным, но, в принципе, более универсальным.

Погнали!

Круговая индикация (fixed)... GMS2 Game maker studio 2, Gamedev, Гифка, Длиннопост, VFX

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

Листинг:

Круговая индикация (fixed)... GMS2 Game maker studio 2, Gamedev, Гифка, Длиннопост, VFX

почему картинкой? Ну потому что - прошаренные чуваки и так всё напишут, а те, кому это может быть полезным - при переписывании подправят под себя (или хотя бы проникнуться тем, что происходит в скрипте)... хотя кого я обманываю. Если кому-то нужен формат для копипасты: https://pastebin.com/vfnLzgqU

ну и для развлекалова, что можно намутить из такой штуки:

Круговая индикация (fixed)... GMS2 Game maker studio 2, Gamedev, Гифка, Длиннопост, VFX

такие загогулины делаются путём добавления в lenghdir_x/lenghdir_y во второй аргумент (угол) функции типа sin/cos/tan и всё такое, можете поэксперементировать сами.

Круговая индикация (fixed)... GMS2 Game maker studio 2, Gamedev, Гифка, Длиннопост, VFX

з.ы. вкратце для тех, кто не шарит и хочет разобраться: в скрипт передается значение индикатора (например скорость, под переменную current_value), дальше значение преобразуется в угол дуги через отношение макс.угла к макс.возможному значению счётчика. Потом проверка на активацию (activation_button - это кнопка, которая активирует увеличение значения скрипта). В каскаде условий ещё свистоперделки напиханы, типа замедления увеличения значения обратнопропорционально текущему(типа чем выше скорость, тем медленнее она прирастает). При достижении капа - счетчик сбрасывает рандомное значение, ну типа имитирует реал... впрочем похуй, выглядит збс! :D Дальше в цикле прокатывается i вплоть до текущего значения счетчика в градусах, где шаг - отношение к радиусу. Почему к радиусу? Ну потому что физический смысл получится - кол-во сторон многоугольника... Из свистелко-перделок - определение цвета в зависимости от значения. Если это не надо - можно вынести arc_color выше цикла и завязать на текущее значение

arc_color = make_color_hsv(70 - clamp(70/max_value*current_value,10,70),255,255)

тогда меняться будет вся полоса, а не радугой. Ну и расширение первого значения в hsv - расширит диапазон цветов, дуги. Последняя точка рисуется вне цикла, чтобы прирост дуги был не скачками кратно шагу i, а плавненько.

з.ы. в листинге вариант с половинным градиентом, если хочется, что бы полоска стухала и наружу и внутрь - нужно делать ещё один проход draw_primitive_begin/draw_primitive_end, с циклом, в точках которого указывать альфу наоборот (про толщину тока не забываем). Почему так?

Круговая индикация (fixed)... GMS2 Game maker studio 2, Gamedev, Гифка, Длиннопост, VFX

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

з.з.ы. а ещё можно в поверхости бублики вырезать

Круговая индикация (fixed)... GMS2 Game maker studio 2, Gamedev, Гифка, Длиннопост, VFX
Показать полностью 5
Отличная работа, все прочитано!