Search
Write a publication
Pull to refresh
0

User

Send message

Сyto: cоздание редактора уровней, адаптация под iPhone и другие полезности

Reading time8 min
Views18K
Привет, Хабр! Мы продолжаем делиться своим практическим опытом разработки игры для iOS с нуля. В этом деле оказалось намного больше подводных камней, чем мы могли представить, когда начинали разработку. Срыв дедлайнов, противоестественные (на первый взгляд) требования издателей и Apple, кривоватые бесплатные движки… Вот только часть того, на что пришлось тратить свои время и силы.



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

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

Raven Software выпускает исходники Jedi Outcast и Jedi Academy в дань почтения закрытой LucasArts

Reading time1 min
Views28K
Студию Raven, разработчика таких игр расширенной вселенной «Звездных войн» как Jedi Knight II: Jedi Outcast и Jedi Knight: Jedi Academy, уже давно просили выпустить исходный код компонентов синглплеера их игр по Star Wars. И вот, достаточным поводом для этого стало окончательное расформирование LucasArts, издателя этих видеоигр.

В комментарии от «Рейвен» для сайта «Котаку» было сказано следующее:
Читать дальше →

Сохранение изображения с помощью libpng

Reading time3 min
Views27K

Развлекаясь на досуге с OpenGL, решил научиться делать скриншоты средствами программы, а не системы. Довольно быстро нагуглил функцию glReadPixels, но вот с сохранением картинки вышла проблема. Вспомнил былые времена, когда полностью своим кодом сохранял в bmp, нашел функцию сохранения в tga, понял, что все эти варианты попахивают велосипедизмом и решил использовать широко распространенную библиотеку. Выбор пал на libpng.
Дальше пошли грабли.

Оказалось, что никакого описания библиотеки на русском языке нет (собственно поэтому и пишу сейчас этот пост), а английская документация написана не самым удобным образом и не содержит даже простейшего полноценного примера использования.
Ниже я постараюсь объяснить, как средствами libpng сохранить изображение в простейшем случае.
Читать дальше →

Однажды фанера, atmega, да малина

Reading time6 min
Views106K

Введение.


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

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

Пишем вирус на c#

Reading time5 min
Views124K
Доброго времени суток читатели Хабра!
В этой статье я хотел бы поделиться опытом написания вредоносной программы на языке C# в Visual Studio. Для подтверждения своих слов я выложу пример полученного ПО для проверки.
Цели:

  • Написать вредоносную программу, которую не увидят антивирусы
  • Использовать только средства языка C#

Нам понадобится:

  1. Visual Studio 2005-2010 (я использовал 2010 Ultimate)
  2. Знания и опыт работы на языке c#
  3. Компьютер для опытов

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

Объединение пропускной способности двух интернет каналов и простая отказоустойчивость

Reading time5 min
Views84K
Есть у меня своя домашняя сеть, с linux сервером, и подключена она к интернет с помощью беспроводного соединения — на крыше антена и роутер, к серверу подключено витой парой. Все вобщем то неплохо, канал с гарантированой полосой в обоих направлениях, постоянный IP адрес, довольно надежный — падает редко. Но вот есть у него один минус — цена кусается.
Ценовая политика провайдера построена так, что для того, чтоб увеличить скорость в два раза — платить тоже надо в два раза больше. А скорости хочется больше! И надежности тоже — как то во время сильных заморозков роутеру стало «холодно» и интернета вечером и ночью небыло.
Поэтому задумал я провести домой второй интернет-канал, выбар пал на одного известного на Украине провайдера, предоставляющего доступ по ADSL. У него и тарифы недорогие и модем ADSL стоит недорого. Так я и сделал, подключился, воткнул ADLS модем в свич — все работает. Но от старого доброго беспроводного канала отказываться мне нехотелось, поэтому задумал я сделать так, чтоб интернет трафик шел сразу по обеим каналам, так, чтоб я мог воспользоваться суммарной пропускной способностью. Да еще и чтоб при падении одного канала всю нагрузку на себя брал другой.

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

Ликбез по типизации в языках программирования

Reading time12 min
Views533K
image

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

В полной версии находится подробное описание всех видов типизации, приправленное примерами кода, ссылками на популярные языки программирования и показательными картинками.
Читать дальше →

Первый взгляд на новые возможности для С++ разработчика в следующей версии Visual Studio

Reading time3 min
Views2.1K
image
(Прим. переводчика: это перевод статьи из Visual C++ Team Blog)
Сегодня я расскажу о некоторых из новых возможностей следующей версии Visual Studio, которые помогут С++ разработчикам работать более продуктивно. В этой статье (а она не последняя) речь идёт о функциях, помогающих лучше понимать и быстрее редактировать код.
Читать дальше →

Джон Кармак о статическом анализе кода

Reading time4 min
Views14K
«Самой важной вещью, которую я сделал как программист за последние годы — это начал агрессивно применять статический анализ кода. — пишет Джон Кармак в статье, опубликованной на AltDevBlogADay. — Не так важны сотни серьёзных багов, которые удалось предотвратить, сколько смена ментальности и моего отношения к надёжности ПО и качеству кода».

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

Как запустить программу без операционной системы

Reading time13 min
Views184K

Так вышло, что в нашей статье, описывающей механизм опроса PCI шины, не было достаточно подробно описано самого главного: как же запустить этот код на реальном железе? Как создать собственный загрузочный диск? В этой статье мы подробно ответим на все эти вопросы (частично данные вопросы разбирались в предыдущей статье, но для удобства чтения позволим себе небольшое дублирование материала).

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

Итак, цель: затратив как можно меньше усилий, создать собственную загрузочную флешку, которая всего-навсего печатает на экране компьютера классический “Hello World”.

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

Остерегайтесь инструментов повышения производительности

Reading time8 min
Views23K
Внимание! Статья представляет собой перевод поста из блога Марка Симэна.

Mark Seeman — архитектор программного обеспечения, проживающий в Копенгагене. Ранее работал разработчиком и архитектором в компании Microsoft. Сейчас Mark является независимым коснультантом. Также Mark является автором небезызвестной книги Dependency Injection in .NET
Статья представляет собой перевод поста из блога Mark Seeman.
В комментариях, исключая, разумеется, обсуждений самого поста Марка, хотелось бы услышать мнения насчёт качества перевода и главное стоит ли в будущем при появлении интересных записей делать перевод и выкладывать сюда (а может и из его старых записей что-то перевести)?
Далее идёт перевод поста Марка.

Эта статья затрагивает тему использования разработчиками инструментов повышения производительности.
Время от времени я бываю втянутым в жаркие дебаты на счёт преимуществ и недостатков ReSharper. Эти дебаты происходят обычно в Твиттере, где ограничением являются 140 символов на сообщение, что является не очень благоприятным условием для ведения детальных дискуссий. Я не хочу пустопорожней болтовни, так что начнём детальное обсуждение.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity