На Хабре уже есть очень много интересных статей про создание игры с нуля, но мало статей, описывающих что делать, чтобы своя любимая поделка не превратилась во Франкенштейна и дошла до вменяемого состояния. Автор оригинальной статьи рассказывает, как эволюционировал код игрового движка от кучи хлама в основном цикле к продуманной, расширяемой архитектуре, использующей Entity Component System. В статье много кода, который почти весь часто повторяется — но я не стал его выбрасывать, поскольку с ним будет понятнее, какие изменения вносит автор и как это отражается на всей структуре. Статья рассчитана на новичков, вроде меня, которые уже настрочили несколько «гениальных» прототипов, но теперь не знают, как разобраться в их коде.
Русанов Семен @nightrain912
Программист
Ещё один NAS своими руками, часть 3: приключения XXX в старой башне
26 min
72KTutorial
Интересно, мечтал ли кто-нибудь в детстве затолкать десяток шпиндельных дисков в свой домашний ПК и вообразить себя бравым Командиром Сервера? Что же, после цехов ИКМ, узлов космической связи, кабельных жгутов толщиной с баобаб, ЦОДов разных мастей и прочих весьма насыщенных железом помещений детские мечты, наконец, сбываются.
Но просто воткнуть десяток шпинделей в «башню» недостаточно, их ещё надо раскрутить, обдуть, залить файловой системой, предоставить доступ, разграничить права и потом ещё следить за здоровьем. Мы расскажем довольно подробно, как это сделать с комфортом для себя. При этом мы не станем петь молебны очередному серверному корпусу известной марки СтупорМиксер, а выступим в жанре рационального минимализма с железякой за $30 и сосредоточимся на софте и полезных мелочах. Ещё из этого поста читатель узнает о том, куда пропадает почти половина мощности у обычного блока питания, о волшебстве телеметрии, о некоторых стилях юниксового кунгфу, о кучерявом разграничении прав доступа без ACL (да, бывает и такое!) и к чему приводит использование старых дисков в новых серверах. Пасхальные яйца и обещанная история XXX рассеяны по посту;-)
Но сперва я хочу рассказать, как деталь стоимостью менее $1 может «испортить» диск за $100. Это весело, обещаю.
Но просто воткнуть десяток шпинделей в «башню» недостаточно, их ещё надо раскрутить, обдуть, залить файловой системой, предоставить доступ, разграничить права и потом ещё следить за здоровьем. Мы расскажем довольно подробно, как это сделать с комфортом для себя. При этом мы не станем петь молебны очередному серверному корпусу известной марки СтупорМиксер, а выступим в жанре рационального минимализма с железякой за $30 и сосредоточимся на софте и полезных мелочах. Ещё из этого поста читатель узнает о том, куда пропадает почти половина мощности у обычного блока питания, о волшебстве телеметрии, о некоторых стилях юниксового кунгфу, о кучерявом разграничении прав доступа без ACL (да, бывает и такое!) и к чему приводит использование старых дисков в новых серверах. Пасхальные яйца и обещанная история XXX рассеяны по посту;-)
Но сперва я хочу рассказать, как деталь стоимостью менее $1 может «испортить» диск за $100. Это весело, обещаю.
+41
Турция заблокировала Google DNS
2 min
43KИзвестные многим бесплатные (и довольно быстро работающие) DNS сервера от Google 8.8.4.4 и 8.8.8.8 теперь недоступны в Турции.
Нет, их сломали не русские туристы. Турецкое правительство решило выкорчевать скверну, подрывающую его устои. Twitter.
Да-да, вот так сервис микроблогов пытался свергнуть правительство страны.
Twitter, как популярное и простое средство распространения информации нередко обвиняли в пособничестве как террористам, так и революционерам.
Да, это мы с вами понимаем, что обвинение это того же порядка, как попытки высечь море, поглотившее флот или запретить бумагу, из-за того, что на ней могут печатать листовки. И тем не менее, для правительств и подконтрольных им СМИ обязательно нужен козёл отпущения.
И вот после того, как через Twitter распространили неблагоприятную информацию о турецких чиновниках (речь шла о записях переговоров чиновников из близкого окружения премьер-министра, в которых содержались сведения о коррупции среди турецких властей), этот самый премьер Эрдоган пообещал «искоренить» твиттер. Потому, что через него распространяется клевета.
Обратите внимание, как органично здесь соединились тупость, лицемерие и жажда власти.
Точно неизвестно, каким образом турецкие провайдеры блокировали ресурс. Но буквально сразу после запрета твиттера турецкие граждане бросились искать пути обхода.
Нет, их сломали не русские туристы. Турецкое правительство решило выкорчевать скверну, подрывающую его устои. Twitter.
Да-да, вот так сервис микроблогов пытался свергнуть правительство страны.
Twitter, как популярное и простое средство распространения информации нередко обвиняли в пособничестве как террористам, так и революционерам.
Да, это мы с вами понимаем, что обвинение это того же порядка, как попытки высечь море, поглотившее флот или запретить бумагу, из-за того, что на ней могут печатать листовки. И тем не менее, для правительств и подконтрольных им СМИ обязательно нужен козёл отпущения.
И вот после того, как через Twitter распространили неблагоприятную информацию о турецких чиновниках (речь шла о записях переговоров чиновников из близкого окружения премьер-министра, в которых содержались сведения о коррупции среди турецких властей), этот самый премьер Эрдоган пообещал «искоренить» твиттер. Потому, что через него распространяется клевета.
Обратите внимание, как органично здесь соединились тупость, лицемерие и жажда власти.
Точно неизвестно, каким образом турецкие провайдеры блокировали ресурс. Но буквально сразу после запрета твиттера турецкие граждане бросились искать пути обхода.
+69
Boids — простой алгоритм перемещения групп юнитов
3 min
31KВо время разработки клона одной игрушки мне понадобилось перемещать группы юнитов от одной планеты к другой. Первое что пришло в голову — заспавнить юниты один за другим и двигать их по прямой. Но это выглядело не очень весело, кроме того — нужно было как-то обходить планеты. После беглого ознакомления с алгоритмами группового перемещения я решил попробовать Boids. В итоге получилось такое:
Под катом описание алгоритма с примерами кода.
Под катом описание алгоритма с примерами кода.
+57
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity