LÖVE (is all you need)
Я человек простой.
Более того, я уверен, что человек — вообще штука простая, типа машины Тьюринга, только не машина, а человек. Человек Тьюринга.
Впрочем, нет, человек Лэнгтона — еще смешнее.
Во втором — совершенно халтурном — сезоне 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.update(dt) function love.draw()function love.load()
x = 0
y = 0
image = love.graphics.newImage("image.png")
end
x = x + dt * 100
y = y + dt * 100
end
love.graphics.draw(image, x, y)
end
Картинка для отвлечения внимания:
В данный момент LÖVE видится, как правильный способ
Ну и, конечно, +10 очков за название. Все хотят делать игры с любовью, тем более, что настоящие игры на нем тоже можно писать.
How am I not myself?
В английском — особенно в британском — есть прекрасное слово silly, например, в выражении don’t be silly, которое на русский не переводится, как «перестань быть таким идиотом», а переводится, как «что за чепуха, я заплачу за кофе, это всего два паунда».
У Монти Пайтонов почти все, что они делают — это очень silly, смотри например ministry of silly walks, silly olympics или silly general.
Но это абсурдный британский юмор, в Америке silly немного другое, но все равно очень милое. Вот, например, мои любимые «тупые комедии» Bedazzled или Zoolander — довольно silly, но совсем не stupid.
По советам читателей впервые посмотрел фильм I Heart Huckabees.
Жанр фильма сразу определяется, как «silly экзистенциальная комедия», что само по себе нелепо, экзистенциальные комедии мало того, что являются оксюмороном, «экзистенция — вещь серьезная», так еще и при попытках их сделать все-таки неизбежно скатываются в драму или в трагикомедию.
I Heart Huckabees же с первых до последних кадров держит планку чистой, незамутненной комедии, продолжая при этом затрагивать экзистенциальные темы.
От такого несоответствия у многих людей (судя по комментариям на imdb) рвется пукан, фильму ставят 1/10 и переживают за переворачивающегося в гробу Сартра, который к этим-то вопросам подходил гораздо серьезнее.
This is a horrible film. It makes a mockery of profound questions and important issues. This movie would be rad if you were ripped on a heavy hallucinogen (Oh man, dude, its like the meaning of life n stuff ya know?). Otherwise, rent something else.Случайный отзыв на imdb
Все негативные отзывы можно свести к тому, что фильм — во-первых, silly, во-вторых — комедия, но кого не устраивает такой расклад, могут посмотреть смертельно серьезный The Sunset Limited, где два актера, претендующие на звание великих, запертые в одной комнате на серьезных щщах два часа мурыжат зрителя, пытаясь выяснить, есть ли Бог и Высший Смысл, абсолютно тот же конфликт, но со зверинной серьезностью.
У The Sunset Limited на imdb стоит оценка 7.4, а у I Heart Huckabees — 6.7, я бы поменял их местами, но это я.
Как не прощать родителей
Написал скандальный текст на скандальный сайт нож.медия, где скандально срываю покровы и иду против толпы.
Вася
Вы знаете, как я отношусь к отзывам на терапию? Очень плохо отношусь. Потому что «помогло с первого раза, имярек — маг и волшебник» — это отзыв человека, который не знает, что творит.
С другой стороны, вот вам настоящая магия — я вылечил Васю!
Если это представлять в виде геройства, то был человек, от которого все отвернулись:
За полтора года я был у троих психиатров, двое из которых при этом были психотерапевтами. Все трое сказали, что психотерапия мне не нужна, что со мной все понятно — эндогенная депрессия — придется есть таблетки, возможно всю жизнь. Это я и хотел услышать, чтобы не разбираться дальше.
И потом он пошел ко мне и — естественно — излечился! Таблетки не нужны! Всего за три года! Ай да я!
Но если представить, что герой — не я, то Вася все сделал сам, а я просто не очень мешал. Эта гипотеза мне ближе, и в таком виде история описана самим Васей вот здесь.
Вася даже блог завел — это ли не критерий психического здоровья?
Вы знаете, как я отношусь к людям, которые на фоне терапии хотят стать терапевтами? Хорошо отношусь, с пониманием, «это просто этап такой».
Васе же я последние пару лет «шутил» на тему, что с такими данными ему только в терапевты идти — ну, потому что это правда. И дошутился. Вася получил формальное и неформальное образование и наконец-то в этом сознался.
Тут такое дело: то, что все люди считают себя особенными, совсем не значит, что особенных людей не существует. То, что много людей в процессе терапии задумываются о том, чтобы стать терапевтами, совсем не значит, что кто-то из этих людей на самом деле не предназначен быть терапевтам.
Могу смело рекомендовать Васю, я считаю, что у него все данные быть прекрасным терапевтом.
Были какие-то исследования — ссылку потерял, что недавно выпущенные студенты-терапевты работают чуть ли не эффективней (!), чем старые коллеги. Потому что стараются. Ну и берут обычно меньше. Так что если вы не можете позволить себе меня (дорого, очередь, рожей не вышел, состоите со мной в интимной связи — я слышал, бывает и такое) — то присмотритесь к Васе.