Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Новая 2Д игра (https://javascript.ru/forum/project/85631-novaya-2d-igra.html)

ВОВАН23 20.11.2023 16:43

Новая 2Д игра
 
Вложений: 3
Делаю 2Д игру уже довольно долго. Немного заипался от чего стал делать еще медленнее.

Нужна мотивация какая нибудь. :agree: :help:


А делаю я игру на javascript типа Transport Tycoon Deluxe вмесе с Red Alertом. Получиться должно что-то типа Age of Empires, но по своему. :blink:

На данном этапе делаю редактор карт. Чтоб каждый игрок мог свою карту делать себе.

Кто что думает буду благодарен за отзыв.

ВОВАН23 20.11.2023 17:25

Движок с mult-uroki.ru.

Скрины чтоб показать как выглядет редактор карт.

ВОВАН23 20.11.2023 17:42

Вложений: 4
Ну, не то чтобы я новичок. Я много практиковался, конечно мои коды отличаются от тех что пишут профиссионалы. Но, от перемены мест, сумма не изменяется. Движок немного платный, но не дорого, копейки. Интересное что он почти полностью пустой, все самому писать надо, зато создатель говорит быстрее чем у него движок не найти. Так как он много чего поснимал чтоб быстрее было. Вот поэтому я решил этот движок выбрать.

ВОВАН23 21.11.2023 15:58

Вложений: 1
У меня есть бесплатная версия. Раньше движок был бесплатным и не было подключения к Node. Я выложил эту версию в формате txt, надо обратно в js переименовать чтоб работало. Посмотри, что думаешь.

Вот API: https://mult-uroki.ru/pointjsApi/

Они ссылку спрятали. Но доступ открыт для чтения.

Вообще Transport Tycoon Deluxe считается прородителем всех 2Д игр. И на самом деле лудше писать на чистом javascriptе без движков. Так как там нужно делать огромные карты и если использовать игровой движок то размер такой карты может доходить до 50 мегабайт или больше, так как они берут один объект за тайлу. Размер моей карты 128х128 300к, не больше мегабайта пока не проверял 2048х2048 так как надо придумать алгоритм создания частей карты пока двигается экран и переносится на новое место. А размер canvas 32,000 pixel на 32,000 pixel. Это всего лишь 500 тайлов в ширину и 1000 в высоту, один image карты слепить не получиться, или можно как нибудь? 2048х2048 и не пахнет. Вообщем стандартный подход не поможет. И что бы не создавать объекты самому я решил использовать этот движок. Правда он с канвасом сильно не дружит, при вызове canvas из движка все сильно тормозить начинает, не тормозит если сначала создавать новый канвас за кулисами. а потом перенсить канвас в этот движок и тогда работает. Подключал всякие GPU и CPU ускорители и с ними тормозит. Создатель движка сказал это в его движке не нужно, он без ускорителей быстрее. Странный движок. и довольно прост в сравнении с остальными.

ВОВАН23 21.11.2023 19:14

Чат GPT помог написать код чтоб рисунки грузил быстрее. И там еще другие люди писали что тормозит у них тоже. Создатель сказал это потому что javascript не нужны ускорители если нет библиотек.

Не дружит это типа не реагирует на некоторые команды канваса из PointJS этого. Сделал код который рисует произвольные image на канвасе без создания объектов и когда рисует все тормозит в много раз. Создатель движка сам не знает почему. Не плохо было бы разобраться. Тга можно части карт таким оразом подставлять под камеру при движении.

Ну да, 0.2.0.4. Я ее скачал еще до их обновления. В новом подключение к ноду чтобы проверить лицензию и это замедляет движок, сам создатель говорил.

И все image файлы GIF.

ВОВАН23 21.11.2023 20:02

Чтоб быстрее было и еще чтобы вместо альфа канала транспорант использовал. Я не умею альфу настраивать.

MallSerg 21.11.2023 20:10

Это движок который ничего не делает и не двигает, ты должен на него сесть и крутить пидали xD.

Лично мне кажется сомнительной полезность данного движка а многие моменты крайне раздражающие из разряда как делать не нада.
Изначально это был явно просто набор полифилов для древних браузеров количество префиксов "Webkit", "Moz" просто удручающие. такой подход не очень красиво решал проблемы лет 15 назад но вреден для браузеров особенно для современных логика работы просто забита проверками и выбором никому не нужных полифилов.

Еще не понравилось что вся логика построена на конвейере if else т.е. если иф такойта тогда вставляем копипасту следующий иф такойта вставляем туже копипасту и изменяем букву или цифру и так конвейерным методом. И еще много всяких крайне сомнительных методов написания кода.

Впрочем каждый пишет как может и умеет и этот движек найдет свою аудиторию.

MallSerg 21.11.2023 20:17

Цитата:

и когда рисует все тормозит в много раз.
Движек навешивает эвент лупы на каждую отрисовку в канвас вот каждая строчка текста и нарисоваанная линия запускает паравоз обработчиков. Тебе поможет создание отдельного канваса рисовка на нем а после просто перенести готовое одной отрисовкой драв имадж тогда паравоз эвент лупов запуститься только один раз.

ВОВАН23 21.11.2023 20:39

Ну да, так и делаю теперь.

ВОВАН23 21.11.2023 20:42

Цитата:

Сообщение от MallSerg (Сообщение 554074)
Это движок который ничего не делает и не двигает, ты должен на него сесть и крутить пидали xD.

Лично мне кажется сомнительной полезность данного движка а многие моменты крайне раздражающие из разряда как делать не нада.
Изначально это был явно просто набор полифилов для древних браузеров количество префиксов "Webkit", "Moz" просто удручающие. такой подход не очень красиво решал проблемы лет 15 назад но вреден для браузеров особенно для современных логика работы просто забита проверками и выбором никому не нужных полифилов.

Еще не понравилось что вся логика построена на конвейере if else т.е. если иф такойта тогда вставляем копипасту следующий иф такойта вставляем туже копипасту и изменяем букву или цифру и так конвейерным методом. И еще много всяких крайне сомнительных методов написания кода.

Впрочем каждый пишет как может и умеет и этот движек найдет свою аудиторию.

Все кому лень учить javascript этим движком и пользуются. Говорят сам президент им руку пожал когда узнал что они такой движок сотворили и теперь в школах их движок используют чтоб учить javascript и анимации.

ВОВАН23 21.11.2023 20:49

А можно как нибудь изменить код движка чтоб если не хочешь тянуть отрисовку или image за собой, не будет?

ВОВАН23 21.11.2023 23:11

Говорят ему этот движок кто-то подарил.

Нет, Node не пишу. Но и много придумыать не надо, в этом PointJS есть все важные библиотеки чтоб двигалось в разные стороны.

voraa 22.11.2023 09:15

Цитата:

Сообщение от ВОВАН23
Все кому лень учить javascript этим движком и пользуются.

Цитата:

Сообщение от ВОВАН23
теперь в школах их движок используют чтоб учить javascript и анимации.

Какая то шиза. Так, что бы учить, или когда лень учить.

Много лет назад, помню, президент жал руки тем, кто обещал во все школы, каждому ученику электронные учебники. У вас были?

ВОВАН23 22.11.2023 15:21

Нет.

ВОВАН23 22.11.2023 19:16

Ну, редактор карт закончу на PointJS, а саму игру если популярность возрастет,то можно и на phaser.js. Я хотел на нем начать писать, но из-за того что там много библиотек решилне мучаться и делатьна PointJS.

ВОВАН23 22.11.2023 19:18

Цитата:

Сообщение от Rise (Сообщение 554079)




Ты наверно молодой и не застал этот мем.

Застал,но не видел. Не плохая тема. кто-то сделал мод для линукса. Просто ОС назвал, как долбаеб. А что. так сложно свою ОС написать программистам?

ВОВАН23 22.11.2023 19:29

Чат GPT говорит что PointJS хороший движок. Не верите, сами спросите. Даже чат GPT знает PointJS. А вы говорите не популярный.

ruslan_mart 22.11.2023 20:06

Если Chat GTP все знает, то пусть тогда Вам игру и напишет :)

ВОВАН23 22.11.2023 21:03

Ну а куда же без него. Такую штуку ни кто не научит. Пришлось ему оригинальные исходники давать и он мне как сказку рассказывал. :writ И тогда я понял как этот TTD сделан. Я же не программист.

ВОВАН23 24.11.2023 16:17

Ну все нашел как сделать PointJS быстрым. Может кому и прогидоится в будушем.

Там есть такая штука myLevel. Сделано для того что бы держать информацию в формате json об объектах. Создаешь массив объектов с картинками. Потом вставляешь этот массив в myLevel и myLevel вставляешь в игровой цикл. Потом правда когда надо удалять объект то надо удалить из myLevel и из массива объект и кодга добавляешь также, а когда изменяешь image просто update myLevel. У меня комп 2012 года и может без торможения воспроиводить 262 000 объектов. Сам создатель удивлен что так работает.

ВОВАН23 25.11.2023 18:13

Нет, еще год и 6 месяцев.

ВОВАН23 26.11.2023 16:09

Если честно уже делаю редактор карт, почти все готово. Может к концу месяца будет на интернете. Можно будет делать карты и записывать чтоб потом когда игра выйдет играть.

ВОВАН23 28.11.2023 22:37

Надо придумать название игры. Кто придумает, получит беплатный аккаунт.

ВОВАН23 30.11.2023 15:40

Завидуют. Ято я смогсделать такую штуку а они больше знают и не могут.

ВОВАН23 30.11.2023 15:41

хахаха


Часовой пояс GMT +3, время: 09:17.