Здравствуйте, koandrew, Вы писали:
K>Здравствуйте, neFormal, Вы писали:
F>>пара-тройка дней, если не вылезает каких либо экстенных проблем с пониманием..
F>>оценки создания адекватного движка были слишком оптимистичны..
K>Выделенное слово здесь ключевое. Что автору нужно от движка (как я понял): K>1. перечисление допустимых видеорежимов K>2. Загрузка спрайтов (читай — текстур). Одна строчка кода (в D3DX есть такая ф-ция, если мне память не изменяет) K>3. Фоновый слой — тут 2 треугольника с натянутой текстурой (текстура должна быть достаточно большая, дабы не проявлялись артефакты фильтрации) K>4. Передний слой — тут по 2 треугольника на спрайт + матрицы трансформации (в общем-то тоже детский сад, особенно если помнишь институтский курс линейной алгебры)
Очевидно, что этого недостаточно, т.к. также нужно как минимум еще создать окно и инициализировать DirectX Если честно, то из документации к DX SDK как это сделать так, чтобы заработало везде — попросту неясно (если говорить о DX8 (а уж DX7, это вообще), в 9 вроде бы проще стало, но я бы для простых игр пока на 8 ориентировался). Кроме того надо, хоть и не столь обязательно, обработать переключение между приложениями, не давать системе заснуть, пока игра крутиться, в общем не забыть о куче всяких нюансов. И оттестировать всё это сильно по разному работающее на разных системах и компьютерах дело, на соответственно разных компьютерах и системах, чтобы потом не было мучительно больно отвечать на вопросы типа "а у меня игра не запускается, говорит нет такой-то dll, причем установка последнего DirectX не помогает".
K>Итого в худшем случае имеем день-полтора активного курения СДК + экспериментов и ещё максимум день собственно написания движка + тестирование. То есть 1-2 weekend'а должно быть более чем достаточно.
А можно за это время уже gameplay начать отлаживать
Здравствуйте, Рома Мик, Вы писали:
РМ>Очевидно, что этого недостаточно, т.к. также нужно как минимум еще создать окно и инициализировать DirectX Если честно, то из документации к DX SDK как это сделать так, чтобы заработало везде — попросту неясно (если говорить о DX8 (а уж DX7, это вообще), в 9 вроде бы проще стало, но я бы для простых игр пока на 8 ориентировался). Кроме того надо, хоть и не столь обязательно, обработать переключение между приложениями, не давать системе заснуть, пока игра крутиться, в общем не забыть о куче всяких нюансов. И оттестировать всё это сильно по разному работающее на разных системах и компьютерах дело, на соответственно разных компьютерах и системах, чтобы потом не было мучительно больно отвечать на вопросы типа "а у меня игра не запускается, говорит нет такой-то dll, причем установка последнего DirectX не помогает".
Инициализация DXG разжёвана в СДК просто до предела. Далее, использовать что-то древнее DX9 не вижу никакого смысла (ибо я за последние пару-тройку лет не видел десктопов без DX9). Дистрибутив версии DX, на которой проект точно заработает, берёте из СДК и поставляете вместе с игрой — тогда гарантированно отсутствие проблем с дллками. Не давать системе заснуть — хм, я бы давал. Просто надо нормально обрабатывать пробуждение То же касает корректного восстановления после сворачивания. Опять же, в нашем случае можно тупо переинициализировать систему — этого будет вполне достаточно.
РМ>А можно за это время уже gameplay начать отлаживать
Агащаззз. Просто вместо вопросов "как установить текстуру в DXG" будут вопросы "как сделать А на движке Б?". Если первое легко находится в СДК, то со вторым есть определённые проблемы...
Здравствуйте, koandrew, Вы писали:
F>>оценки создания адекватного движка были слишком оптимистичны.. K>Выделенное слово здесь ключевое.
разумеется
Что автору нужно от движка (как я понял):
цитата: "Обдумываю проект простенькой игры."
игра — это немного больше, чем несколько треугольников, пара сообщений ввода и немного звуков..
K>Собственно, всё. По поводу звука — тут тоже в общем-то всё несложно (примеры опять-таки есть в СДК, в том числе для DS3D, хотя я с трудом представляю, зачем это может понадобиться в 2D приложении).
ну, эффекты разные (в т.ч. EAX), использование баланса (лево-право).. это то, что можно применить в 2D игре..
Здравствуйте, koandrew, Вы писали:
РМ>>А можно за это время уже gameplay начать отлаживать K>Агащаззз. Просто вместо вопросов "как установить текстуру в DXG" будут вопросы "как сделать А на движке Б?". Если первое легко находится в СДК, то со вторым есть определённые проблемы...
зависит от А..
вопросы в обоих случаях будут.. никогда еще документация не спасала на 100%
Толком никто из нас не знает для чего человек делает эту свою игру.
Поэтому ваш спор не имеет смысла
з.ы.
Вот делает он например супер хит казуальный, и весь ваш предыдущий пост "не правильный",
да и вообще желание делать свой велосипед как-то тоже выглядит странным.
Здравствуйте, koandrew, Вы писали:
K>Здравствуйте, Рома Мик, Вы писали:
РМ>>Очевидно, что этого недостаточно, т.к. также нужно как минимум еще создать окно и инициализировать DirectX Если честно, то из документации к DX SDK как это сделать так, чтобы заработало везде — попросту неясно (если говорить о DX8 (а уж DX7, это вообще), в 9 вроде бы проще стало, но я бы для простых игр пока на 8 ориентировался). Кроме того надо, хоть и не столь обязательно, обработать переключение между приложениями, не давать системе заснуть, пока игра крутиться, в общем не забыть о куче всяких нюансов. И оттестировать всё это сильно по разному работающее на разных системах и компьютерах дело, на соответственно разных компьютерах и системах, чтобы потом не было мучительно больно отвечать на вопросы типа "а у меня игра не запускается, говорит нет такой-то dll, причем установка последнего DirectX не помогает".
K>Инициализация DXG разжёвана в СДК просто до предела.
Значит я такой тупой
K>Далее, использовать что-то древнее DX9 не вижу никакого смысла (ибо я за последние пару-тройку лет не видел десктопов без DX9).
А я видел Как стоит XP, на который никто обновления не ставит, так сразу нет DX9. Если речь идет не о хардкорном игроке или даже о рабочем компьютере просто, то такое сплошь и рядом. XP шёл с DX8, вот на него и стоит ориентироваться, если не хочешь проблем. Когда XP не останется, тогда можно будет на DX9 переползать.
K>Дистрибутив версии DX, на которой проект точно заработает, берёте из СДК и поставляете вместе с игрой — тогда гарантированно отсутствие проблем с дллками.
Т.е. надо с игрой распространять ещё и дистрибутив DX?
K>Не давать системе заснуть — хм, я бы давал. Просто надо нормально обрабатывать пробуждение То же касает корректного восстановления после сворачивания. Опять же, в нашем случае можно тупо переинициализировать систему — этого будет вполне достаточно.
Т.е. есть и над чем подумать и что делать.
РМ>>А можно за это время уже gameplay начать отлаживать K>Агащаззз. Просто вместо вопросов "как установить текстуру в DXG" будут вопросы "как сделать А на движке Б?". Если первое легко находится в СДК, то со вторым есть определённые проблемы...
Не вместо. Вопрос, как сделать А, будет и там, и там, а вопрос, как установить текстуру, будет только в DX
Здравствуйте, dmSoketov, Вы писали:
GC>>Обдумываю проект простенькой игры. Предпологается среда разработки — VS, язык Visual C++. S>Я бы брал HGE либо PopCap framework
Точно, HGE рулит! Отличный простой бесплатный 2D-движок + всё что нужно (фонты, саунд, инпут).
Если нужно сосредоточится на игровой логике и не забивать голову аппаратной/низкоуровневой частью, то для несложного проекта под Win — выбор практически идеальный.
Единственная проблема — не нашел как работать с пикселями (получать цвет конкретного пикселя).
Здравствуйте, Рома Мик, Вы писали:
РМ>Значит я такой тупой
Я этого не говорил
РМ>А я видел Как стоит XP, на который никто обновления не ставит, так сразу нет DX9. Если речь идет не о хардкорном игроке или даже о рабочем компьютере просто, то такое сплошь и рядом. XP шёл с DX8, вот на него и стоит ориентироваться, если не хочешь проблем. Когда XP не останется, тогда можно будет на DX9 переползать.
Тогда уж на DX10 Вообще девятка ставится, например, вместе с некоторыми аудио/видеодровами. Или с софтом, ориентированным на редактирование этого дела. В общем, ИМХО с большой долей достоверности можно считать, что DX9 уже имеется в системе.
РМ>Т.е. надо с игрой распространять ещё и дистрибутив DX?
Можно воткнуть бутстраппер к веб-инсталляции.
РМ>Т.е. есть и над чем подумать и что делать.
Нет — всё уже подумано за вас Вам осталось только почитать СДК и сделать так, как там рекомендуют.
РМ>Не вместо. Вопрос, как сделать А, будет и там, и там, а вопрос, как установить текстуру, будет только в DX
Не будет — ибо в СДК это описано так, что, по-моему, полный кретин поймёт, как это делать. IDirect3DDevice9::SetTexture() — что может быть непонятно в этом одном вызове А, ну да — номер тексуры. Но если не юзать мультитекстурирование и шейдеры, то можно забить и передавать 0
Вообще, чтение СДК полезно ещё и тем, что там даётся необходимый минимум теоретических сведений. И их всё равно придётся где-то взять (ну и, конечно, было бы очень неплохо хотя бы в общих чертах вспомнить институтский курс линейки — в частности про матрицы Якоби и матрицы трансформации) — чтобы не было вопросов типа "почему translate+rotate != rotate+translate", "что такое видовая матрица и матрица проекции", "какие бывают и чем друг от друга отличаются виды проекций" и т.п. Плюс там есть масса best practices а-ля почему лучше иметь одну большую текстуру и маппить её фрагменты на геометрию, чем иметь много мелких текстур, почему рисовать надо сначала удалённую от камеры геометрию, а потом более проиближённую, почему лучше использовать матрицы трансформации вместо того, чтобы каждый раз перерассчитывать и загонять в видеопамять геометрию...
Ну и ещё конечно же есть либа D3DX, которая из себя представляет что-то типа констуктора "сделай сам графический движок", автоматизируя почти все типовые операции (загрузка объектов/текстур/эффектов, генерация некоторых геометрических примитивов, hit-test и т.д. — там много чего есть). При этом (я считаю это важным преимуществом) тебе не навязывается архитектура приложения — тут есть простор для творчества. В том же TGE(A), с которым я работал одно время, с этим имеются определённые проблемы.
P.S. так и подмывает сваять этот движок уже Если бы были до конца понятны требования — уже тестировали бы вместо этих пустопорожних дебатов
Здравствуйте, neFormal, Вы писали:
F>цитата: "Обдумываю проект простенькой игры." F>игра — это немного больше, чем несколько треугольников, пара сообщений ввода и немного звуков..
Ага, ещё это карты, сценарий и ресурсы. Всё это нужно вне зависимости от того, используешь ты сторониий движок или самописный. Кстати и тут можно наткнуться на ограничения движка (вот например мы упёрлись в проблему реализации прозрачного роуминга между серверами, а TGE(A) этого не поддерживает А разбираться в десятках метров навороченного C++ кода чё-то как-то не очень хочется... При том, что схема реализации такой штуки нам ясна, и, используй мы свой движок, уже наверняка чё-нить придумали бы. А сейчас если заняться разработкой движка, то во весь рост встаёт проблема миграции (конвертация ресурсов, переписывание того, что уже было написано и т.п.)
F>ну, эффекты разные (в т.ч. EAX), использование баланса (лево-право).. это то, что можно применить в 2D игре..
Эффекты можно пререндеренные использовать (убил бы того, что EAX API разрабатывал ), баланс делается на счёт раз-два с помощью DS3D (если очень хочется — там всего несколько строк кода)...
Здравствуйте, neFormal, Вы писали:
F>неужели велосипед проще?. F>а модификация запрещена лицензией?. или исходники не все открыты?.
Нет, не запрещена, но тут есть другие проблемы — огромный объём кода и обновление (мёрджинг)
F>и правда ли, что у torque безумная лицензия: 1,5 килобакса за девелопера в месяц?.
Конечно неправда. Это один из самых дешёвых из коммерческих движков (Инди-версия стоит всего $150). См http://www.garagegames.com/products/browse/torque/?sort=popular
F>я использовал BASS.. поэтому проблем с EAX API не было вообще ^____^
Здравствуйте, koandrew, Вы писали:
F>>и правда ли, что у torque безумная лицензия: 1,5 килобакса за девелопера в месяц?. K>Конечно неправда. Это один из самых дешёвых из коммерческих движков (Инди-версия стоит всего $150). См http://www.garagegames.com/products/browse/torque/?sort=popular
Shareware licence: €100
The "shareware" licence allows the usage of BASS in an unlimited number of your shareware products, which must sell for no more than 40 Euros each. If you're an individual (not a corporation) making and selling your own software (and its price is within the limit), this is the licence for you.
purchase
Single Commercial licence: €950
The "single commercial" licence allows the usage of BASS in a single commercial product.
purchase
Unlimited Commercial licence: €2450
The "unlimited commercial" licence allows the usage of BASS in an unlimited number of your commercial products. This licence applies to a single site/location.
F>Shareware licence: €100
F>The "shareware" licence allows the usage of BASS in an unlimited number of your shareware products, which must sell for no more than 40 Euros each. If you're an individual (not a corporation) making and selling your own software (and its price is within the limit), this is the licence for you.
F>purchase
F>Single Commercial licence: €950
F>The "single commercial" licence allows the usage of BASS in a single commercial product.
F>purchase
F>Unlimited Commercial licence: €2450
F>The "unlimited commercial" licence allows the usage of BASS in an unlimited number of your commercial products. This licence applies to a single site/location.
Ну вот ещё полторашка зелени...за поддержку EAX?? Да за такие бабки я лучше EAX API помучаю
извиняюсь, сглючил.. спутал с другим движком, там $150 в месяц..
K>Ну вот ещё полторашка зелени...за поддержку EAX?? Да за такие бабки я лучше EAX API помучаю
Здравствуйте, koandrew, Вы писали:
K>почему рисовать надо сначала удалённую от камеры геометрию, а потом более проиближённую,
А мне всегда казалось что нужно в случае с непрозрачной геометрией нужно делать наоборот.
Ибо если сначала отрисовать то что близко то быстрые проверки по Zбуферу отсекут медленный рендер того что реально не видно.
А в случае с прозрачной наоборот. Ибо при альфабленде обычно используют простую и не правильную функцию при применении которой имеет значение порядок бленда.
Причем сначала нужно отрисовать все не прозрачное, а потом отключить запись в Z буфер отрисовать все прозрачное. Отключать запись в Z буфер нужно чтобы пересекающеяся прозрачные треугольники таки отрисовались хоть и не очень правильно из-за не правильной функции в альфабленде.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, neFormal, Вы писали:
F>для казуалок удобная либа..
Ну может быть, но лично я за такие бабки лучше EAX SDK помучаю. Он конечно замороченный, но не настолько, чтобы платить кучу бабок за либу вокруг него. Собственно главная проблема, что халявно досупен тока SDK EAX up to 2.0, для более новых версий бапки платить придётся... И что-то мне подсказывает, что EAX Enchanced HD aka EAX 3.0 и выше этим BASS'ом тоже не поддерживается...
Здравствуйте, Леонид, Вы писали:
Л>а как насчет PlayGround Л>живой форум, документация. бесплатный. Л>плюс осваивается получше popCap... это конечно не TGB но зато с++...