24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Сап /gd/. Собственно сабж. Есть базовые знания css / jq. Хочется сделать свой платформер / шут эм ап. Совсем бред и дохуя хочу или это имеет место быть? Поделитесь чем нить годным, что можно почитать в этом духе.
>>247051 (OP) Заебёшься, так как полноценных движков нет. Есть фреймворки, которые слегка ускоряют процесс, но в отличие от того же c# тебе придётся очень много сделать, чтобы через неделю кодинга иметь более менее вменяемый код.
Я уже не говорю про главную проблему js - последовательность выполнения. Несмотря на асинхронность языка, все операции выполняются строго последовательно. Поэтому любые сцены, где много объектов и вычислений заметно проигрывают остальным вариантам.
Лучшая практика использовать webgl через unity. Там вопрос асинхронности решается авторами юнити. Из минусов, несмотря на активную их работу, всё достаточно сыро.
Легко может случиться, что ты писал игру на webgl, а юнитиавторы всё переделали или добавили/вырезали фичу из-за которой придётся всё переделывать.
>>247177 Ладно, обосу тебя, уговорил. >полноценных движков нет Есть. Например фейзер для 2д, плейканвас для 3д, и еще куча других. Это полноценные движки, в них даже редакторы сцен а-ля унити имеются.
>в отличие от того же c# Игру с нуля на js написать в 1000 раз проще, чем на с#. Под с# подразумевают юнити только юнитидети.
>уже не говорю про главную проблему js - последовательность выполнения. Несмотря на асинхронность языка, все операции выполняются строго последовательно. Что ты блядь несешь вообще?
>Поэтому любые сцены, где много объектов и вычислений заметно проигрывают остальным вариантам. Каким вариантам? Почему ты пишешь о ЮНИТИ во множественном числе?
>Лучшая практика использовать webgl через unity. Там вопрос асинхронности решается авторами юнити. Охуительные истории. Я уж не говорю про твою уверенность что >c# = unyti >webgl = unity но сейчас ты имеешь в виду бОльшую производительность при использовании унити? 10МБ js-дрисни охуенно быстро работают, да. Как решается "вопрос асинхронности" - что бы это не значило - если юнити экспортирует игру в ту же жс-дрисню?
>Легко может случиться, что ты писал игру на webgl, а юнитиавторы всё переделали или добавили/вырезали фичу из-за которой придётся всё переделывать. Дебил, блядь. >webgl = unity
Откуда вы лезете? В ньюфаготреде уже пиксельарт в векторе рисуют. Новое поколение кириллов.
>>247160 что блядь? лучшая практика?! какая в пиздень лучшая практика, проснись, ты обосрался! вебгл под хуюнити только-только вылазит из стадии забагованного говнеца, добрая половина юнити-обезъян до сих пор из вебплеера не вылезла. вот когда все поголовно начнут все игры под юнитивский вебгл ебошить тогда и можно говорить о лучших практиках. а вопрос асинхронности в юнити-вебгл решен чуть менее чем никак. ее там нет. и не будет. потому что весь код - в джаваскрипте (в джаваскрипт засунут байткод крестов странслированный с интермидиэт лэнгвидж то бишь с сишарпа) для виртуальной машины на джаваскрипте же с виртуальными методами 3д канваса. джаваскрипт в джаваскрипте никаких плагинов. весит такой джаваскрипт десятки и иногда сотни мегабайт. не говорю уже о плачевной производительности такого кода. есть правда у мозиллы задел на будущее который позволит доставлять вебгл игры с меньшим количеством костылей. но даже когда он появится долгое время это будет мозилла-онли решение.
вывод: для 2д игры лучше использовать голый хтмл5 либо хтмл5 двиглан коих море сейчас. для 3д... если так уж хочется 3д игру иметь прямо в браузере - есть движки и на это. специализированные вебгл движки. навскидку - three.js
>>247378 блядь ты что сука совсем дебил? js это js. jquery просто хелпер-либа, всё, можно даже её не знать (хотя хули там знать) и при этом прекрасно владеть js и делать на нём игори.
Спасибо анон. Много новых названий узнал. Просто почему меня интересует именно возможность сделать 2д проект именно в браузере, только не лулзайте и не обоссывайте, потому что мне кажется тут должно быть проще. Ибо браузеры уже дохуя умеют сами. И, как мне кажется, для 2д проекта должны неплохо справиться с этой задачей. Потому что ничего сверхсложного и тем более инновационного я не планирую пилить. Да, знаю, что лучше для этого использовать какие-нибудь плюса / шарпы, но не хочу вникать в их дебри.
Всё что сложней карточной параши рекомендую пилить в канвасе/на вебГл, а не дивами с CSS-ом. Сам юзаю Cocos2d-JS, ещё есть phazer-lazer-мульйон других либов/фреймворков. Самому писать все абстракции вроде сцен, поддержки спрайтов и.т.д. и.т.п. не рекомендую, если только ты не движкоёб который хочет движок писать в этом случае юзай pixi для рендеринга и хуярь всё сам Вопросы можешь писать в тред, если пойдёшь по пути кокоса и 2д - смогу подсказать мб
>>247445 О, можешь подсказать ресурсы/туториалы по Кокосу? Оф. Документация скудновата. Используешь какие-нить вспомогательные тулзы? Можешь что-нить рассказать про CocosStudio/CocosCreator? Доводилось ли выкатывать игру на cocos-js на нативные платформы? Ну и вообще расскажи: какие игры пилил, советы, подводные камни и т.п.
>>247511 У всего вебгл нет аппаратного ускорения. Например тут поясняют http://stackoverflow.com/questions/2980959/high-cpu-usage-with-webgl >it is basicly does GPU - CPU - GPU calls Что на самом деле есть пиздёж, т.к во всех рендер движках происходят такие вызовы, но в нормальных движках непосредственно рендерингом занимается гпу. Но не в вебгл. Очень пиздато.
>>247461 >О, можешь подсказать ресурсы/туториалы по Кокосу? Оф. Документация скудновата. Да нормальная документация. Я сначала сделал все игры из этой книжки: https://www.packtpub.com/game-development/learning-cocos2d-js-game-developmentлегко воруется в интернете - там что-то вроде 6-8 примеров, всего 100 страниц, можно по игре в день за неделю освоить. потом офф. документация рулит более чем + можешь тут спрашивать, или давай писечками обменяемся, если прям уж так заинтересован >Используешь какие-нить вспомогательные тулзы? Можешь что-нить рассказать про CocosStudio/CocosCreator? Cocos Studio установил, но уже тогда было штук 10 прототипов в блокноте написанных, и как-то просто забил разбираться в этой громадной хуйне. Для частиц можно юзать http://particle2dx.com/ текстурки паковать Texture Packer-ом, тайлмапы делать в Tiled. >Доводилось ли выкатывать игру на cocos-js на нативные платформы? На досуге я настраивал билдчейн для андроид / пытался откомпилить свою игру. Если вкратце - можно, но это пердолинг, особенно если ты не юзал cocos cmd с самого начала. Если надеешься написать игру, а потом "портировать" на нативные платформы - жди биды и много пердолинга. Хитрый ляо расчитывал что ты НАЧНЁШЬ делать все сразу из кокос кмд, компиля игру/тестирую с самого раннего прототипа на нативе. Чтоб КАК ТОЛЬКО ты где-то сошел с пути истинного, регулярная компиляция-тест всё сразу и выдали. Но так-то да, если откомпилишь работоспособный АПК - перформанс есть, всё работает. >какие игры пилил, советы, подводные камни и т.п. Пилил штук 10 прототипов: те что из книжки + свои. До около-"файналайзд" вида дошло пока 1.5 игры. Сам кокос - заебись, как только разберёшься с инструментарием - всё очень интуитивно понятно. Пилил вертикальные платформеры вроде doodle jump, всякие три-в-ряд поделия, головоломку с box2d-физикой. Советы: 1. Иди делай игры из книжки какую скинул. И потом дальше сам делай. Чем больше сделаешь именно законченных игр с меню, звуками, законченных короче, тем ближе будешь к дзену и успеху. 2. Перформанс на десктопе в браузере - офигенный, кто бы там что не пиздел. Если у тебя не 1000 спрайтов на экране, и ты игру не в 1080р рендеришь - всё у тебя будет хорошо мой сладкий. я юзаю какие-то 16:10 мобильные резолюшены 320х568 или типа того. для пикселепараши отлично 3. Перформанс на мобилках вполне преемлемый для того чтоб нихуя не оборачивать. Все кто рассказывает о том что на мобилках - говно, скорей всего не юзают SpriteBatchNode и не удаляют мать их спрайты из памяти, когда те не на экране. Нахуй таких ублюдков. Частицы на мобиле надо уже с умом использовать, или просто проверять через cc.sys мобила или десктоп, и только на десктопе особо жирную хуйню показывать 4. Хочешь билдить в нейтив - начинай с того что сбилдишь хеловорлд и потом от него, работающего на мобиле через adt например, уже пляши. И каждый час сука компиль, чтоб потом не охуевать от logcat-а 5. SpriteBatchNode. Он и спрайтпул - твоя ниточка, потянув за которую фпс опять станет 60, если у тебя дохуя всего на экране сразу 6. Поддержка TXM-тайлмапов в cocos2d-js ограничена. Все что ты прочтёшь для 2-х, 2-iphone и.т.д. - в случае с жс-версией не совсем так. Тайлмеп в cocos2d-js можно только как референс юзать, с картой уровня/метаданными, а рендерить содержимое самому. Так сможешь tiled юзать как редактор уровней.
>>248119 Я конечно извиняюсь что лезу не в тот тред, но вижу ты чувак хорошо шаряший в кокосе и билде конкретно для ведроида. Короче в чем беда - не могу нормально настроить сборку, как все было: 1) Создал я из консольки новый проект; (-l cpp) 2) Откомпилил, запутсил на мобилке - все ОК; 3) Открываю proj.android-studio собственно студией; 4) Вношу изменения в AppActivity (просто логирование с помощью Timber); 5) Ожидание - логи с текгом AppActivity, на деле - нихуя; 6) Окей может надо еще раз cocos compile -p android --android-studio? 7) Не помогло, решил проверить и вставил Log.d(TAG, "Cocos sucks!"); в onCreate Cocos2dxActivity - после перекомпиляции все сработало; Короче как это все починить? Алсо может знаешь поему 3.11 раза в полтора меньше 3.10, какой лучше использовать?