Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Проекты > Проекты на Unity

Ответ
 
Опции темы
Старый 26.03.2016, 08:46   #1
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Into Orbit



Into Orbit

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


Графическая составляющая на 3, так как все же рисовать просто так не получается, нужен какой-то навык, но со временем попробую все привести к одному стилю.

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

Система прокачки:
  • CONE - обтекатель, чем он круче, тем меньше сопротивление, тем быстрее разгон и ниже вращающий момент.
  • Fuel - топливый бак, чем он круче, тем медленнее тратится топливо. Вначале это 8% в секунду.
  • Engine - двигатель, чем круче - тем выше подъемная сила. Так как g=10, а масса ракеты 10, то начальная сила = 102H. Максимум - 110H
  • Stab - стабилизаторы. Чем круче - тем меньше горизонтальная скорость.
Что еще необходимо сделать:
  • Система прокачки ракеты, меню уже есть, но так как нету спрайтов - не работает. - Сделано!
  • Придумать куда деть топливную панель. - Под индикатор высоты
  • Нарисовать и ввести новые объекты. В плане: вертолет, самолет, облачко с молнией, космический мусор на высоте > 120 км
Скачать с SlideME (старая версия)
Скачать с GoogleDrive

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

ОБНОВЛЕНО(31.03)!
  • Изменена механика "полета" ракеты
  • Перерисованы некоторые объекты
  • Добавлены некоторые эффекты и объекты
  • Добавлено управление гироскопом
  • PixelPerfect, не больших экранах будет маленькая ракета. Оптимизированно под 960 и 1280.

Скрины (устарели):

__________________
Сайт: http://iexpo.ml

