Здравствуйте, Green Chest, Вы писали:
GC>Буду рад советам, ссылкам
обрати внимание на PopCap Framework..
лично мне он нравится сильно больше, чем тот же самый hge.. имхо hge написан не самым вкусным образом..
по функциональности попкап умеет делать:
1. рендер (софтовый и аппаратный), на 3Д не ориентирован, то можно сделать(проверял).. по умолчанию используется DX7(в hge DX8).. авторы обещали переписать на DX9, но пока не торопятся выкладывать новую версию..
2. звук (DirectSound, BASS и FMod)
3. управление (мышь, клавиатура)
3. управление ресурсами (графика, звуки, тексты).. При росте проектов многое дописывается или заменяется..
4. может слать http-запросы, но видимо это только для записи рекордов
5. может запускать флэш.. но на большом разрешении это будет тормозить, т.к. рисуется через gdi.. на мелком разрешении всё нормально..
всё сделано на достаточно простом уровне, чтобы научиться с ним работать за день-два.. есть простые туториалы..
Здравствуйте, neFormal, Вы писали:
F>обрати внимание на PopCap Framework.. F>лично мне он нравится сильно больше, чем тот же самый hge.. имхо hge написан не самым вкусным образом..
Спасибо, посмотрим-с.
у меня игра на directdraw написана, использующая два буфера, переключающихся через flip. теперь решил её полностью на direct3D переписать. но подходящей литературы на русском нет. так что приходиться изучать английский и смотреть в сторону gamedev.net
не знаю, нужно ли программисту понимать, как работает direct3D на низком уровне — как выполняется проецирование, накладываются текстуры, освещение.
в любом случае удачи в этом непростом геймдэве.
Я не спец в графике, но всегда думал что для 2D всегда можно использовать AntiGrainGeometry (http://www.antigrain.com/).
Почему никто не предлагает эту библиотеку?
Здравствуйте, Mazay, Вы писали:
M>Здравствуйте, Green Chest, Вы писали:
M>Я не спец в графике, но всегда думал что для 2D всегда можно использовать AntiGrainGeometry (http://www.antigrain.com/). M>Почему никто не предлагает эту библиотеку?
Здравствуйте, Аноним, Вы писали:
А>А кстати, какое у неё назначение? Спрашиваю безо всяких подколок и издевок — просто дейтсвильно интеренос когда юзать AGG а когда OPenGL
agg — векторная графика, высококачественная. софтварный рендер.
opengl — это все же больше 3D библиотека. "дверь" к видеокарте и аппаратному ускорению.
И как следаствие тормоза на больших объемах данных (например 10000 градиентных прямоугольничков)
8>opengl — это все же больше 3D библиотека. "дверь" к видеокарте и аппаратному ускорению.
И как следствие на болших объемах данных надо юзать его?
Все это я говорю про 2D — ясно что в 3D лезть с AGG не надо
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, 8bit, Вы писали:
8>>agg — векторная графика, высококачественная. софтварный рендер. А>И как следаствие тормоза на больших объемах данных (например 10000 градиентных прямоугольничков)
Да, а как же без этого, но тут все от цели и задачи зависит.
8>>opengl — это все же больше 3D библиотека. "дверь" к видеокарте и аппаратному ускорению. А>И как следствие на болших объемах данных надо юзать его?
Опять же, это смотря какие цели и что вообще вам нужно. Может оказаться что будет наоборот,
еще медленне чем с софтварным рендерингом, да и качество может оказаться намного ниже.
Современное железо ведь ничего кроме как треугольники рисовать не умеет. Рисовать на нем
"вектор" ох как не просто.
Здравствуйте, Green Chest, Вы писали:
GC>Здравствуйте!
GC>Обдумываю проект простенькой игры. Предпологается среда разработки — VS, язык Visual C++.
Я бы брал HGE либо PopCap framework
Re[3]: Что лучше для двухмерной графики?
От:
Аноним
Дата:
20.10.08 12:57
Оценка:
Здравствуйте, Green Chest, Вы писали:
GC>(хоть и оговаривается что DirectDraw стар, но при том в нём есть всё необходимое)
Здравствуйте, dmSoketov, Вы писали:
S>Я бы брал HGE либо PopCap framework
Чтобы нарисовать пару десятков текстурированных треугольников? Народ, да вы что? Такой "движок" ваяется за час-полтора и содержит пару сотен строк кода (причём большая часть из них — код инизиализации). Берёте в зубы DX SDK и курите там раздел, посвящённый инициализации (или тупо копируете из сэмплов), и раздел, посвящённый рендерингу (чтобы знать, что такое Vertex buffer и текстура и как всё это хозяйство скормить дровам). Собственно, всё.
Звук на DS тоже делается в два счёта — в простом случае покатит тупое проигрывание из памяти безо всяких извращений типа кольцевых буферов (хотя конечно если предполагается фоновая музыка, то для неё лучше бы заморочиться — ибо 50-60 МБ памяти, которые съедает типичный 5-6 минутный аудиотрек, лишними не бывают). С другой стороны, музон можно и системными стредствами играть (дабы не геморроиться с раскодировкой на лету), ибо 3D-эффекты тут, как правило, не нужны...
Короче, моя рекомендация — забей на движки и просто покури пару-тройку часов DX SDK — благо там весьма вменяемо всё описано, и есть куча сэмплов, демонстрирующих разные фичи (тебе оттуда понадобится разве что код инициализации всего этого добра). После этого ты будешь в состоянии сваять движок, удовлетворяющий твоим требованиям.
Здравствуйте, koandrew, Вы писали:
S>>Я бы брал HGE либо PopCap framework K>Чтобы нарисовать пару десятков текстурированных треугольников? Народ, да вы что? Такой "движок" ваяется за час-полтора и содержит пару сотен строк кода (причём большая часть из них — код инизиализации).
пруф?. +)
K>Берёте в зубы DX SDK и курите там раздел, посвящённый инициализации (или тупо копируете из сэмплов), и раздел, посвящённый рендерингу (чтобы знать, что такое Vertex buffer и текстура и как всё это хозяйство скормить дровам). Собственно, всё.
и получаете в итоге трэш, который надо как то использовать..
K>(хотя конечно если предполагается фоновая музыка, то для неё лучше бы заморочиться — ибо 50-60 МБ памяти, которые съедает типичный 5-6 минутный аудиотрек, лишними не бывают).
и тут пошли нюансы, на которые уходит большинство времени..
K>Короче, моя рекомендация — забей на движки и просто покури пару-тройку часов DX SDK — благо там весьма вменяемо всё описано, и есть куча сэмплов, демонстрирующих разные фичи (тебе оттуда понадобится разве что код инициализации всего этого добра).
потом пару-тройку дней поотлаживай это добро..
K>После этого ты будешь в состоянии сваять движок, удовлетворяющий твоим требованиям.
ему игру сделать надо или движок написать?.
гуй ему тоже самому делать?.
а управление ресурсами?.
а систему окон?.
а поддержку разных форматов?.
а ..........
Вы так говорите, как будто это пара-тройка лет. Пара-тройка дней долбления головой об стенку при освоении новой технологии — нормальная штатная ситуация для программиста. Если это пугает, лучше вообще не браться.
Здравствуйте, Панда, Вы писали:
F>>потом пару-тройку дней поотлаживай это добро..
П>Вы так говорите, как будто это пара-тройка лет. Пара-тройка дней долбления головой об стенку при освоении новой технологии — нормальная штатная ситуация для программиста. Если это пугает, лучше вообще не браться.
Все кто чего-то достигли стояли на плечах предшественников. С таким подходом можно и операционку для своей игры написать или даже компьютер сконструировать.
А насчёт того, что можно за пару тройку дней написать аналог базовой библиотеки hge — это неправда, если нет опыта работы с DirectX. Что-то сделать можно, как раз за пару дней, а потом, когда будет игра, полезут проблемы. Потому, что у индивидуального разработчика — один, два компьютера, и далеко не всегда он, например, отладит мультимониторные конфигурации. Просто не подумает о проблемах с переключением на другие приложения (а такие проблемы регулярно бывают даже в коммерческих играх).
Здравствуйте, neFormal, Вы писали:
F>пара-тройка дней, если не вылезает каких либо экстенных проблем с пониманием..
F>оценки создания адекватного движка были слишком оптимистичны..
Выделенное слово здесь ключевое. Что автору нужно от движка (как я понял):
1. перечисление допустимых видеорежимов
2. Загрузка спрайтов (читай — текстур). Одна строчка кода (в D3DX есть такая ф-ция, если мне память не изменяет)
3. Фоновый слой — тут 2 треугольника с натянутой текстурой (текстура должна быть достаточно большая, дабы не проявлялись артефакты фильтрации)
4. Передний слой — тут по 2 треугольника на спрайт + матрицы трансформации (в общем-то тоже детский сад, особенно если помнишь институтский курс линейной алгебры)
Собственно, всё. По поводу звука — тут тоже в общем-то всё несложно (примеры опять-таки есть в СДК, в том числе для DS3D, хотя я с трудом представляю, зачем это может понадобиться в 2D приложении). Инпут — обойдётся виндовыми сообщениями, хотя и подцепить DI тоже не ахти какая сложная задача.
Итого в худшем случае имеем день-полтора активного курения СДК + экспериментов и ещё максимум день собственно написания движка + тестирование. То есть 1-2 weekend'а должно быть более чем достаточно.