Как стать автором
Обновить
26
0
Денис Зыков @shai_hulud

Пользователь

Отправить сообщение

Вышло крупное обновление Charon / 2025.1.1

Время на прочтение5 мин
Количество просмотров876

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

Аналогом являются Articy Draft или CastleDB.

Читать далее

Организация игровых данных на примере игры Mind Over Magic

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.4K

Mind Over Magic — это симуляционная игра, разработанная Sparkypants и изданная Klei Publishing.

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

Узнать что там внутри

Как я улучшил производительность JSON-парсера в два раза

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров14K

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

Читать далее

Дизайним абилки как в X-COM

Время на прочтение15 мин
Количество просмотров5K

Через абилки в X-COM реализована большая часть взаимодействия оперативников с окружением во время миссий. Стрельба, перезарядка, навыки, активация предметов, важных для цели миссии, и даже открытие дверей сделано через абилки.

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

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

Узнать как

Base64, Base32 и Base16 кодировки в .NET

Время на прочтение3 мин
Количество просмотров8.7K

BaseN кодировки используются для кодирования двоичных данных в текстовый вид. Где N это размер текстового алфавита используемого для кодирования. Применяются BaseN кодировки для "подготовки данных" к передаче по текстовым протоколам (HTTP, SMTP) или нецифровым каналам (напр. печать на бумаге).

Самый популярный вариант такой кодировки это Base64. Сравниться по частоте применения может только Base16 известный как hexadecimal или просто hex. Инструменты для работы с ними есть в .NET еще с первых версий, но они не очень удобные.

А что еще есть?

Преобразование типов значений в .NET

Время на прочтение2 мин
Количество просмотров7.1K

Введение в проблему


Казалось бы, такая простая тема, как преобразование типов значений (value conversion), не достойна целой статьи. В C# есть подходящий оператор "(T)value", есть типы, которые его реализуют, и тему на этом можно считать закрытой. Но за 14 лет существования .NET разработчики BCL и другие программисты придумали еще 4 способа преобразовывать типы значений.


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

Удаление Code Contracts c помощью Roslyn

Время на прочтение2 мин
Количество просмотров8.1K
image

Что такое Code Contracts


Code Contracts были созданы командой разработчиков из Microsoft Research в 2008 году. Задача Code Contracts — описывать предположения о состоянии в коде, которые в последующем используются для генерации документации и проверки кода на корректность. Предполагалось, что Code Contracts станут частью платформы .NET и получат поддержку в компиляторе, платформе и Visual Studio. К сожалению, поддержка появилась только на платформе в виде классов пространства имен System.Diagnostics.Contracts. Для остального требуются плагины и дополнительные утилиты.
В данный момент проект поддерживает SergeyT и еще несколько участников.
Читать дальше →

Они смеются над твоими колбеками или async/await «для бедных»

Время на прочтение3 мин
Количество просмотров39K
У вас проект на .NET 4.0 и вам надоела «лапша» из колбеков? Вы бы хотели использовать async/await в своем проекте, но тимлид грозит небесной карой за смену платформы? Если установка патча на фреймворк и студию для вас являются допустимым решением, то вам сюда. Если нет, то существует другое решение.


(для гуру: внутри корутины на yield'ах)
Читать дальше →

Loom 1990 года за 5$

Время на прочтение1 мин
Количество просмотров922

В стиме появилась игра из далеких девяностых — Loom.

Год 8021.
В далекой, далекой галактике ...
Гораздо позже «Второй Тени», когда драконы владели сумрачным небом и звезды были ярче, а трава зеленее, пришли времена Великих Гильдий.

Кузнецы. Пастухи. Клирики. Посвятили себя контролю над секретным знанием.

Одной из таких гильдий были «Ткачи». За века их мастерство переходило границы физического мира, до тех пор пока они не начали ткать саму реальность. Внезапно, странная сила выкинула Ткачей в фалаут с мечами в забвение, оставив только мальчика ткача разгадывать эту загадку. Помогите юному Bobbin'у спасти его Гильдию… и может быть вы спасете вселенную от катастрофы.

далее

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность