zorgg@nudnik
входит в состав
 Разработка игр  (+1)
 dev 
 Инструменты разработки 

SQLite

05.04.2007 22:16
SQLite — маленькая (150–250Кб) бесплатная C библиотека, реализующая базу данных с, как уже все догадались по названию, поддержкой SQL.

Immediate Mode GUI

05.04.2007 21:01
Обычно, создание элемента графического пользовательского интерфейса (GUI) — например, кнопки — выглядит, в упрощённом виде, так (псевдокод):


void MyButtPushed();

void OnInit()
{
m_SomeButton = new GuiButton( 10, 10, «Click Me» )
m_SomeButton->SetOnClick( MyButtPushed );
m_Desktop.AddChild( m_SomeButton );
}

void OnRelease()
{
m_Desktop.RemoveChild( m_SomeButton );
delete m_SomeButton;
}

void MyButtPushed()
{
GuiMessageBox( «It hurts.», BUTT_OK );
}

…ну и, кроме этого, где-то на невидимом для нас уровне происходит обновление состояния, отрисовка и т.п. — если GUI организован достаточно хорошо, то это прозрачно для конечного кодера.

Это всё, до определённой меры, здорово, но немного напрягает общим количеством… даже не знаю, как точнее выразиться — скажем, сугубо утилитарного кода. То есть, инициализации, освобождения, привязки событий, и всего такого. В общем, того, чего в идеальном мире быть не должно. В идеальном мире всё выглядит как-то так:

void TheLoop()
{
if ( button( «Push Me», 10, 10 ) )
{
GuiMessageBox( «Ouch!», BUTT_OK );
}
}

Ну, а вот здесь — подборка ссылок на IMGUI — подход, который пытается быть немного ближе к вышеупомянутому идеальному миру.

Понятно, что такая концепция будет накладывать некоторые ограничения на возможности GUI (да и вообще вызывает ряд нехороших вопросов, в особенности в том, что касается реализации) — но почитать, я думаю, будет всё равно интересно. Так, или иначе, а подход имеет право на жизнь — как минимум в rapid prototyping и RAD.

Хороший бесплатный текстовый редактор

03.04.2007 18:02
Notepad++.

D3DCaps DB

24.03.2007 06:04
База данных D3DCAPS для разных видеокарт. Может оказаться полезным, если нужно выяснить, будет ли ваша игра запускаться на такой-то видеокарте. Или, к примеру, почему ваша игра не запускается на всём семействе ATI Radeon =)

В качестве бонуса, там же: OpenGL Caps Database и оффлайновая утилита, печатающая D3D/OpenGL Caps в текстовый файл (с исходным кодом).

FTP Synchronizer

14.03.2007 15:04
Неплохой gaotd сегодня. Добротно склёпанный софт, с первых минут после установки видно.

TGEA

02.03.2007 02:06
Torque Game Engine Advanced вышел.

via Kazual.ru

PhysicsFS

15.01.2007 09:43
Иногда возникает необходимость запаковать игровые данные (например, карты, тексты с описаниями миссий, скрипты, или даже картинки и звук) в какой-то архивный файл. Во-первых, потому, что некоторые виды данных (те же карты) могут быть предельно рыхлыми и, занимая десятки мегабайт дискового пространства в незаархивированном виде, сжиматься до нескольких килобайт простейшим архиватором. Во-вторых, сотни разрозненных файлов для каждого звука или спрайта могут создавать отменнейший бардак в папке с игрой.

Последний раз, когда передо мной возникла подобная задача, я за день накатал какую-то простенькую обертку вокруг LZMA SDK. Пока не жалуюсь. Но, как выяснилось, можно было поступить ещё проще: воспользоваться готовой библиотекой под названием PhysicsFS.

Судя по описанию, довольно навороченная и, в то же время, удобная штука.

Orcas

11.01.2007 19:07
Visual Studio Code Name «Orcas».

Ошибка года

11.01.2007 05:35
Начинаем подводить итоги.

Итак, ошибка 2006: Использование библиотек Boost.

Подскажите программу…

23.09.2006 09:34
…которая умеет преобразовать кусок С++ кода в компактный (еще раз: компактный) HTML, сохранив отступы (и, опционально, этот код раскрасив). Подсказки можно прислать почтой. Так же, желательно чтобы результирующий HTML не рвал существующее форматирование, как это делает, например, C++ Code Export.

Спасибо.

Женщина, которая сделала sigslot

14.09.2006 21:27
Вот эта женщина, а вот её sigslot.

Если вам по каким-то причинам не нравится Boost (лично у меня таких причин — масса), но хочется сигналов/слотов — sigslot — хорошая альтернатива.

HGE

07.09.2006 17:09
Вот пример того, что я называю удобной архитектурой. Ноги там, насколько я пониманию, растут из Grim 2D — движка Crimsonland.

Не без мелких ляпов, конечно, но куда же без них.

HGE, кстати говоря, стал совсем бесплатным. Одно из лучших (если не лучшее) решений для быстрого прототипирования и разработки shareware игр. Скажем спасибо дяде Haaf’у за наше счастливое детство.

Смотри также:
How to Prototype a Game in Under 7 Days

How to Prototype a Game in Under 7 Days

22.06.2006 00:46
Прекрасная статья (на английском) про ускоренное макетирование игр.

Я уже давно пытаюсь собрать некоторый набор инструментов, позволяющий максимально быстро реализовывать работающие прототипы игры. Иметь такой инструментарий очень полезно, когда нужно «пощупать» концепцию игры перед тем, как применять какие-либо серьезные усилия по её реализации. Пока что, из разнообразных пригодных для этих целей инструментов ( например, Game Maker, pyGame, DarkBASIC и проч.), самым удобным, как странно бы это не звучало, оказался вариант комбинации С + Grim 2D API (возможно, в целях rapid prototyping лучше подошел бы HGE, но до него у меня руки никак не дойдут).

Работаю.
С Любовью
,
zorgg.

Смотри также:
HGE

Lua 5.1, Luabind 0.7

08.06.2006 16:48
Над Luabind работу, похоже, продолжили. И Lua 5.1 вышел.

Update: И одно с другим совершенно не совместимо =)
Update-2:
Удалось стыковать Luabind Beta 6 и Lua 5.1. Какой жопой думали разработчики Luabind я не знаю, но у них где-то между B6 и B7 пропала поддержка виртуальных методов. Круто, правда?

Ref++

02.06.2006 09:04
Ref++ — это такой приятный add-in для Visual Studio 2003/2005, позволяющий быстро и удобно вносить структурные изменения (т.е., производить рефакторинг) в код C++.

Например, если выделить фрагмент кода и вызвать из контекстного меню «Extract Function», то этот фрагмент будет вынесен в отдельную функцию, при чем, Ref++ попытается угадать, какие у этой функции должны быть аргументы и возратное значение.

Например, код

int count = 10;
//---
int
sum = 0;

for( int i = 0; i < count; i++ )

{
sum += sum;
}

можно буквально несколькими кликами мышки преобразовать в

int TestFn(int count)
{
int sum = 0;

for( int i = 0; i < count; i++ )

{
sum += sum;
}
return sum;

}
int count = 10;
TestFn(count);

Это, впрочем, одна из самых простых (и самых используемых мной) функций add-in’а. Полный список функций можно посмотреть на сайте, самые удобные лично мне — возможность изменения сигнатуры функции по всему коду, возможность переименования функции или переменной, возможность вынести заданные члены класса в суперкласс (если у класса нет родителя, то он будет создан), или наоборот, опустить вниз по иерархии, возможность вынести заданное выражение в переменную.

Программа стоит денег (при чем, не самых малых) но раз вы можете себе позволить покупку Visual Studio… В общем, у вас есть 30 дней (trial period) чтобы определится.

И полный Интернет сайтов со взломами и генераторами ключей.

Update: Я не знаю почему, но отступы в коде на этой странице ведут себя странно. Мне лень разбираться, в чем дело, так что уж извините.

MakeHuman

16.05.2006 16:41
MakeHuman — это, по утверждению разработчиков, открытая графическая библиотека, написанная полностью на C, которая позволяет создавать параметризированные модели человеческих (и человекоподобных) персонажей.

Тут можно скачать демонстрационный pre-alpha релиз. Количество параметров, которые можно подкручивать, действительно впечатляет. При чем, изменение этих параметров заметно видоизменяет модель.

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

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

Так, или иначе, подобная библиотека с открытым исходным кодом — хорошее начало.

PyDev, wxWidgets, XRCed

16.05.2006 14:46
Наиболее приятным IDE для Python, по моему мнению, является PyDev на базе Eclipse.

GUI лучше всего создавать с помощью wxWidgets (и не только для Python’а, библиотека отлично работает с множеством других языков), собственно формы рисовать — в XRCed (входит в дистрибутив wxWidgets). Есть еще неплохой коммерческий продукт wxDesigner, но он не существенно удобней XRCed, при этом некоторые функции в нем реализованы, с моей точки зрения, хуже.

DUMB, Mikmod

24.02.2006 09:25
Две бесплатные библиотеки, играющие трекерные модули (MOD, IT, XM, S3M etc).

DUMB (freeware)
Mikmod (LGPL)

Это на случай, если за BASS или FMOD платить ломает.

Автобаланс

12.02.2006 12:07
И почему я к подобным вещам с такой иронией отношусь?

Ссылки

24.12.2005 05:53
Ерунда:

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

Я никогда не любил Шварценеггера и Хилари Клинтон (см. так же)

Первоначально новость о выпуске в нашей стране явно антисоветского проекта западного производства спровоцировала на сайте «Буки» настоящее патриотическое возмущение, вслед за которым последовало заявление издателя о том, что в России игра выйдет в «глубокой» локализации. Это означает, что помимо перевода в ее сюжет будут внесены значительные изменения, и главному герою придется охотиться не на советских солдат, а на офицеров фашистских «охранных отрядов» (СС).
Надеюсь, оригинальная версия тоже будет включена в поставку.

А вообще, DTF мы любим за вот такие последние абзацы.

Еще ерунда:

Про разработку нового стандарта C++ (на русском).

Свежий сайт по AI (на английском)

Кое-что относительно выхода December 2005 DirectX SDK (на английском).

Музыка в shareware

21.12.2005 07:16
ModPlug Tracker стал открытым. При чем, уже довольно давно.

Если необходимо воспроизводить музыку сносного качества при небольшом размере файлов — самое оно (например, для разработчиков shareware-игр или демомейкеров).

Во-первых ModPlug — единственный (из известных мне) трекер, умеющий создавать .IT-файлы с сэмплами высокого качества, читать SoundFont’ы и импортировать MIDI.

Во-вторых — эффекты, назначенные каналам в ModPlug (Reverb., Distortion и т.п.), проигрываются библиотекой BASS. Что тоже много стоит.

В общем, крайне полезная штука.

 ::