Как стать автором
Обновить
3.6
Карма
0
Рейтинг
Олег @krolser

Пользователь

  • Публикации
  • Комментарии

Как мы объясняли детям, кто такой программист

ПродлёнкаМосиграПрограммирование

Он волосат, небрит и очень программист

@bobuk показал человека-паука и сказал, что айтишники спасают человечество. Потому что помогают решать проблемы. И ещё в качестве примера привёл Леонардо да Винчи с его вертолётом. Дети вертолёт не запомнили, но прыжки человека-паука на экране оценили. И ещё все узнали Нотча, написавшего Майнкрафт практически в одну харю.

Но давайте-ка я начну сначала и расскажу, что привело нас к открытию исходников игры «Такси», пришиванию пуговиц к сосискам и рассказу целой толпе детей про сложную и опасную профессию программиста.
Читать дальше →
Всего голосов 83: ↑73 и ↓10 +63
Просмотры69.8K
Комментарии 41

Новости

Показать еще

Алгоритм формирования кроссвордов

Open sourceЗанимательные задачкиПрограммированиеАлгоритмы
Эта история начинается с публикации «Самый сложный кроссворд, составленный компьютером». В ней приведен один из самых сложных кроссвордов, составленных программой (см. ниже).



Я был уверен, что все кроссворды давным-давно генерируются программно и был несколько удивлен тем, что это может быть проблемой. Замечу, что речь идет именно о «канадских» кроссвордах, в которых каждое слово имеет пересечение с другим словом на каждой букве или очень близких к ним по сложности. В моей работе аналитика, не так много действительно сложных задач, поэтому мне стало интересно попробовать разработать алгоритм, который мог бы это сделать. Результат размышлений, подкрепленный программой для генерации кроссвордов, приводится в этой статье.
Читать дальше →
Всего голосов 39: ↑39 и ↓0 +39
Просмотры30.2K
Комментарии 15

Как сделаны фоны в Homeworld2 изнутри

Разработка игр
Перевод
Эта статья является переводом сразу двух статей от Simon Schreibt. Обе статьи на одну тему и являются взаимодополняющими. Не пугайтесь того, что в начале все набрано большими буквами, это стилистика автора и я постарался максимально её сохранить.

То, что вы видите тут



это сногсшибательные фоны



одной из наиболее прекрасных научно-фантастических игр.




H o m e w o r l d 2


Осторожно траффик
Всего голосов 58: ↑51 и ↓7 +44
Просмотры47.3K
Комментарии 10

Деревья в Diablo 3

Разработка игр
Из песочницы
В замечательном переводе отличной статьи про пузыри ресурсов в Diablo 3 я нашел ссылку на другую отличную статью — «Diablo 3 – Trees», про деревья, которая тоже замечательная. Предлагаю сообществу перевод этого текста. Надеюсь, автор вышеупомянутой статьи меня не расстреляет за это.

Итак, поехали.

Читать дальше →
Всего голосов 60: ↑57 и ↓3 +54
Просмотры58.3K
Комментарии 44

Создание игры на ваших глазах — часть 2: Шейдеры для стилизации картинки под ЭЛТ/LCD

Разработка игрОбработка изображенийUnity
Tutorial
Поговорим на этот раз о технологии. В этой статье я расскажу и покажу, как в Unity создать шейдер для стилизации графики под старые ЭЛТ. Такой шейдер подойдет для пиксель-арта и для стилизации картинки под древнюю технику. Злоупотреблять им не стоит, но иногда использовать к месту — можно. (Специально уточню — я не предлагаю использовать такой эффект постоянно. Но, например, в заставках — он может прийтись к месту).



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

Читать дальше →
Всего голосов 112: ↑103 и ↓9 +94
Просмотры72.8K
Комментарии 32

Делаем игру 2048 на AngularJS

JavaScriptAngular
Перевод
Tutorial
Наверное, вам, как и многим коллегам, пришлась по вкусу игра «2048», в которой необходимо достичь плитки с числом 2048, собирая вместе плитки с одинаковыми числами.

В этой статье мы вместе построим клон этой игры при помощи фреймворка AngularJS. По ссылке можно посмотреть демонстрацию конечного результата.
Читать дальше →
Всего голосов 71: ↑58 и ↓13 +45
Просмотры47.4K
Комментарии 15

Raspberry и Telegram: предпосылки создания умного дома

Lua
Перевод


Один итальянский магазинчик нащупал новые способы использования Телеграма (и ранее WhatsApp'а), установив его на одноплатный миниатюрный компьютер Raspberry Pi. Как выясняется, мессенджер можно использовать для удалённого общения с собственной техникой. Ниже – перевод статей (1, 2) с сайта Instructables.com. Если есть уточнения по переводу, напишите об этом в комментариях.

Читать дальше →
Всего голосов 52: ↑44 и ↓8 +36
Просмотры83.9K
Комментарии 62

GNU Emacs. Статья, которую я так и не нашел…

ПрограммированиеLispEmacs
Из песочницы
Tutorial
Доброго времени суток, Читатель!

В данной статье хочу подробно рассказать про настройку текстового редактора GNU Emacs.

Операционная система GNU Emacs — программируемый текстовый редактор для программистов, написанный на программируемом языке программирования.

Для расширения Emacs используется диалект языка LispEmacs Lisp.
Читать дальше →
Всего голосов 96: ↑81 и ↓15 +66
Просмотры98.8K
Комментарии 44

Объемные планеты в 2D через шейдер

DelphiРазработка игр
А помните, как вы просили меня про шейдеры написать? Помните? Нет? А вот я помню и даже написал. Милости просим, поговорим о прекрасном.

Сегодня я поведу речь о том, как я делал объемные вращающиеся планеты для нашей игры blast-off. Тоесть они, конечно, совершенно плоские, всего пара треугольников, но выглядят как объемные.



Заинтересовало? Прошу под кат. Картинок прилично.
Читать дальше →
Всего голосов 77: ↑75 и ↓2 +73
Просмотры55.6K
Комментарии 39

«Галоп пикселя — часть первая» — базовые понятия, этапы взросления, прикладные упражнения

Разработка игрОбработка изображений
Tutorial


«Галоп пикселя», часть I — базовые понятия, этапы взросления, прикладные упражнения (линк)
«Галоп пикселя», часть II — перспектива, цвет, анатомия и прикладные упражнения (линк)
«Галоп пикселя», часть III — Анимация (линк)
«Галоп пикселя», часть IV — Анимация света и тени (линк)
«Галоп пикселя», часть V — Анимация персонажей. Ходьба (линк)

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

В данной публикации мы не рассматриваем программы, но копаем нечто большее. Сами пиксели. От истоков, начав с четырехцветной CGA-эры, вплоть до эпохи ренессанса. В публикации мы не рассматриваем игры, не поем дифирамбы художникам прошлого (разве что самую малость), занимаясь именно процессом создания простейшего пиксель-арта. Данный материал будет интересен начинающим артистам и интересующимся. Статья практически не содержит теории, нудных умозаключений и представляет сторонний взгляд на мир пиксель-арта со стороны некоего самоучки, который предпочел открыть каждую из Америк самостоятельно, не оглядываясь на официальных, общепризнанных и задокументированных Колумбов. Статья снабжена обильным количеством поясняющих иллюстраций, примеров, и советов.

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


Лопатить пиксели
Всего голосов 190: ↑185 и ↓5 +180
Просмотры223.5K
Комментарии 86

Делить на ноль — это норма. Часть 1

Математика
Из песочницы
Часть 1. Вобще-то уже все поделили до нас!
Часть 2. Истина где-то рядом

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


Читать дальше →
Всего голосов 106: ↑98 и ↓8 +90
Просмотры173.7K
Комментарии 102

Папа, а почему на ноль делить нельзя?

Математика
Из песочницы
Tutorial
Моя трёхлетняя дочка София в последнее время частенько упоминает «ноль», например, в таком контексте:
— Соня, вот ты вроде сначала не послушалась, а затем послушалась, что же получается?..
— Ну… ноль!

Т.е. ощущение отрицательных чисел и нейтральности нуля уже имеет, о как. Скоро поинтересуется: почему же это на ноль делить нельзя?
И вот решил я простыми словами записать всё, что я ещё помню про деление на ноль и всё такое.
Читать дальше →
Всего голосов 262: ↑192 и ↓70 +122
Просмотры232.4K
Комментарии 281

Офис на Linux — мой опыт

Настройка LinuxСистемное администрирование*nixСетевые технологииСерверное администрирование

Предисловие


Возникла у меня с полгода назад задачка: быстро и с минимальными затратами организовать работу аудиторской фирмы после переезда и резкого расширения штата сотрудников. Имелся десяток стареньких компьютеров, NAS c RAID-массивом, около ста тысяч рублей денег на всё про всё. Надо было умудриться купить ещё несколько компьютеров и сделать так, чтобы «тормоза», к которым сотрудники уже почти привыкли, хотя бы не усилились. Появились и рабочие места вне офиса, по области, с не очень-то «толстым» каналом в Интернет. Плюс ко всему имелось пожелание улучшить безопасность: новые сотрудники должны быть ограничены в доступе к некоторым базам данных, не могли скопировать базы к себе на «флэшку» и т.п.

Понятно, что в такой (впрочем, как почти в любой) фирме всё вертится вокруг 1С (в данном случае — 8.2). Используются файловые базы данных, это для заказчика весьма важно. Узкое место здесь — сеть. Ну, предположим, заменить 100-мегабитное оборудование на гигабитное несложно, но есть ещё и вопрос безопасности: файлы в общем доступе — хорошая дырка. А ведь есть ещё и удалённые рабочие места. Очевидно, что я стал смотреть в сторону терминального доступа.

Покрутив в голове и электронных таблицах различные варианты коммерческих терминальных серверов известных фирм я понял: в бюджет не уложиться. Зато, как я помнил, 1с версии 8.3 существует в виде «нативной» реализации под Linux, при этом конфигурации от 8.2 с ней вполне совместимы. Проведя пару экспериментов дома, я решился и вышел к заказчику с предложением: «делаем терминальное решение полностью на Linux!» Заказчик отреагировал здраво: «хоть на чёрте лысом делай, но чтоб в понедельник всё работало!» И я взялся за работу.

В статье я вольным стилем и кратко опишу, как я решал задачу. Не претендую на то, что сделал всё правильно и хорошо, однако задача решена и пользователи довольны.
Читать дальше →
Всего голосов 74: ↑68 и ↓6 +62
Просмотры87.9K
Комментарии 140

Dagaz: Новое начало

Разработка игр
Бежит на юг и кружит на север, кружит, кружит на бегу своем ветер,
И на круги свои возвращается ветер;
Бегут все реки в море, — а море не переполнится,
К месту, куда реки бегут, — Туда они продолжают бежать;

Книга Экклезиаста.


В 1998 году, было разработано совершенно уникальное, для своего времени, приложение, позволяющее свести процесс разработки абстрактной настольной игры (или головоломки) к небольшому текстовому описанию на языке, отдалённо напоминающем Lisp. Этот проект получил название Zillions of Games и произвел настоящий фурор в среде любителей настольных игр. В настоящее время, создано более 2000 приложений, с использованием этой технологии.

Очень быстро выяснилось, что ZoG обладает множеством недостатков. Я уже писал об этом на Хабре и не буду повторяться. Скажу лишь, что разработчики не учли особенностей огромного количества уже существующих игр, а часть важных опций «захардкодили» таким образом, что их изменение стало крайне проблематичным. Грэг Шмидт, в 2007 году, постарался исправить ситуацию, выпустив Axiom Development Kit, но тесная интеграция этого решения с ZoG не позволила решить все проблемы.

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

Моей целью является разработка более универсального и удобного в использовании «движка» для создания абстрактных настольных игр. Уже почти год я изучаю возможности ZoG и Axiom и узнал очень многое об их ограничениях. Я думаю, что смогу решить их проблемы, создав более универсальное и кроссплатформенное решение. О ходе работы над этим проектом я и собираюсь рассказать.
Читать дальше →
Всего голосов 52: ↑37 и ↓15 +22
Просмотры11.1K
Комментарии 17

Пишем шейдер на AGAL

Adobe Flash
Ни для кого уже не секрет, что Flash Player 11 имеет поддержку GPU ускорения графики. Новая версия вводит Molehill API, позволяя работать с видеокартой на достаточно низком уровне, что с одной стороны даёт полную волю фантазии, с другой требует более глубокого понимания принципов работы современной 3D графики.
Читать дальше →
Всего голосов 50: ↑47 и ↓3 +44
Просмотры15.3K
Комментарии 13

Демо: Инкрементальный парсер для Web IDE

ПрограммированиеScalaКомпиляторы


Уважаемые коллеги,

я сделал Демонстрационное веб-приложение, наглядно иллюстрирующее, что такое инкрементальный парсер, и как он работает. Посмотрите его, пожалуйста. Буду рад услышать ваши отзывы и критику.

А под катом я расскажу, о том, как работают современные IDE. И как проект, над которым я сейчас работаю, может помочь вывести индустрию разработки веб-редакторов на новый уровень.
Как сделать настоящую IDE для Java, работающую полностью в вебе
Всего голосов 57: ↑55 и ↓2 +53
Просмотры13.3K
Комментарии 18

Нетбук за 39,99 долларов?

Гаджеты
Не раз мы уже видели разнообразные нетбуки для стран третьего мира – «компьютер за 100$», «компьютер с ручным генератором», но все это меркнет по сравнению с находкой Wired – нетбуком с невероятно низкой ценой 39,99$.

image

«Лэптоп» продается на аукционе Ebay, и выглядит на первый взгляд очень неплохо (за свои то деньги). Однако при детальном изучении можно выяснить, что он работает на Windows CE, оснащен 300 МГц ARM-процессором от VIA, 128 Мб оперативной памяти и накопителем объемом в целых 2 Гб. Огромная пластиковая рамка вокруг крошечного 7-дюймового TFT-дисплея (800 x 480) умещает на себе пару динамиков (по одному с каждой стороны). Помимо всего прочего имеется три порта USB, аудиогнезда, Ethernet и даже Wi-Fi. В довершение аппарат поддерживает карты памяти SD!

Непонятно, насколько качественно выполнена клавиатура (но есть догадки) и корпус самого нетбука. Доставка устройства производится из Гонконга.
Всего голосов 54: ↑42 и ↓12 +30
Просмотры1.1K
Комментарии 105

Получаем трафик и минимизируем его стоимость на примере браузерной MMO

Игры и игровые приставки
imageПочему-то в наше время браузерные игры (Browser Based MMO) не считают стартапами, а людей которые ими занимаются и близко не ставят в один ряд с предпринимателями. Такое впечатление у меня сложилось из личного опыта после участия в финале Seedcamp London Week 2008 и еще раз подтвердилось на финале i/o ventures 2010. Может поэтому так сложно найти и почитать интересные статьи по теме браузерных игр на территории СНГ.

Поэтому попробую поделится интересными идеями для начинающих создателей онлайн игр.
И так, представим себе, что Вы закончили бета версию своей игры и наступил момент когда нужно привлечь массу пользователей. Конечно же в идеале, если у Вас получилась супер интересная, понятная и юзабельная игра, то один пользователь приведет друга, тот еще друзей, сработает сарафанное радио и на утро у Вас уже будет 1000 игроков в онлайне. Таких успехов добиться очень сложно, поэтому перестаем мечтать, спускаемся на землю и начинаем =).
Читать дальше →
Всего голосов 106: ↑89 и ↓17 +72
Просмотры532
Комментарии 39

