Как стать автором
Обновить
0
@belmaxvic read⁠-⁠only

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

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

Глубокий JS. Области тьмы или где живут переменные

Уровень сложности Сложный
Время на прочтение 16 мин
Количество просмотров 13K

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

Речь пойдет об Абстрактном Синтаксическом Дереве (AST), типах переменных, областях видимости и выделении памяти в стэке и куче.

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 12

Cocos2d-x — разработка простой игры

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

1. Вводная часть


В этой статье речь пойдет о разработке прототипа игры под Android/Linux с помощью Cocos2d-x. Cocos2d-x это кросс-платформенный фреймворк для создания двумерных игр и других графических приложений. Он создан на основе cocos2d-iphone, но вместо Objective-C Cocos2d-x использует C++. Приложения могут быть запущены на платформах: iOS, Android, Windows Phone, OS X, Windows, Linux.
Эта статья о разработке приложения под Android/Linux, платформа разработки — Ubuntu.
К сожалению, Cocos IDE существует только под Window и Mac, а под Linux версии не предвидится, но так как я очень люблю Ubuntu и это та платформа, с которой я работаю каждый день, я использую для разработки Clion.
Некоторые части этой статьи — перевод соответствующих частей документации (http://www.cocos2d-x.org/wiki).
Статья ориентирована на тех, кто начинает свое знакомство с Cocos2d-x. В ней я расскажу о том, как создать самое простое приложение со спрайтами, сценами и как работать с акселерометром. Это может быть неким стартом, чтобы в будущем идти дальше, углубляясь в API Cocos2d-x.

2. Требования


Определим необходимый набор инструментов, который нам понадобится.
Ubuntu 14.04 — платформа разработки
Cocos2d-x v3.8.1 — https://cocos2d-x.org/download
CMake 2.8+
JDK 1.6+
Android SDK
Android NDK r9d+
Apache Ant — для сборки Android-сборки
Python 2.7.5
Clion 1.1 — www.jetbrains.com/clion


3. Cocos2d-x


Cocos2d-x появился в 2010 году, это проект с открытым исходным кодом, распространяющейся под лицензией MIT. Cocos2d-x позволяет писать на таких языках как C++, Lua и Javascript. Cocos2d-x быстрый, простой и обладает большими возможностями. В настоящее время много игр, написанных с помощью этого фреймворка, находятся в топе AppStore и Google Play.
«Большие ребята», такие как Zynga, Wooga, Glu, Big Fish Games, Konami используют Cocos2d-x для разработки игр.

Тут я должен сделать маленькое отступление. Дело в том, что Cocos2d-x позволяет использовать C++ для написания кода, и все это будет собираться под Android и Linux. Если использовать Cocos2d-JS, то можно писать на Javascript. Тогда в случае сборки для на Linux/Ubuntu код будет транслироваться в C++, а затем компилироваться. Это влечет много разных проблем (усложняет работу со сторонними библиотеками, например). В случае же web будет выполнятся java-script (кстати, время сборки в этом случае равна нулю, что неплохо).
Если же использовать Cocos2d-x, то под web это не работает, но под Linux и Android код компилируется напрямую. Для Android, конечно же, используется Android NDK.

Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 4

Реверс мобильных приложений на cocos2dx

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 2.3K

Хочу поделиться своим опытом в реверс инженеринге приложения на lua cocos2d-x. Файлы приложения зашифрованы xxtea, а ключи шифрования находятся в .so файле внутри приложения.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 3

Cocos Creator — отличная альтернатива Unity, о которой вы, возможно, ещё не слышали

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

Если ты решил начать делать игры под Яндекс Игры, но Unity и другие движки тебя не устраивают — билды много весят, долгие загрузки и другие проблемы — то эта статья для тебя.

Читать далее
Всего голосов 32: ↑27 и ↓5 +22
Комментарии 48

Не Unity единым…

Уровень сложности Простой
Время на прочтение 15 мин
Количество просмотров 36K

Игры бывают разные, большие и маленькие, триA и супер инди, в компаниях с сотнями разработчиков и что создаются самородками-одиночками. Редко их делают с нуля и пишут код только игры, чаще пишут игровые тулы, редактор и параллельно пишут саму игру. За всей этой многомиллиардной индустрией стоит код, много кода, очень много кода. Игровые движки и фреймворки – мощные инструменты, которые помогают разработчику творить его идеи и создавать увлекательные игровые миры. Это каркас, на котором строятся все игровые вселенные, они включают в себя сотни инструментов, библиотек и ресурсов, позволяя разработчикам превратить строчки кода в театр для одного зрителя.

Существует более сотни игровых движков, каждый из них содержит как минимум одну фичу которой нет ни в каком другом. Всех возможностей вместе нет ни в одном, и это прекрасно - иначе бы такой движок монополизировал рынок. Хм, Unreal5 ты ли это? Иногда полезно пробежать по release notes движка, чтобы оставаться в курсе последних новостей. Возможно вы разрабатываете свое решение и эта статья натолкнет вас на новые идеи. Готовы узнать что ваша любимая игры была сделана не на Unity, а на православном SDL?

Читать далее
Всего голосов 95: ↑95 и ↓0 +95
Комментарии 89

Пожалуйста, остановите игрострой

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 65K

Я играл в компьютерные игры с 1995 года. И хотя в детстве я не раз засиживался за Civilization или TTD, я не могу считать себя заядлым геймером. За последние десять лет большую часть редкого игрового времени я потратил на Factorio. Более того, я закончил несколько франшиз, чисто для галочки.

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

Читать далее
Всего голосов 184: ↑140 и ↓44 +96
Комментарии 329

Полезен ли сегодня быстрый обратный квадратный корень из Quake III?

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

В 2005 году id Software опубликовала под лицензией GPL-2 исходный код своей игры 1999 года Quake III Arena. В файле code/game/q_math.c есть функция для вычисления обратного квадратного корня числа, которая на первый взгляд выглядит очень любопытным алгоритмом:

float Q_rsqrt( float number )
{
    long i;
    float x2, y;
    const float threehalfs = 1.5F;

    x2 = number * 0.5F;
    y  = number;
    i  = * ( long * ) &y;                       // зловещий хакинг чисел с плавающей запятой на уровне битов
    i  = 0x5f3759df - ( i >> 1 );               // какого чёрта?
    y  = * ( float * ) &i;
    y  = y * ( threehalfs - ( x2 * y * y ) );   // первая итерация
//  y  = y * ( threehalfs - ( x2 * y * y ) );   // вторая итерация, можно удалить

    return y;
}

Об этом алгоритме написано множество статей, и ему посвящена хорошая страница Википедии, где он назван fast inverse square root (быстрым обратным квадратным корнем). На самом деле, этот алгоритм упоминался на различных форумах ещё до публикации исходного кода Q3. Ryszard из Beyond3D провёл в 2004-2005 годах исследование и в конечном итоге выяснил, что первоначальным автором алгоритма был Грег Уолш из Ardent Computer, который создал его десятью годами ранее.
Читать дальше →
Всего голосов 196: ↑194 и ↓2 +192
Комментарии 52

Недельный геймдев: #151 — 10 декабря, 2023

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

Из новостей: увольнения в «Трудный период» в tinyBuild, Mari 7.0, Baldur’s Gate 3 — игра года, вышла альфа GeoGen.

Из интересностей: лучшие практики по Unity LTS 2022, отправил 72 питча и почти не получил обратной связи, как сделать игру на ChatGPT, музыка и семплирование в видеоиграх, почему у вашей игры не растут вишлисты.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 0

Как мы (не) вкатились в геймдев. Часть 2

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 8.2K

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

Читать далее
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 12

Как мы (не) вкатились в геймдев. Часть 1

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

Привет, Хабр! Это мой первый пост и рассказывает он о попытке нашего небольшого коллектива сделать свою игру, начатую в рамках дипломного проекта. О том, как шла разработка и почему в итоге не получилось — постараюсь рассказать в этой серии постов.

Читать далее
Всего голосов 32: ↑32 и ↓0 +32
Комментарии 11

Гипер-казуалки и чему у них могут научиться геймдизайнеры

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


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

Что делает жанр таким успешным и можно ли из него что-нибудь позаимствовать? Под катом перевод анализа особенностей геймдизайна, которые делают жанр затягивающим и популярным.
Читать дальше →
Всего голосов 46: ↑43 и ↓3 +40
Комментарии 8

Создай своего ИИ-ассистента с помощью ChatGPT и Streamlit

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

Автор: Дмитрий Косаревский

Привет, Хабр! 👋

Меня зовут Дима Косаревский, я инженер данных (DE), увлеченный Data Science и всем, что связано с этим направлением.
Data Science позволяет извлекать ценную информацию из огромных объемов данных при помощи статистических и вычислительных методов.

В последнее время эти ИИ, вроде ChatGPT, врываются прямо во все сферы. И вот благодаря увлечению Data Science можно использовать этих ботов, чтобы помогать людям, да ещё и пообщаться с ними на разные темы. Здорово, правда?

ChatGPT действительно впечатляет. Он не только общается на разные темы, но еще и стихи сочинять умеет.
Вот один из примеров, которые я получил недавно:

Поехали 🚀
Всего голосов 31: ↑29 и ↓2 +27
Комментарии 15

16 причин, по которым игроки уходят из вашей игры

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

Игроки уходят из игр. Согласно одному из источников, в среднем менее 40% игроков возвращаются в бесплатную игру после первого раза. Важнейшая задача гейм-дизайнера – создать захватывающий продукт. Мы делаем игры для того, чтобы в них интересно было играть. Если они бросают наши игры слишком часто и быстро, мы не справились с задачей.

Размышляя о том, почему игроки покидают вашу игру, вы ставите себя на их место. Ваш финансовый успех зависит от размера аудитории – особенно, если ваша монетизация происходит через внутриигровые покупки. Две основных причины ухода игрока – разочарование и скука. Они же – главные враги "потока". Поток – это состояние сознания, характеризуемое чувством активной сосредоточенности и поглощённости текущей деятельностью. Именно в это состояние мы и стремимся ввести игроков – независимо от жанра игры.

Наша задача, как гейм-дизайнеров – подойти к разработке со стороны позитивной психологии. Удержание игроков сводится к разработке продукта, создающего состояние потока. Не стоит путать это с казуалками или играми, построенными на повторении простых задач. В статье я собрал материал для чек-листа – причины, по которым игроки могут покидать игру, перечислены в порядка убывания важности. Убедитесь в том, что вы проверили все пункты списка.
Читать дальше →
Всего голосов 26: ↑23 и ↓3 +20
Комментарии 41

HTML-страница на Canvas

Время на прочтение 12 мин
Количество просмотров 29K
Canvas интересный и перспективный HTML5 элемент. Он хорошо подходит как вспомогательный элемент на HTML странице, например, для отрисовки какой-нибудь простой по сюжету динамической заставки. Однако реализация функционально законченных комплексных решений с ориентацией на Canvas задача уже не такая простая.

Image - html page on canvas

Цель статьи:
  • Рассмотреть механизм реализации на основе Canvas полноценной HTML страницы с поддержкой динамического контента, ссылок и элементов управления.
  • Понять, можно ли использовать этот механизм, и стоит ли овчинка выделки.
Читать дальше →
Всего голосов 17: ↑11 и ↓6 +5
Комментарии 13

Быстрое кроссплатформенное HTML5 приложение на Framework7

Время на прочтение 10 мин
Количество просмотров 79K
Задумываясь о разработке html5 приложения, многим сразу на ум приходит jQuery, или точнее jQueryMobile. И попробовав написать даже самое простенькое приложение используя jQueryMobile, очень легко разочароваться, так как производительность и отзывчивость получившегося html5 приложения куда ниже ожидаемого, и уж совсем его не сравнить с нативными приложениями.


Читать дальше →
Всего голосов 44: ↑43 и ↓1 +42
Комментарии 20

Получение «зеленого света» в сервисе GreenLight: советы и рекомендации

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

1. Вступление


Всем привет! Не так давно мы стартовали ОБТ нашего нового online-проекта Metal War Online. Со временем мы захотели выйти на глобальный рынок посредством Steam и, как большинство коллег, осуществляем эту затею через сервис Greenlight. Нашему опыту прохождения аппрува и будет посвящен материал.

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

image
Читать дальше →
Всего голосов 82: ↑77 и ↓5 +72
Комментарии 37

Распространение игр

Время на прочтение 4 мин
Количество просмотров 36K
logoЗдравствуйте!

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

Кого заинтересовала данная тема — прошу под кат.
Читать дальше →
Всего голосов 45: ↑38 и ↓7 +31
Комментарии 23

«С тебя игра за 100 баксов!» или почему Indiegogo вообще не Go-Go

Время на прочтение 7 мин
Количество просмотров 98K
Около месяца назад, параллельно со стартом кампании на Indiegogo, я написал на Хабрахабр статью Тяжкое бремя одинокого Indie. За прошедшее время я получил большое количество положительных отзывов и слов поддержки в отношении игры над которой я работаю, и от хаброюзеров, и просто от людей которые видели (успели в первую неделю) проект на индигого. Так почему же, не смотря на такой положительный feedback, кампания по сбору средств была полностью провальной?



Предлагаю вам насладиться собранной мною коллекцией замечательных грабель, на которые я наступил.
Читать дальше →
Всего голосов 132: ↑121 и ↓11 +110
Комментарии 49

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

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

Вступление


Последние два с половиной года я активно занимаюсь созданием игр как инди-разработчик. За это время накопилось много опыта, в том числе полученного путём ходьбы по граблям. В этой статье я хочу поделиться своими наблюдениями насчёт того, как правильно подготовиться к созданию новой игры, что из себя представляет пре-продакшн, что такое оценка рисков и почему она нужна, как лучше собирать команду «на энтузиазме». Также я изложу несколько своих идей по организации командной работы, важности наличия руководителя даже в инди-проекте, расскажу о некоторых подводных камнях.
Читать дальше →
Всего голосов 22: ↑19 и ↓3 +16
Комментарии 10

Применение KolibriOS. Часть 1: Обзорная

Время на прочтение 4 мин
Количество просмотров 58K
Очень часто нам задают вопросы «Для чего разрабатывается КолибриОС?» или же «Какова область применения ОС?» Поэтому было решено рассказать подробнее о том где и как можно применять КолибриОС, а также, что возможно даже более интересно, где и как она УЖЕ применяется.
Интересно? Добро пожаловать под кат
Всего голосов 39: ↑39 и ↓0 +39
Комментарии 14

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность