Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Открой для себя волшебный мир реальной рыбалки. Лови реальную рыбу на реальных водоемах! Исследуй новые рыболовные места и заполучи заветный трофей.

Реальная Рыбалка

Симуляторы, Мультиплеер, Спорт

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Gamedev + Github

С этим тегом используют

Инди Разработка Инди игра Игры Unity Компьютерные игры YouTube Программирование IT IT юмор Искусственный интеллект Программист Нейронные сети Юмор Все
3 поста сначала свежее
RealDamyn
RealDamyn
2 года назад

Для чего нужны системы контроля версий или как я понял предназначение GIT⁠⁠

Современный пользователь, запуская приложение\программу\игру\что угодно, на своем компьютере, хочет быть уверенным, даже не так, совершенно не задумывается о том, что в приложении могут быть ошибки\баги\глюки, называй, как угодно, а задача разработчика выпустить продукт таким, чтобы эти самые ошибки и не возникали.

Как это работает:

Сначала разрабатывается идея приложения.

Затем разрабатывается логика его работы.

А после уже логика переносится в код.

Я должен оговориться, что это сильно упрощенная схема, однако, смысл всех этапов разработки примерно такой.

На этапе идеи предусмотреть все ошибки, едва ли получится, так как это просто идея - грубо, описание того, что делает программа или приложение.

Ну согласись, когда у тебя есть только "Эта программа будет текстовым редактором с подсветкой ссылок и отображением их содержимого в правом углу"

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

На этом этапе ты занимаешься только этим, и ни чем другим.

Если переложить это на разработку автомобиля, то ты описываешь автомобиль - автомобиль будет с круглыми окнами, отдельным отсеком для детей и тещи, будет играть кукарачу вместо гудка, и... ну примерно, как тут:

На этапе проработки логики программы, уже возможно предусмотреть некоторые возможные ошибки, но задача в другом, понять, что должна делать программа "внутри" себя, чтобы пользователь получил тот результат, который ему необходим.


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

И уже затем, ты начинаешь переносить логику в код. Ну или изготавливать детали, из которых будешь собирать автомобиль, если вдруг решил заняться автомобилестроением вместо разработки программного обеспечения, пока слушал меня.

Для чего нужны системы контроля версий или как я понял предназначение GIT Разработка, Git, Github, Unity, Gamedev, Python, Программирование, Видео, Видео ВК, Длиннопост

Затем ты выпускаешь программу, а другие ее скачивают и начинают использовать.

И все бы было хорошо, если бы все пользователи твоей программы, перед ее использованием, прочитали руководство, как ей правильно пользоваться и при работе руководствовались бы им (минутка тавтологии), а еще лучше, думали также, как разработчик.

Но нет, пользователь может совершать то, о чем ты даже и не задумывался.
Для чего нужны системы контроля версий или как я понял предназначение GIT Разработка, Git, Github, Unity, Gamedev, Python, Программирование, Видео, Видео ВК, Длиннопост

К тому же, при определенных условиях программа может просто неправильно обрабатывать данные, которые получает.

Например: пользователь захочет поделить на "ноль", а если говорить про автомобиль, раз уж начали, захочет на скорости 100 км\ч включить заднюю скорость или остановиться о дерево.

Скорее всего, результат будет так себе.

По этому, обычно, проводят предварительное тестирования.

Если ты следишь за играми, то скорее всего, слышал о бета-тестах, или же участвовал в таких.

Смысл таких тестов проверить работоспособность и выявить ошибки, при различных сценариях использования программы.

Анализируя полученные данные, ты можешь заблокировать некоторые действия, научить программу работать с нестандартными ситуациями и точнее настроить взаимодействие функций внутри твоей программы, да так, чтобы каждый раз программу не переписывать заново.

Для этого тебе нужно будет внести изменения в код, обновить программу - по сути, добавить в исходный код новый код, да так, чтобы то, что уже работает, продолжало работать.

Именно по этому современный разработчик использует системы контроля версий. Если ты играешь в танки достаточно долго, то возможно, помнишь, что первая версия появилась не сразу. Какой-то длительный промежуток времени игра выходила под версией 0.9 что-то там. Сам я играл 2 боя, и где-то у меня был аккаунт со 100% статистикой побед, как раз за эти 2 боя. Мне не зашло, да и разговор то не об этом, а о том, что разработчики выпустили продукт, который уже как-то работал, и собирая обратную связь и отчеты об ошибках от пользователей, допиливали игру до максимально рабочего состояния.

Используя системы контроля версий, всегда есть возможность вернуться назад, откатиться к предыдущим состояниям кода, если текущая версия работает некорректно, или отказаться от каких либо новых функций, которые просто не нужны.

Особенно актуально вопрос контроля версий стоит в случае коллективной работы над одним проектом.
Каждый участник может предлагать свои изменения в программу, без вреда рабочей версии. После одобрения принимающим решение участником, такие изменения можно внести в новую версию.

Именно потому, что системы контроля версий позволяют возвращаться к предыдущему состоянию программы, а также безболезненно работать командой над одним проектом, такие системы приобрели широкую популярность.

Одним из представителей подобных решений является git - не путать с gitHub.

Но об этом не сегодня.

З.Ы. Не уверен, нужен ли тег "Мое", так как Симпсоны - не мое. Да и остальные картинки тоже.

Показать полностью 2 1
Разработка Git Github Unity Gamedev Python Программирование Видео Видео ВК Длиннопост
11
28
Justcodeit
Justcodeit
4 года назад
Лига Разработчиков Видеоигр

Локализация игры (приложения) на Unity⁠⁠

После выпуска Color Chips я начал работу над другим проектом (параллельно работая над обновлениями для первой игры). И там решил исправить недочёт Color Chips и добавить в игру русский и английский языки. Так передо мной встала задача локализации проекта. И в этом посте расскажу о том способе, который использую сейчас и который вполне устраивает.

Решение я нашёл на просторах Интернета, уже даже не вспомню где (для поста пришлось залезать в основной скрипт, чтобы узнать имя автора и выйти на его Github). Оно представляет из себя всего два C# скрипта, которые разработал Daniel Erdmann:


I18n.cs
I18nTextTranslator.cs

Суть работы крайне проста. Скачиваете оба скрипта, бросаете в любую папку своего проекта. Далее в корне проекта создаёте директорию Resources, а внутри ещё одну - I18n

Локализация игры (приложения) на Unity Unity, Перевод, Gamedev, Игры, Github, Длиннопост

Внутри же второй папки будут находится файлы переводов в формате txt (то бишь, обычные текстовые файлы). В моём случае это файлы en.txt и ru.txt

Локализация игры (приложения) на Unity Unity, Перевод, Gamedev, Игры, Github, Длиннопост

Внутри этих файлов и создаются словари для перевода. Вы задаете каждому переводу метку, которую потом нужно будет использовать в Unity. Например текстовое поле с меткой shop будет переведено на русский, как "магазин". Метки одинаковы для обоих файлов, ну а содержимое перевода вставляется через приравнивание. Аналогичным образом можно создать переводы на любой язык:

word=WORD_TO_TRANSLATE (en.txt)
word=СЛОВО_ДЛЯ_ПЕРЕВОДА (ru.txt)
Локализация игры (приложения) на Unity Unity, Перевод, Gamedev, Игры, Github, Длиннопост

На этом предварительная подготовка переводов завершена и можно переходить в Unity. На текстовое поле мы вешаем скрипт под названием I18nTextTranslator.cs и указываем метку для перевода.

Локализация игры (приложения) на Unity Unity, Перевод, Gamedev, Игры, Github, Длиннопост

Насколько я понял, основной скрипт под названием I18n.cs запрашивает язык системы и подтягивает соответствующий текстовый файл с переводом. Если, например, ваш язык немецкий, но файла de.txt нет, то скрипт подтянет английский язык по-умолчанию. При запуске проекта язык автоматически меняется на системный и в соответствии с тем переводом, который указали ранее.

Локализация игры (приложения) на Unity Unity, Перевод, Gamedev, Игры, Github, Длиннопост

На данный момент я работаю над обновлением Color Chips и решил добавить в игру русский язык, потому данный способ мне вполне подходит. Но он не лишён недостатков:

- нельзя сделать переключатель языка, тут всё зависит от настроек системы
- подобный метод наверняка будет сложно использовать для больших проектов, особенно с большим количеством текста
- как утверждает автор скриптов, наблюдаются проблемы с TextMeshPro-элементами, в частности не всегда верно отображается шрифт текста (я использую стандартные текстовые элементы, потому насчёт этого недостатка ничего сказать не могу)

Для небольшого проекта, такого как мой данный способ вполне подойдёт. Расскажите, как вы занимаетесь локализацией приложения (игры) в комментариях, интересно прочитать и, возможно, перенять опыт. Ну и по традиции внизу ссылки на всё нужное.

Скачать скрипты для перевода с Github


Скачать Color Chips в Play Market

Показать полностью 5
[моё] Unity Перевод Gamedev Игры Github Длиннопост
6
79
AlexanderDllSky
5 лет назад
Лига Разработчиков Видеоигр

Делюсь архитектурным шаблоном (StarterKit) для Unity проектов⁠⁠

Всем привет!


Периодически я пилю тут посты, которые с переменным успехом то набирают плюсы, то набирают минусы)))


Сегодня хочу поделиться шаблоном (в некотором роде "стартеркит") Unity-проекта, подходящего почти для любой игры. Набросал его для одной из инди-команд сообщества "Индикатор".


В основном это архитектура пользовательского интерфейса и логика загрузки сцен. И, конечно же, простой аудио-контроллер. И менеджер кастомных событий, что бы помочь новичкам избегать глупостей вроде постоянного отслеживания здоровья Игрока в методах Update какого-нибудь компонента-счетчика здоровья.

В репозитории (ссылку приведу в конце) используется как собственный код, так и сторонний (NonDrawingGraphic, UIParticleSystem).


Сейчас это шаблон с примером реализации Главного Меню (назову это "Экраном") и появляющегося окна (назову это "Диалогом").

Произвольные экраны и диалоги - это префабы со своей реализацией родительских классов ScreenController и DialogController. В случае диалогов, если не требуется выполнять никаких особых, не предусмотренных классом-родителем, действий - то можно использовать родительский класс без ущерба функциональности.


Логика следующая - существует главная сцена с контроллерами/менеджерами. "Главный Игровой Контроллер" при загрузке игры (появлении этой сцены при запуске) отображает загрузочный экран (назову это "Прелоадером").

Затем (не реализовано, т.к. это индивидуально для каждого проекта) предполагается чтение/загрузка настроек, конфигураций, файлов-сохранений и пр.

После этого вызывается экран "Главного Меню", который загружает необходимую ему сцену (разумеется, оставляя первую "главную" сцену активной), включает музыкальный фон и убирает "Прелоадер".


Буду очень рад вопросам, критике и советам по улучшению.
Ссылка на репозиторий: https://github.com/DL-SKY/PrototypeForIndicator

Надеюсь, кому-нибудь пригодится.

Удачи и успеха всем в геймдеве!

Показать полностью
[моё] Unity Шаблон Gamedev Программирование Csharp Github Текст
13
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии