Как стать автором
Обновить
-28
http://www.moddb.com/mods/wolfgl-3d @Idotread⁠-⁠only

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

Отправить сообщение

Дарвин был лентяем, и вам бы это также не помешало

Время на прочтение16 мин
Количество просмотров36K

У многих известных учёных есть нечто общее: они не работали по многу часов в день


image

Изучая жизнь самых творческих людей в истории, сталкиваешься с парадоксом: они посвящали своей работе всю жизнь, но не весь день. Такие разные люди, как Чарльз Диккенс, Анри Пуанкаре и Ингмар Бергман, работали в несоизмеримых областях в разное время, у всех них была страсть к их работе, огромные амбиции и почти сверхчеловеческая способность к концентрации. Но если подробно изучить их каждодневную жизнь, окажется, что на то, что считается самой важной их работой, они тратили всего несколько часов в день. Остальную часть времени они лазали по горам, спали, гуляли с друзьями, или просто сидели и размышляли. Их творческое начало и продуктивность не были результатами бесконечных часов тяжкого труда. Их достижения происходят из скромного количества рабочих часов.

Как же они достигли всего? Может ли поколение, воспитанное на уверенности в необходимости 80-часовой рабочей недели для достижения успеха, научиться чему-либо на примере жизни людей, заложивших основы теории хаоса, топологии, или написавших "Большие надежды"?
Читать дальше →

Веселые картинки для развития мышления ребенка

Время на прочтение8 мин
Количество просмотров48K
image
Кто самый легкий?
(иллюстрация из журнала «Веселые картинки», 1983, №4)

В далеком 2004 году со мной случилась вполне обычная история. Прямо от лабораторных столов, загруженных ПЦР-машинами, центрифугами, пробирками и микроскопами, в горячем угаре написания статей по биоремедиации засоленных почв я попала в комнату с погремушками, книжками-малышками и маленьким ребенком.

Применение погремушек и сосок оказалось делом более-менее простым, но вот с «развивающими играми» все показалось намного интереснее. Можно ли на самом деле усиливать развитие мыслительных способностей у ребенка, и как это делать?

Чтобы ответить на этот вопрос, я оставила карьеру ученого и пошла работать педагогом дополнительного образования. То, что вы прочитаете дальше – результат, пардон, опытов над детьми (не волнуйтесь, ни один подопытный ребенок не пострадал).
Читать дальше →

Безболезненная прививка объектного мышления

Время на прочтение13 мин
Количество просмотров19K

Или как можно проще об основных принципах ООП в Lazarus и FreePascal


Часть I


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


Во всех книгах, посвященных паскалю, delphi и lazarus (я нашел аж целых две о последнем), очень схожая часть, посвященная ООП. По этим книгам можно много узнать о том, насколько круче ООП устаревшего структурного подхода, но так и не получить достаточных навыков применения этого на практике. Конечно, любой программист, использующий визуальные IDE, уже по умолчанию использует ООП, так как все компоненты и структурные элементы визуального приложения представляют собой объекты, однако свои собственные структуры и абстракции перенести в парадигму ООП бывает очень сложно. Чтобы понять всю прелесть и оценить открывающиеся перспективы, я решил сделать небольшое приложение, которое в конечном итоге превратилось в простенький screensaver. Заодно вспомнил о существовании тригонометрии.

Приложение будет рисовать на экране в случайных местах пятьдесят полярных роз с разными характеристиками: размер, цвет, количество лепестков. Потом их же затирать и рисовать новые, и т.д. Используя принципы структурного программирования, можно, конечно, сделать обычный многомерный массив объемом на 50 и в нем сохранять все уникальные характеристики. Однако стоит вспомнить, что паскаль подразумевает строгую типизацию данных, а, следовательно, массив не может состоять их элементов с разными типами. Можно сделать массив из записей (record), но чего уж мелочиться, от записи до класса — один шаг. Вот его мы и сделаем.

Особенности локализации игр на иностранные рынки

Время на прочтение14 мин
Количество просмотров30K
Под катом вы найдете лонгрид на тему локализации игр, подготовленный на базе открытой лекции Алексея Медова — ведущего редактора Inlingo Game Localization Studio. Лекция проходила в рамках нашей образовательной программы «Менеджмент игровых интернет-проектов» в ВШБИ. О чем же мы поговорим в статье?

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



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

Руководство начинающего программиста графических шейдеров

Время на прочтение8 мин
Количество просмотров46K
Умение писать графические шейдеры открывает перед вами всю мощь современных GPU, которые сегодня уже содержат в себе тысячи ядер, способных выполнять ваш код быстро и параллельно. Программирование шейдеров требует несколько иного взгляда на некоторые вещи, но открывающийся потенциал стоит некоторых затрат времени на его изучение.

Практически каждая современная графическая сцена являет собой результат работы некоторого кода, написанного специально для GPU — от реалистичных эффектов освещения в новейших ААА-играх до 2D-эффектов и симуляции жидкости.

image
Сцена в Minecraft до и после применения нескольких шейдеров.

Цель этой инструкции


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

Как создать музыку для видеоигры

Время на прочтение5 мин
Количество просмотров56K
[Публикую собственный перевод статьи за авторством TitanSlayer, автора музыки для видео игр, фильмов и ТВ]

Мне всегда нравились видеоигры. С самого детства я был очарован, загипнотизирован такими играми как Quake, Hexen, Heroes of Might & Magic.

В какой то момент своей музыкальной карьеры я понял, что теперь я способен сочинять музыку. А сочинение и создание музыки для медиа всегда было моей мечтой. И вот теперь, превратив свою мечту в реальность, я занимаюсь созданием музыкальных композиций для фильмов и видеоигр. Но эта работа, как и любая другая, полна плюсов и минусов.

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

Квантовые шахматы

Время на прочтение12 мин
Количество просмотров75K

Intro


Этот пост написан под впечатлением от вот этого отличного поста с Хабра, в котором автор наглядно, при помощи двумерных моделек, которые рисует его программа, объясняет как работает Специальная Теория Относительности.


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


Модель, которую я рассматриваю – отнюдь не нова. Более полугода назад Chris Cantwell разместил на YouTube анонс новой настольной игры: квантовых шахмат (многим, возможно, известно об этом из вот этого вирусного ролика).


Недавно игра вышла в Steam, она стоит 249 руб. Есть ещё другая реализация – бесплатное приложение для iOS (не знаю, есть ли оно в Google Play). Однако в процессе игр с друзьями я экспериментально выяснил, что она неправильная с точки зрения квантовой механики. Такую реализацию скорее можно назвать статистическими шахматами, а не квантовыми.


Поэтому я решил написать свою реализацию, с запутанностью и суперпозициями. В своей реализации я постарался исправить те недостатки, которые на мой взгляд присутствуют в версии на Steam (например, у меня пешки тоже могут ходить квантовыми ходами, как и все остальные фигуры). Про приложение для iOS и так всё понятно: любая реализация квантовых шахмат должна быть по-настоящему квантовой, т.е. не только быть вероятностной, но поддерживать такие эффекты квантовой механики как интерференция, запутанность, etc.

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

Модели памяти, лежащие в основе языков программирования

Время на прочтение24 мин
Количество просмотров30K
Предлагаем вашему вниманию перевод статьи, посвящённой рассмотрению используемых в программировании моделей памяти.

Сегодня в программировании доминируют шесть основных моделей памяти (не путать с моделями памяти Intel 8086). Три из них проистекают из трех исторически наиболее важных языков программирования 1950-х годов — COBOL, LISP и FORTRAN, а остальные связаны с тремя исторически важными системами хранения данных: магнитная лента, иерархическая файловая система в Unix-стиле и реляционная база данных.

Эти модели на гораздо более глубоком уровне, чем синтаксис или даже система типов, определяют, что наши языки программирования могут или не могут делать. Давайте подробно рассмотрим эти модели, а затем обсудим некоторые возможные альтернативы и причины, почему они могут быть интересны.
Читать дальше →

Иерархические (рекурсивные) запросы

Время на прочтение10 мин
Количество просмотров540K
Дерево объектов

Чтобы понять рекурсию, сначала надо понять рекурсию. Возможно, поэтому рекурсивные запросы применяют так редко. Наверняка вы представляете что такое SQL-запрос, я расскажу, чем рекурсивные запросы отличаются от обычных. Тема получилась объемная, приготовьтесь к долгому чтению. В основном речь пойдет об Oracle, но упоминаются и другие СУБД.

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

Все о коллекциях в Oracle

Время на прочтение12 мин
Количество просмотров286K
Статья имеет довольно таки тезисный стиль. Более подробное содержание можно найти в приложенном внизу статьи видео с записью лекции по коллекциям Oracle.

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

Таким же образом коллекции используются и в Oracle.

Содержание статьи



Шокирующие детали про коллекции в Oracle

Что Steam Direct может значить для инди-разработчиков

Время на прочтение7 мин
Количество просмотров17K
image

Недавно Steam объявил о грядущей замене процесса Greenlight на программу под названием Steam Direct. Пока известно мало подробностей об этой новой системе публикации и продажи игр. В новом посте блога «Менеджмент игровых интернет-проектов» мы представляем перевод статьи на эту тему от Бенджамина Лохмана. Он работает CEO в студии, выпустившей более 150 приложений для iOS и Android, а также начавшей делать игры под Steam. Он рассказывает о том, как по его мнению изменится подход к разработке, маркетингу и рейтингам в Steam.
Читать дальше →

59 способов монетизировать вашу инди-игру

Время на прочтение14 мин
Количество просмотров43K

У вас нет ни гроша? Питаетесь Дошираком? Отчаянно пытаетесь заработать пару баксов своим инди-детищем? Все мы были в точке невозврата в разработке, когда хотели получить какой-нибудь доход от игр, но не знали в какую сторону двигаться. На самом деле, иногда мы даже не представляли всех возможностей…
Читать дальше →

Генерирование полигональных карт для игр

Время на прочтение24 мин
Количество просмотров61K
Я хотел научиться генерировать интересные игровые карты, которые не обязательно были бы реалистичными, а также попробовать техники, с которыми раньше не работал. Обычно я создаю карты с другой структурой. Что можно сделать с тысячей полигонов вместо миллиона тайлов? Отчётливо различимые игроком области могут быть полезны для геймплея: местоположения городов, места квестов, территории для захвата или колонизации, ориентиры, точки поиска пути, зоны с разной сложностью и т.д. Я генерировал карты с помощью полигонов, а затем растеризировал их вот в такие карты:

image

Во многих процедурных генераторах карт, в том числе и некоторых моих предыдущих проектах, для генерирования карты высот используются функции шума (midpoint displacement, фракталы, diamond-square, шум Перлина и т.д.). Здесь я их не применял. Вместо неё я использовал структуру графов для моделирования элементов, определяемых ограничениями геймплея (высота, дороги, течение рек, места квестов, типы монстров) и функции шума для моделирования того, что не ограничивается геймплеем (форма побережья, расположение рек и деревьев).
Читать дальше →

Радикальное продление жизни: вещества против старения

Время на прочтение8 мин
Количество просмотров71K

Картина Евгении Кашиной «Эликсир бессмертия»

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

Но есть и хорошие новости: в эпоху нейросетей, генной терапии и машинного обучения стало возможным изучить процесс старения клеток, тканей и органов. Уже сейчас мы знаем некоторые методы замедления скорости старения, а через 10–20 лет, возможно, научимся обращать эти процессы вспять. В любом случае, лучше прямо сейчас задаться целью прожить здоровым дольше, чтобы своими глазами увидеть, сможет ли наука окончательно решить вопрос патологии старения.
Читать дальше →

Функции шума и генерирование карт

Время на прочтение21 мин
Количество просмотров35K


Когда я изучал обработку аудиосигналов, мой мозг начал проводить аналогии с процедурным генерированием карт. В статье излагаются принципы, связывающие обработку сигналов с генерированием карт. Не думаю, что открыл что-то новое, но некоторые выводы были для меня в новинку, поэтому я решил записать их и поделиться с читателями. Я рассматриваю только простые темы (частоту, амплитуду, цвета шума, использование шума) и не затрагиваю другие темы (дискретные и непрерывные функции, фильтры FIR/IIR, быстрое преобразование Фурье, комплексные числа). Математика статьи в основном связана с синусоидами.

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

Фотомодуль Hasselblad True Zoom для Moto Z: для чего он нужен и на что способен?

Время на прочтение9 мин
Количество просмотров28K
Привет, друзья! Сегодня мы хотим рассказать вам о возможностях подключаемого к смартфонам Moto Z модуля Hasselblad True Zoom. Это такая специальная штука, которая превращает телефон в цифровую камеру с 10-кратным оптическим увеличением и дает массу других возможностей. Каких именно – читайте под катом. Предварительно советуем запастись чашечкой чая, рассказ получился довольно длинным.

В конце бонус: подсказка, как получить True Zoom бесплатно.


Как рендерился кадр в игре Thief 1998 года

Время на прочтение25 мин
Количество просмотров36K
image

В 1998 году Looking Glass Studios выпустила стелс-игру Thief: The Dark Project. В то время аппаратное 3D-ускорение только зарождалось, поэтому в процессе разработки оно не использовалось, игра рендерилась только программно.

Я был основным автором базовой технологии рендеринга Thief (хотя я и не писал рендереры объектов и персонажей), а также связанных с ней элементов. Тот же движок рендеринга, модифицированный другими людьми для использования аппаратного 3D-ускорения, также использовался для рендеринга System Shock 2 и Thief 2.

Движок был написан примерно в одно время с Quake (хотя игра вышла намного позже), и общий внешний вид сильно напоминает Quake. Многие технологии были скопированы из Quake или вдохновлялись им, но часто их работа немного или значительно отличалась.
Читать дальше →

Моя — идея, твоя — программа, или три реальные истории о том, как автор идеи и разработчик делили в суде стартап

Время на прочтение10 мин
Количество просмотров25K
Споры между основателями стартапов о принадлежности интеллектуальных прав на созданный продукт — не редкость. Вспоминается, например, судебный иск Регги Брауна к двум другим основателям Snapchat. В большинстве случаев конфликты заканчиваются уходом кого-то из основателей из проекта. Российской судебной практике также известно немало примеров, когда создатели сервисов и приложений спорят о правах на них (и о праве контроля над стартапом в целом). Чаще всего конфликты происходят в проектах, где один из основателей придумал идею стартапа и алгоритм функционирования сервиса, а другой написал исходный код программы. В этом материале мы расскажем несколько невыдуманных историй, как такие споры решаются в России, и попытаемся понять юридические причины конфликтных ситуаций. Возможно, кто-то в этих историях «увидит» себя, а кому-то наш пост поможет не повторить ошибок его героев.
Читать дальше →

Как «пробить» человека в Интернет: используем операторы Google и логику

Время на прочтение9 мин
Количество просмотров960K

В очередной статье нашего цикла публикаций, посвященного интернет-разведке, рассмотрим, как операторы продвинутого поиска Google (advanced search operators) позволяют быстро находить необходимую информацию о конкретном человеке.


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


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

Минимализм в геймдизайне: примеры, советы и идеи. Часть первая

Время на прочтение6 мин
Количество просмотров18K
Иногда краткость может быть красноречивее многословности.
Всё зависит от того, какую мысль вы хотите донести, какие у вас методы коммуникации и целевая аудитория. Для разработчика его игра и есть послание. Соответственно, минимализм – это проявление краткости в геймдизайне: он позволяет дизайнеру, предпочитающему простоту, а не сложность, эффективнее привлекать внимание аудитории.


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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность