![]() |
Самолётик
Вложений: 1
Проект уже готов и выпущен. Буду сюда срать скринами.Вот здесь тема о готовом проекте. Там же можно скачать и изучить исходники под лицензией GNU GPL. Так как у нас нет раздела "Проекты на прочих технологиях", тема временно в болтовне. Предыстория: решил всё же крепко помучать WebGL. Первые опыты показали, что без подобия "движка" не обойтись в этом деле, даже очень простого. Наладил пока трансформацию, иерархию, рендер объектов, камеру и освещение (особое спасибо Мистеру Ф за то, что отвечал на мои тупые вопросы, без него я бы так скоро до этого результата не дошёл). Вообще игра предполагается не про самолётик, но до конечного результата ещё как пешком до Китая, а я хочу выпустить хотя бы ну что-то играбельное в кратчайшие сроки, так как:
Предполагались ранее и наземные враги типа танков, но что-то мне впадлу, скорее всего их не будет. Так как движок пока умеет только в кубики, то всё, даже небо, даже Джигурда будут состоять из кубиков и только, без текстур, разве что земля с текстурой. На земле будут кусты и деревья, возможно, домики. Work-in-progress расположено здесь: http://maslov.co/webgl/1/ Пока что там играть — нихрена. Для просмотра требуется браузер FF либо Chrome а также поставленные на компе драйвера OpenGL (если вы играете в игори, скорее всего они у вас уже установлены). IE не может в WebGL и не будет мочь до версии IE11. Opera не может (ну по крайней мере с пол-тычка в ней демка не заводится, вроде, чё-то надо в ней там включать). На данный момент закончил моделирование самолёта. Усовершенствовал по сравнению с тем, что показывал ранее. Завтра, наверное, займусь стрельбой. |
Ответ: Самолётик
Вложений: 1
Добавил лес.
Довольно странно выглядит анти-алиазенный ствол на неалиазенной текстуре. Пожалуй, вообще уберу АА. Специально старался попасть стволом в пиксель на текстуре земли. |
Ответ: Самолётик
|
Ответ: Самолётик
деревья часто тащатся вместе с экраном(когда доходят до края).
И хочу делать бочку! |
Ответ: Самолётик
win7, chrome, 680GT, работает. деревья тащатся - да.
|
Ответ: Самолётик
Вложений: 1
RegIon, возможно, ты зашёл именно в тот момент, когда я обновлял там что-то (все изменения мгновенно оказываются на странице).
Кроме того, я заменил текстуру, старая могла "застрять" в кеше. На данный момент сделал деревья чтоб не тащились. Пробел стреляет. Далее займусь врагами и взрывами. Видимо, придётся сделать и поддержку BlendMode'ов (не хотел это делать для первой игры). |
Ответ: Самолётик
зажав назад можно навсегда скрыться из виду, и больше никогда не увидеть этот прекрасный самолётик
|
Ответ: Самолётик
ABTOMAT, ты собираешься делать скролл-шутер с такого ракурса? Здорово!
|
Ответ: Самолётик
примерно раз в секунду притормаживает.
|
Ответ: Самолётик
Вроде не тормозит, FF хавает минимум 50% ЦП
|
Ответ: Самолётик
Движения будут ограничены, конечно же. На выходные я уезжаю из Питера, так что в выходные ничего нового не будет.
Хотел до них сделать уже врагов и набор очков, но не судьба. Ещё, блин, надо с текстом что-то соображать. Неохота 2D щас делать. И выводить в html тоже неохота. |
Ответ: Самолётик
Теперь у меня в игре есть враги — баклажанового цвета бипланы, с усердием летящие в сторону игрока откуда-то спереди. Убиваются пулями.
|
Ответ: Самолётик
Военный биплан.
БА! КЛА! ЖАН! |
Ответ: Самолётик
А чё самолёт мертвый какой, сделай повороты лева-право на крыло в момент когда самолёт двигаешь.
FF Не получилось инициализировать WebGL. Почему это могло случиться? 1. В IE не работает WebGL и не будет до версии 11. 2. В Opera вроде как есть, но надо куда-то включать, а сразу же не работает. 3. Возможно не стоят дрова в Винде на OpenGL. А в хроме всё ок, что не-так может быть? И сделай эти пункты кликабельными, например... 1.В IE не работает WebGL и не будет до версии 11. |
Ответ: Самолётик
К сожалению в Alert'е нельзя сделать ничего кликабельного.
В финальном варианте я сделаю более цивильное сообщение об ошибке. Сделал повороты как ты описал (вообще, давно собирался). Враги теперь стреляют пулями, но нас пока не убивают. Похоже, мне настала пора делать текст. Не хочу, ой, не хочу делать сейчас полноценное 2D, но всё же как-то мне придётся вывести текстовую информацию на экран. Думаю сделать из кубиков. |
Ответ: Самолётик
Цитата:
|
Ответ: Самолётик
Ну вот, вообще огонь:super:
|
Ответ: Самолётик
Вложений: 1
Тем временем нарисовал новый террайн.
Хотя мне кажется стоит откатить. Сильно пёстрый вышел. |
Ответ: Самолётик
работает даже без драйверов. но очень медленно.
|
Ответ: Самолётик
Да очень пёстрый.
У меня игра внезапно начала очень сильно лагать, FPS 5-9 и зависоны! :4to: |
Ответ: Самолётик
|
Ответ: Самолётик
|
Ответ: Самолётик
P. S. При движение зависает на полторы секунды, через секунду опять. В общем не играбельно. ФПС без измерений видно - 1-4 =_=
|
Ответ: Самолётик
Хорошо получается!
К сожалению, заметны подергивания характерные для сборщика мусора. Видимо объекты постоянно создаются/удаляются? Если так, то лучше уже на данном этапе подумать об этом. |
Ответ: Самолётик
Эта штука — моих рук дело.
Начал делать, и тут в Доту позвали. Так и оставил, лол. Показ всех изменений мгновенно на публике — это лольно. Насчёт борьбы со сборщиком мусора — поподробнее, пожалуйста. |
Ответ: Самолётик
Цитата:
|
Ответ: Самолётик
Сделал вывод уничтоженных врагов.
Цифры сделаны из треугольников, да и вообще довольно тупо. Но мне надо было хоть как-то вывести информацию, и это работает. |
Ответ: Самолётик
|
Ответ: Самолётик
Это я сейчас хотел сделать смИшной шейдер, но в ужасе вернул всё в зад (как оказалось, там нужна отдельно матрица скейла в шейдере, а этим я заниматься очень не хочу)
|
Ответ: Самолётик
Сделал разваливание врага при смерти.
|
Ответ: Самолётик
Сделал наконец нормальное уничтожение врагов: взрыв и разлёт обломков.
Это потребовало осилить бленды в WebGL и сделать соответствующий функционал движка. Впрочем, оказалось не так-то сложно. Наконец убрал эту мерцающую срамоту вдали при помощи тумана (кстати он основан тупо на трансформированной Z-координате). |
Ответ: Самолётик
Когда самолётики не прилетели FPS был ~37, а затем стал падать, ~27 - 18 и FF теперь грузит проц больше 60%.
P. S. Странно, ~400 очков, игра разошлась и фпс стал более менее стабильный около 24. |
Ответ: Самолётик
Да, кстати, я там косячков поисправлял в плане производительности.
Но так или иначе это javascript, не стоит от него ждать высоких скоростей. |
Ответ: Самолётик
Набил 2090 очков, минут за... ~20. FPS максимальный 25, минимальный 17, в полноэкранном разрешение 1280x1024.
|
Ответ: Самолётик
Лол, хватило же терпения) Надо бы сделать уже таблицу рекордов, чтобы такие подвиги не остались в забвении!
Ну и челлендж какой-нибудь, а то бессмертным с бесконечными патронами быть надоедает(. Спасибо за репорт FPS. Если не затруднит, то сообщи, на каком компе это дело происходило и в каком браузере, в фулскрине или нет. Дело в том, что в FF у меня работает ощутимо медленнее, чем в Chrome, однако если включить фулскрин в FF, то тоже всё быстро. |
Ответ: Самолётик
Цитата:
ГП - Palit GeForce GTS 450 Мамка - Asrock G31M-S R2.0 3 Гб ОЗУ DDR2 Я же написал что играл в фулскрине и у меня наоборот в фулскрине тормознее. |
Ответ: Самолётик
Цитата:
|
Ответ: Самолётик
У всего есть свои достоинства и недостатки.
У javascript'а есть ощутимый плюс, которого нет у компилируемых языков программирования: работает везде, где есть браузер. Ну как минимум, это без лишнего беспокойства с моей стороны работает на Windows, GNU/Linux based, Mac, BSD а также на Андроидах (в них к сожалению пока надо включать вручную поддержу webgl, но я уверен, что это временно). А с использованием КЯП пришлось бы не только перекомпилировыввать, но и учитывать особенности платформ, распространять бинарники и т.д. Кроме того, основную нагрузку даёт сам javascript, а не сам рендер, так как те же буфера и шейдеры хранятся и обрабатываются на видеокарте, "как у взрослых". То есть если сейчас вместо "пары странных текстур и полутора полигонов" засовать туда модели пополигонистее, текстуры побольше, а в шейдерах сделать бампы-тени, то FPS просядет не сильно. Кстати текстура сейчас там одна. |
Ответ: Самолётик
|
Ответ: Самолётик
Let the butthurt begin!
|
Ответ: Самолётик
Цитата:
|
Ответ: Самолётик
Проблема не в WebGL или JS. Тут реализация хромает. На самом деле я не вижу ничего, что могло бы так грузить. Нужно посидеть с профайлером и найти узкие места, но я думаю долго искать не придется. Производительность можно серьезно поднять.
|
Ответ: Самолётик
|
Ответ: Самолётик
Цитата:
|
Ответ: Самолётик
Ну просто некоторые люди делают выводы о технологии по вашему опыту, а вы изначально указали на причину в JS, что не совсем верно. А так, я не настаиваю на оптимизации, просто говорю что производительность тут можно серьезно улучшить и это без объединения мэшей и прочего. Я бы мог попробовать, но это нужно денек-другой посидеть. Если будет свободное время может быть попробую оптимизировать ваш код, если вам конечно интересно.
|
Ответ: Самолётик
Ну это одна из причин. Естественно, JS не будет так быстр, как бинарник, скомпиленный из С++. Просто тут как всегда неправильно всё поняли (или поняли как пожелали понять).
|
Ответ: Самолётик
|
Ответ: Самолётик
Набрал 2400. Очень плохо видно снаряды врагов, и лагает на ноуте
видео GT 330M проц P6000 (2x1.87) 4 ddr3 Хром |
Ответ: Самолётик
|
Ответ: Самолётик
Сделал по-человечески работу с текстурами.
Ну и по такому случаю сделал текстуру для листвы. Теперь эта игра может по праву называться "пара странных текстур и полтора полигона", а то раньше текстура-то была всего одна, и получалось, что один из комментаторов мне незаслуженно польстил. |
Ответ: Самолётик
Теперь в игре есть три типа врагов.
Чем дальше в лес — тем злее враги. Также появился бонус, восполняющий 25% здоровья. А ещё по нажатию H можно вызвать справку: Просьба тем, кому не западло: действительно ли легко играть или это я просто задрочился во время разработки? Не возрастает ли сложность неимоверно после появления N-ного типа врагов? |
Ответ: Самолётик
Ссылки на игру где?
|
Ответ: Самолётик
http://maslov.co/webgl/1/ Бдыщь!
|
Ответ: Самолётик
Привет всем интересующимся в количестве 1.5 человек!
Я понимаю, что уже всех достал, но всё же сообщу охренительные новости разработки: Сделал паузу на хелпе Пули у врагов теперь FullBright За подбирание сердечка теперь начисляется 25 очков. Shift+R - рестарт (Шифт нужен чтобы не ткнуть случайно R) Добавил тряску камеры при попадании в игрока Немного перебалансировал врагов Смотреть там же: http://maslov.co/webgl/1/ Что осталось? Наверное, только таблица рекордов. Постараюсь сделать по-быстрому, но уже не сегодня. Проект близится к релизу. * А да, ещё же нужны звуки и музыка. ** Ну да, и название игре тоже надо придумать. |
Ответ: Самолётик
Ракурс камеры для игры все же не очень удачный, сложно отслеживать траекторию вражеских снарядов да и маневрировать между ними затруднительно, последнее еще возможно из за того что самолеты раскидываются рандомно и стреляют очень часто.
Попробуй сделать камеру сзади по центру и немного выше. Плюс вражеские снаряды очень сильно теряются на фоне обломков самолетов. |
Ответ: Самолётик
1039.
то что я могу самолеты пропускать мимо себя - скорее минус. я думаю за каждый пропущенный тоже должна жизнь тратиться. ну и более плавно увеличивать их количество и злость. и пули да - сделай за ними шлейф чтоли. чтобы их было нормально видно. |
Ответ: Самолётик
Цитата:
Основной геймплей, как мне кажется, в увороте от пуль, осторожной игре. Похоже, все игроки лезут напролом и постоянно получают пули в лоб, никто не пытается увернуться. У меня например получается убивать белые самолёты, имея 100% здоровье (сердечки восполняют здоровья больше, чем я успеваю схватить пуль между ними) Шлейф — да, сделаю. Ракурс камеры не хочется менять =( |
Ответ: Самолётик
я тоже выработал тактику прятаться за стенкой монитора и периодическими вылазками выносить противников. я так дошел до белых вообще не получив ни одного попадания. но это скушно.
|
Ответ: Самолётик
Блин. Не могу играть, камера не трясётся а улетает, если в меня попали.
Даже тактика HolyDel'а не помогает=( Не, это очень сложно=) |
Ответ: Самолётик
Цитата:
Цитата:
|
Ответ: Самолётик
Цитата:
А во-во, нормальна стало, прикольно... Тряску меньше делать не надо. |
Ответ: Самолётик
Блин, даже не знаю что это было. Возможно какой-то скрипт "застрял" в кеше браузера.
|
Ответ: Самолётик
1051 очков. FPS ~60 - 55
Пули к сожалению плохо видно в бою, в какой-то момент меня сглючило и я нарочно поймал два красных выстрела, думая что это сердечки :4to: Здорово! :super: |
Ответ: Самолётик
Короче. Игра готова. Можно ещё вылизывать сколько угодно, но я решил, что уже пора.
Сейчас тружусь над созданием таблицы рекордов и высиранием этого дела в ВК (да, я хочу вбросить это дерьмо туда, хуже не станет). Да. За более чем 3 недели разработки мне уже проект надоел. Из небольшой демки-теста движка "под пивасик в выходные" игра стала полноценной игрой. Со справкой, демо-роликом, таблицей рекордов и паузою. Я дал себе слово эту игру закончить и я считаю, что закончил. Теперь мне хочется уже делать что-то новое. И после этого — вперёд к новым проектам, хорошим и разным! |
Часовой пояс GMT +4, время: 11:09. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot