игровой дизайн
155 заметок
терапия
Сейчас этот блог в основном про психотерапию.
как правильно
Слушайте меня, я вас научу правильно жить.
психология
Буржуазная лже-наука, пытающаяся выявить закономерности в людях.
практика
Случаи и выводы из психотерапевтической практики.
кино
Фильмы и сериалы.
книги
Это как кино, но только на бумаге.
nutshells
«В двух словах», обо всем.
дорогой дневник
Записи из жизни (скорее всего, не интересные).
беллетристика
Мои литературные произведения и идеи.
духовный рост
Когда физический рост кончается, начинается этот.
дивинация
Как предсказывать будущее.
половой вопрос
Про секс и сексуальность.
заяижопа
Творческий дуэт с моей женой.
магия
«Магическое — другое название психического».
Карл Юнг
игровой дизайн
Раньше я делал игры.
игры
Компьютерные игры.
язык
Слова там всякие.
людишки
Уменьшительно-ласкательно и с любовью.
культ личности
Про великих людей (то есть, в основном про меня).
hwyd
Уникальная Система Прививания Привычек.
буклет
я
идеи
блоги
spectator.ru
дети
wow
вебдев
музыка
контент
программирование
религия
дейтинг
диалоги
яндекс
кулинария
coub
fitness
символы
йога
шаманизм
tiny
ребенок

Addictive & compulsive

LinkedIn время от времени присылает письма, в духе «эти вакансии подойдут вам». Так как у меня там указан «игровой дизайн», вакансии соответствующие. Зашел на какую-то вакансию, от игрового дизайнера теперь требуется «Direct the vision of the project with an eye towards creating addictive gameplay, strong compulsion loops and inventive social designs».
(еще 366 слов)
0

LÖVE (is all you need)

2 года назад в категориях программирование игровой дизайн

Я человек простой.

Более того, я уверен, что человек — вообще штука простая, типа машины Тьюринга, только не машина, а человек. Человек Тьюринга.

Впрочем, нет, человек Лэнгтона — еще смешнее.

Во втором — совершенно халтурном — сезоне Westworld’а попытались эту мысль использовать, но вышло грубо, тупо и не интересно. Мол, алгоритм всего человека влезает в книгу, а сами люди, создавая человекоподобных роботов, намудрили и сделали их гораздо сложнее — потому что не знали, как сделать проще!

Что-то такое я в последнее время и думаю — что человек это набор примитивных элементов, который, естественно, собственной примитивности не осознает.

По подождите расходиться, тут есть еще такое понятие, как «красота». Например, фрактал рисуется по очень простой схеме с помощью рекурсии, но ведь он красивый. То же самое и с человеком и его творениями. Когда что-то прекрасное создается с помощью чего-то примитивного, это называется «гениальность».

Когда одна строчка кода вам и стихи поет, и картины танцует, и даже минеты делает — есть все причины называть автора этой строчки гением, даже если автор — это «эволюция».

Спасающая (или, наоборот, мрачная?) мысль — в том, что человек не может постигнуть своей простоты (и слава богу), мысль, известная, также, как «невозможность выйти из платоновой пещеры» — поэтому я довольно недоверчиво отношусь к технарям, которые пошли в психологи, все поняли и теперь «раскладывают по полочкам», гоните их из профессии ссаными тряпками!

С другой стороны, если что-то можно упростить — это нужно упростить. «Боже, дай мне мудрость отличить то, что можно упростить от того, что упростить нельзя».

Так вот, продолжаем про фреймворки.

Очень люблю примитивные вещи. Может быть это потому, что детство мое прошло небогато, и к роскоши я не привык, а может потому, что хочется поменьше иметь дела с ходом чужих мыслей — у вас все равно не получится сделать мне удобно, поэтому дайте мне самое необходимое, а дальше я все обустрою сам.

