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

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.

«Мама, я хочу быть ребенком в Советском Союзе»

04.04.2007 03:49
Самая высокая зарплата у адвокатов и менеджмента (business staffers) — в среднем 95 596 долларов в год. Меньше зарабатывают программисты — 80 886 $, еще меньше производственный штат — 77 131 $. Звуковики получают 69 935 $, дизайнеры и художники — 65 107 $. И, как ни странно, почти не ценятся гейм-дизайнеры, их ставка — 61 538 $. Тестерам же, вообще, приходится выживать на жалкие 37 861 $
( >>> )

Хочу быть игровым программистом.

Intel® Game Demo Contest 2007

04.04.2007 03:32
Кто хочет поучаствовать?

Alpha vs. Beta

21.03.2007 07:09
Посвящается бета-тестерам, которые упорно настаивают, что они альфа- :
A beta version or beta release usually represents the first version of a computer program that implements all features in the initial requirements analysis. It is likely to be useful for internal demonstrations and previews to select customers, but unstable and not yet ready for release.
( >>> )

Курсив мой.

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

Чем казуальные игры отличаются от игр для не-игроков

14.03.2007 01:31
В своем докладе на GDC Сигеру Миямото сказал, что определяет привлекательность игры по «Жен-О-Метру». Проще говоря показывает игру своей жене и по ее реакции определяет, насколько игра хорошая.
( >>> )

А вот короткий клип из личной жизни великого дизайнера: «Как Миямото забыл принять свои таблетки».

Казуальщина

09.03.2007 18:45
Вы же знаете, какими должны быть казуальные игры? И вообще, все downloadable shareware, да?

Ну так вот, мы сделали всё в точности наоборот. Как вы считаете, мы умрём?

Скоро увидим, в общем.

Billion dollar

06.03.2007 20:22
Интересная новая идея. Революционный подход, я бы даже сказал. И почему до этого раньше никто не додумался?

Кроме, вы знаете, Interplay, Sir-Tech, Microprose и десятка других, царство им небесное.

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

Игры каких жанров нужно делать в этом сезоне?

23.02.2007 13:55
Время от времени я наталкиваюсь на статьи, в которых даются ценные советы разработчикам игр. Иногда эти советы находятся в области вопроса жанра создаваемой игры. Например, «не создавайте стратегии реального времени, это вчерашний день». Или: «в этом сезоне большой популярностью пользуются симы и игры-тамагочи». Аргументируется это отсылками к графикам продаж. Мол, вот посмотрите на три верхние позиции.

Что в очередной наталкивает на мысли, будто индустрия то ли ещё слишком молода, то ли стоит на одних идиотах. Представьте себе, что вы зашли на финансовый портал и прочитали аналитическую статью: «Советуем вам продавать японскую йену, так как в эту неделю она пользуется бешеным спросом». И ссылка на свечки. Хорошая аналитика?

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

А теперь я отвечу на вопрос, который поставил в заголовок поста: Делать нужно хорошие игры. Любой направленности. Главное, чтобы хорошие. И тогда горе-аналитики напишут, что в этом сезоне популярно делать игры именно этого жанра. Клоны Zuma, Crimsonland’а, Magic Ball’а и пр., начали появляться благодаря успеху первых. А не потому, что их разработчики как-то интуитивно первыми угадали жанр, который будет популярен к релизу.

Так что, любой, кто пытается делать игры «популярного в этом сезоне жанра» — вторичный non-factor. Простите за резкость.

«Should I Become an indie game developer?»

16.01.2007 06:07
I think most people who ask this question (or one like it) are really asking, «Will I be successful at it, and how painful will it be?»

Well… going by historical precedent, the answers are, «No, and as painful as you want to make it.»

(source)

Правда-правда. No, and as painful as possible you want to make it.

Оттуда же:

«I now have an opinion on how to properly get involved in the downloadable games market:

Don’t.»

Еще об экранном разрешении

28.12.2006 15:35
Немного расшифрую свои утверждения из предыдущего поста.

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

Итак, первое: Статистика по экранным разрешением сама по себе бесполезна. Если у пользователя монитор с диагональю 15", то можно смело готовить графику для разрешения… ну, скажем, 800x600, вне зависимости от того, какое разрешением установлено. То есть, нам важно, чтобы на экране пользователя отсутствовали уродливые следствия интерполяции, не более того. Следовательно, статистика по диагоналям экранов была бы значительно более полезной. Впрочем, можно предположить, что популярность разрешения 1280х1024 косвенно говорит о необходимости создавать графику, которая нормально выглядит хотя бы на 19" мониторе.

Второе: Для большинства «казуальных» игр полноэкранный режим это, скорее, nice to have, чем что-то жизненно-необходимое. Вы часто играете в клоны тетриса и всевозможные match three in a row в полноэкранном режиме? Лично я предпочитаю играть в такие игры в окне размером 800х600 или, реже, 1024х768 (разрешение экрана у меня 1280х960).

Ну и, наконец, статистика экранных разрешений для посетителей сайта GameProducer.net — не очень репрезентативная штука. Сайт посещают, в первую очередь, разработчики, а не игроки. Разработчики часто вынуждены устанавливать повышенное разрешение исключительно ради удобства работы в тех или иных пакетах разработки. В моем случае, разрешение 1280х960 при диагонали 17" — вынужденная мера, связанная с большим количеством информации, которую нужно поместить на экране, при работе, например, с отладчиком Visual Studio. Обычные же офисные сотрудники и домашние пользователи часто пользуются разрешением 1024x768 даже при относительно больших диагоналях экрана.

Смотри также:
Какое разрешение?

Какое разрешение?

28.12.2006 14:33
It looks like 1024×768 screen resolution as the minimum is a good choice — and there’s no point considering 640×480.

What Screen Resolution Is Best to Design For? (2006 Statistics)

На самом деле, вывод (как и способ замера статистики) довольно спорный, но знать полезно.

Смотри также:
Еще об экранном разрешении

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

Кпоки, которые не нажимаются

21.06.2006 05:22
Некоторый игровой контроллер, возможно клавиатура, нажатие кнопок которого может быть заблокировано программно. Блокировка происходит в тех случаях, когда связанное с нажатием действие не может быть выполнено в текущий момент времени.

Примеры:

- FPS блокирует кнопку стрельбы, пока оружие перезаряжается и не может стрелять.
- Игра блокирует кнопки передвижения на время, пока игрок находится под действием Frost Nova или Ice Block.
- WoW блокирует hotkeys спеллов, которые в данный момент на кулдауне.

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

Более продвинутые устройства могут позволять контролировать сопротивление, с которым кнопка нажимается. Например, медленное, требующее усилий действие вызывается нажатием на кнопку с бОльшим сопротивлением (как будто кнопка погружается в вязкую плотную жидкость), чем быстрое действие, предполагающее частые повторения (каст спелла vs. нажатие на курок револьвера).

Lua 5.1 + Direct3D

20.06.2006 03:55
Памятка пользователям Lua 5.1 и Direct3D:

При создании устройства необходимо обязательно поднимать флаг D3DCREATE_FPU_PRESERVE. Иначе всему пиздец. Только что с этим столкнулся.

A warning for users of DirectX/Direct3D: You MUST set the
D3DCREATE_FPU_PRESERVE flag upon initialization when you
use Lua in the same thread. Otherwise you’ll encounter
strange behaviour -- complain to Microsoft, not to us.
( источник )

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 пропала поддержка виртуальных методов. Круто, правда?

MakeHuman

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

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

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

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

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

GG David Sirlin, L2P

26.02.2006 18:09
Gamasutra Soapbox: World of Warcraft Teaches the Wrong Things.

В принципе, если вы достаточно долго наблюдали за вечным нытьем в WoW-General, то статью можно и не читать. Всё то же.

Автобаланс

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. Что тоже много стоит.

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

Высокополигональные символы

31.10.2005 18:02
Когда-то давно, когда персональные компьютеры состояли из клавиатуры, телевизора и кассетного магнитофона, солнце светило ярче, а я еще не стал двадцатидвухлетним старым пердуном, в те старые времена компьютерные игры создавались без помощи фотореалистичных текстур, карт нормалей, «тряпичных кукол» и «неоднородных рациональных поверхностей Безье». Возможно, в ту пору никто попросту не догадался, что все эти высокотехнологические матерные слова жизненно необходимы для создания «эффекта погружения» в игру (а может и по какой-то другой причине, точно уже не помню). Но факт, что лично мне чудесно «погружалось» и в четыре цвета в разрешении 320 на 200. Невероятно, но факт. Нам, бедным детям той суровой эпохи, просто не оставалось ничего лучше, как верить, что вон та зеленая фиговина (восемь на восемь пикселей) — не что иное, как храбрый Коммандос, отражающий нападение полчищ Вражеских фиолетовых фиговин (шесть на четыре), и мы верили.

Это была традиционная пятиминутка квазистарческого пердежа на тему «куда катится мир в целом и игровая индустрия в частности» (тема, которую так любит поднимать Дима, у которого сегодня день рождения, с чем я его и поздравляю), а теперь что хотел сказать:

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

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

Да что там зеленая фиговина, некоторым людям удается создать вполне достоверные и правдоподобные образы с помощью одного цвета — черного на белом, — и ограниченного набора закорючек, именуемых «буквами». По сравнению с этим, «цветной графический адаптер» с его четырьмя цветами и 16777216 тысячами миллиардов (впечатляет, не так ли?) комбинаций этих цветов на экране предоставляет воистину удивительные возможности. Если что, речь шла о популярной (годах так в восьмидесятых, если ничего не путаю) линейке видеоадаптеров CGA.

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

«Во-вторых» не будет. Это, пожалуй, всё, что я хотел сказать про Жопу Индустрии, Doom 3, Quake 4 и «эффект погружения». Добавлю только, что видеоигры превращаются в хобби для фриков (мне с каждым днем становится всё сложнее играть в то шоу высоких технологий, которым стали видеоигры — скучно до чертиков), что реализм в изобразительном искусстве был побежден фотоаппаратом, что тщательная прорисовка деталей — далеко не то, что нужно чтобы «поверить» в историю и на этом закончу.

Высокополигональные символы

31.10.2005 18:02
Когда-то давно, когда персональные компьютеры состояли из клавиатуры, телевизора и кассетного магнитофона, солнце светило ярче, а я еще не стал двадцатидвухлетним старым пердуном, в те старые времена компьютерные игры создавались без помощи фотореалистичных текстур, карт нормалей, «тряпичных кукол» и «неоднородных рациональных поверхностей Безье». Возможно, в ту пору никто попросту не догадался, что все эти высокотехнологические матерные слова жизненно необходимы для создания «эффекта погружения» в игру (а может и по какой-то другой причине, точно уже не помню). Но факт, что лично мне чудесно «погружалось» и в четыре цвета в разрешении 320 на 200. Невероятно, но факт. Нам, бедным детям той суровой эпохи, просто не оставалось ничего лучше, как верить, что вон та зеленая фиговина (восемь на восемь пикселей) — не что иное, как храбрый Коммандос, отражающий нападение полчищ Вражеских фиолетовых фиговин (шесть на четыре), и мы верили.

Это была традиционная пятиминутка квазистарческого пердежа на тему «куда катится мир в целом и игровая индустрия в частности» (тема, которую так любит поднимать Дима, у которого сегодня день рождения, с чем я его и поздравляю), а теперь что хотел сказать:

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

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

Да что там зеленая фиговина, некоторым людям удается создать вполне достоверные и правдоподобные образы с помощью одного цвета — черного на белом, — и ограниченного набора закорючек, именуемых «буквами». По сравнению с этим, «цветной графический адаптер» с его четырьмя цветами и 16777216 тысячами миллиардов (впечатляет, не так ли?) комбинаций этих цветов на экране предоставляет воистину удивительные возможности. Если что, речь шла о популярной (годах так в восьмидесятых, если ничего не путаю) линейке видеоадаптеров CGA.

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

«Во-вторых» не будет. Это, пожалуй, всё, что я хотел сказать про Жопу Индустрии, Doom 3, Quake 4 и «эффект погружения». Добавлю только, что видеоигры превращаются в хобби для фриков (мне с каждым днем становится всё сложнее играть в то шоу высоких технологий, которым стали видеоигры — скучно до чертиков), что реализм в изобразительном искусстве был побежден фотоаппаратом, что тщательная прорисовка деталей — далеко не то, что нужно чтобы «поверить» в историю и на этом закончу.

Games for the Wage Slaves

03.08.2005 19:29
Еще одна статья с GameDev.net.

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

Ничего нового, но дизайнерам «офисных», web- и мобильных игр будет, наверное, полезно почитать.

RPG in a week

02.08.2005 15:40
Статья о том, как парень сделал RPG (вернее, Hack’n’Slash) за неделю. Довольно интересно.

Про RPG

18.07.2005 07:36
Шесть страниц размышлений на тему «что мы называем „RPG“ и как мы до такой жизни докатились». Почитайте, там с картинками.
 ::