Pull to refresh
97
0
Торвальд @Torvald3d

User

Send message

Game++. while (!game(over))

Level of difficultyEasy
Reading time35 min
Views8.7K

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

Эта серия статей родилась как заметки на полях к замечательной книге Game Engine Architecture, книга большая, объемная и охватывает все аспекты создания движка. Но там нет нюансов практической разработки. А чтобы видеть нюансы надо понимать не только теорию, все же GAE больше теория, но знать как работает код игры изнутри. Чтобы понимать как, и главное почему, используются выбранные механизмы внутри игры, чтобы видеть проблемы с производительностью и архитектурой, как их искать и как чинить, для этого придется понять как работают и как создавались игровые движки.

Если мне не изменяет память - Кармак сказал, что лучший способ [создания игр] — написать собственный движок ( "The right move is to build your own engine" ), на что многие возразят: это вовсе не так просто. Но папа Doom'a известен не только своим вкладом в разработку игровых движков, но и довольно часто высказывался критически о развитии игровых движков в целом, и о преимуществах создания собственных технологических решений вместо использования готовых.

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

Читать далее

Пишем 3D-игру весом в 600Кб…

Level of difficultyMedium
Reading time15 min
Views17K

...которая работает на первом Android-смартфоне в мире, ретро-компьютерах из 90-х и даже Mac'ах! Часть 1.

Иногда у меня лежит душа просто взять и написать какую-нибудь небольшую игрушку с нуля, без использования готовых движков. В процессе разработки я ставлю перед собой интересные задачки: игра должна весить как можно меньше, работать на как можно большем числе платформ и использовать нетипичный для меня архитектурный паттерн. Недавно я написал трёхмерные «танчики», которые весят всего лишь 600 килобайт и в рамках подробной статьи готов рассказать о всех деталях разработки трёхмерной игры с нуля в 2025 году. Если вам интересно узнать, как работают небольшие 3D-демки «под капотом» от написания фреймворка до разработки геймплея — жду вас под катом!

Читать далее

Game++. Juggling STL algorithms

Level of difficultyEasy
Reading time29 min
Views4.7K

Мы все пишем циклы, в каждом софте, в каждой игре они будут. Вы не можете обойтись без них. Скажете, что делает этот код?

stl::vector numbers = {1, 2, 3, 4, 5};
int sum = 0;
for (int num : numbers) {
sum += num;
}

Конечно, это просто: код суммирует элементы массива. Похожую задачу про суммирование или другую операцию над массивом мой лид даёт на собесах :) Люди смотрят с удивлением, а потом большинство пишут, вот то, что было выше. И тут три вещи - человек либо поленился прочитать про STL алгоритмы, либо не доверяет нам и знает про них, но думает что не поймем мы, либо знает, но не понимает зачем показываеть эти знания, почему? вопрос оставим открытым. Этот пример с циклом - простейший алгоритм.

Алгоритмы STL — это настоящий швейцарский нож для разработчика. Они не просто помогают писать код, а делают его чище, понятнее и надежнее. В проектах с большими кодовыми базами, где легаси код не всегда стабилен и удобен для поддержки, это особенно важно. Каждый, кто писал циклы вручную, сталкивался с ошибками: вылезли за границы массива, забыли обработать пустой контейнер, сделали лишнее копирование. STL-алгоритмы избавляют от многих проблем, позволяя выразить мысли кратко и четко. Вместо простыней кода с индексами — несколько строк с понятным смыслом. Так что, если вы еще не знакомы со стандартными алгоритмами, самое время это исправить. Это один из тех инструментов, которые однажды освоив, уже невозможно забыть, это как езда на велосипеде, хорошем промышленном велике, за авторством Кнута или Саттера - надежном и с серийным номером.

Читать далее

lvalues, rvalues, glvalues, prvalues, xvalues, помогите! -

Level of difficultyEasy
Reading time3 min
Views12K

Случайно попалась довольно старая статья 2018 года с простым и понятным описанием категорий значений в C++. До неё всякие glvalues, prvalues, xvalues были малопонятными для меня.

cppreference.com просто перечисляет категории, и это не добавляет понимания, всё кажется чрезмерно излишним.

На stackoverflow.com есть 24 поста разной степени ценности, что только добавляет недоумения от сложности этой темы.

Читать далее

Разработка служб для Windows на C++

Level of difficultyHard
Reading time48 min
Views13K

В данной статье описан пошаговый процесс разработки служб для операционной системы Windows с использованием языка программирования C++.

В статье будет представлена теоретическая база по работе служб в Windows, рассмотрено их общее устройство и будет реализовано приложение, с помощью которого можно будет устанавливать свою службу, запускать её, останавливать и удалять (деинсталлировать).

Читать далее

Починили весь Discord в бесплатном VPN Amnezia Free

Reading time2 min
Views158K

С 8 октября Discord заблокирован на территории России, многие пользователи отмечают, что у них работает web-версия, но не работает голосовой чат. 

За несколько часов стал очень популярным запрос на подсети голосового чата, сервера РКН подверглись Ddos атаке, а тема с обсуждением блокировки в реальном времени с создателем Goodbye dpi стала настолько просматриваемой , что на несколько минут  положила  ntc party.

Статьи про  Discord на Хабре за 2 дня набрали от 200к до полумиллиона читателей. А через день после блокировки в госдуме предложили разблокировать Discord по причине отсутствия альтернатив.

Мы с командой согласны с предложением в госдуме и решили присоединиться к поиску решений.

В общем, без долгих вступлений, хотим рассказать, что мы добавили в наш бесплатный VPN AmneziaFree 3 Discord  с голосовыми чатами и стримами. А это значит, что играть можно по сети без VPN, а использовать Discord  через бесплатный VPN.

Читать далее

Самые дикие налоговые проблемы, в которые встряли уехавшие из России айтишники в 2024

Reading time10 min
Views66K

Попытка налоговой отхватить 6% с продажи квартиры в Грузии у налогового нерезидента РФ, двойное налогообложение заработанной крипты от российской ФНС, а также штраф 30% за сдачу в аренду недвижимости в Германии – в этой статье мы собрали самые жуткие истории из жизни, с которыми налоговые юристы сталкивались на практике.

Читать далее

StableProjectorz — бесплатный инструмент для текстурирования 3D-моделей с помощью нейросетей

Level of difficultyMedium
Reading time2 min
Views19K

Привет, Хабр! Хочу поделиться с вами своей разработкой - программой StableProjectorz, которая поможет упростить и ускорить создание текстур для ваших 3D-моделей с использованием нейросетей.

Читать далее

Нейропиксели для небогатых

Level of difficultyEasy
Reading time22 min
Views14K

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

Не волнуйтесь, решение есть. Сегодня речь пойдёт про следующую ядрёную смесь: пиксельная графика и нейросети применительно к разработке инди-игр. Примитивные технологии древности, новейшие достижения прогресса и бедные свободные творцы. High tech, low life — киберпанк ещё никогда не был так близок!

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

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

Level of difficultyMedium
Reading time46 min
Views343K

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

Вы, наверняка, помните отличный цикл статей на Хабре в прошлом году от пользователя MiraclePtr, который рассказывал о разных методах блокировок, о разных методах обхода блокировок, о разных клиентах и серверах для обходов блокировок, и о разных способах их настройки (раз, два, три, четыре, пять, шесть, семь, восемь, десять, десять, и вроде были еще другие), и можете спросить, а зачем еще одна? Есть две основные причины для этого.

Читать далее

Графические оболочки FFmpeg

Level of difficultyEasy
Reading time6 min
Views40K


Считается, что работа в консоли эффективнее GUI по нескольким причинам. Во-первых, там быстрее набирать команды, чем двигать курсором. Во-вторых, на CPU, память и GPU не ложится лишнее бремя графической оболочки, так что любые процессы быстрее выполняются в консоли.

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

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

Нейросети в качестве художника: всё лучше и лучше. Подборка инструментов для создания изображений

Reading time3 min
Views14K

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

Читать далее

10 рекомендаций по VS Code для повышения продуктивности

