Как стать автором
Обновить
123
0

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

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

Создание игровых уровней: советы и хитрости (часть 2)

Время на прочтение11 мин
Количество просмотров87K
Это вторая часть моей статьи с левел-дизайнерскими Tips and Tricks, которые разработчик может использовать, чтобы повысить общее качество своей игры. Это ни в коем случае не пошаговое руководство, а только сборник идей и полезных советов, основанных на моём личном опыте. Первая часть статьи была больше ориентирована на визуальную составляющую дизайна уровней, в этот же раз мы поговорим о ещё более фундаментальных вещах, начиная с прототипирования и заканчивая плэйтестингом с аналитикой.

Читать дальше →
Всего голосов 44: ↑44 и ↓0+44
Комментарии22

Лайфхаки редактора Unity 3D. Часть 1: Атрибуты

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

Содержание


  • Часть 0. Перечень GUI элементов, используемых в статьях
  • Часть 1. Атрибуты
  • Часть 2. Окна
  • Часть 3. Редактор класса, наследника от MonoBehavior или ScriptableObject
  • Часть 4. Редактор класса, кастомный редактор для сериализуемой переменной

Предисловие


Здравствуйте, друзья! Заметил, что многие программисты пропускают богатые возможности Unity кастомизации редакторского интерфейса по тем или иным причинам. В этом цикле статей я распишу несколько совсем простых примеров, позволяющих облегчить жизнь геймдизайнерам и художникам, а также парочку примеров посложнее, но также легко реализуемых.

Большая часть взята из опыта использования, куда попала из родной документации движка. Вы легко можете сами найти необходимую информацию, поворошив документацию Unity 3D. Просто, по собственному опыту скажу, что у многих программистов либо нет времени, либо нет желания копаться в мантрах. Поэтому и выкладываю максимально краткое руководство по основным редакторским возможностям, которые я использовал на работе и в своих проектах.
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии11

Быстрая и безопасная ОС для web-серфинга с неприступным носителем, легко изменяемым пользователем

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

(Источник)

ОСы с неприступным носителем, т.е. с носителем, информацию на котором физически невозможно изменить, давно и широко известны — это так называемые “live CD” — точнее было бы называть их “live DVD”, т.к. iso-образы многих современных ОС для CD ROM слишком большие. Встречаются iso-образы, которые и на DVD ROM не влезут, но и это не проблема, т.к. файл iso-образа можно использовать и с жесткого диска, например, для установки ОС в виртуальную машину. Но это уже другой случай, а первоначальная идея была прожечь iso-образ на болванке CD или DVD ROM. С такой болванки можно загружать компьютер, и при этом никакие зловреды этому диску не страшны, т.к. он ROM. При этом для полного исключения заражения жестких дисков их вообще можно убрать. Это легко сделать, если HDD внешние, или если они съемные — установлены в Mobile Rack. Однако практическому использованию схемы “только один RO диск” мешают два серьезных неудобства: медленная загрузка (по сравнению с HDD) и невозможность изменять настройки, сохранять историю посещений сайтов, закладки и т.д. Эти неудобства преодолимы, во всяком случае, для простейшего web-серфинга.
Читать дальше →
Всего голосов 13: ↑10 и ↓3+7
Комментарии4

Как из домашнего ПК средствами виртуализации сохранить игровую систему

Время на прочтение8 мин
Количество просмотров63K
Благодаря конкуренции и развитию НТП современные ПК позволяют выполнять множество простых и сложных задач одновременно, например играть и воспроизводить видео на ТВ, рендерить графику и читать новости в интернете, раздавая торренты параллельно, и т.д. и т.п. Многие идут дальше и используют несколько ПК для работы и развлечений. Однако при помощи технологий виртуализации можно с одной стороны расширить возможности своего ПК, а с другой сэкономить, т.к. по сути можно запустить несколько операционных систем на одном железе в одно и то же время.


Эта статья будет посвещена настройки хоста именно для использования в «быту», т.е. разговор пойдет о GPU PASSTHROUGH.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии30

Что может Ctrl в Visual Studio

Время на прочтение2 мин
Количество просмотров234K
Одна простая клавиша Ctrl может значительно упростить работу в Visual Studio. Помимо типичных комбинаций, которые нам очень хорошо знакомы, существует также и большое количество других, менее известных, но от этого и более ценных.

Далее список того, что можно делать с клавишей Ctrl.

Читать дальше →
Всего голосов 108: ↑84 и ↓24+60
Комментарии61

Виртуальные рабочие столы в Windows

Время на прочтение5 мин
Количество просмотров290K
На данный топик, меня сподвиг вот этот опрос. Здесь будут рассмотрены программы, позволяющие создавать виртуальные рабочие столы.

Много картинок!
Читать дальше →
Всего голосов 109: ↑93 и ↓16+77
Комментарии154

Стоит ли сохранять длину массива в локальную переменную в C#

Время на прочтение6 мин
Количество просмотров45K
Очень часто замечаю, что люди пишут вот так:

var length = array.Length;
for (int i = 0; i < length; i++) {
    //do smth
}

Пишут они это в надежде ускорить цикл, думая что создавая локальную переменную избавляют CLR от необходимости вызывать каждый раз геттер для Array.Length. Я решил раз и навсегда для себя понять стоит так делать или можно сэкономить своё время и написать без временной переменной.
Читать дальше →
Всего голосов 84: ↑83 и ↓1+82
Комментарии163

Развёртывание встраиваемой системы на базе Windows и Linux

Время на прочтение14 мин
Количество просмотров22K
В статье описаны методы быстрого развёртывания встраиваемой системы на базе Windows 10 и Debian Linux. Приведены примеры сборки защищённого интерфейса.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии17

.NET — локализация без боли. (N)gettext + poedit

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


Создавая новый проект, мне приходилось использовать либо *.resx для WinForms, либо I2Localization для Unity, либо другие решения для локализации приложений. Все эти решения похожи тем, что приходится придумывать ключ-локализации, вставлять его в код и в словарь. Поначалу все хорошо, но со временем этот процесс начинает раздражать. Вместе с тем, смотря на ключ в коде не всегда понятно о чем речь.

О ситуации когда нужно добавить локализацию в большой проект где её вообще не было, я даже говорить не буду как это сложно.

Не знаю почему, но оказывается существует уже давно такое готовое решение как gnu/gettext. Расспрашивая своих знакомых и коллег (тех кто работает с .NET), большинство даже и не слышал о таком. Поэтому решил поделиться с этим удобным инструментом.

Принцип прост. Вы пишите код со строками на английском языке, запускаете утилиту, которая сканирует исходники и предоставляет вам возможность перевода. Никаких ключей придумывать не надо. Текст на английском и есть ключ.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии28

Шпаргалка по шаблонам проектирования

Время на прочтение2 мин
Количество просмотров1.4M

Перевод pdf файла с сайта http://www.mcdonaldland.info/ с описанием 23-х шаблонов проектирования GOF. Каждый пункт содержит [очень] короткое описание паттерна и UML-диаграмму. Сама шпаргалка доступна в pdf, в виде двух png файлов (как в оригинале), и в виде 23-х отдельных частей изображений. Для самых нетерпеливых — все файлы в конце статьи.

Под катом — много картинок.

Читать дальше →
Всего голосов 192: ↑179 и ↓13+166
Комментарии66

Первая хорошая лампочка с Aliexpress

Время на прочтение3 мин
Количество просмотров75K
Почти все светодиодные лампы, которые можно купить на Aliexpress, очень плохие: у многих недопустимая пульсация света, низкий индекс цветопередачи, зачастую реальная мощность и световой поток в пять раз меньше обещанных. Я уже был уверен, что на Али хороших ламп нет вообще, но исключение всё же нашлось.

Читать дальше →
Всего голосов 72: ↑70 и ↓2+68
Комментарии100

Что нужно запомнить программисту, переходящему на Python

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

Когда-то давно, в студенческие годы, меня укусил питон, правда инкубационный период затянулся и получилось так, что я стал программистом на перле.


Однако в какой-то момент перл исчерпал себя и я решил заняться питоном, сначала просто делал что-то и разбирался с тем, что нужно для данной задачи, а потом понял, что нужны какие-то систематизированные знания и прочитал несколько книг:


  • Билл Любанович «Простой Python. Современный стиль программирования»
  • Дэн Бейдер «Чистый Python. Тонкости программирования для профи»
  • Бретт Слаткин «Секреты Python: 59 рекомендаций по написанию эффективного кода»

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


