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

Атлант расправил плечи

14 лет назад в категории книги

С радостью дочитываю «Атлант расправил плечи».

Это очень хорошая книга, написанная в Америке лет 50 назад (1957) русской эмигранткой еврейского происхождения.

«Несколько» затянутая, «...является одним из самых длинных романов, написанных на европейских языках», — говорит нам Википедия. «Я научила женщин говорить, но как теперь их замолчать заставить?», — как раз про это.

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

Книга рассказывает о том, как борется честный Предприниматель против государственного блата. Описывается, разумеется, Россия, под видом «альтернативной» Америки, в которой к власти пришли «социалисты» и устроили, натурально, рейдерские захваты.

Роман в последнее время стал популярен у нас, и очевидно, почему: он наглядно показывает, что за 50 лет в сраной Рашке не изменилось нихуя. Тогда был «совок» и правящие партийцы, которые прикрывались нуждой народа, сейчас — совок и правящие менты, которые уже ничем не прикрываются.

Как призыв «надо ехать», «Атлант» — самое то.

Книга написана такими резкими мазками, что о них можно порезаться. Кругом — как минимум титаны и богоборцы, ницшеане и прометеи.

Как и вся фантастика духа, книга «заряжает» и «не оставляет равнодушным». Ну, если где-то есть такие Атланты (пусть даже просто у автора в голове), значит, и я могу!

Все в книге хорошо и правильно, кроме одного маленького изъяна: по совершенно непонятной для меня причине книга борется за звание «философской», а позиция героев — за право называться «философией разумного эгоизма», новой, никому до этого не известной и великой.

Это не так.

Ничего нового автор нам не сказала, в качестве идеала описывается банальный анархо-капитализм, причем с анархической половиной я готов мириться, ибо сам анархист (скорее всего с социалистическим уклоном), но капиталистическая часть описана на наивном уровне «Америка — страна равных возможностей».

Тут всё в куче: и протестантская мораль, и культ золотого тельца, и даже «только в Америке могло родиться замечательное выражение делать деньги“» — это почти дословно, и «благо конкуренции», и «свободный рынок», и все-все-все.

При этом капитализм такой дикий, что нарушает один из принципов анархизма — взаимопомощь, заменяя его «конкуренцией», от которой якобы только одна польза.

Понятно, что за 50 лет это даже не «устарело», а, скорее, «показало истинное лицо».

В романе описаны Великие Промышленники, но «делать деньги» теперь можно, не производя вообще ничего, кроме дополнительных денег. Конкуренция за пользователя оказалась дешевле, чем конкуренция за качество. Конкуренция вообще приводит к перерасходу ресурсов и перепроизводству благ. Ну и так далее.

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

«Мораль» при этом как-то особо не нужна, «разума» достаточно.

В современном же мире «разум» оказался довольно хитрой штукой: например, владельцам железной дороги выгодно, чтобы пассажиры пользовались ей регулярно и часто, предпочитая ее. Выход простой: надо снижать цены (опять-таки, в великой конкурентной борьбе), повышать качество, использовать нанотехнологии.

Выигрывают все, особенно пользователи.

С другой стороны, какой-нибудь фармацевтической компании выгодно — ну, не знаю, давайте проведем аналогию — чтобы пользовались ее продуктами регулярно и часто, предпочитая их. То есть — чтобы люди постоянно болели и постоянно лечились. Ну, с точки зрения банального разума.

В современном мире корпорации — это новые государства, как по уровню влияния, так и по уровню паразитизма и принуждения.

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

Роман написан «титанами для титанов», и каждый легко сможет поставить себя на место главных героев, потому что каждый — лучше среднего.

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

А это уже по-настоящему смешно, потому что именно в этом месте разбиваются все утопии.

0

Хорошей DB должно быть монго

14 лет назад в категориях вебдев mongodb

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

И действительно, даже при разработке «типа CMS» для того, чтобы по адресу /about выводился какой-нибудь текст, в 99% случаев достаточно сделать файл about.txt и пихать все туда, если надо запихать больше одного значения («текст и заголовок») — то serialize и вперед (нет, не xml и прочее гавно).

Да и вообще, CMS никому не нужны.

У меня был движок блога, «написанный на файлах» и была даже специальная кнопочка, на которой значилось «no sql». У Болка движок блога, кстати, до сих пор на файлах работает, а ведь уже 21 век на дворе.

С тех пор прошло много времени, остальное отсталое человечество дозрело и движение nosql действительно завелось и стало трендом, похуже mysql.

Я же совершенно случайно и безотносительно ко всяким трендам попробовал mongodb и полюбил.

Пользоваться mongodb надо не из-за производительности, масштабируемости, nosql (забудьте все, что я говорил выше), а только хотя бы потому, что после ее использования внутри остается теплое приятное чувство, что Сделал Всё Правильно.

В mongo можно пихать «документы», при этом документ — это массив. Поднимите руки, что любит массивы так же, как люблю их я? Ага, молодцы, возьмите с полки пирожки.

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

Документы не обязаны иметь строгую структуру, это называется «schema-less». Не, ну я любил заниматься анальными извращениями и решать, где для столбика в mysql хватит tinyint, а где и вовсе bit(4), но всему есть предел, к тому же после второго раза это уже не так интересно.

Тем те менее, несмотря на то, что нет «обязательных» полей, строить по ним индексы мы все равно можем. А потом искать по ним (впрочем, искать можно и вовсе без индексов, причем иногда более оптимально, чем с ними — когда требуется перебор всей таблицы, например).

Таким образом, «коллекция» в mongo представляет собой просто набор массивов, куда можно свободно писать, свободно модифицировать и свободно делать любые выборки по любому количеству полей, не хуже, чем в mysql.

Кстати, запросы для выборок — тоже массивы. Очень удобно генерировать их автоматически, не надо подставлять «SELECT .... FROM» в нужных местах, просто создал массив — и вперед. То есть, если документ-массив целиком же кинуть в выборку в качестве запроса, то он найдет и вернет самого себя (что логично), если часть документа, напимер, массив user => acerbial, то оно вернет все документы, где user => acerbial.

«Но без join-ов».

В этом — прелесть номер два. Так как пихать можно любые массивы (это называется «Document Store»), половина join-ов отпадает естественным образом.

Например, заметка и комментарии к ней — это один документ, а не 1+N запись в базе данных (где N — количество комментариев).

Учитывая, что максимальный размер документа — 4 мегабайта, и ты не обязан работать с ним целиком, не только нет причин не хранить комментарии отдельно, но это является единственным логичным и правильным способом.

Сразу решается «проблема» удаления текста и удаления комментариев к нему.

Очень просто решаются задачи, типа «закладки пользователя» — они принадлежат, натурально, пользователю.

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

Многие мелочи заботливо сделаны «для веба», да и просто — заботливо сделаны. У каждого документа есть автоматически создаваемый уникальный id («аналог» int autoincrement в mysql), о котором не надо заботиться — он просто есть и работает. Более того, когда ты запишешь новый документ в коллекцию, mongo вернет этот id сам, mysql же придется об этом просить отдельно.

Есть capped collection — коллекция, которая обрезает себя сама («хранить 100 последних документов»), идеально для ведения логоподобной ерунды. Есть upsert — «если документ не существует, то создать», это позволяет писать один и тот же код для создания и редактирования. (Что тоже меня всегда бесило в MYSQL — там update и insert это две разные команды).

Можно не только указать, какие поля возвращать («как в mysql»), но и обратное — указать, какие не возвращать.

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

Инъекций, как легко догадаться, тоже не существует в принципе, как можно сделать инъекцию в массив?

Mongo просто очень приятный и покрывает все потребности «домашних веб-движков блогов» лучше, чем это делает mysql.

Скорее всего, он более подходит и для «серьезных, масштабируемых проектов», но в эти дебри мне углубляться не хочется, потому что там все сводится к аргументу «99.99% стартапов никогда не умрут от излишней посещаемости, поэтому не выебывайтесь, и делайте на mysql+php».

Проблема в том, что на mysql просто физически неприятно после того, как попробовал mongo.

Главный минус — Монго пока что мало где стоит, и уж явно не стоит на хостингах за 5 баксов.

Собственно, поэтому и я агитирую — ставьте, пробуйте, требуйте в магазинах города. Так победим.

Остальные «минусы» Монго вытекают из плюсов — ну, знаете, как с девушками: «страшная, но ебливая», и являются не минусами, а «архитектурными решениями».

Например, по умолчанию Монго пишет на диск когда захочет (Mongo writes when it pleases, ага). За счет этого достигается феноменальная скорость работы (проще просто сказать «ага, записал» на очередной запрос, а записать как-нибудь потом) и феноменальное умение проебывать данные за последнюю минуту и портить всю базу, если отрубилось питание (поправимо с помощью --repair, но осадочек остается).

С одной стороны, это все поправимо, никто не запрещает делать запросы с опцией принудительной записи, с другой — в этом и прелесть, за супермегапроизводительность надо чем-то платить.

(Рекомендуемая книга — MongoDB: The Definitive Guide, хотя для начала мануала на сайте хватает «за глаза»).

0

Civ5.resources

15 лет назад в категориях игры игровой дизайн

Меня тут просили разобрать Civ5 «по ресурсам», но конкретно с ней надо делать по-другому, повторюсь: нарисовать табличку по каждой фиче, вида «было — стало — почему».

Мне «Цивилизация» никогда не нравилась с точки зрения ресурсов (потому что там одновременно все примитивно и запутанно), как место для исследований (exploration) и как игра-медитация — да, нравилось.

С ресурсами же все просто: есть время и пространство, как два архетипических ресурса, вместе они образуют вселенную.

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

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

В Civ5 всего-то стали лучше использовать ресурс «пространство» на карте, сделав юнитам объем и непроходимость.

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

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

Ну, например, деньги.

Они ограничивали размеры империи и ее эффективность через налоги на содержание (войск), и если ты играл «неправильно», деньги уходили в минус. Это первая механика, не самая приятная и понятная.

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

В Civ5 из денег сделали более «правильный» ресурс: то есть, натурально, деньги.

Механику трат сделали официальной, и теперь торопить производство можно с первых ходов, подняли общий уровень количества денег. Если предполагается, что деньги теперь тратятся на покупку часто, то их и должно быть больше. Так как их больше, в случае неэффективной игры они не уходят в минус, как раньше, а просто покупки делаются реже. Точка равновесия денег не находится больше на нуле. Если вы играете эффективно, то у вам дают +1000 денег в ход, если не эффективно — то «всего» +500.

Деньги всегда прибывают. Это и понятней, и приятней психологически.

Ну и вообще, ограничивать игрока надо по-другому: например, войска можно ограничивать просто тем фактом, что они они теперь имеют объем, а не брать за содержание одного солдатика 1 монетку.

Первое великое достижение Civ5: они определились с главными ресурсами и сделали красивую панель наверху:

Теперь игроку понятно, что в игре есть 5 главных ресурсов и можно одним взглядом оценить эффективность их добычи. Разобрать эти ресурсы вы можете теперь сами. Можете же?

Исследования, деньги и культура — это валюты. Механики у них чисто валютные: заработал — потратил.

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

Эта механика меряет общую эффективность, у нее есть плюс (happines) и минус (unhappines). В эту механику можно складывать все бонусы и штрафы, вплоть до того, что убрать расходы из денег вообще, а штрафовать все «несчастьем».

Механика «Golden Age» как и happines связана с эффективностью, но не меряет ее, а просто поощряет регулярными бонусами, регулярность которых и зависит от эффективности.

Вот и разобрали.

Итого: в Civ5 есть три валюты, измеритель эффективности, время (ходы) и пространство (пространство вокруг городов + правило «один солдат на одной клетке» + ресурсы на карте).

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

При таком подходе в игру можно запихать много других мини-игр — ну, например, какой-нибудь «шпионаж» — без заметного ущерба для «баланса».

Это второе великое достижение Civ5 — осознание того факта, что микроменеджемент должен быть опциональным: мы определяем, что в игре главное, после чего принимаем решение «результат мини-игры не может влиять на главное“ больше, чем на 5%» и пихаем все в мини-игры.

(Попробуйте сыграть в Civ5 сначала с микроменеджементом городов, а потом без него и сравните).

Ну то есть все «обкажуаливание» Civ5 состоит в том, что там улучшили интерфейс, но сделали недостаточное количество мини-игр для задротов. Когда эти мини-игры добавят в аддонах — все будет хорошо.

0
Мой инструмент по развитию силы воли и прививанию полезных привычек.

Ресурсный подход

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

ИЗО

Сначала какие-то блогеры раскопали, что Pin-up’ы рисовались с фотографий, выложили картинки и фотографии рядом и вздохнули: «а мы-то думали, что это какие-то мегамонстры рисовали». Потом какой-то блогер начал копать дальше, выяснил, что почти все великие художники не брезговали рисовать по фотографии и ужасно расстроился. (еще 1382 слова)

MMORPG при смерти, и это прекрасно

...Можно сказать, что ММО стали жертвой собственной доступности. ...В итоге, кстати, ММО стали любимым жанром для девочек. ...Кроме того, Facebook лучше, чем обычная западная ММО – он доступнее для новичков и у всех ваших друзей уже есть там аккаунт. ...Игроки привыкли к бесплатным сервисам и плохо понимают, почему они должны платить 50 долларов за право подписаться на платный. (еще 769 слов)

Интуиция

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

Катаклизм: очередные пророчества

Продолжаем тему моих «пророчеств» по поводу Катаклизма. Если в двух словах: в Катаклизме (аддон к WoW) реализуются идеи, которые великий я описал еще десятилетия назад. Хорошо, что у меня все ходы записаны. Haste. (еще 687 слов)

Правильные Правила

— А скажите еще, она на Манчкин похожа или нет? А то правила Манчкина я до сих пор никак не осилю, путаюсь все время, а показать как играть некому. И, в принципе, действительно ли Большой Куш так интересен, как кажется на первый взгляд? На какие игры он похож?
«Большой куш» похож на «Манчкин», т.к. (еще 897 слов)

Как играть в League Of Legends (для чайников)

League Of Legends — это клон доты. Самый дружелюбный для широкого круга игроков, а не такой задротский, как остальные клоны. Соревновательная PvP-игра, почти «кантерстрайк». Бесплатная!!! Первые два десятка игр вы просрете. Но можно снизить это количество до одного десятка. 1. «Смысл игры» простой: есть три линии (lanes), по боковым — два человека, в середине — один. (еще 873 слова)

Три вида геймдизайнеров

Геймдизайнеры бывают трех типов: хорошие, плохие и русские. Ха-ха, шутка. По моим наблюдением, игровые дизайнеры бывают трех видов, причем каждый следующий вид лучше предыдущего. Вид первый, дизайнеры-визионеры. Тут все просто: дизайнеры этого вида вдыхают ароматические вещества, у них открывается третий глаз и они начинают Видеть Идеальную Игру. (еще 1039 слов)

Ивент

Стандартное предупреждение: все герои выдуманы, любое совпадение является случайным. Ну, как обычно. *** [Маркетолог и геймдизайнер]
— Как тебе наш новенький комьюнити-менеджер?
— Молодой и глупый.
— Что, уже поговорил с ним?
— Еще нет.
— ;) [Геймдизайнер и комьюнити-менеджер]
— Привет!
— Чем могу быть вам полезен?
— Хаха, втягиваешься. (еще 2420 слов)