Pull to refresh
10
Karma
24
Rating
Карпов Данила @Karpov_Danila

C# разработчик

  • Followers
  • Following
  • Posts
  • Comments

Как написать квестовую RPG

Playgendary corporate blog Game development *Game design *Games and game consoles
Translation

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

Читать далее
Total votes 32: ↑32 and ↓0 +32
Views 7.7K
Comments 4

Новые API в .NET 6

Microsoft corporate blog Programming *.NET *API *C# *

.NET 6 в процессе разработки, и я хотел поделиться некоторыми из моих любимых новых API в .NET и ASP.NET Core, которые вам обязательно понравятся. Почему они понравятся? Потому что они разработаны при прямом участии нашего фантастического сообщества разработчиков .NET. Подробнее в статье.

Читать далее
Total votes 25: ↑22 and ↓3 +19
Views 11K
Comments 49

Ускоряем запуск приложений с .NET 6, .NET на холодильнике и многое другое

Samsung corporate blog Open source *.NET *Compilers *Development for Tizen *

Данная статья содержит небольшое введение в JIT-компиляцию и .NET Core (отныне .NET 5, .NET 6 и так далее), а также несколько практических примеров ускорения запуска приложений на .NET. Данные советы могут быть полезны как для приложений, запускаемых на больших многоядерных x64 серверах, так и для приложений, запускаемых на ARM чипах с малым числом ядер. Например, подобные оптимизации используются в операционной системе Tizen, об этом далее.

Читать далее
Total votes 18: ↑18 and ↓0 +18
Views 7.7K
Comments 2

48 полноценных бесплатных книг для программистов (happy developer's day)

Open source *Programming *.NET *Reading room DevOps *
Tutorial

Привет, Хабр! Немного запоздало (ко дню программиста) делюсь подборкой бесплатных книг по программированию. Все они полезные, уровень скорее профессиональный, хотя и для развития от базового тоже подойдет, но, к сожалению, на английском. Среди тем книг: .NET, Алгоритмы, Android, iOS, Angular, C, C++, C#, JS, Linux, Python. В целом, найдется почти любая тема, которая приходит в голову.

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

Читать далее
Total votes 100: ↑99 and ↓1 +98
Views 64K
Comments 55

Настоящий компьютер в Майнкрафте

Entertaining tasks Games and game consoles Logic games Electronics for beginners
Sandbox

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

Читать дальше
Total votes 49: ↑46 and ↓3 +43
Views 18K
Comments 26

Чаты на вебсокетах. Теперь про бэкенд

FUNCORP corporate blog Java *Development of mobile applications *Kotlin *

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

Ниже подробности о том, что было до написания кастомных чатов и какие стояли требования к реализации, из каких компонентов они состоят, как вписываются в нашу инфраструктуру и что получилось в итоге. А в конце статьи — ссылки про особенности разработки наших чатов на вебсокетах для iOS и Android.

Читать далее
Total votes 51: ↑51 and ↓0 +51
Views 12K
Comments 17

План обучения С#

.NET *C# *Machine learning *Data Engineering *
Sandbox

Приветствую, Хабрачитатели!

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

P.S. это статья для новичков, поэтому много фактов будут банальными для опытных разработчиков. Просьба не бить. Если что-то забыл - пишите в комментариях. Ну а теперь к статье :)

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

Второй вариант заключался в прохождении курса Sololearn. Sololearn оказался действительно намного полнее уроков Дударя, но как говорится - всё познается в сравнении.

И самый нормальный вариант - книга Герберта Шилдта по С#. Действительно, самое полное, что может быть. 1000 страниц, и после этого, ты сможешь выучить язык. Но я вам скажу, этого мало. Кстати, ссылка на скачивание всех книг из этой статьи, находится тут.

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

Читать Далее
Total votes 27: ↑12 and ↓15 -3
Views 6.4K
Comments 31

Worker Services в .NET

.NET *C# *
Sandbox
Tutorial

Написание воркер-сервисов на .NET часто сопряжено с написанием большого количества повторяющегося boilerplate-кода. Однажды мне это надоело и я попытался успростить этот процесс, перенеся часть бойлерплейта в отдельную библиотеку, которой и посвящена эта статья.