В итоге у меня накопились какие-то заметки об особенностях питона, которые, как мне кажется, могут быть полезны тому кто пожелает мигрировать на него с других языков.

Читать дальше →
Всего голосов 46: ↑41 и ↓5+36
Комментарии33

GIMP Script-fu: быстрое изучение и написание простых скриптов на Scheme (+ пакетная обработка бесплатно)

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

Вступление


В статье будет рассказано о том, как в кратчайшие сроки познакомиться с основами скриптинга в GIMP на языке Scheme и приступить непосредственно к решению простых практических задач. Данный материал предназначен лишь для тех, кто собирается автоматизировать рутинную обработку здесь и сейчас, не сильно вдаваясь в тонкости и не жертвуя драгоценным временем. Также, статью не рекомендуется использовать в качестве пособия по Scheme отдельно от Script-fu. Связано это с упрощённым стилем программирования в данном материале и отсутствием освещения других немаловажных фактов, которые нас сейчас волнуют гораздо меньше, чем скорость освоения.

Содержание:
  1. Что нам понадобится?
  2. Коротко о синтаксисе
  3. Переменные
  4. Функции
  5. Списки
  6. Регистрация скрипта в GIMP
  7. Написание кода
  8. Заключение
Читать дальше →
Всего голосов 56: ↑56 и ↓0+56
Комментарии21

Как написать дополнение для GIMP на языке Python

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

Или Script-Fu — это так называемый «фильтр массовости»? Далеко не каждый может с ним разобраться и большинство даже не пытаются делать какие-то плагины к GIMP.

RPG


Введение


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

В качестве языков, на которых можно писать дополнения, годятся Scheme и Python. Существует возможность писать дополения и на других языках (Perl, Tcl/Tk и т.д.), но модули, которые реализуют эту возможность, плохо поддерживаются либо вовсе не работают со свежими версиями GIMP.

Избрав языком для написания дополнения Scheme, вы автоматически оказываетесь в выигрыше, так как не существует в мире такой сборки GIMP-а, в которую бы интерпретатор Scheme не входил, и написаное вами дополнение гарантировано будет работать на всех платформах «из коробки», однако, писать на Scheme — то ещё удовольствие… Scheme является диалектом LISP. LISP — это аббревиатура, расшифровывается как LISt Processing, то есть, язык для обработки списков. Существует и другая расшифровка: Language of Idiotic Silly Parentheses (язык идиотских глупых скобок), спорное, но не лишенное смысла утверждение, — несоблюдение баланса скобок — один из главных источников ошибок программы, написанной на LISP и ему подобных. Далеко не каждый может разобраться с непростым синтаксисом этого языка, и большинство даже не пытаются писать какие-то дополнения для GIMP. Но сложный синтаксис — это мелочь по сравнению с отсутствием ряда возможностей. Например, нельзя использовать свой графический интерфейс, сохранить настройки дополнения в конфигурационный файл, подключить некий внешний модуль с дополнительными функциями и т.д. и т.п. Но есть язык, лишённый большинства недостатков Scheme и обладающий рядом достоинств. Этот язык — Python. О нём и пойдёт речь.
Читать дальше →
Всего голосов 72: ↑66 и ↓6+60
Комментарии22

Текст любой ценой: WCBFF и DOC

Время на прочтение9 мин
Количество просмотров29K
Несколько позже, чем хотелось, но продолжаем наш разговор о получении текста из разных форматов данных. Мы с вами уже познакомились с тем, как работать с изначально XML-base файлами (docx и odt), прочитали текст из pdf, преобразовали содержимое rtf в plain-text. Теперь перейдём в вкусненькому да сладенькому — формату DOC.
Читать дальше →
Всего голосов 72: ↑67 и ↓5+62
Комментарии25

Текст любой ценой: PPT

Время на прочтение3 мин
Количество просмотров5.1K
Некоторое время назад мы с вами обсуждали получение чистого текста из различных форматов данных: будь то PDF или DOC. В одном из обсуждений был высказано предположение, что при парсинге презентаций PowerPoint я заработаю геморрой или другую страшную болезнь мягкой точки. Что ж, волей судеб мне пришлось доставать текст и из этого «сладенького» формата. Скажу честно, геморрой заработать не удалось, а вот класс для парсинга презентаций вышел.
Читать дальше →
Всего голосов 54: ↑46 и ↓8+38
Комментарии25

Где мои деньги, чувак: о чем молчит Steam

Время на прочтение8 мин
Количество просмотров89K
Это первая из шести статей, в которых я хочу рассмотреть весь процесс паблишинга игр на ПК от начала и до конца. Оставим за скобками разработку — помимо неё вас ждут много других приключений. Выбор издателя или самостоятельное издание, локализация и адаптация игры, маркетинг и PR, выбор цен и планирование скидок, работа с издателями, дистрибьюторами и посредниками.



Мы много будем говорить о Steam, самой крупной открытой платформе для игр, потом посмотрим на 3rd-party дистрибуцию и альтернативные варианты продаж. До того, как вы найдете свои собственные ответы — давайте трезво посмотрим на то, как маховик издания игр работает сейчас.

Простите, ребята, но это будет очень меркантильная статья с цифрами и процентами — я считаю, что если создание игр ваша страсть и ремесло, без них сложно уверенно идти вперёд. Начнём с цен, скидок и того, как работает список желаемого в Steam.
Читать дальше →
Всего голосов 122: ↑120 и ↓2+118
Комментарии182

Понимаем декораторы в Python'e, шаг за шагом. Шаг 1

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

На Хабре множество раз обсуждалась тема декораторов, однако, на мой взгляд, данная статья (выросшая из одного вопроса на stackoverflow) описывает данную тему наиболее понятно и, что немаловажно, является «пошаговым руководством» по использованию декораторов, позволяющим новичку овладеть этой техникой сразу на достойном уровне.

Итак, что же такое «декоратор»?


Впереди достаточно длинная статья, так что, если кто-то спешит — вот пример того, как работают декораторы:
def makebold(fn):
    def wrapped():
        return "<b>" + fn() + "</b>"
    return wrapped
 
def makeitalic(fn):
    def wrapped():
        return "<i>" + fn() + "</i>"
    return wrapped
 
@makebold
@makeitalic
def hello():
    return "hello habr"
 
print hello() ## выведет <b><i>hello habr</i></b>

Те же из вас, кто готов потратить немного времени, приглашаются прочесть длиииинный пост
Всего голосов 119: ↑106 и ↓13+93
Комментарии38

7 лучших файрволов c открытым исходным кодом для защиты вашей сети

Время на прочтение3 мин
Количество просмотров93K
Статистика утечки данных показывает, что каждый день миллионы данных оказываются украденными или потерянными.



Насколько безопасна ваша сеть? Используете ли вы файрвол для защиты вашей сетевой инфраструктуры?

Ранее я писал об управляемых облачных файрволах и получил предложение написать о бесплатных файрволах или файрволах с открытым исходным кодом.

Вот, пожалуйста!
Читать дальше →
Всего голосов 17: ↑13 и ↓4+9
Комментарии15

Блокнот в Windows получил первое значимое обновление за два десятилетия

Время на прочтение2 мин
Количество просмотров82K
Причина, по которой Блокнот (он же Notepad) постигла участь гадкого утенка, уже давно мало кого интересовала. Пока не произошло неожиданное…

В это трудно поверить, но Блокнот — одно из самых известных, древних и одновременно самых простых приложений Microsoft — ждет весьма объемное обновление. Важно отметить, что эта программа (из комплекта базовой поставки большинства всех версий Windows) почти четверть века кочевала из одного выпуска операционной системы в другой практически без каких-либо изменений.

Сложно сказать, что случилось в Microsoft, сдохли ли волки в личном зоопарке одного из топ-менеджеров или кто-то случайно встал «с той ноги»… Но после недавнего внезапного внедрения поддержки юниксового перевода строки, в корпорации видимо решили не останавливаться на достигнутом…

image
Читать дальше →
Всего голосов 80: ↑77 и ↓3+74
Комментарии200

Информация

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