Последний раз редактировалось RegIon, 31.03.2016 в 20:20. Причина: Обновление
(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо RegIon за это полезное сообщение:
Антихрист (26.03.2016), DStalk (26.03.2016), FireOwl (29.03.2016), ILonion (26.03.2016), Жека (26.03.2016)
Старый 26.03.2016, 19:56   #2
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Into Orbit

UPD:
  • Рабочая система прокачки, конфигурация и бюджет сохраняются
  • Unity ADS
  • Небольшая оптимизация, подрисовал UI
Ссылка: https://goo.gl/NpJ5xy


Понял, что когда дофига UI элементов, то очень сложно их всех обновлять.
PAX, как вы работаете с UI, есть какой-то скрипт менеджер, который обновляет текст, иконки и т.д, или есть какой-то компонент-слушатель у элемента, привязанный к определенной переменной и он обновляется при ее обновлении? (я так хотел сделать, но нельзя же вроде узнать о изменении поля класса без проверки, или можно?)
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 26.03.2016, 21:15   #3
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Into Orbit

Сообщение от RegIon Посмотреть сообщение
я так хотел сделать, но нельзя же вроде узнать о изменении поля класса без проверки, или можно?
Можно сделать так если я тебя правильно понял.
private double _seconds;
public 
double Seconds{
    
get { return _seconds; }
    
set _seconds value; }

В set {} например можно вызывать функцию перерисовки или даже условие запилить типа:
set {
    if(
value == true) { Debug.Log("Ololo"); }

get - https://msdn.microsoft.com/ru-ru/library/ms228503.aspx
set - https://msdn.microsoft.com/ru-ru/library/ms228368.aspx
(Offline)
 
Ответить с цитированием
Старый 26.03.2016, 22:19   #4
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Into Orbit

Концептуально, абстрактно от языков - решение от Nex лучшее.
Ещё можно велосипедить с многопоточностью* и отслеживанием через указатель*, но запаришься решать проблемы с синхронизацией ("ABA","состояние гонки" и проч), блокировками и атомарностью операций.

*- без понятия: в каком виде это реализовано в Юнити
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 26.03.2016, 23:23   #5
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Into Orbit

Get/set конечно хорошо, но это все равно получать ссылку на объект и различные классы для различных переменных.
Тогда проще в апдейте обновлять, проверяя на изменение. (Перерисовка текста довольно тяжёлая )
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 27.03.2016, 09:43   #6
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Into Orbit

В обычном C#, это делается через биндинги и INotifyPropertyChanged.
https://msdn.microsoft.com/ru-ru/lib...vs. 110).aspx
Весь WPF на этом построен.

Однако в unity старый как говно мамонта mono, так что не скажу наверняка сработает ли это там.
__________________
(Offline)
 
Ответить с цитированием
Старый 27.03.2016, 20:30   #7
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Into Orbit

Никак не могу понять как ограничить скорость перпендикулярную оси направления.


Двигается с помощью AddForce, из-за этого очень сильно разгоняется перпендикулярно оси UP при малейших поворотах вектора приложенной силы, что хотелось бы ограничить. Что-то туплю.
Кусок кода, в котором уже нету того, что могло бы ограничить скорость:
var force_vector transform.up;
                
force_vector *= (rocketConfig.forceMultiplier 10f 100f);

                
_rigid.AddForce(force_vector);

                
float airPres = (1f rocketConfig.airDragRotate) * transform.right._rigid.velocity.magnitude 0.15f;
                
_rigid.AddTorque(-direction maxRotSpeed rocketConfig.horizontalStability airPres);
                
_rigid.angularDrag rocketConfig.horizontalStability maxRotSpeed
Раньше просто ограничивал _rigid.velocity.x, но не знал, что он в мировых координатах, и по этому по X он совсем переставал двигатся, а по Y ускорялся.

UPD. Сделал кастыль - меняю rigidbody.drag линейно зависимо от скорости по X, более-менее устраивает поведение.
__________________
Сайт: http://iexpo.ml

Последний раз редактировалось RegIon, 27.03.2016 в 21:32.
(Offline)
 
Ответить с цитированием
Старый 27.03.2016, 23:07   #8
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Into Orbit

Тут наверно поможет Rigidbody2D.angularDrag ну или Rigidbody2D.angularVelocity.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
RegIon (27.03.2016)
Старый 27.03.2016, 23:19   #9
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Into Orbit

Обновил. Подробности в шапке. Ссылка: http://goo.gl/IDHJfF

UPD. Русую более качественные спрайты всякой фигни:
__________________
Сайт: http://iexpo.ml

Последний раз редактировалось RegIon, 30.03.2016 в 15:12. Причина: Обновление
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Антихрист (31.03.2016)
Старый 31.03.2016, 20:20   #10
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Into Orbit

Обновил.
Подробности в шапке.
Скачать: https://goo.gl/bbyvJw

Было бы неплохо, если бы поигрались и отписались результатом.
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 04.04.2016, 23:44   #11
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Into Orbit

Поздравьте меня, я приобрел аккаунт Google Play developer, жду одобрения публикации!

Не могу менять шапку.

Ссылка GooglPlay
Into Orbit
Тестовая версия 0.5.1t, довольно много правок. BetaTest
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 100 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.


__________________
Сайт: http://iexpo.ml

Последний раз редактировалось RegIon, 05.04.2016 в 20:02.
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо RegIon за это полезное сообщение:
Nex (05.04.2016), St_AnGer (05.04.2016), Жека (05.04.2016)
Старый 05.04.2016, 06:38   #12
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Into Orbit

Сообщение от RegIon Посмотреть сообщение
Поздравьте меня, я приобрел аккаунт Google Play developer, жду одобрения публикации!
Поздравляю! Теперь надо всегда помнить, что девелопер акк, ютуб канал и почта связаны и если где то накосячить, то все могут разом забанить.
Кстати линк на игру в маркете можно сразу выкладывать правда можно будет зайти по нему только после одобрения публикации.
(Offline)
 
Ответить с цитированием
Старый 05.04.2016, 14:41   #13
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Into Orbit

"Будь проклят тот день, когда я сел за баранку этого пылесоса!"
Тяжко летать. Прочёсывая небо из стороны в сторону подобрал горючку, но улетел за экран! Абидна.)
Кнопка "жмяк" наверное не уместна.
Цвета приятные, кроме серых менюшек.
Ещё у тебя размер проги всего 11мб. Забиваешь на x86 процы?
(Offline)
 
Ответить с цитированием
Старый 05.04.2016, 18:00   #14
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Into Orbit

Сообщение от Жека Посмотреть сообщение
"Будь проклят тот день, когда я сел за баранку этого пылесоса!"
Тяжко летать. Прочёсывая небо из стороны в сторону подобрал горючку, но улетел за экран! Абидна.)
Кнопка "жмяк" наверное не уместна.
Цвета приятные, кроме серых менюшек.
Ещё у тебя размер проги всего 11мб. Забиваешь на x86 процы?
Не придумал как предупреждать игрока о том, что он рядом с границей. Вот все говорят что сложно, а мой сосед постоянно выше верхнего предела вылетает, я из-за него постоянно пытаюсь балансить мощность и скорость потери горючего.

Есть идея миникарты в виде пикселей, где показаны объекты (любого типа одинакового) и границы, относительно ракеты в определенном радиусе
На какой тогда сменить, а то мне кажется, что я гот какой, всегда темное делаю?

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

Там косяк с акселерометром, я усредню каждые 10 тактов его значение, думал от флуктуаций значения избавит. Избавляет, но резко не развернуть, и если косо всегда держать, то смещается точка нуля. И все забываю калибровку вставить.
__________________
Сайт: http://iexpo.ml

Последний раз редактировалось RegIon, 05.04.2016 в 19:21.
(Offline)
 
Ответить с цитированием
Старый 06.04.2016, 05:26   #15
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Into Orbit

В экспорте под андроид просто выбрать 2 проца. Получишь около 24мб прогу. Да и всё.

Миникарта прикольно.

Ещё может при старте давать ракете небольшой рывок вверх?
Щас если при старте есть наклон то при взлёте сразу взрываешься.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 00:41.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com