Pull to refresh
10
0
Агафонцев Семён Алексеевич @risenow

Graphics Programmer

Send message

Пишем простую* игровую физику самолёта

Reading time9 min
Views29K
* — в трёх измерениях.


Предупреждение: дальнейшие рассуждения вполне могут быть ошибочными, мой опыт ограничивается игрой в авиасимуляторы и курсом теоретической механики. Знания в аэродинамике и игровых физических движках весьма скудные. Картинка для привлечения внимания — фотография, а не скриншот.

«Что может быть проще самолёта? Подъёмная сила пропорциональна квадрату скорости, двигатель тянет вперёд, всё просто» — такая мысль пришла в мою голову летом, и я сел писать игру. Лето прошло, было собрано несколько граблей, а списочек того, что я планировал добавить в проект, очень сильно вырос.

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

Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments15

Сказ о том, как один нерадивый провинциал в MIT поступал

Reading time9 min
Views409K
Всем здравствуйте, меня зовут Олег, мне 17 лет, и сегодня я расскажу вам о процессе поступления в MIT.
Дабы сохранить цельность повествования, следует отметить, что статья написана 15 марта 2013 года, в день оглашения вердиктов о зачислении студентов.
image
Картинка для привлечения внимания

Когда я поступал в Массачусетский технологический институт, я с удивлением обнаружил, что в рунете нет не то что мало-мальски съедобной «истории успеха», связанной с поступлением в MIT, а вообще хоть какого-то руководства по поступлению в топовые американские университеты своими силами. Особенно на бакалавриат. Я подумал: «Что ж, видимо, придется написать мне». Я постараюсь донести информацию в наиболее понятном виде.
Читать дальше →
Total votes 430: ↑418 and ↓12+406
Comments214

About it

Reading time8 min
Views32K
Сегодня утром я проснулся с каким-то непонятным чувством, которое заставило меня просто подумать о простых вещах нашего технологичного мира. Я не придумал, не открыл ничего нового, просто я по-другому посмотрел на этот мир. Сделал переоценку очевидных вещей, и мне стало и страшно, и скорбно. Я понял, что у меня отобрали компьютер – я более не понимаю, что он делает. Что у меня отобрали право – оно иллюзорно. Я понял, что в мире никто не понимает, куда мы движемся. Я осознался.
Читать дальше →
Total votes 149: ↑97 and ↓52+45
Comments111

Интервью: как С# и C++ помогают заработать на фондовом рынке

Reading time7 min
Views60K
Одним из самых популярных топиков в нашем блоге стал рассказ о Джесси Сполдинге — парне, который заработал $500к на фондовом рынке, применив свои познания в программировании и понимание основ фондового рынка (часть 1, часть 2). В комментариях к этим текстам некоторые хабрапользователи выражали свое сомнение в реалистичности такого сценария в нашей стране. Также слышались фразы вроде «ну он раньше работал в этой сфере».

В связи с этим редакция блога ITinvest поговорила с Андреем Горьковенко — разработчиком, который повторил путь Джесси Сполдинга и сумел перевернуть свою жизнь с помощью фондового рынка и технологических знаний. Этим текстом мы открываем цикл интервью с непосредственными участниками процессов на российском фондовом рынке — разработчиков софта, трейдеров и руководителей компаний.

Примечание: Андрей Горьковенко раньше работал программистом в ITinvest. В частности, он трудился над проектом торгового терминала SmartX (история его создания описана в отдельном хабратопике). Позднее он создал универсальную механическую торговую систему, с помощью которой можно реализовывать различные стратегии торговли на фондовом рынке. Эта разработка приносит ему основной доход, который превышает среднюю зарплату разработчика в Москве.

Андрей, привет! Расскажи, как ты вообще оказался связан с фондовым рынком?

