Size: a a a

2020 December 20

MM

Maksims Mihejevs in GameDev for Web
Anon
Ещё по поводу прототипирования и "больших картин". Я 9 лет мучался на контрактах исправляя игры сделанные на Unity. В нем очень интрузивный дизайн основанный на подобии ECS, который подразумевает очень специфический подход к скриптованию и наказывает попытки делать всё классическим чистым ООП.
Я был довольно разочарован когда увидел в плейканвасе решения скопированные с этого движка. Самые бесячие это привязанность кода к сценам и ентитям. По моему мнению, лучший движок - это просто набор паков, который не будет препятствовать реализации своей архитектуры.
Вот эти "создай скриптик и запихни его в ентити" или "создай плагин для нашей ECSки и подключи его" - нет ребята, я от этого уже очень устал. Программист должен сам вызывать нужные ему АПИшники откуда он хочет. А если программист новичек - можно сделать для него темплейт.

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

MM

Maksims Mihejevs in GameDev for Web
Ivan Popelyshev
а вот у нас срач ПОЧЕМУ БЛИН НЕ ES6 MODULE:
Ну, двиг уже ES6 modules.
источник

AM

Anton Matrosov in GameDev for Web
Кстать насчёт es6, у меня линтер ругается на async / await
источник

AM

Anton Matrosov in GameDev for Web
Но скрипт по факту работает
источник

MM

Maksims Mihejevs in GameDev for Web
Anton Matrosov
Кстать насчёт es6, у меня линтер ругается на async / await
Вставь в начало скрипта:
/*jshint esversion: 9*/
источник

AM

Anton Matrosov in GameDev for Web
О пасиб, я на 6 все сидел до этого
источник

AM

Anton Matrosov in GameDev for Web
Жаль доков про это нигде не сыщешь )
источник

MM

Maksims Mihejevs in GameDev for Web
Скажи если работает, я хз 😂
источник

MM

Maksims Mihejevs in GameDev for Web
источник

AM

Anton Matrosov in GameDev for Web
Тогда врядли, ибо я колупал код текстового редактора, и там вроде больше 6 не проверяется
источник

AM

Anton Matrosov in GameDev for Web
Но это было давно, проверю
источник

MM

Maksims Mihejevs in GameDev for Web
источник

A

Anon in GameDev for Web
Нормас, тогда можно скилл с чистым ES апнуть и не сомневаться в этом вложении своего времени
источник

A

Anon in GameDev for Web
Меня гайдит друган в изучении веб технологий, и первое что он меня заставил делать, выносив мозг каждый день 2 недели подряд - это юзать тайпскрипт. Я даж книжку дочитать не успел и толком освоиться в npm ещё тогда.
источник

A

Anon in GameDev for Web
И меня засосало, т.к. я очень привык к строгой типизации.
источник

A

Anon in GameDev for Web
То самое чувство когда возишься с импортами ES6 модулей, и тебе ещё с верху орут "юзай тайпскрипт"
источник

MM

Maksims Mihejevs in GameDev for Web
Обычно так и есть: когда приходишь с строгой типизации языков, то хочется её дальше. Т.к. динамика JS'а таких программистов пугает.
Но навязывать кому-то что-то, не хорошо. Для веб разработки нужно сперва уметь ваниль - чистый JS, ES5 даже, и только потом наращивать знания дополнительными слоями.
источник

A

Anon in GameDev for Web
Эт да. Но я щас мой учитель - это вот это
"extends": [
   "airbnb-typescript/base",
   "eslint:recommended",
   "plugin:@typescript-eslint/recommended",
   "plugin:@typescript-eslint/recommended-requiring-type-checking"
],
источник

A

Anon in GameDev for Web
Беспощадный линт это больно и приятно
источник

A

Anon in GameDev for Web
Самое жестокое правило это "import/no-cycle". Даже в плейканвасе в него не смогли.
источник