Game Engine
Проектируем, пишем, думаем рассуждаем, читаем и многое другое
Внимание: статьи содержат много костылей!
Читать полностью »
Рубрика «c++» - 112
Game Engine своими руками на с++. Часть 1 (Вступление)
2017-07-28 в 17:03, admin, рубрики: c++, Анализ и проектирование систем, разработка игр, метки: architecture, c++, game engine, GamedevCpp ❤️ Mobile
2017-07-27 в 7:07, admin, рубрики: android, c++, QML, qt, Блог компании 2ГИС, Разработка под android
Пять лет прятали от хабраобщественности DevDay. Опасались, что встречи проходят в Новосибирске, а общественность — по всей России и не только. Но, кажется, трансляция решает все проблемы, а тема очередного DevDay прекрасна, что молчать о ней нельзя.
Читать полностью »
Взгляд снизу вверх или Ubuntu Server для разработчика электроники. Часть 1
2017-07-26 в 13:08, admin, рубрики: c++, Программирование, Разработка под Linux, метки: c++, daemon, ethernet, ftdi, ubuntu server, usb 3.0При решении задач электроники все методы хороши, если они устраивают ТЗ, бюджет и разработчика. Linux был мне неизвестен, но вместе с задачами, которые решаешь, растешь и сам. Этот пост расскажет о том, как применить компьютер с Ubuntu для связи большого компьютера с контроллером в соответствии со схемой:
Статья описывает практику применения описанной техники и не ставит целью охватить все глубины и возможности современной аппаратуры. Это один из вариантов решения поставленной задачи.
Читать полностью »
Tizen: подводим итоги
2017-07-26 в 8:51, admin, рубрики: c/c++, C#, c++, code review, cwe, open source, pvs-studio, tizen, tizen os, Блог компании PVS-Studio, информационная безопасность, итоги, ошибки в коде, плотность ошибок, Разработка под Tizen, статический анализ кодаНаша команда написала три заметки, связанные с анализом кода операционной системы Tizen. Операционная система содержит много кода и поэтому является благодатной почвой для написания различных статей. Думаю, что к Tizen мы ещё вернёмся в будущем, но сейчас нас ждут другие интересные проекты. Поэтому я подведу некоторые итоги проделанной работы и отвечу на ряд вопросов, возникших после опубликованных ранее статей.
Анализ исходного кода Doom 3
2017-07-26 в 7:20, admin, рубрики: c++, doom 3, id software, игровые движки, обратная разработка, открытый исходный код, разработка игр, реверс-инжиниринг, метки: doom 3
23 ноября 2011 года id Software поддержала собственную традицию и опубликовала исходный код своего предыдущего движка.
На сей раз настало время idTech4, который использовался в Prey, в Quake 4 и, разумеется, в Doom 3. Всего за несколько часов было создано больше 400 форков репозитория на GitHub, люди начали исследовать внутренние механизмы игры или портировать её на другие платформы. Я тоже решил поучаствовать и создал Intel-версию для Mac OS X, которую Джон Кармак любезно прорекламировал.
С точки зрения чистоты и комментариев это самый лучший релиз кода id Software со времени кодовой базы Doom iPhone (которая была выпущена позже, а потому откомментирована лучше). Крайне рекомендую каждому изучить этот движок, собрать его и поэкспериментировать.
Вот мои заметки о том, что я понял. Как обычно, я подчистил их, надеюсь, они сэкономят кому-нибудь пару часов и сподвигнут кого-нибудь на изучение кода для усовершенствования своих навыков программиста.
Читать полностью »
Как я варил CLion
2017-07-25 в 11:03, admin, рубрики: c++, CLion, cmake, conan, docker, gdb, ninja, ПрограммированиеИстория про CLion, docker, conan, cmake, ninja, cotire и gdb.
Небольшое предисловие
Разработкой на C++ я занимаюсь уже лет 15 и когда-то начинал с «Watcom С». О нем у меня остались самые теплые воспоминания. Но, так как мне больше приходилось писать для консоли UNIX, я перешел на vim в качестве IDE. В целом, он достаточно удобен. Его плагины творят чудеса, можно настроить autocomplete, просмотр иерархии классов, быстрый переход к определению или поиск, в общем всё, что должны уметь IDE, там можно поднять. Боль приходит в тот момент, когда ты пытаешься установить и освоить новый плагин. Это всё заводится не везде и не всегда, и, зачастую, жрет проц и память похлеще любой java.
Периодически я поглядывал на Qt Creator. Но так и не решился на него перейти.
Первое знакомство
И вот, в один из таких моментов мне на глаза попался CLion. Читать полностью »
MMO с нуля. С помощью Netty и Unreal Engine. Часть 1
2017-07-25 в 8:41, admin, рубрики: c++, client, java, MMO, netty, open source, UE4, Unreal Engine, разработка игрВсем привет! В нескольких статьях я хотел бы поделиться опытом создания подобия ММО игры используя Unreal Engine и Netty. Возможно архитектура и мой опыт кому-то пригодится и поможет начать создавать свой игровой сервер в противовес unreal dedicated server, который слегка прожорлив или заменить собой фреймворки для разработки многопользовательских игр такие как Photon.
В конечном итоге у нас будет клиент, который логиниться или регистрируется в игре, может создавать игровые комнаты, пользоваться чатом и начинать игры, соединение будет зашифровано, клиенты будут синхронизироваться через сервер, в игре будет присутствовать одно оружие — лазер, выстрел будет проверяться на проверочном сервере. Я не стремился сделать красивую графику, тут будет только необходимый минимум, дальнейший функционал добавляется по аналогии. Логику можно легко расширить на сервере, добавить например случайные игры и балансер. Для меня было важно создать ММО базу и разобраться с тем что понадобится для создания полноценной мобильной ММО игры.
- Часть 1. Общая картина, сборка библиотек, подготовка клиента и сервера к обмену сообщениями
- Часть 2. Наращивание игрового функционала
- Часть 3. Бонус материал. HLSL шейдеры в Unreal Engine, генерация ландшафтной сетки с помощью алгоритма Diamond Square, динамическая подгрузка моделей из сети
Релиз CLion 2017.2: интеграция с Clang-Tidy, C++17 в мастере создания нового проекта, повышение производительности IDE
2017-07-24 в 14:30, admin, рубрики: C, c++, Clang-Tidy, CLion, debug, IDE, jetbrains, PCH, Блог компании JetBrains, ПрограммированиеПривет! Лето в этом году местами подкачало (у команды CLion в Питере уж точно), а вот новый релиз CLion 2017.2, мы надеемся, удался! В этом посте мы хотим рассказать про новые возможности, важные баг-фиксы, и дать Вам возможность задать вопросы или поинтересоваться какими-то конкретными планами в комментариях.
Если коротко, то релиз CLion 2017.2 посвящен:
- Расширению возможностей анализатора кода (это касается как встроенного, так и стороннего инструмента – CLang-Tidy)
- C++17 в мастере создания нового проекта
- Поддержке PCH для MSVC (мы ниже обязательно расшифруем все аббревиатуры!)
- Force Step Into в отладчике
- Автоматическому созданию Google Test конфигураций для таргетов, слинкованных с gmock
- Отменяемым асинхронным действиям навигации и загрузки CMake
- Общим улучшения производительности
- И еще многому другому!
Готовы попробовать уже сейчас? Скачивайте бесплатную 30-дневную версию с нашего сайта и вперед!
Нужно больше подробностей? Детали ниже. Кстати, попробовать все новые возможности можно на небольшом демо-проекте, который мы специально подготовили для этих целей.
Читать полностью »
Еще один breakpad сервер. Часть 1
2017-07-24 в 8:12, admin, рубрики: breakpad, c++, Emscripten, отладка
В прошлом квартале делали MVP сервиса по обработке крешей. Аналог Socorro от Mozilla, но с учетом своих требований. Код сервиса будет выкладываться на GitHub по мере рефакторинга. Утилиты, о которых пойдет речь в этой статье, доступны тут.
У нас были следующие требования:
- получение отчета с Windows, Mac OS X, GNU/Linux;
- получение отчета о падения с веба(собираем через emscripten);
- сбор данных об оборудовании(CPU, GPU, Memory);
- группировка падений по версии, платформе, пользователю, причине;
- приложение ведет логи, нужно вместе с отчетом хранить и лог.
Содержание:
- Breakpad: файлы символов и отчеты о падениях;
- Emscripten: параметры компиляции, файлы символов, обработка ошибок;
- UI.