Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs

ct.js

Create cool 2D games with a free game editor! · By Cosmo Myzrail Gorynych

Крутота для новичка (и не только)

A topic by Rendoul created 38 days ago Views: 64 Replies: 8
Viewing posts 1 to 7
(4 edits)

Движок супер! Для новичка в программировании и разработке игр, имеющего некоторые базовые знания - самое то,  ведь кодинг здесь совсем простой, интерфейс в основном дружелюбный, а для меня еще одна штука имеет положительное значение - на ct.js легко перейти с Game Maker, т.к. тут есть некоторые похожие вещи. Идея модульности тоже хороша. Справка написана  простым и понятным языком, жаль только, что русская версия не полна, но в принципе не критично, т.к. могу читать на английском (но было бы, конечно, неплохо довести русскую до конца). Ну и, естественно, куда же без автодополнения кода!

Пока только одно ма-а-аленькое замечание: когда пишешь комментарий в коде, то автодополнение продолжает работать, а это не очень удобно. Также хотелось бы видеть поддержку других языков в описаниях и документациях модулей. А так все хорошо:)

Спасибо за движочек! Как раз искал бесплатный двиг с возможностью использования в коммерческих целях!

Developer

Привет! Рад, что тебе котэ привносит столько радости (:

Сам кот давным-давно создавался как альтернатива YoYo Game Maker; мотивом создать его была ценовая политика и ряд ограничений в их двиге, поэтому да, между ними много общего.

А вот автодополнение ещё пилить и пилить — оно ещё не знает про существование функций в модулях.

(2 edits)

Ориентация на Game Maker - правильная цель! Я надеюсь, конечно, что кот и функционалом вскоре его достигнет  (или даже обгонет :) ).

В общем познакомился с котиком поближе и вот какие у меня возникли замечания и пожелания (маленькие недостатки и чего бы хотелось видеть):

1)Для переменных, которые заранее предусмотрены движком (такие как speed, hspeed и т.д.), почему-то нету подсветки кода, из-за чего их можно спутать со своими новообъявленными переменными (вспомни: в гамаке такие переменные подсвечивались особым цветом);

2)Список котомодов организован немножко (чуть-чуть) нелогично - сверху лист с теми модами, что подключены, а снизу - все, т.е. вообще все - и подключенные, и не подключенные. Мне кажется, было бы логичнее в нижнем листе отображать только те, что НЕ подключены, то бишь чтоб сверху были подключенные только котомоды, а снизу - только не подключенные;

3)При запуске своей игрули с дебагером в фуллскрине я не увидел нигде кнопки прекращения игры, пришлось закрывать ее обходным путем;

4)Также хотелось бы, чтобы когда ставишь курсор текста в коде рядом с фигурной скобкой (в выражениях типа if { бла-бла-бла }, то ЭТА фигурная скобка и ДРУГАЯ (начальная или наобарот конечная), которая относится к этому же куску кода, подсвечивались более заметным цветом, т.к. сейчас они просто обводятся в серенький квадратик, который плохо заметен;

5)Также желательно добавить подписи хот-кеев в пункты системных менюшек (ну всякие там Ctrl+S и т.п.);

6)Немного не нравится то, что для экспорта на ПК сначала должны скачаться какие-то файлы. Мне это не очень удобно, хотелось бы иметь все готовое сразу при скачивании одной только самой программы ct.js (чтоб все уже имелось в одном архиве или инсталляторе). И если не секрет: что за файлики скачиваются и куда?;

7)Ну уже упамянутое тобой автодополнение для модулей;

8)И на будущее: возможно ли реализовать поддержку 3D в ct.js?

И еще: не успел узнать - котик в .exe умеет компилить?

Во-о-от... :) А вообще задумка классная)))

Кста: прикольное лого на аватарке у тебя:)

Developer

1. Зарегал как #103, но, т.к. сейчас полно других дел, решится проблема не скоро.

2. А мне удобно :ь тут, я думаю, проблема вкусов и привычки ¯\_(ツ)_/¯

3. Такс, а как ты в фулскрин заходишь? Если через ct.fullscreen, то подразумевается, что разраб сам должен сделать выход из фуллскрина, хотя хоткей в дебаггере в таком случае тоже будет полезен.

4. Аналогично  первому, #104

5.  СКОРО. Пока что экспериментирую с этим в другом проекте. Есть задача #74.

6. Ну тут было выбрано меньшее из зол. Для упаковки игровых проектов под все платформы нужно более 500 мбайт для дебаг-версий, ~420 мбайт для релиз-версий. Скачивать их нужно отдельно, итого + гиг загрузки. Когда сам котэ весит до 130 мбайт для каждой платформы, добавлять гиг зависимостей в релиз — оверкил. Мб человек выпускает только браузерные игры и ему эти пакеты вообще не нужны. Приятнее качать, в любом случае, только 130 мбайт.

Чтобы было всё готовое, достаточно один раз успешно запаковать любую игру под все платформы, для дебаг-версии игр и релизной. Тогда все эти пакеты закэшируются и будут храниться локально, а следующие упаковки будут проходить молниеносно быстро для всех проектов.

7. #43. Эта задача решится раньше других.

8. В дев-ветке кота уже есть поддержка Pixi v5 (графического движка), и в нём поддержка 3д встроенная. После следующего релиза можно будет самостоятельно допилить напильником и сделать 2д в 3д, а далее планируются тулсы для поддержки 2д в 3д из коробки. Но в любом случае, дальше стилистики Don't Starve — проекции спрайтов в 3д-мире — ct.js не пойдёт. Pixi, думаю, тоже. Для рили 3д игр рекомендую Unity  для мелких игр и Unreal Engine для относительно серьёзных проектов.

9. Для компиляции игр в .exe и используется упаковка для ПК. Если нужно прям один файлик, можно воспользоваться Enigma Virtual Box.

(1 edit)

Спасибо за подробные ответы:)

Насчет п.3 - оно само в фуллскрин лезет (хотя в начале вроде в окне запускал). Сам котик НЕ в фулскрине.

п.6 - я не думал, что эти файлы весят настолько много))) А можно ли как-то эти файлы сберечь потом, чтобы при необходимости переноса котика с одного ПК на другой (на котором к тому же няма инета) можно было бы перенести сразу и эти загруженные файлики?

п.8 - А я именно упрощенную поддержку 3D и имел ввиду, примерно такую же как и в Game Maker. Чтобы, допустим, делая платформер, рисовать 2d-спрайты, но использовать отекстурированные 3d-модели для платформ, а также разносить спрайты по оси Z (глубине).

И пока не забыл: а можно ли в котика добавить какой-нибудь сторонний физический движок на яваскрипте типа box2d.js или ammo?

Developer

Такс, по поводу пункта третьего, у тебя какая ось? О_о а лучше, скинь видосик, ибо дебаггер никуда лезть в фуллскрин не должен сам.

6) можно, скопируй папку cache с одного кота в другого.

8) там не 3д модельки, наверное, а просто плоские спрайты в 3д. Хотя мне самому эту тему поизучать надо...

9) Можно, но нужно очень заморочиться. Библиотеки можно вставлять через настройки -> скрипты, а вот дальше никаких готовых указаний по внедрению прямо в кт нет. Как-то так.

(4 edits)

Ось у меня Винда 7 x64. Видосика вышло два, ибо Fraps отдельно отснял самого кота и отдельно дебаггер, но фактически процесс съемки почти непрерывный. Вот ссылки на Яндекс.Диск (весят очень мало, вдвоем всего 555 кБ где-то вроде): https://yadi.sk/i/5TO6D6Qm--KPPQ и https://yadi.sk/i/NgWsHcumCOQTgw - может быть, это потому что до этого я включал фуллскрин в самом котике?

Насчет моделек: в Game maker без использования расширений возможно использовать встроенные 3d-примитивы, такие как кубы, сферы, конусы, цилиндры и т.п. На них имеется возможность наложить текстуру, преобразованную специальной встроенной функцией из background. Фича, казалось бы, простая, но порой помогает, когда, например, хочешь сделать платформер с 3d-платформами или top-down гонку со спрайтовыми машинками, но с 3d-зданиями - и все это достигается лишь за счет встроенных в гамак 3d-примитивов. Также было вроде расширение, способное скармливать гамаку 3d-модели из файлов .obj.

Заметил, что в пунктах менюшек для редактирования (для типов, комнат, стилей и т.д.) нету кнопочки для выхода без изменений. Почему-то присутствуют только кнопки с сохранением изменений...

Также вопросик: котик умеет организовывать камеру, чтобы можно было следить за игроком, причем чтобы придавать этой камере разные параметры вроде скорости передвижения для слежения за персонажем, разрешения экрана и т.д. (ну как в Game Maker)? И чтоб можно было использовать несколько видов (views в Game maker) для деланья сплитскрина, к примеру.

И еще: в котике присутствует возможность работы с файлами? Ну там создать простенький текстовый файлик, в котором можно хранить значения различных переменных, чтобы, например, записывать прогресс прохождения игры игроком, дабы ему не пришлось при каждом запуске проходить все по новой. Или же возможность игры считывать файлы в определенной папке (хотя бы в той же, где находится сама игра), чтобы реализовать систему подключаемых уровней для игр, имеющих редакторы уровней и вообще какую-то возможность по модификации. По-моему, это довольно важно... В Game maker было это дело неплохо реализовано (особенно в классическом, не студийном GMStudio).

Developer

Для записи видео и не только рекомендую использовать OBS.

Фуллскрин, видать, в дебаггере включается от дочернего окна. На лине такого поведения вообще нет, но сделал пару фиксов и проверю сегодня-завтра их на винде.

3D-примитивы в Pixi отсутствуют и оттого в коте не появится. Вообще, плохая практика — делать из кота клизму.

Документация о камере. Несколько видов/сплитскрин в ближайшее время не планируется.

Кт с файлами не работает, это всё внешние API. Поэтому:

  • для создания сохранений нужно использовать локальное хранилище (дока в коте).
  • для десктопных приложений можно использовать методы node.js. В обычном браузере такие не работают.
  • для статичных файлов нужно использовать fetch и, например, складывать эти файлы в папку include в проекте. Такое активно использовалось в Shifted, например, чтобы загружать фотографии.

Ладно, спасибо:) Если еще будут траблы, буду писать сюда.