So anal
...
В хорошей игре на айфоне — Battle Nations — есть что-то типа PvP.
...
Это вообще такая типа ферма с PvP (я всегда хотел сделать что-то подобное).
...
Там можно нападать на друзей и грабить их корованы.
...
Бесплатная и с великолепными смешными текстами.
...
При нападении на человека у него не теряется ничего, но при этом нападающий как бы «ворует» ресурсы, потому что ему-то прибавляется. Можно ставить защитные башни, чтобы поменьше нападали.
...
Защитные башни потребляют ресурсы. А при успешном нападении на тебя — еще раз — ресурсы не отнимаются.
...
Выигрышная стратегия? Забить на башни, «от меня не убудет».
...
И тем не менее, примерно каждый четвертый-пятый ведет себе, как анальная жопа, зачем-то отгораживая свою базу башнями.
...
Вывод?
...
А я не знаю. Выбирайте на собственный вкус.
...
1. Люди идиоты. Создатели игры идиоты, потому что не смогли объяснить, что быть ограбленным — не страшно (и зачем-то сделали защитные сооружения!). А игроки идиоты, потому что этого не поняли.
...
2. Люди выбирают не только стратегии, максимизирующие прибыль, но и стратегии, которые «приятней», «веселей», и к которым «лежит душа» и прочие непонятные вещи. Быть ограбленным, например, не приятно. (Ну то есть это всё то же «люди идиоты», но не так обидно!).
...
А игры надо делать как бы для людей, да.
(еще 13 слов)
Auto Increment with MongoDB
Популярная по своей дурости задача «а я не хочу эти длинные id, я хочу увеличивающиеся циферки в качестве айдишников».
...
Несмотря на свою нелепость, она иногда нужна. Например, человекочитаемые номера. «Хуйня номер 10».
...
Самый простой и рекомендуемый всеми способ — хранить где-то отдельно счетчик и менять его с помощью findandmodify (для чего в php нет отдельного метода, но можно через command).
...
Но можно сделать проще!
...
Если это хорошая, правильная таблица, из которой ничего не удаляется, то мы можем посчитать «номер записи» в таблице тупо зная тот факт, что нативные MongoId увеличиваются со временем и по ним можно сортировать не хуже, чем по какой-нибудь «дате создания».
...
Короче, как-то так:
...
$mongo -> insert ($U);
$inc = $mongo -> find (array ("_id" => array ('$lt' => $U[_id])));
$inc = $inc -> count ();
$inc++;
$mongo -> update (array ("_id" => new MongoId ($U[_id])), array ('$set' => array ("inc" => $inc)));
...
Ограничения очевидны, но часто «и так сойдет», да-да.
(еще 10 слов)
Trello
Я всегда считал, что Joel Spolsky — это такой евангелист, «и всё».
...
Ну, примерно как 37signals, которые только пиздеть и умеют.
...
Не, я краем глаза видел продукты и тех и этих, и че-то как-то не впечатлился.
...
Но вот Trello, который Fog Creek сделали — реально клевая штука.
(еще 4 слова)