Pull to refresh
14
0
Send message

Создание прототипа RPG-игры на движке GemRB

Level of difficultyMedium
Reading time50 min
Reach and readers1.5K

Цель статьи - описание процесса того, как можно собрать небольшой прототип RPG-игры для движка GemRB. Кто не знает, GemRB (расшифровывается Game Engine Made with pre-Rendered Background) - это проект с открытым исходным кодом, направленный на создание клона движка Infinite Engine, того самого на котором в конце девяностых - начале нулевых были сделаны такие классические ролевые партийные игры как Baldur's Gate, Planescape: Torment, Icewind Dale и другие. Нынешнее состояние движка GemRB позволяет пройти все эти игры, используя их оригинальные ресурсы (графику, звук, тексты и прочее).

Одно из достоинств проекта GemRB в том, что под него можно сделать отдельную, совершенно независимую игру. По своей сути создание такой игры похоже на создание мода для игры Baldur's Gate (или другой подобной). В большинстве случаев используются те же механизмы и методы. В данной заметке хотелось бы рассказать, как можно сделать небольшой игровой проект в изометрическом стиле. Будем делать полностью с нуля, используя набор заранее подготовленных ассетов.

Читать далее

Navmesh, lightmaps и lightprobes: реализация и использование в Playcanvas

Level of difficultyEasy
Reading time21 min
Reach and readers2.2K

В этой небольшой заметке хотелось бы поделиться результатами реализаций нескольких технологий из gamdev-а. В основном коснёмся двух тем. Первая тема - это использование navmesh-ей для нахождения путей в пространстве трёхмерной сцены. Вторая тема - это использование lightmap и lightprob-ов для освещения динамических объектов. По каждой из этих тем обсудим немного теории и то, как всё это можно использовать в браузерном игровом 3d-движке Playcanvas.

Читать далее

Создание модуля WebAssembly с помощью Emscripten, AssemblyScript и Rust

Level of difficultyMedium
Reading time57 min
Reach and readers7.8K

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

Emscripten для компиляции кода, написанного на С++

AssemblyScript для компиляции кода, написанного на, собственно, AssemblyScript

wasm-pack для компиляции кода, написанного на Rust

План такой:

Во введении мы обсудим постановку задачи и немножко поговорим о технологии WebAssembly

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

Подведём небольшой итог. Станет видно, какая технология хорошая, а какая не очень

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

Читать далее

Information

Rating
Does not participate
Location
Челябинск, Челябинская обл., Россия
Date of birth
Registered
Activity