Скачал я недавно одну игрушку и затянулся. А всё началось с того
что мне как-то намекнули, что моя игрушка может быть чем-то похоже на Crimsonland.
Ну в общем, наигравшись в этот шедевр(ну... кому как конечно) я решил заняться проектом. Первым делом, по привычке нажал на F9, чтобы вспомнить, что же я там такого натворил. Увидев ГГ в центре экрана, пальцы сразу потянулись к WASD, чтобы по управлять(кхм... ну как-то совсем некрасиво звучит) им. Потом былполуминутный десятисекундный ступор. Лишь по истечению этих десяти секунд до меня дошло, что управление мной было "повешено" на клавиши. Далее ситуация повторилась снова - недоумевал, почему же герой не "палит"(огнемёт же всё таки)при нажатие на ЛКМ. И опять прозрение - огонь был привязан к ПКМ, а я по привычке жал на ЛКМ. Вот что значит игра затянула...
В общем, сделал такие выводы:
Прохождение Crimsonland'a в течении четырёх дней по пол часа(ну... бывало и час) доказала, что управление WASD пока представляется более удобным.
"Поднять повыше камеру"
Камеру надо поднять бы повыше, чтобы игрок мог получить более детальный обзор и знать где больше вражьей массы находится. Но так как динамика у меня не столь высокая, то можно этот пункт и отпустить. Как вариант, вместо поднятия камеры можно ужать размеры текстур. Думаю это могло бы повлиять на производительность. Но скажу точно - ужимать ничего не буду, всё останется как есть.
Все те дни, пока играл проект не перетерпел никаких изменений, но обдумывал, как бы лучше использовать скрипты.
Пока могу "порадовать" таким скриншотом:
Всё это подтормаживает(позор мне - 2D и подтормаживает) у меня при запущенном браузере(Chrome), IDE, Jabber-клиенте, плеере, Total Commander'e и PhotoShope'e. При выключении половины играть ещё можно. Надо бы заняться оптимизацией, но трогать что-либо лень.
Пора бы мне заняться GUI. Сколько бы я не обещал поработать над ним, но всё же особого продвижения в этой области нет.
Ну, на сегодня всё. Надеюсь конкурсных работ всё же будет достаточно количество. Да и себе пожелаю, чтобы не возникло желания отказаться от сдачи работы.
что мне как-то намекнули, что моя игрушка может быть чем-то похоже на Crimsonland.
Скачал, посмотрел и понял - и близко не стоит. Конечно, есть схожесть - вы управляете героем одиночкой, отбивающегося от толпы монстров. Но на мою "толпу" смотреть жалко. А игра ни разнообразием орудий, ни монстрами, ни бонусами не блещет. Так что надо иметь весьма развитую фантазию, чтоб хотя бы отдалённо сопоставить моё творение с Crimsonland'ом.
Ну в общем, наигравшись в этот шедевр(ну... кому как конечно) я решил заняться проектом. Первым делом, по привычке нажал на F9, чтобы вспомнить, что же я там такого натворил. Увидев ГГ в центре экрана, пальцы сразу потянулись к WASD, чтобы по управлять(кхм... ну как-то совсем некрасиво звучит) им. Потом был
В общем, сделал такие выводы:
- переназначить управление на WASD;
- поднять повыше камеру;
Прохождение Crimsonland'a в течении четырёх дней по пол часа(ну... бывало и час) доказала, что управление WASD пока представляется более удобным.
"Поднять повыше камеру"
Камеру надо поднять бы повыше, чтобы игрок мог получить более детальный обзор и знать где больше вражьей массы находится. Но так как динамика у меня не столь высокая, то можно этот пункт и отпустить. Как вариант, вместо поднятия камеры можно ужать размеры текстур. Думаю это могло бы повлиять на производительность. Но скажу точно - ужимать ничего не буду, всё останется как есть.
Все те дни, пока играл проект не перетерпел никаких изменений, но обдумывал, как бы лучше использовать скрипты.
Пока могу "порадовать" таким скриншотом:
Всё это подтормаживает(позор мне - 2D и подтормаживает) у меня при запущенном браузере(Chrome), IDE, Jabber-клиенте, плеере, Total Commander'e и PhotoShope'e. При выключении половины играть ещё можно. Надо бы заняться оптимизацией, но трогать что-либо лень.
Пора бы мне заняться GUI. Сколько бы я не обещал поработать над ним, но всё же особого продвижения в этой области нет.
Ну, на сегодня всё. Надеюсь конкурсных работ всё же будет достаточно количество. Да и себе пожелаю, чтобы не возникло желания отказаться от сдачи работы.
Красивый скриншот) Я бы поиграл в такое с удовольствием.
ОтветитьУдалитьА на crimsonland похож, потому что мочилово и вид сверху :)
Насчет подтормаживает - базовые оптимизации это:
1. Использование библиотеки материалов, чтобы "одна текстура - один материал" - минимизируется переключение стейтов.
2. Отсечение по пирамиде - поставь у TGLScene свойство visibilityCulling в vcObjectBased.
3. Все частицы огня создавай заранее, скажем 30 штук. Затем, когда они требуются просто делай им Visible=True, закончили действовать - Visible=False.
Ну, и конечно, надо смотреть детальнее код, где что влияет на ФПС. Обычно (кстати) рендер и графика - в последнюю очередь, чаще всего - векторные и матричные операции.
Например, у меня есть астероиды (сейчас тестирую при 600 штуках), которые я вращаю с определенной скоростью по всем углам Эйлера. То есть каждый кадр делаю:
Asteroid[i].Pitch(...);
Asteroid[i].Turn(...);
Asteroid[i].Roll(...);
Заменив эти конструкции на RotateAbsolute(Asteroid[i].Up, ...) я получил прирост в 3-4 раза, так как каждый поворот по углу Эйлера вызывал перепостроение матрицы.
В таких случаях, можно также использовать профайлеры, чтобы узнать, в каком участке кода наибольший прогиб производительности.
Я думаю, что ты многое из этого (если не все) знаешь, но я просто на всякий случай :)
Повторюсь - скриншот классный, я с удовольствием поиграл бы в такое :)
"Красивый скриншот) Я бы поиграл в такое с удовольствием"
ОтветитьУдалитьСпасибо) так сказать, польщён. Играть уже можно, но не интересно(или это мне самому уже наскучило).
"1. Использование библиотеки материалов, чтобы "одна текстура - один материал" - минимизируется переключение стейтов."
Это я уже успел оценить, когда игра ещё создавалась про дракончика)). У меня были жуткие тормоза, когда я для каждого нового объекта заново загружал текстуру. Результаты порадовали.
"2. Отсечение по пирамиде - поставь у TGLScene свойство visibilityCulling в vcObjectBased."
Это надо попробовать.
"Обычно (кстати) рендер и графика - в последнюю очередь, чаще всего - векторные и матричные операции"
Ну в матричных операциях я не силён. Честно сказать, на прямую матрицами никогда не пользовался.
Спасибо за советы:) постараюсь воспольоваться
+1) Понравились скрины)
ОтветитьУдалитьVandB,Спасибо)
ОтветитьУдалитьно всё же хочу чтобы у читающих не осталось ложного представления о игре:
часто читаю/слышу фразы при публикации скринов игр другими разработчиками: "В динамике всё выглядит намного лучше, это всего лишь скриншот"
Так вот скажу подобную фразу: "Это всего лишь скрин, а в динамике выглядит лажово".
Хотя... мне скриншот уже самому начал нравиться))
Класный скрин, отлично идеш!
ОтветитьУдалитьBenGAMEn, спасибо)) стараюсь
ОтветитьУдалитьНапомнило старые, добрые игры...
ОтветитьУдалить