Собственно, 23 урока - это полный цикл разработки, от нуля и до публикации в плей маркете.
Вот полный цикл SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Наткнулся тут на множество тем о том, как люди пробуют и у них не получается создать игру на JavaScript с нормальным портированием её на Android, и собственно могу предоставить бесплатно целый видеокурс с полноценным процессом разработки игры и компиляцией этой игры в APK файл.
Инструменты: 1. Sublime Text 3 2. Google Chgome (для отладки) 3. Android Studio (для компиляции)
И я не знаю, как будет лучше выложить их, прямо тут или на ютуб. Напишите, кому интересно. SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
TLT, игровой 2D движок, есть работа с примитивами, полигонами, камерами, анимацией, статикой, звуком и музыкой, это все в составе самого движка. Поддерживаются устройства ввода, мышь, клава, сенсор, множественные касания, жесты, и т.д. Столкновения, вращения, масштабирование, и т.д. Все что в первом посте написано - то и входит в комплект, ничего дополнительного не нужно, поддерживаются сцены, уровни, саундтреки и плейлисты для уровней.
Набор базовых возможностей движка на текущий момент выглядит следующим образом: Поддержка мыши Поддержка тачскрина (+ множественные касания) Поддержка Клавиатуры Блокировка курсора Примитивы: Круг, Прямоугольник, Эллипс, Линия, Точка Полигональное построение любых объектов Изображения Тайлсеты Анимация Объектная модель Статические столкновения Динамические столкновения Вращение любых объектов Масштабирование Векторная математика Попиксельные операции Работа с пост. эффектами Создание мешобъектов Создание полигональных объектов Текстурирование объектов Поддержка звука и музыки Создание плейлистов для фоновой музыки Высокая скорость работы + большая оптимизация под Android/iOS Управление скоростью анимации Доступ к контексту Работа с камерой: Слежка за объектами, Движение камеры, Снятие "скриншота"
Инфа с сайта pointjs.ru
Там же набор примеров, понравился пример agar.io и с дракончиком из хрома. Не могу дать ссылку на примеры, они там в ифрейме открываются.
Добавлено (13 мая 2016, 09:52) ---------------------------------------------
Код
var pjs = new PointJS('2D', 1280 / 2, 720 / 2, { // 16:9 backgroundColor : '#53769A' // if need });
var log = pjs.system.log; // log = console.log; var game = pjs.game; // Game Manager var point = pjs.vector.point; // Constructor for Point var camera = pjs.camera; // Camera Manager var brush = pjs.brush; // Brush, used for simple drawing var OOP = pjs.OOP; // Object's manager var math = pjs.math; // More Math-methods var levels = pjs.levels; // Levels manager
var width = game.getWH().w; // width of scene viewport var height = game.getWH().h; // height of scene viewport
pjs.system.setTitle('PointJS Game'); // Set Title for Tab or Window
// Game Loop game.newLoopFromConstructor('myGame', function () { var myText = game.newTextObject({ positionC : point(game.getWH2().w, game.getWH2().h), // central position of text size : 50, // size text color : '#EAEAEA', // color text text : 'Hello, World!', // label alpha : 0, // alpha channel font : 'Arial' // font family });
this.update = function () { // Update function
game.clear(); // clear screen
myText.draw(); // drawing text myText.transparent(0.005); // change alpha [0..>..1]
};
});
game.startLoop('myGame');
Минимальный игровой код. SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Сообщение отредактировал SkanerSoft - Среда, 28 Декабря 2016, 11:09
Небольшой курс о создании Арканоида на JavaScript с полного нуля. Никаких движков, никаких готовых решений.
Так же в последним уроке есть информация о конкурсе, проводимому в честь 1 мая. Сумма приза ха первое место - 5000 рублей. Может кто-то еще успеет даже))
Добавлено (15 апреля 2016, 08:45) --------------------------------------------- А вот и сам конкурс
SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Добавлено (21 декабря 2015, 08:33) --------------------------------------------- Ребят, кому не сложно потратить 2 минуты времени, можете поддержать проект на spark'е? Вот тут просто оставить свой плюсик, либо добавить голос к записям в блоге. Регистрация не нужна, всё очень просто.
Добавлено (26 декабря 2015, 16:52) --------------------------------------------- Движок обновился до версии 0.6.0, завезен новый менеджер обработки внешних ресурсов, благодаря которому можно отслеживать прогресс загрузки внешних файлов (аудио, спрайтов), выдавая игроку в процессе ожидания любую информацию, как вариант - надпись "загрузка" с прогресс-баром...
Добавлено (15 апреля 2016, 06:58) --------------------------------------------- Скоро 1 мая, объявляем конкурс)
SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Если разбираешься в Языках программирования, можно начать с этого.
SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Может кому пригодится, и если кто-то собирается делать игру на JavaScript...
Воспроизведение музыки в игровом приложении:
Яндекс переводчик в игровом приложении:
Яндекс синтезатор речи в игровом приложении:
SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Будет и сервер, и клиент, и многопользовательский режим. Разбирать придется много, и материала, соответственно, будет много.
Добавлено (19 декабря 2015, 07:21) --------------------------------------------- Движок обновился до версии 0.5.0, все нововведения учтены. Проведена небольшая оптимизация, а так же убраны некоторые неиспользуемые методы. Сенсорные устройства пока не поддерживаются. Устройство, на котором проводилась отладка сломалось (сгорело при зарядке), так что до следующей версии проект работает только с мышью и клавиатурой.
Обновление всегда доступно на GitHub или на официальном сайте (j2ds.ru).
Добавлено (19 декабря 2015, 09:24) --------------------------------------------- В j2Ds будет добавлен новый Менеджер отладки, который, при нахождении ошибок в коде добавляет в консоль информацию об ошибке, а так же имеет возможность указать движку следующие режимы работы: - Останавливаться при ошибках - Не останавливаться при ошибках, но информировать о них - Безоговорочное выполнение любого кода без информирования
Режим отладки работает корректно на всех устройствах. Если игра запущена на мобильном устройстве, в котором нет консоли, будет выдано GUI сообщение движка.
Так же в движке разрабатывается менеджер HTML5 GUI, который позволит вам создавать красивый HTML5 интерфейс.
Добавлено (19 декабря 2015, 19:54) --------------------------------------------- Теперь, если вы не желаете использовать консоль вашего браузера, либо тестирование происходит на мобильном устройстве, j2Ds предоставляет собственный отладчик. На данный момент, конечно же в BETA версии.
Внешний вид отладчика j2Ds
Добавлено (19 декабря 2015, 21:07) --------------------------------------------- Попробовать новый отладчик в действии можно Тут, либо Тут
Добавлено (20 декабря 2015, 00:35) --------------------------------------------- Командная строка отладчика так же позволяет получать информацию об объектах, как это происходит в консоли браузера. Достаточно ввести имя функции, объекта, или переменной, чтобы посмотреть его структуру. При этом структура объекта выводится в привычном формате консоли браузера.
Добавлено (20 декабря 2015, 15:54) --------------------------------------------- Побочным эффектом введения Менеджера отладки и ошибок стало то, что теперь можно подсвечивать синтаксис JavaScript кода не только в окне отладчика, но и в любом месте на странице, используя функцию lightSintax(). Этот режим прекрасно себя чувствует в Справочной системе а так же при просмотре исходников в примерах приложений. SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Сообщение отредактировал SkanerSoft - Воскресенье, 20 Декабря 2015, 15:56
Физики пока нет, но планируется. Физика будет своя, так же на основе соответствующего Менеджера. На данный момент есть лишь обнаружение столкновений между объектами и взаимодействие между ними.
А вот когда именно появится физика - пока ответить не могу... так как сам пока точно не знаю. Сейчас работа сконцентрирована над звуками, музыкой и тесной интеграцией с AndroidStudio.
Добавлено (10 декабря 2015, 14:49) --------------------------------------------- Как-то случайно нашел ЭТО
Добавлено (13 декабря 2015, 14:01) --------------------------------------------- Глобальное обновление. Полная потеря совместимости. Поддержка звука. Как-то так должна называться эта новость... Но, название, как всегда - весьма банальное: Обновление j2Ds до версии 0.4.0. Первое, и, наверное, не очень радостное известие - безболезненно обновиться на новую версию будет нельзя. Связано это с тем, что изменениям подверглись все глобальные объекты. В движок введено понятие "Менеджер", которое определяет специальный объект, отвечающий конкретно за свою область работы. Менеджер следит за стеком, за объектами, вверенными ему в наблюдение. Всеми менеджерами можно легко управлять. Для обновления, в принципе, нужно внимательно глядеть в справку, чтобы ваш проект внезапно не начал работать не совсем так, как вы того ожидаете. При обновлении так же очень рекомендуется поглядывать в веб-консоль, и следить, какие методы вызывают ошибки, чтобы устранить их, посмотрев в справку. Ну, думаю, справиться будет не сложно. Благо это касается лишь самих менеджеров, методы не тронуты, только расширенны.
Второе, не менее важное, список менеджеров: - Менеджер сцены: getSceneManager() - Менеджеры управления - - getIO - - getTouchIO - Менеджер игровых состояний: getGameStateManager() - Менеджер слоев: getLayerManager() - Менеджер текстур: getTextureManager() - Менеджер устройства: getDeviceManager() - Менеджер звука: getSoundManager() - Менеджер хранения данных: getMemoryManager() - Менеджер видок (камер): getViewManager() - Менеджер расчетов FPS и оптимизации: getFpsManager() - Менеджер для работы с DOM: getDOMManager() - Менеджер векторов и математики: getMathManager() - Менеджер рисования (кисть): getPaintManager() Подробно обо всем написано в справке.
Третье, в движок заехал звук. Менеджер звука полностью рабочий, базируется на HTML5 Audio, и позволяет следующее: - загрузка звука из файла - Воспроизведение - - Одиночное - - Зацикленное - Управление воспроизведением - Управление громкостью - Все возможности плеера - Глобальные методы - Блокировка воспроизведения
О глобальных методах чуть подробнее. При возникновении какой-нибудь ситуации, например, при переходе на новый уровень, вам не нужно останавливать каждый звуковой файл по отдельности, вы можете вызвать глобальную команду для остановки сразу всех звуков. То же касается и воспроизведения, паузы.
Четвертым пунктом идет оптимизация. Хоть она и не такая серьезная, но все равно движок немного оптимизировал, теперь некоторые менеджеры по умолчанию не включены, чтобы не отнимать ресурсов устройства.
Ну и на этом, пока что, все. Вчера не выложил ничего, каюсь, но не жалею! День прошел очень позитивно, с друзьями. Желаю всем хорошего окончания года!
Добавлено (18 декабря 2015, 19:14) --------------------------------------------- В предстоящем обновлении j2Ds внесен список изменений: - Теперь игровую сцену можно инициализировать на уже существующем canvas - элементе, функция scene.initCanvas('id_of_canvas'); При этом вы так же можете использовать все возможности движка. Данное новшество позволит встраивать движок в ваши веб-страницы для анимации, презентации или просто демонстрации чего-либо.
- Менеджер аудио переименован в AudioManager, ранее был SoundManager.
- Новый менеджер Триггеров, позволяющий выполнять команды с задержкой, выполнять циклически.
- Новый менеджер PaintManager, позволяющий рисовать несложные элементы, не создавая Ноды.
Так же готовится новый урок по ВКонтакте API. Во втором уроке уже начинаем создавать игровой проект в отладочном режиме ВК.
SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Сообщение отредактировал SkanerSoft - Среда, 09 Декабря 2015, 16:26
Система парентов, один - за движение, другой за анимацию. Колизится не сам перс, а его бокс. Причем не один бокс, а посекторно сразу несколько. SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Немного изменена архитектура движка. Теперь функционал разделен на Менеджеры. в j2Ds менеджер - это специальный объект, который отвечает за ту или иную часть движка. Разбивка на менеджеры дает возможность использовать в ваших проектах только тот функционал, который требуется именно вам, при этом совершенно не нужно вникать, как работают остальные части. На текущий момент в движке задействованы следующие менеджеры: - Менеджер сцены: getSceneManager() - Менеджеры управления - - getIO - - getTouchIO - Менеджер игровых состояний: getGameStateManager() - Менеджер слоев: getLayerManager() - Менеджер текстур: getTextureManager() - Менеджер устройства: getDeviceManager() - Менеджер звука: getSoundManager() - Менеджер хранения данных: getMemoryManager() - Менеджер видок (камер): getViewManager() - Менеджер расчетов FPS и оптимизации: getFPSManager() - Менеджер для работы с DOM: getDOMManager()
Пока это все менеджеры, доступные в движке, но поверьте, на их основе создать полноценный проект можно уже сейчас. Обновление планируется на субботу. SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Сообщение отредактировал SkanerSoft - Среда, 09 Декабря 2015, 08:28
iOS только косвенно. Работа под Android проверена на версиях от 2 до 5. Экспорт при помощи Intel XDK либо при помощи Android Studio. Позже выпущу полноценный гайд по теме, сейчас время ужимает очень сильно.
Добавлено (08 декабря 2015, 07:41) --------------------------------------------- Меня тут упрекнули, что работа встала. Не встала, движок уже дорос до версии 0.3: Добавлен файл history, отображающий изменений от версии к версии, лишь косвенные.
На данный момент движок оборудован следующим функционалом: - Добавлена поддержка колесика мыши - Добавлены возможности позиционировать объекты по отдельным координатам - Изменен подход к организации события мыши, добавлены типы событий: - isMouseDown - удерживание кнопки мыши - isMousePress - однократное нажатие кнопки мыши - isMouseUp - отпускание кнопки мыши - Так же функции принимают в качестве аргумента следующие строки: - LEFT - RIGHT - MIDDLE
Немного о грядущих нововведениях: - Добавлен менеджер видов. Теперь можно создавать сколь угодно Видов (ViewPort), управлять ими, переключаться. - Добавлены функции автоматической перерисовки сцены, чтобы не вызывать для каждого объекта метод draw() - Добавлен менеджер игровых состояний. - Изменен механизм работы с устройствами ввода / вывода. - Добавлен менеджер обработки событий тачскрина "getTouchIO()" с поддержкой событий isTap[Down|Press|Up]. - Так же в обработчик мыши добавлены события isMouseMove() а в обработчик сенсорного ввода isTouchMove(). Подробно обо всех событиях будет описано в справке и в history-файле. Обновление выйдет в ближайшую субботу. По всем нововведениям и обновлениям информацию вы всегда можете получить на GitHub проекта и так же на сайтах проекта.
Так же справка полностью на русском, с примерами, готова уже для самой актуальной версии движка.
По всем вопросам отвечаю либо тут, либо ВК, либо на форуме проекта. Лучше конечно на форуме самого движка, дабы сконцентрировать информацию по движку.
И еще, может кто подскажет, как отредактировать движок тут на сайте? А то он в списке движков есть, но я не знаю как вносить туда правки...
SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
На данный момент движок не планируется использовать совместно с чем-либо еще, что влияет на DOM, потому да, он охватывает все элементы управления, включая устройства ввода и объект window. SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Движок по умолчанию хватает сразу объект body для манипуляций с клавиатурой. В новой версии сделаем возможность подключения своих обработчиков. SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Насчет того, радостная новость для меня или нет, ничего говорить не буду. Однако, если вы желаете, чтобы у вас всегда была актуальная версия j2Ds - то скажу, что движок обновляется раз в неделю по субботам. Обо всех нововведениях и изменениях я пишу в справке. Так что обновления желательно не пропускать, потому что версии, к примеру - 0,0,2 и 0,1,0 полностью не совместимы. Ну или же вы можете просто переписать движок под себя. SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Размываются, если их размер вывода на сцену при задании размера нецелый.
Например, размытие сработает если размер спрайта - 50,50, но размер объекта, который использует его как текстуру - 50.0, 50.0
В движке два типа веторов - вещественные и целочисленные, при использовании целочисленного - размытие не происходит.
Однако в Хроме размывается в любом случае.
Добавлено (01 ноября 2015, 22:18) --------------------------------------------- j2Ds обновился до версии 0.1.0. Из нововведений: - Корректная обработка FPS в играх, если установлено ограничение FPS. При исправлении этого бага FPS в целом возросло примерно на 20%. - Добавлены новые обработчики событий и состояний (см. справку) - Все объекты, наследующие базовую ноду получили много новых методов и обработок. - Для отрисовки текста появилась возможность задать линию обводки, если требуется. - Небольшие исправления и добавление новых методов, описывать которые тут нет смысла, читайте справку.
Версия осталась полностью совместимой, единственное, что много названий методов изменилось, и если после обновления у вас появились ошибки, просто посмотрите на реализацию вашего метода в справке.
Кроме того, теперь, чтобы получить доступ к управляющим объектам, есть соответствующие команды: - getScene() - getLayers() - getIO() - getTextureManager() - getDOM()
Некоторые методы были удалены вовсе, на замену им пришли другие. Опять же - справка все описывает.
SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
hero564, движок ничего не искажает и представляет в том виде, в котором вы все делаете, и в сам DOM он не лезет никак, если вы о соответсвии шаблонам, то да, полностью позволяет реализовать все под ваши предпочтения.
Добавлено (25 октября 2015, 09:45) --------------------------------------------- Если вы об изменении размеров сцены с сохранением пропорций и дистаций - это да, несомненно умеет.
SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Тут я с вами полностью согласен! Однако бросать работу я ни в коем случае не собираюсь, ибо у движка набирается сообщество очень активно, так как постоянно улучшаются показатели. Сам же движок поделен на секторы, независимые друг от друга по реализации. А вот насчет того, что бросают - это верно. Я сам изучал Irrlicht Engine, но понял, что ничего толкового не выйдет, после чего и забросил его вовсе. Хотя потенциал был... развития не было. А по своему движку записывается видеокурс небольшой, в качестве примера небольшой 2D платформер. j2Ds не претендует на звание мега игрового движка. Просто небольшой фреймворк, обертка для API canvas, упрощаюий работу с ним. И упрощает довольно сильно.
Добавлено (17 сентября 2015, 17:42) --------------------------------------------- Вышла новая версия движка, с поддержкой слоев и большой оптимизацией! Довел справку до ума, которая теперь доступна в главном репозитории проекта: https://github.com/SkanerSoft/J2ds Там же можно скачать обновление и проверить в работе!
Добавлено (20 сентября 2015, 18:19) --------------------------------------------- Очередное обновление вышло и уже доступно для использования! Основным упором было переписать и сделать более адекватную справку, что теперь находится на гите в корне репы. Кроме всего прочего движок пополнился множеством функций! Кому интересно, милости просим!
Добавлено (23 октября 2015, 22:57) --------------------------------------------- Движок обновился до версии 0.0.5, получил кучу обновлений и нововведений, среди который большая оптимизация отрисовки примитивов, динамическая генерация спрайт-карт, низкоуровневый доступ к контекстам всех слоев, а так же шаблонизатор для генератора текстур.
SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Сообщение отредактировал SkanerSoft - Воскресенье, 25 Октября 2015, 19:06