Pull to refresh
104
0
Русанов Семен @nightrain912

Программист

Send message

Что такое Entity System Framework и зачем он нужен в геймдеве?

Reading time18 min
Views50K
На Хабре уже есть очень много интересных статей про создание игры с нуля, но мало статей, описывающих что делать, чтобы своя любимая поделка не превратилась во Франкенштейна и дошла до вменяемого состояния. Автор оригинальной статьи рассказывает, как эволюционировал код игрового движка от кучи хлама в основном цикле к продуманной, расширяемой архитектуре, использующей Entity Component System. В статье много кода, который почти весь часто повторяется — но я не стал его выбрасывать, поскольку с ним будет понятнее, какие изменения вносит автор и как это отражается на всей структуре. Статья рассчитана на новичков, вроде меня, которые уже настрочили несколько «гениальных» прототипов, но теперь не знают, как разобраться в их коде.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments12

Ещё один NAS своими руками, часть 3: приключения XXX в старой башне

Reading time26 min
Views72K
Интересно, мечтал ли кто-нибудь в детстве затолкать десяток шпиндельных дисков в свой домашний ПК и вообразить себя бравым Командиром Сервера? Что же, после цехов ИКМ, узлов космической связи, кабельных жгутов толщиной с баобаб, ЦОДов разных мастей и прочих весьма насыщенных железом помещений детские мечты, наконец, сбываются.
Но просто воткнуть десяток шпинделей в «башню» недостаточно, их ещё надо раскрутить, обдуть, залить файловой системой, предоставить доступ, разграничить права и потом ещё следить за здоровьем. Мы расскажем довольно подробно, как это сделать с комфортом для себя. При этом мы не станем петь молебны очередному серверному корпусу известной марки СтупорМиксер, а выступим в жанре рационального минимализма с железякой за $30 и сосредоточимся на софте и полезных мелочах. Ещё из этого поста читатель узнает о том, куда пропадает почти половина мощности у обычного блока питания, о волшебстве телеметрии, о некоторых стилях юниксового кунгфу, о кучерявом разграничении прав доступа без ACL (да, бывает и такое!) и к чему приводит использование старых дисков в новых серверах. Пасхальные яйца и обещанная история XXX рассеяны по посту;-)

Но сперва я хочу рассказать, как деталь стоимостью менее $1 может «испортить» диск за $100. Это весело, обещаю.
Читать дальше →
Total votes 47: ↑44 and ↓3+41
Comments34

Турция заблокировала Google DNS

Reading time2 min
Views43K
Известные многим бесплатные (и довольно быстро работающие) DNS сервера от Google 8.8.4.4 и 8.8.8.8 теперь недоступны в Турции.
Нет, их сломали не русские туристы. Турецкое правительство решило выкорчевать скверну, подрывающую его устои. Twitter.
Да-да, вот так сервис микроблогов пытался свергнуть правительство страны.
Twitter, как популярное и простое средство распространения информации нередко обвиняли в пособничестве как террористам, так и революционерам.
Да, это мы с вами понимаем, что обвинение это того же порядка, как попытки высечь море, поглотившее флот или запретить бумагу, из-за того, что на ней могут печатать листовки. И тем не менее, для правительств и подконтрольных им СМИ обязательно нужен козёл отпущения.
И вот после того, как через Twitter распространили неблагоприятную информацию о турецких чиновниках (речь шла о записях переговоров чиновников из близкого окружения премьер-министра, в которых содержались сведения о коррупции среди турецких властей), этот самый премьер Эрдоган пообещал «искоренить» твиттер. Потому, что через него распространяется клевета.
Обратите внимание, как органично здесь соединились тупость, лицемерие и жажда власти.
Точно неизвестно, каким образом турецкие провайдеры блокировали ресурс. Но буквально сразу после запрета твиттера турецкие граждане бросились искать пути обхода.
Читать дальше →
Total votes 107: ↑88 and ↓19+69
Comments85

Boids — простой алгоритм перемещения групп юнитов

Reading time3 min
Views31K
Во время разработки клона одной игрушки мне понадобилось перемещать группы юнитов от одной планеты к другой. Первое что пришло в голову — заспавнить юниты один за другим и двигать их по прямой. Но это выглядело не очень весело, кроме того — нужно было как-то обходить планеты. После беглого ознакомления с алгоритмами группового перемещения я решил попробовать Boids. В итоге получилось такое:



Под катом описание алгоритма с примерами кода.

Читать дальше →
Total votes 63: ↑60 and ↓3+57
Comments23
12 ...
10

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity