Deatan, Я копался и потому знаю — но метод сжатия, разумеется, рассматриваю как чёрный ящик. Тут не столько спецификация ZIP, сколько возможности библиотеки сжатия.
Ипатьев, В настольном софте MVC более яркий, потому что веб живёт в моменте — в том моменте, который зафиксировал изолятор транзакций СУБД. Скрипт передаёт данные на момент T и заканчивает работу. Так что в вебе иногда (!) делят этот самый скрипт на два слоя: подготовку данных и генерацию видимого HTML. Что такое controller — среди разработчиков нет консенсуса.
ThunderCat, Либо если сервер 1 и сервер 2 в разном владении. Но тогда они ещё и географически далеко, серверу 2 приходится пользоваться каким-нибудь кэшем, и в результате получается что-то более близкое к MVC.
Можно сайт на MVC, но показать наружу и API — так надёжнее вообще-то, но и то, и другое надо отдельно тестировать. Работа основного сайта не говорит о корректности API, и наоборот. Потому и написал «чтобы меньше повторяться».
Можно сделать какие-то куски сайта на API, какие-то на MVC. Пример: пост на MVC, комментарии на API.
Можно сделать два уровня: сервер 1 выдаёт API, сервер 2 использует его результат и как-то выдаёт HTML (я бы не назвал эту технологию MVC, но очень похоже) — технология крайне редкая и обычно используется для нестандартных мест, где либо СУБД сделает больше связок, чем собственно данных (обычно что-то связанное с анализом рядов данных), либо просто есть движок на другом ЯП.
SejaDev853, Другой полом вспомнил: Игра Desperados первый была рассчитана на ЭЛТ и была пиксельной природы, но играть-то на ЖК в штатном разрешении хочется. Игру хакнули, но на одном уровне, который по «везению» вложился в ширину большинства экранов, видео на движке перестало работать.
SejaDev853, Я помню такой полом: на «средних» мобильниках (128×…) летящий по баллистической траектории снаряд проходит над головой героя (если прилечь), а на «крупных» (176×…) — прямо в героя, ложись не ложись.
Примерно тогда я сменил Moto V180 на SonyEr Z550i, так что опробовал игру на том и другом.
SejaDev853, С поломками геймплея из-за разных разрешений экрана я знаком с Java ME. Хотя там из-за малых разрешений всё было пиксель в пиксель, никаких «непрерывных».
SejaDev853,
• «Непрерывная» = единица движения меньше, чем пиксель. Примеры: Braid, Hollow Knight, Planet of Lana.
• Пиксельная — единица физики, может, и меньше (даже в Super Mario она 1/256), но изображение составлено из здоровенных пикселей и экранное движение идёт по ним. Примеры: Shovel Knight, Hyper Light Drifter.
• Матрица преобразования = видовая матрица — матрица 4×4 для перевода из мировых координат в экранные.
• Квадратный/неквадратный пиксель — ну, думаю, понимаете. Равные у него стороны или нет. Сейчас склоняются к квадратному, но последнее неквадратное — это 1280×1024 на мониторе 4:3.
• Игра «сломалась» — поломка геймплея, рендерера или чего-то ещё. Примеры: враг атакует из-за краёв экрана и хрен достанешь, или наоборот — идём и видим наперёд врага, которому ещё не дали команду атаковать, или у вражеского рывка есть конкретная дальность и на широких экранах он не достаёт и сам попадает в неловкое положение, или уровень в ширину умещается в особо широкий экран.
• Промежуточный холст — имеется в виду не прямо на экран, а на доп. картинку. Так, например, рендерят в гонках зеркало заднего вида. А в пиксельных играх — избавляются от ошибок округления.
• MIP-текстурирование — тебе в 2D вряд ли понадобится, но это использование текстур разного размера для экономии памяти, оптимизации доступа и улучшения картинки (разрешение завышено — рандомные пиксели, занижено — мыло).
• Островок текстуры — непрерывный участок текстуры.
• Псевдо-векторное — лучше всего видно в надписях Team Fortress 2, которые на любом разрешении чёткие, как будто векторные.
• Шейдер — программа для видяхи, отвечающая за создание визуальных эффектов.
My1Name, Посмотрев на это, я лично считаю, что будущее игр за нейронными шейдерами. Они смогут сделать мех как у этой псины, только в реальном времени и будут отвечать исключительно за мех. Или кирпичи, или траву. А то теперешний игровой мех ну крайне читерский. А игровой процесс останется традиционный: судейство автогонок определённо объективнее, чем у фигурного катания.
My1Name, Если посмотреть видео со щенком, видим там огромную кучу киноляпов.
1. Не уверен, что кед так надет на левую ногу.
2. Кеды разного цвета.
3. Вместо поводка драная верёвка.
4. Эта верёвка то висит в воздухе, то попадает в руку хозяйке.
5. Движения щенка очень сомнительны.
6. В кадр попадают три пальца, и на всех разных маникюр.
7. Пола куртки пересекается с ногой.
8. Хозяйка приседает — правая нога остаётся выпрямленной.
Так что я крайне сомневаюсь, что все эти киноляпы — дело трёхмерного движка. Наоборот, больше похоже, что 99,9% работы выполнялось в 2D. А трёхмерное представление сцены самое что ни на есть неортодоксальное и перегон этого представления в формат движка представляется излишним.
My1Name, Ещё раз: 3D-движок — это куча утилит, полезных для игр (не нужны), метод хранения сцены в виде моделей, ригов, текстур и т.д. (не нужен), метод управления видеоплатой (нейродумалка работает быстрее и качественнее, но совершенно неконтролируемо). Мне больше сдаётся, что она строит очень грубый трёхмерный вид сцены, любым методом (хоть в лоб — а совсем не игровым 3D-движком) преобразует её в 2D, а потом уже в 2D нейронкой наводит красоту.
My1Name, Как раз на 3D-движок не похоже — по той причине, что 3D-движок (в традиционном его понимании) принимает на вход 3D-модели и прочие данные о сцене. Его возможности ограничены, зато он полностью контролируем, что важно в играх.
Нейродумалка вольна делать что угодно и потому её результат значительно богаче, чем у движка, но из-за этого «чего угодно» допускает киноляпы. Некое подобие (!) 3D-движка может применяться в самом начале, когда надо раскидать объекты по планам. Да хоть, извините, майнкрафт воксельный! — чтобы примерно понять: тут здание, тут девушка и т.д. А окончательная доработка — в 2D. Самое интересное, что многие свойства объектов реального мира нейросеть узнаёт просто из-за огромной обучающей выборки. Так, она как-то узнала, что кусаешь еду — остаются следы зубов.
SejaDev853, На СОВРЕМЕННЫХ мониторах матрицу преобразования строят исходя из квадратного пикселя. Это будет чуть сложнее, чем на кинескопах (там обычно исходили из разрешения 4:3), но этот механизм вполне можно отладить, запуская игру в окне.