Libtcod

Материал из RLGClub :: Клуб любителей рогаликов
Перейти к: навигация, поиск
ver. 1.5.0b2
21.01.2010
Автор J.C.Wilk
Лицензия Freeware
Платформа Win.gifLinux.gifMac.gif
Язык C, C++, C#, Python, Common Lisp


Содержание

Краткое описание

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

Особенности

  • Портативность. Поддержка Windows и Linux.
  • Обработка ввода с клавиатуры и мыши. Поддерживаются режимы как для пошаговой игры, так и для реалтайм.
  • 16-битная цветовая палитра консоли.
  • Эффект сглаживания шрифтов
  • Генератор псевдослучайных чисел, основанный на очень хорошем алгоритме - Вихре Мерсенна.
  • Парсер конфигурационных файлов
  • Поддержка изображений в формате bmp и png
  • Генератор шума Перлина
  • Генератор карт высот
  • Инструментарий FOV
  • Инструментарий поиска пути (A*)
  • Генератор подземелья
  • Архиватор файлов данных (zlib)

Изменения, планирующиеся на версию 1.5.x

  • Упрощение библиотеки. Будут убраны некоторые функции. Оставят по одному алгоритму FOV и генератора шума
  • Защита от ошибок. Отказ от позиции "а и хрен с ним, пусть вылетает". dev-билды будут напичканы assert-ами, а публичные релизы максимально защитят от вылетов
  • Субпиксельная работа с графикой. Это вчетверо увеличит разрешение выводящихся на экран изображений. И сделает более плавную картинку FOV
  • Инструментарий уплотнения. Поможет решить проблему наложения одного на другое. Например, висячих подсказок для зданий в игре на бегающего рядом @
  • Очень гибкий генератор подземелья
  • Отказ от алгоритма A* в пользу алгоритма Дейкстры

Примеры

Hello World

#include "libtcod.hpp"

int main() {
    TCODConsole::initRoot(80,50,"test",false);  //Создаем окно
    while (! TCODConsole::isWindowClosed()) {
        TCODConsole::root->clear();  //Чистим консоль
        TCODConsole::root->printCenter(40,25,TCOD_BKGND_NONE,"Hello world!");  //Выводим строку "Hello World"
        TCODConsole::flush(); //Обновляем консоль
        TCODConsole::checkForKeypress(); //Проверяем нажатие клавиш.
    }
}

Ссылки

Официальный сайт
Официальный форум
Блог разработки

Русские шрифты для библиотеки

Terminal 8x8 antialiased row order
Terminal 8x8 grayscale TCOD order
Terminal 12x12 grayscale TCOD order
Terminal 12x12 grayscal TCOD order, но с большими символами для БОЛЬШИХ монстров
Источник — «http://www.rlgclub.ru/wiki/Libtcod»
Просмотры
Подробнее о...
Авторские проекты