Pull to refresh

Comments 27

UFO just landed and posted this here
Не знаю, не играл. Но юмор оценил.
Вся статья сводится к тому как идет борьба с загрузкой ресурсов и как потом все то упаковать в .exe, нет ни слова о создании игры. Картинку с совой прилагать не будут.
Можно было привести код самой игры, но там все настолько банально. Например, о том, как создавать сцену в THREE.JS, есть множество статей. И так далее. Все же эта статья — не туториал по известным темам. Я хотел описать что-то новое.
А где вы взяли модельки кораблей?
Сделал в программе 3D моделирования.

Да, я тоже ожидал увидел хоть какие то детали самой реализации, но увы…
Ну Вы молодец! Я тоже давно мечтаю создать свою игру но все то времени нет, то лень. А эта статья немного дает вдохновение!


P.S. Если можно — ссылку на игру ВК, очень хочется поиграть.

а можно линк на фб? у меня вк нет.
А исходники (или хотя бы архив для описанной автономной игры) покажете?
По ссылке выше, в ВК, собственно, можно через браузер просмотреть код фрейма. Это и есть исходник, правда, обфусцированный. Оригинал, который у меня, показывать не хочу, да и код изобилует закомментированными кусками и моими комментариями, что и где надо еще доработать и добавить. Обфускатор все это, естественно, удаляет.
снаряды еще б побыстрей летали, и по динамичный бы
Да, мне вКонтакте уже заметили, что маловато динамики. Думаю о том, чтобы сделать ускорение времени во время полета ядра.
Если можно, то лучше — пропуск анимации с переходом к самому результату. А то навёл пушку изрядно выше цели, выстрел, уже на глаз виден перелёт — и следующие пять секунд ждёшь, пока ядро ме-е-едленно, трагично и печально завершит свой полёт. Хотелось бы в этот момент нажать пробел и пропустить полёт, перейдя, непосредственно, к его итогу :)
С пропуском — очень здравая идея! Спасибо. Пожалуй, ее и попробую реализовать. Но для этого, возможно, придется отказаться от используемого физического движка, cannon.js, кстати, который делает покадровый расчет, и написать свою функцию движения ядра.

Бросок камня под углом к горизонту, мне кажется, слишком простая задача, чтобы вообще использовать какой-то физический движок.

В данном случае — да. Но хочется помучить физический движок ради универсальности, для последующих игр, в том числе, для упомянутой в статье недоделанной игры. В ней мячи летят, падают, остаются лежать, а брошенные новые могут также на них падать, сталкиваться и взаимодействовать. В этом смысле, желательно допилить существующий движок, чтобы он мог ускорять время. Пока мои эксперименты по ускорению приводили к изменению траектории, что неверно.
Непонятно как считается урон. Кто-нибудь знает?
Чем ближе к центру корабля, тем урон сильнее. То есть, в идеале ядро желательно «накинуть» сверху на центр палубы. Действительно, в игре об этом ничего не сказано. Подумаю, как донести это до игрока…
а еще ничего не сказано как перемещаться :)
минут 5 потратил чтобы опытным путем выяснить это
Да, я программирую на чистом JavaScript. Многие на этом месте покрутили пальцем у виска. Я не использую никаких библиотек (кроме 3D движка), даже JQuery не использую.

Тоже так иногда пишу игры на конкурсы (если на JS), только с прототипами, и все в блокноте++ и браузере с его средствами отладки. Есть в этом какой-то дзен.

Поиграл, понравилось, модели кораблей симпатичные получились, жаль, что мало их. Даже подкинул автору один пиастр (больше не завалялось). ИМХО, Gui в игре немного перегруженный и его стиль соответствует духу игры.
Информация о кораблях отражается в воде, это баг или фича?
Не знаю, как так получилось, во время полета ядра вкладку переключил, оно застряло в воздухе, и стрелять больше было нельзя. Повторить глюк не удалось.

image
Спасибо.
Безусловно, это баг. Воюя с не отправляющимися запросами к серверу при неактивной вкладке, я, по видимому, забыл повоевать с останавливающейся анимацией при этом. Мне тоже не удалось воспроизвести, но буду копать код в поисках понимания причин явления.
По поводу отражений. Это недоработка. Зеркальный шейдер тупо отражает весь мир. Но можно скормить ему лишь отдельные объекты. Я пока не придумал универсального способа, как это сделать. Дело в том, что для кораблей это тоже не помешало бы. Незачем отражать самые мелкие детали. Можно, например, исключать объекты тупо по black-листу по их именам. А имена задаются в 3d-редакторе. Добавить к ним какую-нибудь приставку или букву. При этом, под объектами понимаются меши ( mesh). В модели корабля их, кстати, порядка 40 вроде бы… В общем, это надо переименовать поля name и пересохранять заново для игры все корабли…
ИИ никудышный. Корабли врага стреляют строго по уже раненному. Таким образом отводим раненого как можно дальше и ставим его перпендикулярно линии стрельбы. Остальными кораблями перекрываем к нему проход. И все. ИИ промахивается в 90% выстрелов. Расстреливать корабли ИИ можно в упор.
Есть такое. Иван Иваныч мыслит не масштабно… Попробую его научить.
Иван Иваныч по отношению к искусственному интеллекту — это что-то новенькое)
Ого. Не знал, что к таки древним постам еще можно писать комментарии.
Sign up to leave a comment.

Articles