Время от времени я скучаю по примитивному программированию — оно в корне отличается от моей текущей работы, на которой я даже не притворяюсь, будто что-то понимаю или что-то создаю, «and now for something completely different», поэтому играл, например, в Shenzhen I/O — компьютерную игру, где надо программировать на ассемблере!

Я знаю, что некоторые люди спят и в гробу видят, что я (снова) начну заниматься играми, надеюсь, это расплывчатое вступление их отпугнуло, и они не дочитали до этого места.

Поизучал несколько фрейморков для создания игр — не потому, что хочу сделать собственный Fallout, а потому что Shenzhen I/O я уже прошел, Exаpunks не зашли, а попрограммировать что-нибудь хочется.

Разумеется, почти все они не понравились, кроме чувства юмора и качества документации Godot’а. Ну и правильно, от людей, которые назвали фреймворк Godot’ом, ожидать следует только такое.

Годот неплох, хотя и слишком непримитивный.

И тут — внезапно — LÖVE.

С одной стороны — никакого GUI, IDE и прочих конструкторов. С другой стороны, никакой командной строки, компиляций и прочих красноглазых вещей. Ты просто создаешь директорию, в ней — файл main.lua, который редактируешь, естественно, в Sublime text, а потом перетаскиваешь мышкой директорию в love.app — и все работает!

Внутри файла main.lua, как легко догадаться, язык lua, прекрасный своим примитивизом и минимализмом, например:

«Lua does not offer a safe navigation operator, and we do not think it should. Lua is minimalistic.»

Excerpt From: Roberto Ierusalimschy. «Programming in Lua 4ed.» iBooks.

«У нас в языке этого нет, и мы думаем, что это правильно».

Кроме примитивизма, Луа создает определенные удобства, которые ничего не стоят, но создают ощущение заботы, например:

«These trailing commas are optional, but are always valid:
a = {[1] = "red", [2] = "green", [3] = "blue",}
This flexibility frees programs that generate Lua constructors from the need to handle the last element as a special case.»

Excerpt From: Roberto Ierusalimschy. «Programming in Lua 4ed.» iBooks.

Или, скажем, индексы в таблицах в Луа начинаются с единицы. (!!!) Или, например, в функцию можно передать любое количество параметров, ненужные просто отсекутся (без ошибки), возвращать можно тоже любое количество (и это будет не массив). Ну и, конечно, нестрогая типизация и прочие «послабления».

function swap (a,b) return b,a end
a, b = swap(a,b)

Lua предоставляет некоторые очень мощные, но примитивные вещи, типа таблиц, содержимое которых может быть каким угодно (включая функции), то есть, таблицы в lua — это на самом деле объекты. С их помощью можно легко самому сделать ООП, а можно не делать. Они же выступают в роли массивов, последовательностей, списков и что там еще в остальных языках есть?

Вроде как[citation needed] Lua — скриптовый язык номер один для скриптования в играх, а тут можно целиком на нем игру написать.

Что же касается LÖVE, то он такой же примитивный и берет на себя главным образом вывод графики и основной игровой цикл.

В файле main.lua можно переназначить три функции:
love.load () — которая вызывается при старте,
love.update (dt) — которая вызывается каждые сколько-то миллисекунд (передается в dt)
love.draw () — которая вызывается каждый кадр и в которой происходит отрисовка

Все, остальное вы сами. Но и ничего больше и не надо, на самом-то деле.

Вот, например, содержимое main.lua для иллюстрации:

function love.load()
x = 0
y = 0
image = love.graphics.newImage("image.png")
end

function love.update(dt)
x = x + dt * 100
y = y + dt * 100
end

function love.draw()
love.graphics.draw(image, x, y)
end

Картинка для отвлечения внимания:

В данный момент LÖVE видится, как правильный способ учить(-ся) «настоящему» программированию — у меня ребенок освоил Stencyl, но это конструктор, а тут — чистое текстовое программирование, без поблажек, но и без потребности лезть в ненужные дебри (работа с низкоуровневым выводом), но с потребностью лезть в нужные (самостоятельное программирование анимации и коллизии), хотя, конечно, граница ненужных дебрей у каждого своя.

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

0
«Таро как инструмент самопознания», курс от создателя spectator.ru

Этика блядства

Есть такая книга — на русский ее название переводится «Этика блядства», в ней рассказывается, как приличной девушке получать удовольствие, если та наконец-то поняла, что моногамия не для нее. Теперь, когда я привлек ваше внимание, поговорим про игровой дизайн. Поиграл в The Elder Scrolls: Legends. (еще 919 слов)

Картинка в картинке

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

Mathemagic alpha

Два года назад мы со старшим ребенком пробовали Stencyl, сейчас — Unity. Я ее ни разу не открывал, решил попробовать, заодно показать сыну, «как игры делаются». Хотя, если быть до конца откровенным, я, как порядочный отец, решил показать сыну «как игры делаются» в первую очередь, а если получится — получить удовольствие самому. (еще 157 слов)

Darkest Dungeon

Darkest Dungeon вышла (сегодня). До этого была в раннем доступе и успела завоевать кучу фанатов и положительные отзывы от крутых игровых журналов. Игровой процесс простой: вы нанимаете героев, идете в подземелье в стиле Лавкрафта, половина героев погибает, вторая сходит с ума, возвращаетесь в город, бухаете в таверне, чтобы снять стресс, нанимаете новое пушечное мясо и в следующий раз продвигаетесь чуть дальше. (еще 456 слов)

Три идеи про трансперсональное

Накопились идеи, надо бы записать. Инсталляция, игра и книга. (еще 567 слов)

HabitRPG

Дочитал «Сила воли. Как развить и укрепить», Келли Макгонигал и на этой волне посмотрел HabitRPG. Давно откладывал, боялся, что не понравится. Не понравилось, зря боялся! В общем, идея «гемифицировать» выработку привычек — старая, несколько раз реализованная и, казалось бы, хорошая. (еще 220 слов)

Addictive & compulsive

LinkedIn время от времени присылает письма, в духе «эти вакансии подойдут вам». Так как у меня там указан «игровой дизайн», вакансии соответствующие. Зашел на какую-то вакансию, от игрового дизайнера теперь требуется «Direct the vision of the project with an eye towards creating addictive gameplay, strong compulsion loops and inventive social designs». (еще 366 слов)

Капельный мод

Старший ребенок рассказывает Кате о Майнкрафте. (Он сам) придумал мод, в котором жидкость можно разбить на капельки и использовать их, как реагент для крафта. И что маленькие капельки работают, как «костная мука». Капельками можно кидаться, а еще капельки можно делать из лавы, это совсем другие капельки. (еще 130 слов)

Stencyl

Встретил я как-то моего любимого фаната номер восемь. А он такой и говорит — попробуй Stencyl, это такой конструктор для создания игр, очень мозг разгружает. Я, конечно, его не послушался, ибо вышел из того возраста, когда «делать игры» было интересным занятием. Но потом — совершенно случайно! — вспомнил, что мой старший ребенок, когда вырастит, хочет делать игры. (еще 223 слова)

Easy mode

Так получилось, что наблюдал «буквально в один день» два одинаковых примера баланса игры против ботов. Сначала зашел в League Of Legends, там появились (как давно — не знаю) bots of doom. Это боты, у которых в отличие от обычных героев есть сверх-способности. Я их рвал всю игру, но в результате наша команда проиграла. (еще 298 слов)

Альтернатива «рандому»

Интересный факт: случайное количество игровых дизайнеров не умеет обращаться со способностями, в которых есть случайность. С точки зрения «чистой математики» всё просто: свойство «в конце хода вы имеете 50% шанс вытащить карту» дает «в среднем» пол-карты за ход. Ну, карта — много, а других способов сделать ее дробной нет (на самом деле есть). (еще 422 слова)