Search
Write a publication
Pull to refresh
44
0

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

Send message

Swift не нужен?

Reading time10 min
Views31K
Не перестаю задаваться вопросом — какие у Apple планы на Swift и Objective-C? Когда в 2014 году появился Swift, его создатель Крис Латтнер утверждал, что эти два языка смогут сосуществовать бесконечно долго. Из почтовой рассылки пользователям Xcode:
3 Июня 2014
McLaughlin, Michael P.
Кто-нибудь знает, действительно ли Apple собирается прекратить поддержку С и С++? Fortran уже не поддерживается, хотя осталось еще много кода на Fortran, и сравнительно нового, как в MultiNest.
Пожалуйста, скажите, что это не так. Не все считают, что «опытные пользователи» — это те, кто просто создает полнометражные мультики. Многие из них ученые и инженеры.

Здравствуйте, Michael,
Мы не строили планы на что-либо подобное. Swift — это просто новый вариант разработки под платформу. Мы не собираемся прекращать поддержку ни C, ни C++, ни Objective-C. Если вы разрабатываете на одном из этих языков, можете свободно продолжать его использовать.

— Крис.
Оригинальный текст письма
> On Jun 3, 2014, at 5:45 AM, McLaughlin, Michael P. <mpm...@mitre.org> wrote:
> Does anyone know, for real, if Apple intends to stop supporting C and C++?
> That’s what it sounded like. They already do not support Fortran even though
> there is a *lot* of Fortran code out there, even fairly new code like MultiNest.
>
> Please say it isn’t so. Not all of us consider “power users” to be just those
> who create feature-length cartoons. Many are scientists and engineers.

Hi Michael,

We have no plans to do anything like that. Swift is a new option for developing
on the platform. We have no plans to drop C, C++ or Objective-C. If you’re
happy with them, please feel free to keep using them.

-Chris


Дело в том, что в это никто не верит. Крис Латтнер уже давно покинул Apple, и если его утверждение окажется ложным, он не сможет принять критику от лица компании. В целом разработчики согласились на том, что Apple в конечном итоге откажется от Objective-C, и Swift станет единственным языком «первого класса» для разработки Cocoa-приложений.
Читать дальше →

Russian AI Cup 2017 — отчет о бета-тесте, старт чемпионата. Хотели StarCraft, получили странный Total War

Reading time7 min
Views15K


Седьмого ноября официально стартовала неделя бета-теста Russian Ai Cup 2017. Чемпионат ежегодный, и в этом году мы решили предложить участникам проект под названием CodeWars — конкурс по программированию ботов для игры, которую сами участники сходу окрестили «симулятором игрока в RTS». Бета-тест подошел к концу, чемпионат официально стартовал, и под катом мы хотели бы отчитаться, поделиться новостями о том, что же мы теперь можем предложить. Ну и еще раз зазвать всех поучаствовать, не без этого конечно.

Читать дальше →

Паровой компьютер или разностная машина Бэббиджа 1840 года

Reading time6 min
Views41K
Где-то в 1800-х годах Чарльз Бэббидж изобрел первый компьютер, тогда слово «компьютер» имело иное значение, и он назвал свое изобретение Разностной машиной или Аналитической машиной. Гениальный изобретатель опережал свое время, но, к сожалению, не завершил свое изобретение, и лишь спустя сто лет был изобретен первый настоящий компьютер, но это уже другая история. А сегодняшняя статья об Аналитической Машине Бэббиджа.

Согласно чертежам Бэббиджа машина должна была состоять из следующих частей:


1. Склад — жесткий диск, память; 2. Мельница — процессор; 3. Паровой двигатель — блок питания; 4. Принтер — принтер; 5. Карты операций — программы; 6. Карты переменных — система адресации; 7. Числовые карты — для ввода чисел; 8. Управляющие барабаны — микропрограммы.
Читать дальше →

Храните свои сбережения…в бункере

Reading time8 min
Views12K
Не все хранилища данных одинаково надежны и прочны. Наводнения, ураганы, торнадо, военные атаки, ядерные взрывы — как в таких условиях сохранить важнейшие данные и инфраструктуры знают компании-провайдеры подземных серверных хранилищ, созданных с максимальным уровнем защиты от любых угроз.



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

Caesar3 все таки open

Reading time2 min
Views21K


Некоторое время назад, примерно с 2008 года, у меня был хобби-проект по воссозданию довольно знаменитого конце ХХ века ситибилдера Caesar III ©, в процессе работы над игрой был написан ряд статей по механике игры и её внутреннему устройству (например эта).
Дайте же сорцы, наконец

Ретроспектива очков и шлемов виртуальной реальности

Reading time15 min
Views23K


К глубокому разочарованию многих, VR-индустрия испытывает тревожное затишье. Появление первого поколения потребительских шлемов не сопровождалось ни появлением впечатляющего контента, ни переносом существующих ААА-видеоигр (Skyrim и Fallout 4 не считаются), а VR-аркады остаются редкостью по сей день.

Конечно, процесс адаптации новой технологии занимает время. Даже iPhone не сразу покорил весь мир. По мнению директора по инновациям Game Insight Андрея Ивашенцева, сейчас VR-технологии находятся на стадии привлечения первых последователей.

О чём молчит пост-мортем: неизвестная история создания Gothic 3

Reading time15 min
Views31K
image

У всех нас есть свои слабости, которым мы можем изредка предаваться — так называемые “guilty pleasures”. Я вот, к примеру, люблю время от времени перелистывать старые игровые журналы; среди прочего, в них попадаются интересные интервью и дневники разработчиков, неторопливо закрывающие белые пятна моего незнания (которое, как и положено, границ не имеет). С пост-мортемами разговор отдельный — они повествуют о вечном, и потому абсолютно не теряют своего очарования.

imageВзять хотя бы пост-мортем Portal, опубликованный в январском выпуске журнала Game Developer за 2008 год. Благодаря ему, многие читатели впервые узнали про излюбленную методику создания игр в стенах компании Valve (да, было время, когда Valve еще делала игры): постоянными итерациями прототипов игровых механик и регулярными плей-тестами с участием новых игроков. Сегодня эта идея всем нам кажется очевидной — справедливости ради, она была известна и тогда, но не столь широко распространена — несмотря на то, что она уже успела поспособствовать появлению игр высочайшего геймплейного качества — одна Half-Life 2 чего стоит.

Еще несколько фактов из пост-мортема Portal
Оказывается, сам Portal в итоге был урезан примерно в два раза: в силу того, что неподготовленным игрокам тяжело давались те или иные уровни, разработчики регулярно убирали головоломки и заменяли их на новые. Как подсказывают завсегдатаи редактора Hammer, при прототипировании уровней Valve использует примитивы оранжевого цвета, а не серые, как все остальные — отсюда и сам этот процесс они называют не «grayboxing», а «orange boxing» (отсюда и «orange box»?..)

Другой пост-мортем, и всего одна маленькая (и невероятная) деталь: концепты дизайна основных боссов в Diablo III за время разработки переделывались по 50-60 раз. Теперь я каждый раз напоминаю себе об этом факте, когда начинают опускаться руки!

Конечно же, на многие известные игры пост-мортемов не существует. Сегодня вашему вниманию предлагается история о том, про что в пост-мортеме никто в здравом уме не расскажет.

О разработке одного desktop-приложения на Python

Reading time14 min
Views39K

Всем привет. В этой статье я хочу рассказать о разработке программы с открытым исходным кодом для оффлайнового хранения заметок — OutWiker. Этим проектом я занимаюсь в свободное время, первая версия программы вышла в далеком 2010 году, и OutWiker до сих пор продолжает развиваться. Так уж исторически сложилось, что кодом я занимаюсь практически в одиночку (хотя изредка получаю полезные отдельные патчи), но зато пользователи активно участвуют в переводе программы на свой родной язык и иногда присылают стили оформления для страниц, которые затем я включаю в сборку. А уж о том, сколько интересных идей они присылают, и говорить не стоит.


Что такое OutWiker


Когда-то я писал об этой программе на Хабре, но это было так давно, что прежде чем говорить об особенностях внутреннего устройства и процесса разработки, нужно сказать, что представляет собой программа с точки зрения пользователя. Все ссылки, связанные с проектом даны в конце статьи. Итак, OutWiker — это программа для хранения заметок в виде дерева, в англоязычном интернете такой софт обычно называют outliner (поэтому у программы такое название). Среди более известных «коллег» OutWiker с подобным функционалом можно назвать Zim, WikidPad, CherryTree, и множество других (ну и, разумеется, org mode для Emacs). Логичный вопрос с точки зрения пользователя — чем OutWiker отличается от других представителей древовидных записных книжек. На данный момент, по прошествии такого количества времени с момента начала разработки, я уже не готов развернуто сравнить весь этот софт. В стародавние времена я перепробовал десятки outliner-ов, штук пять использовал достаточно долгое время, но везде чего-то не хватало, хотелось одну возможность взять из WikidPad, другую — из викидвижка, который может работать оффлайново и т.д. Поэтому в качестве ответа на такой вопрос просто перечислю основные особенности, которыми обладает OutWiker.



Читать дальше →

История Polaroid (статья плюс ролик)

Reading time6 min
Views31K


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

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

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

На такой благоприятной волне было объявлено о возрождении компании Полароид Ориджиналс

Разработка 2D песочницы на JavaScript с нуля

Reading time5 min
Views16K
Как-то для своих некоторых планов мне потребовалось сделать небольшую песочницу в 2D пространстве с базовыми возможностями:

1. Передвижение по игровому миру
2. Физика при движении, столкновения
3. Создание блоков
4. Удаление блоков

Графическое исполнение меня не беспокоило, поэтому я решил оформить все в серых тонах, выглядит это так:

image

Как создать качественную карту для метроидвании

Reading time12 min
Views22K

Авторы Hollow Knight рассказывают о процессе построения сложного взаимосвязанного мира от набросков до готовой игры


image

Есть что-то удивительно приятное в исследовании сложных 2D-пространств игр, сделанных по модели Metroid и Castlevania. Такого чувства невозможно получить в других играх: чёткое осознание того, как части мира подогнаны друг к другу, умение распознать наличие скрытой комнаты, удовлетворение от получения новых способностей, позволяющих попасть на ранее недостижимые высоты. Качественная карта метроидвании заставляет игрока хотеть освоить каждый квадратный сантиметр и остаётся интересной, даже когда он проходит тем же маршрутом второй, и десятый, и двадцатый раз.

Так как же создать карту для метроидвании? Как создать взаимосвязанный мир, возвращаться назад в котором интересно, который даёт игроку свободу исследований, но при этом частично сохраняет за собой путь его развития? Есть ли секретная формула, тайное знание? Я задал эти вопросы создателям Hollow Knight, вдохновлённого Metroid фантастического приключения в антураже разлагающегося королевства Hallownest, которое напоминает мне анимационный фильм Дона Блута «Секрет НИМХ» (только вместо крыс здесь насекомые).

Мы поговорили о том, что важно для такой игры, и о том, почему сами авторы никогда не упоминают термин «метроидвания». Потом мы добрались до самого интересного: посмотрели наброски, схемы и рабочие дизайны мира Hollow Knight, от самого начала до финальной версии.
Читать дальше →

Тернистый путь Hello World

Reading time16 min
Views34K

Вдохновение на написание данной статьи было получено после прочтения похожей публикации для архитектуры x86 [1].


Данный материал поможет тем, кто хочет понять, как устроены программы изнутри, что происходит до входа в main и для чего всё это делается. Также я покажу как можно использовать некоторые особенности библиотеки glibc. И в конце, как и в оригинальной статье [1] будет визуально представлен пройденный путь. В большинстве своём статья представляет собой разбор библиотеки glibc.


Итак, начнём наш поход. Будем использовать Linux x86-64, а в качестве инструмента отладки — lldb. Также иногда будем дизассемблировать программу при помощи objdump.


Исходным текстом будет обычный Hello, world (hello.cpp):


#include <iostream>
int main()
{
        std::cout << "Hello, world!" << std::endl;
}
Читать дальше →

Классический 2д квест или как прошли наши два года разработки. Часть финальная

Reading time7 min
Views11K
Заключительная часть истории создания игры «Swordbreaker The Game», в этой части — про раскрутку после релиза, и результаты к которым мы пришли.

image
Читать дальше →

Про безопасность банкоматов и разработку охранного извещателя (продолжение)

Reading time6 min
Views20K
В своей предыдущей статье я рассказал в целом про проблему безопасности банкоматов и немного про свой опыт разработки устройства обеспечения этой самой безопасности.

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

Как я браузерный 3D-футбол писала. Часть 2

Reading time12 min
Views8.8K
Привет, Хабр!

Вот и подоспело продолжение моего рассказа о написании браузерного 3D-футбола. Прошу прощения за длительный перерыв, виною тому работа, производство борщей и прочего съестного для любимого мужа, тягости ремонта и всякое другое. Но статья сама себя не напишет и не прочитает. Поэтому всех интересующихся и ещё не забывших про первую часть — милости прошу под кат.



На всякий случай ссылка на первую часть — Как я браузерный 3D-футбол писала. Часть 1
Читать дальше →

Магия разработки видеоигр id Software

Reading time15 min
Views31K
От переводчика: эта статья написана Дэвидом Кушнером в 2002 году, годом позже он издал известную книгу «Masters of Doom». Статья показалась мне интересной, потому что в ней есть подробности реализации технологий id, почему-то отсутствующие в книге.

За кулисами экшена и агрессии игр id скрыта революция в технологии настольных компьютеров



image
В течение последних 12 лет эволюция реализма графики Id Software поднимает планку для всей отрасли видеоигр. Среди игр-новаторов находятся [снизу вверх, справа налево] Commander Keen (1990) [прим. пер.: на самом деле на скриншоте Dangerous Dave in the Haunted Mansion], Hovertank (1991), Wolfenstein 3D (1992), Doom (1993), Quake (1996) [прим. пер.: на самом деле Quake II] и Return to Castle Wolfenstein (2001).

После полуночи начинается схватка. Солдаты преследуют нацистов по коридорам замка. Огнемёт изрыгает чудовищный язык пламени. Это Return to Castle Wolfenstein, компьютерная игра, ставшая не только спинномозговым приключением, но и чудом науки. Она же — последний продукт Id Software (Мескит, штат Техас). Благодаря своим технологически инновационным играм id оказала огромное влияние на мир компьютерных вычислений: от привычных в современных PC высокоскоростных полноцветных графических карт высокого разрешения до появления армии программистов и игроков в онлайновые игры, внёсших вклад в поп-культуру.
Читать дальше →

Как создавали систему чувств ИИ в Thief: The Dark Project

Reading time11 min
Views15K
image

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

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

Систему чувств в игре нужно создавать таким образом, чтобы она подчинялась потребностям дизайна игры и была эффективной в реализации. Система не должна быть слишком сложной, достаточно обеспечивать надёжность и интересный игровой процесс. Результат её работы должен быть воспринимаем игроком и понятен ему. Только в немногих играх ИИ необходимы ощущения вкуса, касания или осязания, в основном же используется зрение и слух. При правильном использовании чувства могут стать неоценимым инструментом для создания более интересного поведения простых конечных автоматов.

В этой статье описывается подход к дизайну и реализации высокоточной сенсорной системы для ИИ в игре от первого лица с упором на стелс. Описанные здесь техники взяты из опыта разработки ИИ для Thief: The Dark Project, а также из ознакомления с кодом Half-Life. В первой части статьи изложены базовые концепции чувств ИИ на мотивирующем примере Half-Life. Во второй части излагаются более строгие требования к сенсорным системам в дизайне стелс-игр и описывается система, созданная для Thief.
Читать дальше →

Классический 2д квест или как прошли наши два года разработки. Часть 3

Reading time8 min
Views14K
Снова привет всем, в этой, третьей, части будет рассказ о том как программировался «Swordbreaker The Game», почему был выбран тот или иной фреймворк, подробности под катом.


Читать дальше →

Nuklear+ — миниатюрный кроссплатформенный GUI

Reading time6 min
Views20K

Nuklear+ (читается как "Nuklear cross", значит "кроссплатформенный Nuklear") — это надстройка над GUI библиотекой Nuklear, которая позволяет абстрагироваться от драйвера вывода и взаимодействия с операционной системой. Нужно написать один простой код, а он потом уже сможет скомпилироваться под все поддерживаемые платформы.


Я уже писал на хабре статью "Nuklear — идеальный GUI для микро-проектов?". Тогда задача была простой — сделать маленькую кроссплатформенную утилиту с GUI, которая будет примерно одинаково выглядеть в Windows и Linux. Но с тех самых пор меня не отпускал вопрос, а можно ли на Nuklear сделать что-то более-менее сложное? Можно ли целиком на нём сделать какой-нибудь реальный проект, которым будут пользоваться?

Читать дальше →

Байки поддержки первой линии: отличная работа, если у вас крепкие нервы

Reading time5 min
Views50K


Мы поддерживаем офис одной сервисной компании и хотели бы немного рассказать про нашу работу. Для поднятия настроения, так сказать. В общем-то, наш день выглядит одинаково: приходим, логинимся в cisco agent, садимся за телефон и начинаем слушать хотелки юзеров. Что-то разруливаем сами, что-то передаём второй линии рядом. Несмотря на то, что офис заказчика состоит преимущественно из инженеров, тикеты не очень сильно отличаются от тикетов нефтегазовой компании или госкомпании. Конечно, без того, чтобы проехать 200 километров, чтобы включить принтер в розетку (реальный случай), но всё же.

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

Information

Rating
Does not participate
Location
Тернополь, Тернопольская обл., Украина
Date of birth
Registered
Activity