Игра, созданная одним человеком. Эадор. Сотворение

Игры и игровые приставки
Давно такого не было! Во времена доминирования супер гигантов игровой индустрии, таких как EA, мы уж и забыли достойные проекты, сделанные несколькими разработчиками в свободное от работы время. А в данном случае речь идет об одном разработчике, создавшего Эадор.

Итак, Эадор.

image
Читать дальше →
Всего голосов 101: ↑93 и ↓8 +85
Просмотры2.8K
Комментарии 69

Как я планирую проекты

Чулан
Я – руководитель Проектного офиса. В мои обязанности входит планирование всех проектов, которые инициируются в компании. Сейчас проектов у нас порядка пятнадцати, но подход, о котором пойдет речь ниже, я использую практически без изменений. Важно также сказать, что я не являюсь экспертом в предметных областях наших проектов – для этих целей у нас назначается руководитель проекта, который хорошо понимает: как из требований Заказчика и ресурсов Спонсора сделать нужный продукт. Но наши РП не очень хорошо разбираются в процессах управления проектами. И потому здесь требуется помощь Проектного офиса.

Читать дальше →
Всего голосов 40: ↑25 и ↓15 +10
Просмотры1K
Комментарии 17

Информация

В рейтинге
5,823-й
Откуда
Гродно, Гродненская обл., Беларусь
Дата рождения
Зарегистрирован
Активность