Level of difficultyEasy
Reading time7 min
Views61K
Visual Studio Code остаётся наиболее предпочтительной IDE среди разработчиков. Причём этот редактор всё чаще используют именно начинающие программисты. Источник: survey.stackoverflow.co/2023

А вы знали, что 73% разработчиков по всему миру используют один редактор кода? Так и есть. Результаты проведённого в 2023 году опроса Stack Overflow показали, что VS Code является самой популярной средой разработки.

И мы все знаем почему — он очень крут!

Но в полной ли мере мы задействуем его потенциал? Текущая статья будет посвящена знакомству с некоторыми интересными возможностями VS Code, способными повысить продуктивность работы. К ним, помимо прочих, относятся локальный контроль исходного кода, анимация курсора и быстрое удаление строк. Использование этих возможностей поможет ускорить реализацию проектов разработки.
Читать дальше →

Как Федор выписывался из военкомата после эмиграции: полный гайд по снятию с воинского учета удаленно

Level of difficultyEasy
Reading time13 min
Views136K

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

Читать далее

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

Reading time19 min
Views74K

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

Я не был исключением. Мой выбор пал на горную Киргизию. За последние два месяца я увидел очень мало отзывов и рассказов от айтишников, которые уехали в Бишкек, поэтому я решил написать свой. Если вам интересно, как живется в Бишкеке, как тут обстоят дела с интернетом и работой и как киргизы относятся к русским, то добро пожаловать под кат!

Читать далее

Сколько стоит умный дом? Рассказываю, как строил свой и что получилось за 1000 руб./м²

Level of difficultyEasy
Reading time25 min
Views106K

Подробный рассказ о том, как я свой дом и сад сделал умными. С фото, техническими деталями, стоимостями и выводами на будущее.

Читать

[Личный опыт] Неожиданная страна для релокейта: как Киргизия очаровывает гостеприимством, комфортом и климатом

Reading time9 min
Views31K

Сейчас в поисках простого релокейта многие отправляются в Сербию, Грузию или Казахстан. Но есть страна, куда переехать еще проще — причем по уровню комфорта она не слишком уступает многим другим. Речь о Киргизии, или, как его называют местные, Кыргызстане.

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

Читать далее

Зацените: сделал стол

Reading time6 min
Views152K


TL;DR В статье описывается мой опыт постройки стола c нуля из фанеры. От проектирования до сборки.

Я очень долго страдал от плохих столов. Все они неудобные, плохого качества, маленькие и, самое главное, ШАТКИЕ. Более-менее приличные столы стоили тысячи долларов. В итоге я решил изготовить стол самостоятельно.

Основные требования к столу:

  • Устойчивость! Предметы на столе не должны трястись, если резко положить руки на стол или оттолкнуться от него. Мой стол весит ~120кг. С его края можно делать сальтухи, при этом на другом конце паять SMD компоненты.
  • Ширина и глубина столешницы. Столы шириной 60 см — это унижение. Мне нужно иметь запас по глубине, чтобы можно было отодвинуть ноутбук вперед, и при этом получить достаточное рабочее пространство.
  • Вместительность. Мне нужны полки, чтобы разместить там оборудование: паяльники, лабораторный блок питания, осциллограф, аудио усилитель и т.д. При этом полки должны быть так же устойчивы, как и стол.
  • Цена. Я не готов выложить за стол несколько тысяч долларов. Мой стол обошелся в ~$300 с учётом покупки всего инструмента для сборки и покраски.

Система увлажнения воздуха для дома или квартиры

Reading time5 min
Views46K

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

Читать далее

Насколько круто иметь свой сервер в комнате

Reading time6 min
Views132K

Некоторые олды часто вспоминают эпоху до смартфонов, когда в студенческие времена или в школе у них был любимый настольный компьютер. Он стоял прямо в комнате, рядом с кроватью, и работал как личный ассистент в режиме 24/7: играл фоновую музыку (со специальным плейлистом, когда в гости приходили девушки), показывал фильмы, будил уведомлением из аськи или ирки, скачивал сайты ночью по диалапу и т. д.

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

Information

Rating
3,871-st
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity