Мини-статья: Песочницы для вопросов по кодингу игр на TypeScript

Песочницы для вопросов по кодингу игр на TypeScript

Эта мини-статья для начинающих программистов игр на TypeScript, которые имеют много вопросов во время изучения TypeScript и игровых веб фреймворков/движков, и вынуждены искать песочницы, где бы они могли продемонстрировать свою проблему. Тот кто пытается помочь может открыть демонстрацию проблемы в песочнице, сделать копию одним нажатием на кнопку “Fork”, начать сразу экспериментировать, сохранить решение и показать работающий пример.

Вы можете использовать песочницу JSFiddle для TypeScript, но, на мой взгляд, крайне неудобно, что JSFiddle не умеет хранить несколько файлов. Намного удобнее, если в песочнице можно разбить пример на отдельные файлы, где в каждом файле бы находился свой маленький класс. Повышая читабельность кода мы повышаем вероятность более быстрого ответа. А с другой стороны - отвечающий на вопрос может помочь сгруппировать пример по файлам и классам, сделав его более читабельным, и более простым для восприятия.

Я пробовал многие песочницы и особенно хороши оказались эти две:

Допустим, вы изучаете игровой движок Babylon.js, который, кстати, был переписан с нуля на TypeScript и наиболее дружелюбен к этому языку. Конечно, можно писать и на JavaScript, используя Babylon.js, но TypeScript лучше подходит для игр. У данного игрового движка есть своя песочница для примеров на TypeScript и JavaScript: https://playground.babylonjs.com/ Но в этой песочнице нельзя создавать несколько файлов. Намного проще написать пример локально, разбив его на несколько файлов и скопировать содержимое файлов в песочницу, не тратя время на изменения. Вы можете располагать свои примеры из нескольких файлов на TypeScript в песочнице Plunker, сделав просто Fork моего примера на игровом движке Babylon.js: https://plnkr.co/edit/YMWU5JxZ4R5b7NOSy2o4?p=preview Сделав Fork, вы можете использовать этот пример, создавая свои примеры на его основе. Каждый новый Fork - это новый пример и новая ссылку, в которой вы можете демонстрировать свои игровые примеры, либо проблемы связанные с неправильным пониманием работы игровых движков и фреймворков.

Рассмотрим песочницу CodeSandbox и Plunker в применении с другими движками и фрейморками. Графический движок Pixi.js можно использовать c TypeScript. Этот движок очень популярен для разработки мобильных браузерных игр, так как оптимизирован именно под мобильные. Данный движок используется в качестве графического движка для игрового фреймворка Phaser. Вы можете сделать Fork моего примера и далее делать Fork со своего примера и писать любые свои игровые примеры с вопросами или демонстрациями:

Пример в песочнице Plunker на Phaser 3 и TypeScript: https://next.plnkr.co/edit/61zD3u1nINJSvq7x?preview Вы можете сделать Fork, а ещё вы можете перенести этот пример в песочницу CodeSandox, используя по аналогу пример с Pixi.js выше. Это хороший способ потренироваться.

Если вы тренируетесь писать простые игры без движков, на чистом WebGL и на TypeScript, либо вы пишите свои игровые движки на WebGL, то представляю вашему вниманию пример в двух песочницах, которые загружают текстуру из DropBox:

Пример демонстрирует, как создать прямую ссылку на текcтуру, которая лежит на DropBox. По виду ссылки на текстуру в примере вы сможете понять, как отредактировать обычную ссылку на расшаренный файл. Например, вы расшарили непрямую ссылку вида: https://www.dropbox.com/s/uhfx6694y4gd4ol/megatron.png?dl=0 Вам нужно преобразовать её к виду: https://dl.dropboxusercontent.com/s/uhfx6694y4gd4ol/megatron.png

К слову сказать, поделюсь полезной информацией, что DropBox имеет лимиты на количество обращений к вашим игровым ресурсам (текстуры, спрайты, звуковые файлы), поэтому, если ожидается, что пример будет популярен и будет очень много просмотров, то расположите этот файл на GitHub. Перейдите к вашему файлу на GitHub и нажимаете кнопку “Download” и вы получаете ссылку, например, такого вида: https://raw.githubusercontent.com/8Observer8/8observer8.github.io/master/Assets/LearnPixiJS/Images/cat.png На данный момент, лимит обращений к файлам по прямой ссылке на DropBox составляет 10 ГБайт в день. Вы можете посчитать, учитывая размер вашего файла, сколько раз к нему могут обратиться за 24 часа.

Если что-то непонятно, то задавайте вопросы. Загорелись идеей реализовать что-то в песочницах из примеров выше, то делайте Fork, копируйте сюда результаты. Даже если цвет фона в примере нашли как поменять, тоже копируйте ссылку, что получилось. Не стесняйтесь, что вы что-то вроде как по мелочи изменили. Каждая мелочь - это шажок вперёд, а может и большой шаг.