Читать далее
Total votes 6: ↑6 and ↓0 +6
Views 5.9K
Comments 24

Расширяемая и удобная в сопровождении архитектура игр на Unity

OTUS corporate blog Programming *Game development *Unity3D *
Translation

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

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

Эта статья является обновленной версией моего выступления на GDC в 2017 году (“Data Binding Architectures for Rapid UI Creation in Unity”).

Читать далее
Total votes 9: ↑8 and ↓1 +7
Views 7.7K
Comments 14

Как собрать паука в Godot, Unigine или PlayCanvas

Programming *Game development *WebGL *Prototyping *Godot *
С наступившим 21-м годом 21-го века.

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


Total votes 13: ↑12 and ↓1 +11
Views 4.3K
Comments 3

Базовые концепции Unity для программистов

Издательский дом «Питер» corporate blog Programming *Game development *C# *Unity3D *
Translation
Привет, Хабр! При проработке темы Unity мы нашли интересный блог, возможно, заслуживающий вашего более пристального внимания. Предлагаем вам перевод статьи о базовых концепциях Unity, также опубликованный на портале Medium
Читать дальше →
Total votes 19: ↑15 and ↓4 +11
Views 8.4K
Comments 6

711 тысяч строк кода, 20 лет, один разработчик: как создавалась Dwarf Fortress

Game development *Games and game consoles Interview
Translation

Dwarf Fortress — один из тех странных проектов, ставших любимыми в Интернете. Это бесплатная игра, в которой можно быть или авантюристом, или управлять крепостью дворфов в случайно сгенерированном фэнтези-мире. Симуляция очень подробна, каждая новая игра создает множество цивилизаций со своей историей, мифологиями и артефактами.

Она стала знаменитой, и вполне справедливо. Каждый дворф уникален, он имеет эмоциональное состояние, предпочтения в драгоценных камнях и причины для недовольства. И всё это происходит в ASCII-интерфейсе, кажущемся новичкам каким-то обманом, но опытные игроки способны ориентироваться в нём как в бегущем тексте из фильма «Матрица»: они видят в этих символах дворфов, реки, легендарных огромных чудовищ.

Вся игра стала творением одного разработчика — Тарна Адамса с ником Toady One, который работал над Dwarf Fortress с 2002 года. Первые четыре года это был хобби-проект, но с 2006 года он стал его основной работой. Адамс пишет весь код сам, а его брат помогает с дизайном и создаёт истории на основе игры. До недавнего времени он собирал пожертвования, чтобы продолжать работу, но сейчас создаёт версию с пиксельной графикой и переработанным UI, которую можно будет купить в Steam.

Я связался с Тарном Адамсом, чтобы узнать у него о том, как ему удавалось в течение пятнадцати с лишним лет справляться с единой увеличивающейся кодовой базой, сложностями поиска путей и отладкой мёртвых кошек.
Читать дальше →
Total votes 44: ↑44 and ↓0 +44
Views 16K
Comments 15

Четырёхмерный лабиринт с видом от первого лица

Programming *Working with 3D-graphics *Game development *
Sandbox

Существует более 30 игр с дополнительным пространственным измерением (список на википедии), которые разнообразными способами визуализируют и пытаются сделать доступной для понимания наличие четвёртой координаты. Но среди тех игр, с которыми я ознакомился, не нашел для себя такой, которая сочетала бы в себе следующие факторы:

- вид от первого лица

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

- простая и привычная графика, с текстурами и освещением

- отсутствие лишних геймплейных элементов и бóльшая направленность игры на исследование четырёхмерного мира

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

Читать далее
Total votes 122: ↑122 and ↓0 +122
Views 22K
Comments 72

Как создать игровой ИИ: гайд для начинающих

Pixonic corporate blog Game development *Algorithms *Reading room Artificial Intelligence
Translation


Наткнулся на интересный материал об искусственном интеллекте в играх. С объяснением базовых вещей про ИИ на простых примерах, а еще внутри много полезных инструментов и методов для его удобной разработки и проектирования. Как, где и когда их использовать — тоже есть.

Большинство примеров написаны в псевдокоде, поэтому глубокие знания программирования не потребуются. Под катом 35 листов текста с картинками и гифками, так что приготовьтесь.

UPD. Извиняюсь, но собственный перевод этой статьи на Хабре уже делал PatientZero. Прочитать его вариант можно здесь, но почему-то статья прошла мимо меня (поиском пользовался, но что-то пошло не так). А так как пишу в блог, посвященный геймдеву, решил оставить свой вариант перевода для подписчиков (некоторые моменты у меня оформлены по-другому, некоторые — намеренно пропущены по совету разработчиков).
Читать дальше →
Total votes 60: ↑60 and ↓0 +60
Views 66K
Comments 19

AI монстров и поиск пути с помощью тепловых карт

Game development *
image Допустим, у нас есть плоская карта, состоящая из тайлов. На некоторых тайлах стоят монстры, а на некоторых других – всякие штуки, которые монстров интересуют: игрок, оружие, зелья, боеприпасы и прочее в том же духе. Задача состоит в том, чтобы объяснить монстрам, к каким штукам им идти и как. Путь должен быть близким к оптимальному, а время вычисления – настолько маленьким, насколько это возможно. Один из самых простых способов – использовать тепловую карту дистанций до определённой цели или целей.
Читать дальше →
Total votes 61: ↑61 and ↓0 +61
Views 24K
Comments 26

Как создать игру, если ты ни разу не художник

Java *Game development *Development for Android *Kotlin *
Sandbox

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

И не надо…
Читать дальше →
Total votes 107: ↑106 and ↓1 +105
Views 37K
Comments 71

Эффективный расчёт области видимости и линии взгляда в играх

Game development *Algorithms *Mathematics *
Translation
image

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

image

Имея параметры видимости наблюдателя (направление взгляда, расстояние видимости и угол поля зрения), нам нужно найти видимую для него область, т.е. определить область видимости (field of view, FoV). Если препятствия отсутствуют, это будет сектор круга, состоящий из двух граней (радиусов) и соединяющей их дуги (см. Рис. 1). Кроме того, имея заданную точку мира, мы должны быстро определить, видима ли она для наблюдателя, т.е. необходимо обрабатывать запросы линии взгляда (line of sight, LOS) для заданной точки. Обе эти операции можно выполнить достаточно эффективно для использования при рендеринге в реальном времени.
Читать дальше →
Total votes 130: ↑126 and ↓4 +122
Views 32K
Comments 24

Грязные трюки в коде игр

Programming *Game development *Game testing *
Translation


[Когда график поджимает и проект уже пора выпускать, программисты могут прибегать к грязным трюкам, чтобы уже наконец выпихнуть игру за дверь. В этой статье собрано девять примеров таких «костылей» из реальной жизни.]

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

В подобных случаях измученный и перерабатывающий программист скорее всего проигнорирует оптимальный подход, заменив его менее приемлемым решением, чтобы просто покончить с игрой. Мы собрали девять историй настоящих разработчиков о тех моментах, когда они не могли уложиться в график и им приходилось для спасения проекта прибегать к хитростям.
Читать дальше →
Total votes 145: ↑143 and ↓2 +141
Views 91K
Comments 58

Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 1 из 6

Programming *Game development *
Sandbox
Tutorial

Содержание курса



Улучшение кода






Official translation (with a bit of polishing) is available here.




Постановка задачи


Цель этого цикла статей — показать, как работает OpenGL, написав его (сильно упрощённый!) клон самостоятельно. На удивление часто сталкиваюсь с людьми, которые не могут преодолеть первоначальный барьер обучения OpenGL/DirectX. Таким образом, я подготовил краткий цикл из шести лекций, после которого мои студенты выдают неплохие рендеры.

Итак, задача ставится следующим образом: не используя никаких сторонних библиотек (особенно графических) получить примерно такие картинки:



Внимание, это обучающий материал, который в целом повторит структуру библиотеки OpenGL. Это будет софтверный рендер, я не ставлю целью показать, как писать приложения под OpenGL. Я ставлю целью показать, как сам OpenGL устроен. По моему глубокому убеждению, без понимания этого написание эффективных приложений с использованием 3D библиотек невозможно.
Читать дальше →
Total votes 198: ↑196 and ↓2 +194
Views 366K
Comments 120

Information

Rating
258-th
Location
Тула, Тульская обл., Россия
Date of birth
Registered
Activity