bbadim | Дата: Пятница, 28 Апреля 2017, 18:17 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
|
Название Crazy Volleyball Разработчик Upitsoft Движок Unity Платформа Android Ссылка: Google Play
Описание: Если кратко, то это волейбол с разными персонажами, их кастомизацией, с возможностью игры по сети с друзьями и много чем еще интересным. Если понравится пишите - скину промо-коды на премиум версию.
Ну собственно вот. Все это дело писалась на Unity в одиночку мною, ориентировочно за 3 месяца. Считаю что получилось довольно быстро для одного человека +сказались предыдущие наработки, но и что-то отнимало очень много времени (привет UNET). Игра представляет собой простую вариацию волейбола каких, наверное, существует не один десяток. Так чем же мое приложение отличается от подобных и какой вообще смысл было его делать? Ну если коротко, вот несколько отличительных особенностей:
Сетевая игра, очень много сил было вложено в нее. Много способов подключения, попробовал в деле новый UNET от Unity гори он в аду, о чем сильно пожалел, поскольку для тех же самых Play Games Services, обработку пакетов, интерполяцию и т.д. писал все равно вручную, соединить с Юнетом не получилось, если вы знаете как - пишите, мне правда интересно. Реализована минимизация задержки с помощью хитрых алгоритмов, интерполяции, предсказания движения и т.д. В частности идет отправка ненадежных пакетов, а следом за ними с подтверждением (может я, конечно, изобрел велосипед, но нигде о таком не довелось прочитать). На стороне клиента это все обрабатывается, снижая задержку еще сильнее. Комфортно играть даже через мобильный инет с не идеальным уровнем сигнала.
И еще один огромный плюс. Поскольку Unity - штука кроссплатформенная, то и поиграть в сетевую игру можно на айфоне с андроидом одновременно. Или даже браузер в винде/stand alone с мобильными платформами. Пока правда только есть билд для андроида, но я работаю над этим.
Быстродействие. Все шейдеры написаны лично мной, в том числе пост эффекты и элементы меню. Принципиально не внедряю чужие скрипты и пишу все сам, люблю все контролировать (на Unity-то, лол). В итоге на своем телефоне 3-х летней давности получаю стабильные 60fps.
Менеджмент контента (хз как еще назвать:) ). Под контентом подразумеваются уровни для игры (носят только декоративный характер), персонажи (отличаются скоростью, массой, высотой прыжка), мячи для игры (обладают своими свойствами, массой, упругостью и т.д. Есть например тяжеленная 2-х пудовая гиря или квадратный 2Д мяч от ретро пинг-понга, который ведет себя соответственно), вещи для персонажей (представляют собой модификаторы характеристик персонажей). Суть в том, что весь контент описан очень универсально, добавляется в пару кликов, превьюшки рендрятся сами и т.д. Планирую реализовать возможность добавлять сторонний контент пользователям самостоятельно.
Что-то не совсем коротко вышло в итоге, так что извиняйте:) Также, если будет интересно людям, которые занимаются непосредственно разработкой, в частности на Юнити, могу написать про некоторые вновь реализованные мной, эмм... удобные вещи.
Ну например, первое что приходит на ум, то что раньше я всегда делал условия для проверки открытия ачивок в коде. Здесь решил поэкспериментировать и создал Scriptable Objects вместо создания тон кода. У объектов просто идут ссылки на переменные, отвечающие за разблокировку ачивок. Короче говоря структура объектов примерно такая:
id="......"; variable = Settings.gamesPlayed; value = 100; function = showUnlockedScreen(); //выполняемая функция, после разблокировки. Может быть пустой
Данная ачивка открывается если число сыгранных матчей достигает 100. Думаю смысл понятен. Если таких ачивок 50 штук, то писать условия к каждой переменной превратится в ад, а тут все пишется по сути одной функцией. Так же, дополнительный контент (новые игроки, уровни и т.д.) открывается тоже с помощью ачивок. Абсолютно любому контенту добавляется скрипт (locked content) со ссылкой на ачивку и все. Пока ачивка не разблокирована - контент закрыт. Что необходимо сделать для разблокировки - загружаем прямо с Google Play по id ачивки, на любом удобном языке. Нет смысла все писать по 100 раз.
Скорей всего кто-то скажет, что так уже делали до меня. Возможно настоящие профи сейчас тушат пукан от моей некомпетентности, но для меня некоторые вещи были по настоящему реализованы лично и впервые, за более чем 15 лет геймдев практики, пусть и скромной. Жду от Вас конструктивной критики (про грамматические ошибки не пишите) и интересных вопросов. Огромное спасибо за внимание тем, кто дочитал до конца:)
Скрины:
Добавлено (15 апреля 2017, 13:05) --------------------------------------------- Вышла новая версия 1.0.3: -Добавлен мультиплеер через Bluetooth -Улучшена поддержка bluetooth геймпадов Добавлено (28 апреля 2017, 18:17) --------------------------------------------- New version has been released (1.0.4)
+fixed some LAN bugs
|
|
| |
TLT | Дата: Суббота, 29 Апреля 2017, 16:13 | Сообщение # 2 |
Сейчас нет на сайте
| Классика жанра - смесь понга с волейболом. Графон тоже подходит хорошо.
Дао, выраженное словами, не есть истинное Дао.
|
|
| |