В 2007 году я ушел с четвертого курса Воронежского военного института радиоэлектроники и начал искать работу. Поскольку я всегда увлекался программированием, и, как мне казалось, обладал определенными навыками в этой области, то рассматривал соответствующие вакансии. Так получилось, что мне предложили место в местном воронежском отделении одного из крупнейших российских брокеров.
Читать дальше →
Total votes 61: ↑37 and ↓24+13
Comments22

Высокопроизводительный NIO-сервер на Netty

Reading time9 min
Views128K
Преамбула

Здравствуйте. Я являюсь главным разработчиком крупнейшего в СНГ сервера Minecraft (не буду рекламировать, кому надо, те знают). Уже почти год мы пишем свою реализацию сервера, рассчитанную на больше чем 40 человек (мы хотим видеть цифру в 500 хотя бы). Пока всё было удачно, но последнее время система начала упираться в то, что из-за не самой удачной реализации сети (1 поток на ввод, 1 на вывод + 1 на обработку), при 300 игроках онлайн работает более 980 потоков (+ системные), что в сочетании с производительностью дефолтного io Явы даёт огромное падение производительности, и уже при 100 игроках сервер в основном занимается тем, что пишет/читает в/из сети.

Поэтому я решила переходить на NIO. В руки совершенно случайно попала библиотека Netty, структура которой показалась просто идеально подходящей для того, чтобы встроить её в уже готовое работающее решение. К сожалению, мануалов по Netty мало не только на русском, но и на английском языках, поэтому приходилось много экспериментировать и лазить в код библиотеки, чтобы найти лучший способ.

Здесь я постараюсь расписать серверную часть работы с сетью через Netty, может быть это кому-то будет полезно.
Читать дальше →
Total votes 76: ↑75 and ↓1+74
Comments64

BitTorrent Tracker на C#

Reading time6 min
Views26K
Долгое время я искал в сети пример простейшего tracker-а на C#, но, к сожалению, мои поиски успехом не увенчались. Поэтому я решил попробовать себя в написании tracker-а на C#, а получив более-менее рабочую версию — поделиться опытом ее создания со всеми. А заодно и получить как можно больше советов по ее усовершенствованию.

Но давайте начнем с начала…
Читать дальше →
Total votes 33: ↑26 and ↓7+19
Comments36

Бесконечные неповторяющиеся текстуры с помощью мозаики Вана

Reading time4 min
Views48K


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

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

Как же быть? Есть один трюк — непериодические мозаики. Они лишены проблемы повторяемости и достаточно просты в реализации. Одну из таких мозаик придумал китайский математик Ван Хао в 1961 году. Элементы этой мозаики можно представить в виде прямоугольников с разноцветными гранями. Но чтобы понять принцип её работы, надо сначала разобраться в классическом методе заполнения площадей текстурами.
А классический метод таков...
Total votes 99: ↑99 and ↓0+99
Comments25

Хемилюминесценция люминола / что внутри «светящихся палочек»?

Reading time3 min
Views238K
Наверняка вы хоть раз видели химические источники света — светящиеся палочки, которые начинают работать после «переламывания». Внутри — стеклянная капсула, которая при этом ломается, и начинается какая-то мистическая химическая реакция. Мне всегда было интересно разобраться, как это работает.

Энергия связи молекул, освобождающаяся во время химической реакции — может выделится в виде тепла (к чему мы все привыкли), а в редких случаях может — в виде излучения кванта света. Излучение света во время химической реакции называется хемилюминесценцией. Существуют 2 наиболее распространенных реакции с хемилюминесценцией: окисление Люминола и окисление TCPO в присутствии органических красителей.

Отличие в том, что Люминол светится сам, а TCPO — передает энергию молекулам органического красителя (вроде Родамина), и таким образом можно управлять цветом свечения выбирая краситель. Про TCPO (включая его синтез) можно посмотреть на YouTube (использование синтез), а вариант с Люминолом — под катом.
Читать дальше →
Total votes 143: ↑143 and ↓0+143
Comments49

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity