-
Не знаю насчет хухры-мухры, но те же Вангеры это делают довольно резво, а рассчитаны на довольно древние компы
ИМХО, Вангеры ничего не поворачивают, они сразу рисуют картинку повёрнутой (воксели). К тому же там 8 bpp. Для движка, который ориентирован на аппаратное ускорение - лучше, конечно, поворачивать через 3D. Если надо - могу выдать совместимый с DDraw (движок ведь сделан на DDraw?) пример.
Насчёт орфографических ошибок не помню, но вот логическая: "Дальнобойность - 12 метров"; тогда уж "клеток", "тайлов" или ещё каких-нибудь у.е.
-
> [40] Sapersky (11.12.06 14:35)
На DelphiX он сделан.
-
> выдать совместимый с DDraw (движок ведь сделан на DDraw? > ) пример
Интересно было бы посмотреть пример в котором шустро вертится здоровенная картинка, не важно на чем этот пример написан.
А игра да, на DelphiX сделана, вот такой вот я извращенец и мазохист :)
-
boalse © (12.12.06 5:57) [42] зачем двигать всю картинку 1024*768(ну или сколько там)? оптимизация и хитрость рулят:) при загрузке игры создаем массивчик (можно для каждого тайла, что должен будет повернуться) в который кидаем указатели от повернутых изображений тайла на 10 градусов (20, 30, 40 и тд). При отрисовке сцены в зависимости от укла поворота мира рисуем нужный тайл из массивчика у которого угол поворота более соответсвует углу мира. Конечно будет дискретность поворота - дато скорость почти не упадет, а загрузка игры будет как у солидной игры - не долго, но с прогрессбаром:) (а то некоторые для понта специально делают "медленную" загрузку - ненавижу). Я для в одной работе делал 48 изображений каждого спрайта кораблика, при динамике не очень то и заметно, что кораблик не в реалтайм поворачивается. В итоге все довольно быстро работает, не смотря на то, что GDI выводило картинку:) ЗЫ Канвас - рулез:)
-
Аффтору игры респект и зачет. Управлять правда неудобно, но очевидно, что вложено много творческих сил и умений. Уважуха короче!
-
Знаю я такую хитрость, при старте игры идёт процесс кэширования, это поворачивается всё, что поворачивается (танки, пули и т.п), ну и загоняется в массив. Это длится достаточно долго (30 сек где-то). Карта будет поворачиваться ещё дольше. Плюс к этому, во время игры на карте отрисовывается "мусор" - гильзы взякие, осколки, следы от гусениц. Не охото отот мусор тоже держать в массиве и каждый раз отрисовывать. Ещё его можно отрисовывать на каждый повёрнутый тайл карты, но это будет в много раз медленнее, чем сейчас. Я уже боюсь представить сколько памяти понадобится на то, чтобы запомнить повернутую карту. Максимальный её размер 2500х2500 пикселей.
-
> [45] boalse © (12.12.06 12:18)
Переходи на OpenGL :) Проблем с поворотом не будет (зато конечно переписывать графический двиг практически с нуля...)
-
http://slil.ru/23558206Картинка там не шибко "здоровенная", но можно поставить другую, не больше макс. размера текстуры, разумеется (обычно 2048 * 2048). Впрочем, рисовать карту целиком (одной картинкой/текстурой) в любом случае не стоит. Лучше тайлами, так же как в 2D, с той разницей, что тайловая сетка будет состоять из полигонов. Все картинки тайлов запихиваются в одну (желательно) или несколько текстур в произвольном порядке, а на полигональной сетке каждому тайлу назначается нужная картинка установкой текстурных координат. Впрочем, я так понимаю, тебе бы для начала одну картинку вывести, а полигональные сетки - это как-нибудь потом. Так вот, если коротко, для поддержки D3D, по сравнению с чисто-DDraw движком нужно следующее: 1) Задний буфер должен быть создан с флагом DDSCAPS_3DDEVICE. 2) Поверхности-текстуры должны быть созданы с флагом DDSCAPS_TEXTURE и иметь размеры - степени двойки. 3) + требуется ещё некоторое количество манипуляций, но их можно выполнить отдельно от существующего DDraw кода. DelphiX у меня нет, так что не знаю, можно ли это там организовать. Слышал про некий UnDelphiX, в котором якобы есть поддержка D3D (хотя, может, путаю что-то).
-
> Переходи на OpenGL
Изучать OpenGL начал, когда половина игры была уже готова. Переделывать небыло желания, начинать с нуля - тем более. Поизучать то поизучал, а на практике не закрепил.
> Sapersky (12.12.06 13:45) [47]
Спасибо, посмотрю.
-
boalse Рекомендую Direct3D изучать. OGL - Гиблое дело.
-
Уж сколько раз твердили миру - изучать и использовать можно всё что угодно, лишь бы руки были прямые. Вообще примеров спрайтовых тайловых движков больше для OGL: http://code.darthman.com/downloads.php?cat_id=1(особенно впечатляет работа Imp'а из конкурса Battle) Но если можно с относительно небольшими усилиями прикрутить D3D - тогда, ясен пень, лучше его и использовать.
-
> [49] megabyte-ceercop © (13.12.06 12:48)
Прямо таки уж гиблое? А обосновать?
-
ухххх понеслаааась закрутилось завертелось Про руки полностью поддерживаю
-
Лично мне шибко понравилось. Но иногда уровень завершить нельзя почему-то. Да и лучше было бы сделать появление новых надписей без ожидания исчезновения старых (а то на том уровне, где танки снизу вверх прут, можно долго удивляться, почему проиграл, когда оставалось еще 3 танка ;) )
-
> Piroxyline © (13.12.06 19:03) [53]
Если честно, мало что понял из вышесказанного.
> Но иногда уровень завершить нельзя почему-то.
Какой именно уровень. В чём выражается это нельзя? Пожалуйста, опишите конкретнее. А, после пятого прочтения методом телепатии понял, что речь идёт о злощастном уровне "Охота начинается".
Да да, есть там глюк с надписями, если за раз прорывается сразу два или более танков, увы. Но я решил, что лучше уж с глючными надписями, чем вообще без них, они ведь не во всех случаях глючат. А вот сделать их не глючными не успел и забыл :)
Я считал этот уровень наиболее необычным и наиболее интересным, но оказалось, он больше всего вопросов вызывает.
-
> > [49] megabyte-ceercop © (13.12.06 12:48) > > Прямо таки уж гиблое? А обосновать?
Да я просто проверить хотел, легко ли войну разжечь :)
> > Piroxyline © (13.12.06 19:03) [53] > > Если честно, мало что понял из вышесказанного.
Если речь идет о уровне про танки на другом берегу, то думаю Piroxyline сталкнулся с той же проблемой что и я. Уровень не прошелся. Просто ничего не происходило после проезда всех танков. Это редко бывает. Но бывает.
-
И даже окружности, нарисованной красным пунктиром за складом не горело? И в задачах не было написано, что-то типа "покиньте область"?
Если так, тогда действительно очень странно. Если ещё раз повториться у кого-нибудь, огромная просьба, сделайте скриншот (F12), желательно с раскрытым списком задач.
Или может быть кто-нибудь закономерность какую увидит?
> megabyte-ceercop ©
6-7 наездов где-то и нужно отбить, потом рисуется окружность и в задачах соответствующая отметка должна появиться.
-
> Да я просто проверить хотел, легко ли войну разжечь :)
Думаю, очень легко :)
-
> 6-7 наездов где-то и нужно отбить, потом рисуется окружность > и в задачах соответствующая отметка должна появиться.
Во второй раз, когда я играл, все сработало. Но в первый - ничего не появилось. Я бы заметил. Попозже может сыграю еще раза три, найду глюк.
> > Да я просто проверить хотел, легко ли войну разжечь :) > > Думаю, очень легко :)
Давайте ваевать.
-
С первого раза получилось что цели не появились новые.
Скрин с развернутым списком задач я выслал на мыло.
Вот что я делал во время игры, и наблюдения.
1) Я убивал всех танков очень точно и метко ;) 2) В самом последнем набеге пропустил пять танков. 3) последние два танка развернулись и поехали к берегу, посмотреть на меня. 4) деньги с подбитого танка, которого с самолета скидывают, взял только после того как все уже проехали. 5) места для окружности за складом было очень мало. (Видно на скрине)
|