Расширенная версия Catrobat/Catroid — с поддержкой 3D, AI, Qemu, Python и др.
Основные улучшения:
- Расширенное 3D: Полноценная поддержка 3D-объектов, PBR-материалов, постобработкой и встроенный редактор сцен (с ECS и иерархией).
- Интеграция с ИИ: Возможность использовать нейросетевые модели (импорт
.onnx) и доступ к API Gemini. - Сетевые функции: Готовые инструменты для работы с Firebase и локальным сервером.
- Интеграция с Git: Возможность разрабатывать проекты вместе.
- Библиотеки: Создание своих блоков и формул.
- Плагины: Кастомизация основного интерфейса.
- Qemu: Эмуляция x86_64 прямо через блоки. (ARM64)
- Python 3.12: Полный Python 3.12, возможность устанавливать библиотеки через pip (ARM64)
- LunoScript: Собственный язык, похожий на Kotlin, который дает огромный функционал (работа с Java обьектами, наследование от них и это все в рантайме). Документация LunoScript
- Файлы проекта: Каждый проект имеет свое изолированное хранилище для ресурсов. (так же имеется командная строка)
- ...и множество других улучшений! (ОГРОООМНОЕ МНОЖЕСТВО, я просто не напишу столько)
Последнюю версию приложения и все новости вы можете найти в нашем Telegram-канале.
1. Подготовка окружения
- Установите Git.
- Установите последнюю стабильную версию Android Studio.
- Убедитесь, что у вас установлен JDK 11.
2. Клонирование и запуск Клонируем репозиторий
git clone https://github.com/Danveyd/NewCatroid.gitПереходим в директорию проекта
cd NewCatroidПосле этого откройте проект в Android Studio. Она должна автоматически подтянуть все зависимости с помощью Gradle. (Но могут быть и ошибки)
Мы рады помощи! :) если вы хотите помочь, то вот инструкция:
- Сделайте форк этого репозитория (кнопка
Forkв правом верхнем углу). - Создайте новую ветку для своей фичи (
git checkout -b feature/amazing-feature). - Внесите свои изменения и сделайте коммит (
git commit -m 'Add some amazing feature'). - Отправьте изменения в свой форк (
git push origin feature/amazing-feature). - Создайте Pull Request на этой странице.
Основные требования к коду:
- Чистота: Код должен быть читаемым. Пожалуйста, придерживайтесь Clean Code и минимальных комментариев (только там, где они реально нужны).
- Стабильность: Убедитесь, что ваши изменения не ломают существующий функционал и не содержат критических багов.
я буду называть пути внутри синхронизированного проекта Android Studio. Я предпологаю. что вы уже настроили проект.
res/values - тут все глобальные значения: цвета, строки и др.
res/values/strings - языки, основные английский и русский. Английский обновлять обязательно, без него не будет работать. английский язык никак не обозначен, русский подписан ru
res/layout - все лайауты, тобеж xml файлы, где прописано как выглядят блоки, менюшки и др.
assets - ассеты. то что зеленое - тестовое, при релизном билде не будет включено (так везде)
kotlin+java/org.catrobat.catroid/ - основные скрипты, тут будут все .java, .kt файлы.
kotlin+java/org.catrobat.catroid/content - основной контент (блоки, действия блоков и др.), там также есть много контроллеров (для микрофона, Gemini и все остальное, что я создавал)
kotlin+java/org.catrobat.catroid/content/actions - действия блоков, тобеж по сути их код.
kotlin+java/org.catrobat.catroid/content/bricks - классы блоков, они соединяют действия, лайауты и т.д. воедино.
kotlin+java/org.catrobat.catroid/content/ActionFactory.java - "Фабрика" блоков, тут мы берем дейтвие, запихиваем в него введенные значения и возвращаем готовое к выполнению действие.
kotlin+java/org.catrobat.catroid/content/GlobalManager.kt - Глобальный мэнеджер, можете использовать его как штуку для хранения глобальных переменных. сейчас там есть переменные stopSounds и saveScenes (если отключить stopSounds - звуки не будут останавливаться при переходе на новую сцену, а если отключить saveScenes - сцены не будут сохраняться. иногда полезно)
kotlin+java/org.catrobat.catroid/raptor - Все для 3D, классы, компоненты. ThreeDManager - основной класс, отвечающий за 3D, SceneManager - его обертка более высокого уровня, постепенно я переношу всю работу на SceneManager, так как он лучше (система компонентов, сцен и т.д.)
kotlin+java/org.catrobat.catroid/editor - 3D редактор, все классы для него - тут.
kotlin+java/org.catrobat.catroid/utils/lunoscript - Все исхоники LunoScript, в Interpreter находятся обьявления всех встроенных функций.
Все остальное я ищу через поиск :/
(Ctrl + Shift + F)
Лицензия нашего проекта наследуется от Catrobat (AGPL v3). Ссылка на нее же на сайте Catrobat
