forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты на Unity (http://forum.boolean.name/forumdisplay.php?f=147)
-   -   Black Bird (Unity Project Web Version) (http://forum.boolean.name/showthread.php?t=17107)

Crystal 04.11.2012 14:55

Ответ: Black Bird (Unity Project Web Version)
 
Неиграбельно стало, добавь авторемонт хотяб....

EvilChaotic 04.11.2012 22:20

Ответ: Black Bird (Unity Project Web Version)
 
Перебалансировал, но регена в игре не будет, рассчитывай свои действия нормально. У тебя итак есть Q/E/F без каких либо ограничений от любых атак и кнопка X на переворот назад, хотя пока немного багово. Я прохожу все с 80% хп. Нажатие колесика мышки теперь инитит наведение камеры на цель как в Ace Combat.

Crystal 05.11.2012 00:59

Ответ: Black Bird (Unity Project Web Version)
 
Цитата:

Сообщение от EvilChaotic (Сообщение 242467)
Перебалансировал, но регена в игре не будет, рассчитывай свои действия нормально. У тебя итак есть Q/E/F без каких либо ограничений от любых атак и кнопка X на переворот назад, хотя пока немного багово. Я прохожу все с 80% хп. Нажатие колесика мышки теперь инитит наведение камеры на цель как в Ace Combat.

Таки прошёл, весь дымящийся.

Почему мёртвую петлю сделать нельзя? Ограничение нужно убрать имхо,
мы ведь не на вертолёте летаем. Манёвр с X перемести на Space, не удобно.

В целом гуд, жду вторую миссию. (Надеюсь там можно будет
расколошматить вражескую базу ^^)

З.ы. Некто помеченный зелёным указателем, это другой игрок летает, или бот?

radiobutton 05.11.2012 09:55

Ответ: Black Bird (Unity Project Web Version)
 
а как поиграть если в контакте не реган? в первом посту ссылка не работает.

Nafi 05.11.2012 12:24

Ответ: Black Bird (Unity Project Web Version)
 
Цитата:

Сообщение от CrystalDev (Сообщение 242478)
Почему мёртвую петлю сделать нельзя? Ограничение нужно убрать имхо,
мы ведь не на вертолёте летаем. Манёвр с X перемести на Space, не удобно.

Вертолеты таки делают метрвые петли. Даже такой здоровый и древний как CH-53.

EvilChaotic 05.11.2012 19:01

Ответ: Black Bird (Unity Project Web Version)
 
Цитата:

Сообщение от radiobutton (Сообщение 242497)
а как поиграть если в контакте не реган? в первом посту ссылка не работает.

Билд с двумя миссиями и не требующий вконтакта.

http://www.sv-petrov.ru/unity/BlackB...WebPlayer.html

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

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

ЗЫ. В третей миссии надо будет летать в тонелях.

EvilChaotic 30.12.2012 17:35

Ответ: Black Bird (Unity Project Web Version)
 








Основная логика закончена, остается заниматься собирательством миссий, добавлением самолетов и обвеса к ним.
Сейчас работает все, включая гаража, новые пушки, окраски, абилити.
3 миссии, 7 орудий, 2 абилити, 5 видов врагов включая боссов, окраска самолета и тп.

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

Amatsu 30.12.2012 21:05

Ответ: Black Bird (Unity Project Web Version)
 
Здорово!
Придирок почти нет. Жаль конечно, что ты остановишься на десматче и скримише. Такой бы игре, да полноценные миссии. С боссами, рейдами. Вообще, у той же Ace Online было и есть немало поклонников. Думаю они бы с радостью отреагировали на ее современный аналог. Хотя конечно жанр нисшевый, да.

EvilChaotic 24.03.2013 02:37

Ответ: Black Bird (Unity Project Web Version)
 
Итак, с завтрашнего дня появится важное обновление, которое открывает доступ к онлайн игре. Сейчас бои на предварительной стадии реализации, в мультиплеере работают все функции управления самолетом, что и в обычной игре: полет, перевороты, стрельба, урон, столкновения, респавн и тп

Первая тестовая игра на мультиплеере будет в 24.03.2012 (воскресенье) в 13:00. Буду рад, если кто-нибудь захочет поиграть. Устанавливать ничего не потребуется, просто запустить приложение и нажать кнопку "начать". Было бы не плохо, еслиб кто-нибудь отписался.

pax 24.03.2013 13:12

Ответ: Black Bird (Unity Project Web Version)
 
Скорее всего буду, но может опоздаю на час. Правда кнопку начать не нашел.

EvilChaotic 24.03.2013 13:29

Ответ: Black Bird (Unity Project Web Version)
 
Цитата:

Сообщение от pax (Сообщение 255653)
Скорее всего буду, но может опоздаю на час. Правда кнопку начать не нашел.

Я еще не залил новую игру. Вот через 10 мин уже появится на серваке.
Ну что, жду всех, кто сможет :)

EvilChaotic 24.03.2013 13:43

Ответ: Black Bird (Unity Project Web Version)
 
Готов начать тестирование.
Кому удобно играть из вк: http://vk.com/app3047966_-41984506?ref=10
Если вк недоступен: http://www.sv-petrov.ru/unity/BlackB...WebPlayer.html
Спасибо всем, кто потестит!

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

DStalk 24.03.2013 13:49

Ответ: Black Bird (Unity Project Web Version)
 
Загрузил четыре раза, из них один не получилось - выдал ошибку загрузки.
Далее нажимаю кнопку начать, пробую обучение - надпись loading stream process и висит - полоски прогресса при этом нет, если нажать играть онлайн, то тоже самое, минут 10 уже висит:(

upd: Зашел, полетал, прикольно) Играл в окне - пробовал выйти в меню, рзавернуть на фулскрин, не нашел такой кнопки, альт+ентер тоже не сработал(( Мышка все время вылезала за пределы окна - фокус терялся, и чат отменяется только нажатием мыши - тоже не сразу допетрил, да и мышь топорная у меня - на работе сейчас... А так весело получилось))

EvilChaotic 24.03.2013 14:17

Ответ: Black Bird (Unity Project Web Version)
 
ЗЫ. 10 мин, я кривой билд залил
---
перезалил

pax 24.03.2013 14:37

Ответ: Black Bird (Unity Project Web Version)
 
Полетал немного, странно что теперь самолет стоит на месте и надо жать вперед чтобы лететь. Еще сильно камеру шатало вперед-назад, сильно на мозг давил такой эффект. Может это от попаданий по мне, но мне это не понравилось. В остальном как всегда супер. Сорри что мало поиграл, жена из-за компа выгнала.

EvilChaotic 24.03.2013 14:45

Ответ: Black Bird (Unity Project Web Version)
 
Я снял нехилый видос по воздушным боям :) Сейчас буду резать и на ютуб :)

RBK 24.03.2013 16:37

Ответ: Black Bird (Unity Project Web Version)
 
Вложений: 1
У меня вот здесь текст неправильно вывелся.



Еще границы странно заданы, как будто коробка без верха: поднялся на 2000, перелетел границу, опустился на -1000.

EvilChaotic 24.03.2013 19:05

Ответ: Black Bird (Unity Project Web Version)
 
http://www.youtube.com/watch?v=w1ecdXxp5hA
Вот так вот выглядели сегодняшние бои. Мб кто-то себя узнает.

Цитата:

Сообщение от RBK (Сообщение 255670)
У меня вот здесь текст неправильно вывелся.



Еще границы странно заданы, как будто коробка без верха: поднялся на 2000, перелетел границу, опустился на -1000.

Гараж сломан после перехода на сетевую игру, надо чинить срочно.

Amatsu 24.03.2013 19:17

Ответ: Black Bird (Unity Project Web Version)
 
Я бы текстуры спрайтов некоторых заменил. В частности ленз флейр от движков противника (как я понял, 8-конечная звезда в прицеле - это именно оно?)
Например вот тут посмотри, если не видел, бесплатные ассеты
https://www.assetstore.unity3d.com/#/content/5
Я оттуда обычно беру cheap plastic

EvilChaotic 01.04.2013 03:01

Ответ: Black Bird (Unity Project Web Version)
 
Осваиваю ниши Вконтакте и способы заработать денег. Готовлюсь к релизу в ВК, подготовлены баннеры, есть стартовый капитал. Зареган на нужных сайтах по продвижению подобных проектов.

Список обновлений:
- За каждое убийство теперь начисляется 5 кредитов и одно убийство. В дальнейшем, кредиты вы сможете использовать в магазине.
- Исправлено подключение к серверу. В случае неудачного коннекта, вам предоставляется возможность переподключиться, больше не нужно перезагружать приложение.
- Функция подключения теперь работает одновременно с ВК.
- Базовая интеграция ВК. Платежная система и прочие ништяки.
- Проектируется игровой магазин, который будет использовать двойную валюту.
- Проектируется рпг система, работа с уровнями и опытом игрока.
- В качестве имя игрока берется имя из ВК.
- Теперь сервер хранит ваши достижения и данные о игроке. Все фраги и деньги, опыт, которые вы заработаете во время боя, будут сохраняться прямо в игровом процессе и храниться на сервере (Статистика не теряется).
- Самолеты теперь имеют постоянную скорость, при нажатии кнопки W включается форсаж, зависать в воздухе могут только спец корпуса.
- Исправлена пятигранная звезда на двигателе у самолета.
- Исправлены черные пятна на карте города.
- Немного переделано оформление гаража.
- Оптимизации в сетевой части игры, вес игры уменьшен, все звуки пожаты, музыка из ангара убрана, музыка в меню срезана.
- Открыт игровой Магазин!
- Добавлены предметы: 3 вида пушек, 4 вида ракет + 1 цветовая схема.
- Пересмотрены стоймости предметов, баланс.
- Билд игры оптимизирован и ужат на 10 МБ меньше.
- Улучшено оформление меню.
- Улучшены эффект от огня двигателей.
- Теперь в игре есть уровни и опыт! Чтобы зарабатывать опыт нужно сбивать чужие самолеты.
- Скорость разворота увеличивается, если снижать скорость полета.
- Игра отправилась на модерацию ВК.
- ХП начального корпуса снижено с 800 до 350.
- Сервер переехал на более мощный хостинг.

Магазин:


Реклама и баннеры для нагона трафика:



Статистика до начала релиза:



Первые игроки и работа с бд.


Приложение ждет модерацию от ВК. Надеюсь у меня получится заработать денег на пиво :) Цель приложения - аудитория до 18 лет.

От полноценного релиза меня отдаляют три вещи:
1) Апрув модеров ВК.
2) Игровой серв на больше, чем 20 плееров.
3) Конвертор валют для передачи голосов в приложение.

Все три проблемы уйдут за следующие несколько дней.

Жду ваших комментариев :)

moka 01.04.2013 03:13

Ответ: Black Bird (Unity Project Web Version)
 
Круто. Только вот ты сказал что у тебя 20 игроков может только играть одновременно?
Это один матч на один сервер? А сервер то хоть какой, и на чём вообще написан серверный процесс?
Либо я чего-то не знаю, либо ты что-то делаешь ужасно не верно. Т.к. даже на домашней машине, для игры такого рода можно имхо хостить примерно 20 матчей с 16 игроками в каждом.
И то это так, числа с балды, всё имхо намного лучше.

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

EvilChaotic 01.04.2013 03:15

Ответ: Black Bird (Unity Project Web Version)
 
Цитата:

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

Оно так и делается. Юзаю я Photon Cloud, подписка у меня фришная на 20 игроков макс, вот и вся беда. Серваки создаются на лету, поддержка до 12 плееров на комнату, комнат не ограничено. Все путем и система проверена на остальных играх вк с пользователями до 1кк :)

HolyDel 01.04.2013 03:50

Ответ: Black Bird (Unity Project Web Version)
 
поиграть не с кем(((

EvilChaotic 01.04.2013 04:00

Ответ: Black Bird (Unity Project Web Version)
 
Цитата:

Сообщение от HolyDel (Сообщение 256102)
поиграть не с кем(((

Заходи, поиграем! :) :)

HolyDel 01.04.2013 10:53

Ответ: Black Bird (Unity Project Web Version)
 
давайте 02.04 в 00:00 по мск?

Nex 01.04.2013 16:42

Ответ: Black Bird (Unity Project Web Version)
 
А я пару раз всего смог поиграть в самые первые версии игры, а потом у меня перестало загружаться. Самая последняя загрузка (после ангара которая) зависает. Ждал, ждал, а загрузка так и висела.
Другие юнити приложения через веб плеер работают.

EvilChaotic 01.04.2013 20:33

Ответ: Black Bird (Unity Project Web Version)
 
Цитата:

Сообщение от HolyDel (Сообщение 256106)
давайте 02.04 в 00:00 по мск?

Давай.
Может кто-то еще захочет полетать?

Nex, сервак переехал на нормальный хост, попробуй сегодня.

Radnk 01.04.2013 20:43

Ответ: Black Bird (Unity Project Web Version)
 
Цитата:

Сообщение от EvilChaotic (Сообщение 256117)
Может кто-то еще захочет полетать?

я буду :super:

HolyDel 02.04.2013 01:14

Ответ: Black Bird (Unity Project Web Version)
 
фулскрина нет?

HolyDel 03.04.2013 00:28

Ответ: Black Bird (Unity Project Web Version)
 
отсуствие фулскрина очень вредит. попадаю по менюшкам в браузере - они выделяются - слетает фокус с приложения.

транзакции работают неправильно (или в интерфейсе забыли поменять). написано что 10 голды за 10 голосов. на деле 10 голды за 2 голоса.

EvilChaotic 03.04.2013 02:40

Ответ: Black Bird (Unity Project Web Version)
 
Цитата:

Сообщение от HolyDel (Сообщение 256206)
отсуствие фулскрина очень вредит. попадаю по менюшкам в браузере - они выделяются - слетает фокус с приложения.

транзакции работают неправильно (или в интерфейсе забыли поменять). написано что 10 голды за 10 голосов. на деле 10 голды за 2 голоса.

Запилю завтра скрин.
Исправил, теперь 10. Весенние скидки :D

PS
- Лобби экран и работа с игровыми комнатами.
Теперь можно создавать собственные комнаты с любым кол-вом игроков (до 16), заходить в любые комнаты в списке.
- Вместо кнопки "Взлет" теперь есть кнопка "Сервера"
- Исправлена ошибка с незагрузкой на темном экране.
- Свет на карте города пересчитан.
- билд игры еще ужался до 25 мб.
- Игровой сервер теперь поддерживает более 100 игроков одновременно.
- Уменьшена тряска на форсаже.
- Больше никакого синего огонька на враге.
- Заменены текстуры (пропали некоторые текстуры после оптимизации)
- Стрелка, указывающая на врага - красная.
- Новые иконки и обозначения на панеле самолета
- Показаны специальные подсказки управления
- Показаны перезарядки ракет и спец возможностей.
- Добавлен конвертор валют.
- Форсаж уменьшает скорость разворота.
- Все переведено на русски язык.
- Приложение прошло модерацию, скоро откроется доступ покупке предметов. И начнется открытие проекта.
- Исправлена ошибка при дубликации данных на переходах обратно в меню.

- Ребаланс:
1) Ракеты сильнее, быстрее.
2) Основные пушки в два раза сильнее, кроме того теперь имеют возможность наносить критические повреждения.
3) Скорость самолета быстрее в 1.5 раз, скорость форсажа быстрее в 2 раза.

Лобби:

moka 03.04.2013 14:46

Ответ: Black Bird (Unity Project Web Version)
 
Шрифт какой-то "рваный" немного, читать неприятно.

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

EvilChaotic 05.04.2013 00:49

Ответ: Black Bird (Unity Project Web Version)
 
Посоны, эпик вин. :wild:




- По TAB теперь статистика матча, засчитываются фраги внутри комнаты и смерти.
- Чат, пока что первая версия. Включить чат можно, нажав кнопку K.
- Кнопка полного экрана, но под такой экран придется снова переделать интерфес.
- Оптимизации в сетевой игре, переделаны взаимодействия между игроками.
- Новая версия конвертера.
- Обновлена игровая карта.
- Кнопка выхода в гараж. Для этого нужно зажать TAB и кликнуть по кнопке снизу "Выйти в гараж"
- Исправлен баг с платежной системой
- Incoming надпись больше не будет сильно беспокоить.
- В чат добавлена горячая клавиша.
- Подвинуты менюшки, некоторые надписи срезаны.
- Исправлено описание предметов


moka 05.04.2013 01:38

Ответ: Black Bird (Unity Project Web Version)
 
Статистика - это хорошо.
Но учти, что статистически менее 4% принесут тебе 80% всей прибыли за счёт InApp покупок.
Следственно заботиться о них нужно как полагается, и иметь возможность это дело качественно мониторить и собирать статистику на счёт этого.

HolyDel 05.04.2013 23:10

Ответ: Black Bird (Unity Project Web Version)
 
Вложений: 1
надо с основным оружием что то решать.

из 348 моих фрагов - 342 сбиты ракетами. дизбаланс, Серег.
пристроился за одним типом, сблизи мне понадобилось пять залпов с дробовика чтобы его завалить. должно было по идее хватить одного (если все три дробинки попали).

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

EvilChaotic 06.04.2013 09:48

Ответ: Black Bird (Unity Project Web Version)
 
Цитата:

Сообщение от HolyDel (Сообщение 256382)
надо с основным оружием что то решать.

из 348 моих фрагов - 342 сбиты ракетами. дизбаланс, Серег.
пристроился за одним типом, сблизи мне понадобилось пять залпов с дробовика чтобы его завалить. должно было по идее хватить одного (если все три дробинки попали).

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

В 15:00 по мск вернусь с универа и начну впиливать обновление, проблему с пушками решу, я там не доделал кое что еще. :super: :super:
PS. Олег, ты самый крутой среди 4,159 игроков. :super:



PS, я не в счет)

Amatsu 06.04.2013 10:12

Ответ: Black Bird (Unity Project Web Version)
 
О, ништяк, можно задонатить. Пора начинать играть

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

В главном меню капли дождя остаются вертикальными линиями даже когда отскакивают в сторону от моего самолета. Ощущение, будто кто-то сыпет сухие макороны

Зашел в первую попавшуюся комнату - во первых там не учитывалась статистика килов, только смертей. У всех участников было по нескольку смертей и по 0 килов, хотя за 5 минут игры я видел пару десятков смертей, да и сам сбил парочку.
Во вторых при попадании самолета в прицел над ним (прицелом) стабильно писалось "Name 100%", хотя имена адекватно отображались в статистике матча, а многие попавшие в мое перекрестие враги уже дымились, что намекает на значение, отличное от 100% HP (если конечно это показатель здоровья, как я понял)

Еще. Я дымил где-то с 4% здоровья и самоубился об здание. После воскрешения мне вроде бы восстановили все HP, но дым остался и исчез только когда меня сбил враг.

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

HolyDel 08.04.2013 00:50

Ответ: Black Bird (Unity Project Web Version)
 
выйти в гараж не работает.
здоровье при сбитии часто бывает меньше 100
зато исчезли глюки с неначислением фрагов!
хотелось бы чтобы показывали в каких комнатах играют друзья по контакту.
хотелось бы чтобы при сбитии чувака писалось кто и кого сбил.
новая комната - рульная!

pax 08.04.2013 07:08

Ответ: Black Bird (Unity Project Web Version)
 
Цитата:

Сообщение от HolyDel (Сообщение 256537)
хотелось бы чтобы показывали в каких комнатах играют друзья по контакту.

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

moka 08.04.2013 14:02

Ответ: Black Bird (Unity Project Web Version)
 
Цитата:

Сообщение от pax (Сообщение 256545)
С облаком без собственного сервера вроде бы такое не провернуть... единственный вариант - в открытые параметры комнаты записывать строку с id пользователей через запятую и обновлять, но если будет много комнат, то будет тяжелый пакет со списком комнат...

Можно сделать записи в бд, где ID будет сам ID пользователя в VK. И далее вся инфа о статусе.
Далее когда запрашиваешь друзей, тут зависит, в facebook можно получить список пользователей которые тоже пользовались приложением. Такой список имеет ID пользователей, делаем простой запрос в БД с "ID IN (id_пользователей)". Таким образом получим список и статусы.
Но если нету возможности получить список друзей связанных с игрой, то тут проблема в том что будет либо слишком много ID для запросов - и нужно как-то оптимизировать.
Можно сделать автономный кеш, и держать список друзей у себя где-то, так можно будет сделать.
Такая фича очень положительно скажется на рентабельности игроков, особенно если иметь возможность приглашения друга в бой по одному клику.

pax 08.04.2013 14:12

Ответ: Black Bird (Unity Project Web Version)
 
Получить друзей, играющих в приложение с помощью апи вконтакта легко, проблема в том, что если писать это дело в базу, то база сильно опухнет, да и запрашивать это постоянно надо будет.

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

moka 08.04.2013 16:07

Ответ: Black Bird (Unity Project Web Version)
 
Цитата:

Сообщение от pax (Сообщение 256557)
Получить друзей, играющих в приложение с помощью апи вконтакта легко, проблема в том, что если писать это дело в базу, то база сильно опухнет, да и запрашивать это постоянно надо будет.

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

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

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

pax 08.04.2013 16:40

Ответ: Black Bird (Unity Project Web Version)
 
Я не знаю, полностью ли ты понимаешь какая технология выбрана:
1. Данные на сервере хранятся с помощью php+mysql.
2. При заходе в игру клиент подключается к лобби в облаке фотона, в котором на сервере вообще никакой логики нельзя добавить.
3. Сервера независимые.

Ты предлагаешь записывать в базу через php/mysql при создании боев подключаемых к ним пользователей. И с помощью того-же php/mysql запрашивать эти данные при каждом обновлении списка комнат?

Тут ситуация такая - клиент может выйти ничего не сказав php серверу об этом. И игрок останется в базе в какой-то комнате. Ну и остальные "преимущества" с этим связанные.

moka 08.04.2013 17:35

Ответ: Black Bird (Unity Project Web Version)
 
Цитата:

Сообщение от pax (Сообщение 256567)
Я не знаю, полностью ли ты понимаешь какая технология выбрана:

Это не с технологией связано, а архитектурой.

Цитата:

Сообщение от pax (Сообщение 256567)
1. Данные на сервере хранятся с помощью php+mysql.

Это ок. Запрос с даже 50 ID по Primary Key с IN оператором - очень быстрая операция.
Цитата:

Сообщение от pax (Сообщение 256567)
2. При заходе в игру клиент подключается к лобби в облаке фотона, в котором на сервере вообще никакой логики нельзя добавить.

Это при заходе в онлайн в саму игру, а не конкретный матч?
То есть на сервере нету никакой области логики "при коннекте клиента"? Ни при соединении ни при отключении?
Цитата:

Сообщение от pax (Сообщение 256567)
3. Сервера независимые.

Это ничего не меняет.
Если #2 всё же возможен. Тогда всё что нужно - это отослать простой HTTP запрос на PHP мелкий скрипт (только игровой сервер может слать естественно), или если игровой сервер имеет прямой доступ к бд - так даже лучше естественно. При подсоединении к бд - создаём запись: "user_id, 0", где 0 - это id матча. Т.к. мы в лобби он 0.
Далее когда начинается матч (подсоединяемся к игровой инстанции), обновляем запись, ставим id матча заместо 0.
По окончанию матча - обнуляем снова.
При выходе из игры (полностью), трём запись.
Если нету возможностей оперировать данными на уровне lobby, тогда делаем только для матчей. Ну или если уж совсем хочется, можно сделать и простой "ping-pong" с php скриптом, раз в минуту, от клиента.
И иметь процесс, каждые например 3 минуты, что будет тереть все записи с timestamp старее 3 минут.
Индексировать по timestamp естественно тоже нужно, чтобы скорость поиска была приемлемой.

Два варианта, оба вполне реальны. Первый естественно лучше. Но как понимаю нету центрального "Мастера", следственно с фотоном такое будет не просто и прийдётся извращаться, как во втором варианте.

Цитата:

Сообщение от pax (Сообщение 256567)
Ты предлагаешь записывать в базу через php/mysql при создании боев подключаемых к ним пользователей. И с помощью того-же php/mysql запрашивать эти данные при каждом обновлении списка комнат?

Записывать данные в бд при создании матча - да.
Но вот получение списка, я бы минимализировал на стороне клиента по времени. Не каждое обновление списка, а по таймеру. Чаще чем каждые 3 минуты клиенту не нужен обновлённый список кто в онлайне.

Цитата:

Сообщение от pax (Сообщение 256567)
Тут ситуация такая - клиент может выйти ничего не сказав php серверу об этом. И игрок останется в базе в какой-то комнате. Ну и остальные "преимущества" с этим связанные.

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

pax 08.04.2013 18:23

Ответ: Black Bird (Unity Project Web Version)
 
Цитата:

Сообщение от MoKa (Сообщение 256568)
То есть на сервере нету никакой области логики "при коннекте клиента"? Ни при соединении ни при отключении?

Нету, сервер только рассылает пакеты.

moka 08.04.2013 19:07

Ответ: Black Bird (Unity Project Web Version)
 
Цитата:

Сообщение от pax (Сообщение 256576)
Нету, сервер только рассылает пакеты.

Тогда второй вариант - имхо, единственная возможность иметь список "кто-онлайн".

А вообще я бы написал node.js процесс в 150 строк, который бы в памяти хранил бы хэшь таблицу пользователей, сам бы таймером это дело и обчищал, и имел бы 3 REST запроса: PUSH, DELETE, GET.
Матч сервер кидает ID матч сервера и ID пользователя.
При выходе DELETE с ID пользователя - почистит пользователя.
И GET - с ID пользователя. Это заставит процесс сделать запрос в VK API для получения списка друзей приложения, далее при получении ответа, соберёт массив из хеш таблицы по ID пользователей. Чаще всего конечно он будет пустым :D.
И выдаст ответом.

Ну и простой интервал - раз в минуту почистить хеш таблицу.

Такой процесс будет очень эффективен, за счёт node.js асинхронности и не блокируемости запросов, также не нужна БД, т.к. хеш таблица в памяти.
Сотни тысяч пользователей - вполне простая задача для такого процесса.

Это по сути всё то же что я описал ранее как второй вариант, только проще, шустрее и эффективнее.
Очевидно - что это ну должно быть зависимой туулзой - а лишь nice-to-have, и клиент при неудачном запросе на получение списка друзей - не должен валиться, очевидно и для PHP + MySQL так же.

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

pax 08.04.2013 22:54

Ответ: Black Bird (Unity Project Web Version)
 
Я думаю nodejs у Сереги нет возможности сейчас запустить, так что возможно потом. Проще в параметры комнаты записывать список игроков.

EvilChaotic 09.04.2013 00:57

Ответ: Black Bird (Unity Project Web Version)
 
Overpower Changelist:
- 100% жизней после рееспавна.
- После смерти противника, ракеты не перенаводятся на его новую позицию.
- Горящие обломки самолетов с использованием физики.
- Должны показываться ники игроков.
- Кнопка при выходе из карты поправлена.
- Теперь есть респавн в 5 секунд.
- Враг, который сбил вас теперь виден на экране. Также можно посмотреть что у него стоит из апгрейдов.
- Переделан свет на карте 01 ( Город )
- Добавлен обсерв скрин.
- Новый, читабельный шрифт.
- Переработана часть интерфейса.
- Улучшены эффекты.
- Добавлена новая тестовая карта, тестим переходы на новые карты.
- Ракеты, от которых увернулись больше не активны.
- Добавлены первые характеристики корабля
- Смена карты работает в лоббии.
- Чуть снижена музыка.
- Работает отображение хп противника.
- Сервер переехал, теперь он может выдержать больше игроков.
- Ракеты, пули больше не пролетают сквозь дома.
- Оптимизация по эффектам
- Сортировка вещей в магазине
- Нормальная подсветка чата
- Ребаланс GAU-16 более быстрые снаряды, больше урона
- Исправлена коллизия на уровне. По идее самолет больше не должен уничтожатся при облете препятствий.
- Звуки порезаны, новые звуки на смене предметов.
- Новые предметы:
1) Ракеты М301
2) Пушка GAU-16
3) Расцветка "Боевая" и "Черный ястреб"
- Исправлен баг с незачислением убийств.
- Добавлена кнопка выхода. Для выхода нужно зажать TAB и нажать на кнопку "Выйти"
- Оптимизации по базе данных.
- Подправлены ценники в магазинах.
- Ребаланс некоторых ракет и пушек.
- Ребаланс ценников за фраг.
- Теперь вы подсвечиваетесь в скорборде зеленым цветом.
- Исправлено налезание текста друг на друга в магазине.
- Добавлен счетчик серверов в лобби экране.
- Исправлена потеря подключения на переходах в меню и уровнях.



Остается большая не решенная задача:
Как сделать выборку топ лучших из базы данных и все это вставить в юнити? По пониманию в пхп я испытываю проблемы довольно сильные.
Знаю, что запрос должен выглядеть примерно так:
SELECT `name`, `frags` FROM `users` ORDER by `frags` DESC LIMIT 50
Только как должен выглядеть пхп скрипт я не представляю :''(( И как это потом в json отправить. Может кто-нибудь сможет помочь?

И еще небольшое непонимание, как получить NetworkPlayer.name, зная только PhotonView?

Спасибо!

moka 09.04.2013 01:36

Ответ: Black Bird (Unity Project Web Version)
 
Метод friends.getAppUsers для получения друзей с сервера вызвать нельзя.. Хрень блин.

Нужен AOuth либо SID для запроса. Какой способ посоветуете? SID - выглядит весьма защищёно.
Получается есть другой способ - получаем всех друзей пользователя и сравниваем с зарегенными пользователями - и такой список храним, и обновляем периодически, туповато если честно.
Встречный вопрос - на клиенте, можешь делать клиентские запросы, JS в идеале?

pax 09.04.2013 02:05

Ответ: Black Bird (Unity Project Web Version)
 
Серег, какой mysqlapi ты используешь? Стандартный? PDO? Самый простой вариант - вернуть из php echo json_encode($response); где response это то что вернут твой sql запрос и обработанный с помощью FetchAll. Ответ можно на клиенте распарсить с помощью JSON библиотеки.

МоКа, на клиенте любой js вызывается без проблем из Unity. К тому же у Сереги было мое решение, получающее друзей в игре и выводящее их аватары.

moka 09.04.2013 02:53

Ответ: Black Bird (Unity Project Web Version)
 
Цитата:

Сообщение от pax (Сообщение 256615)
МоКа, на клиенте любой js вызывается без проблем из Unity. К тому же у Сереги было мое решение, получающее друзей в игре и выводящее их аватары.

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

pax 09.04.2013 07:09

Ответ: Black Bird (Unity Project Web Version)
 
Почему не влезть в HTTP запрос? Что-то я потерял нить.

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

St_AnGer 09.04.2013 10:20

Ответ: Black Bird (Unity Project Web Version)
 
У меня монитор с соотношением сторон 4:3, при включении полноэкранного режима картинка по высоте становится нормальной, а в ширину шире моего экрана капитально (по ощущениям 16:9 и показывается центр без боков изображения).

зыЖ ненадолго отошёл от компа и когда вернулся увидел что я на высоте 5557 метров :4to: :-D

зыыЖ запускал всё это на процессорном видео (процЫк Intel Core i3 2.33 GHz). Работает без малейшего подтормаживания.

зыыыЖ ещё заметил что когда стало много (12?) людей в комнате то при нажатии на ТАБ в экране статистики кнопка "выйти в гараж" была закрыта именем пользователя.

moka 09.04.2013 13:44

Ответ: Black Bird (Unity Project Web Version)
 
Комнат же может быть много. Я надеюсь вы не шлёте весь список сразу, а по странице?
Следственно, для подсветки в списке что это друг создал - ок. А то что он там играет, имхо прийдётся слать и список всех игроков с данными комнаты. А полезность таких данных 0.5%, а их будет как раз большинство - имхо, не нужно.

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

Про длину запроса, если это GET запрос, то он имеет ограничение в длине, и принято брать 2048 символов - что удовлетворяет все броузеры.
POST'ом конечно будет больше.

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

pax 09.04.2013 14:15

Ответ: Black Bird (Unity Project Web Version)
 
У фотона нет возможности получать список комнат постранично.

Шлем обычно POST запросы.

Кстати оффтоп, у себя перешел на MongoDB. Пока доволен)

moka 09.04.2013 14:34

Ответ: Black Bird (Unity Project Web Version)
 
Цитата:

Сообщение от pax (Сообщение 256655)
У фотона нет возможности получать список комнат постранично.

Шлем обычно POST запросы.

Я вчера уже сделал основную часть who'is'online, если сегодня замутим чтоб слался запрос с клиента со списком друзей и потом запросы с матч серверов при начале игры и дисконнектах - то всё будет готово. Там всё примитивно.

Цитата:

Сообщение от pax (Сообщение 256655)
Кстати оффтоп, у себя перешел на MongoDB. Пока доволен)

Ыг. Я тоже MongoDB люблю. Конечно сначала было не легко перестроится с Relational Database к концепции документов. Т.к. нету таких вещей как JOIN'ы и т.п.
Но когда я открыл для себя умную индексацию, особенно 2д индексацию (для игр ваще сказка), агрегации и map-reduce я охренел от возможностей.
Используем его для проекта на работе с node.js, а т.к. это JSON то в JS просто кайф работать с бд.

EvilChaotic 11.04.2013 14:36

Ответ: Black Bird (Unity Project Web Version)
 
Мока помог с таблицей рекордов, я ее реализовал в игре. Не хватает только ников игроков. Спасибо большое Мок!

Changelist:
- Теперь игра поддерживает синиматические ролики прямо во время онлайн игры! Ролик можно пропустить, нажав ESC. Вставлен первый ролик на начало в уровень 01_mp. Единственный минус: Пока что вас могут жарить прямо во время ролика :D
- Респавн система переведена на точки, теперь вы не будете влетать в стены на респавне.
- Теперь показывает имена игроков в прицеле.
- Показывает имя того, кто вас сбил. Теперь понятно, кому мстить :)
- На приборах ваше HP отображается теперь не в процентном соотношении, а в обычном, т.е. 350 хп у первого самолета на данный момент.
- Улучшено оформление уровня 01_mp
- Шлейфы с огнями на концах крыльев.
- Исправлена ошибка с установкой имени
- Исправлена ошибка с полным непопаданием во время стрельбы с пушки.
- Проблема с подключением должна уйти.
- Добавлены графические эффекты, заменены текстуры.
- Больше не нужно перезагружать игру чтобы посмотреть статистику фрагов, заработанных денег и опыта. просто выходим из боя в ангар и смотрим :)
Теперь о том, как работает статистика и как сделать так, чтобы не потерять никакие фраги. В игре есть автоматическое сохранение статистики игрока, оно срабатывает каждый раз, когда вы зарабатываете 3 фрага! Это значит, что если вы войдете в игру и собьете 2 - не получите ничего. Сделано это для оптимизации нагрузок на базу. Постарайтесь зарабатывать минимум 3 фрага за бой.
- Таблица рекордов работает. Нехватает только никнеймов игроков. Сегодня к вечеру будет сделана регистрация ника игрока, вместо использование ВК имен. В таблице ваша позиция отображается красным цветом.
Также самому первому игроку из таблицы будет активирован бонус - удвоение заработанных денег за любой бой, но нельзя терять первенство в таблице лидеров, иначе бонус пропадет.
- Автоматические пушки на самолетах теперь наводятся на цель используя "выстрел на упреждение" (расчет угла наклона оружия для попадания по движущейся цели с учетом дистанции, направления и скорости цели). Но это не значит, что стрелять станет намного легче.
- Урон от пушек удвоен. Более эффективно)
- Исправлен баг со стрельбой после смерти. (когда труп стрелял по вам)
- Ракеты M301 теперь имеют новые эффекты.
- Пересчет освещения на карте 01_mp, самолеты больше не темные.
- Коннект к игре полностью переделан, могут быть какие-то сетевые ошибки, но надеюсь пронесет :))
- Забаненые игроки больше никогда не смогут зайти в игру.
- Сдвинуты местами имя и время до респавна.




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


PS. Читера появились отсюда: http://zhyk.ru/forum/showthread.php?t=683298

Я поставил проверки на подмены запросов, теперь все хешируется. Больше взломы не работают. + автобан.

И я добавил еще снизу баннер на перенаправление трафика в группу.



Какие-то парни сделали фан группу посвященную игре. Буду репостить оттуда приколы)

HolyDel 11.04.2013 15:46

Ответ: Black Bird (Unity Project Web Version)
 
купил m301 , но летаю с m201.
m301 хуже.
количество выпущенных ракет неважно. корабль или мрет с 8 или не мрет с 16 (если работает ловушка)
а время перезарядки дольше.
следовательно это уменьшает FPS (frags per second)

moka 11.04.2013 16:12

Ответ: Black Bird (Unity Project Web Version)
 
Насчёт читов.
Тут не хешами защищаться нужно. А вижу что у тебя нету проверки на сервере самих данных.
Например когда клиент получает пакет, и подменит его мол у него 100 голдов. То при покупке, сервер всё равно должен идти и проверять сколько голды у игрока, и делать покупку. По сути клиент - это только визуализирует, а сервер всё проверяет.

Так не будет читов.

Amatsu 11.04.2013 17:42

Ответ: Black Bird (Unity Project Web Version)
 
Если не разворачивая на весь экран зайти в бой, а затем вернуться в гараж - кнопка фуллскрина перестает работать. Плюс хотелось бы ее видеть так же во время боя

Еще не хватает кнопки В бой!, на манер WoT

Плюс, зашел в одну комнату. Набил 54 фрага (остальные ближайшие игроки набили около 10). Не понял, когда должен закончиться матч. Имхо стоит эту инфу вывести в меню статистики во время боя

з.ы. показывал твой проект своим коллегам - все в восторге от того что подобную леталку запилил один человек почти в одного

RegIon 13.04.2013 00:35

Ответ: Black Bird (Unity Project Web Version)
 
Нельзя выйти в гараж.
Нужно блокировать управление при чате
Нужно блокировать управление в статистике(из-за этого нельзя выйти наверно)
Карта3 - ныряют под воду, сам нырнул раз. Не знаю как.

Amatsu 13.04.2013 09:08

Ответ: Black Bird (Unity Project Web Version)
 
Кстати, хорошо бы писать в чат системные сообщения о том, кто кого подбил. Без этого следить за прогрессом боя сложнее

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

Еще как-то странно работает разворот на месте (кажется на X который), анимация конечно крутая, но из последнего кейфрейма он каким-то рывком возвращается в нормальный поворот самолета

St_AnGer 13.04.2013 09:40

Ответ: Black Bird (Unity Project Web Version)
 
Добавлю ещё что звук попадания то ли отсутствует, то ли очень очень тихий, и эффекты от попаданий не чувствуются. Мне пишет что в меня летят ракеты, но я не ощущаю их попаданий никак. Как и попадание любой пушки, в принципе. Сообщение об опасности, и бабах - внезапно показывает что вас сбил кто то.

EvilChaotic 22.04.2013 23:25

Ответ: Black Bird (Unity Project Web Version)
 
Black Bird Online: Air Assault [3D]
44 834 участника :)

Поправил несколько моментов, который описаны выше.

Changelist:
- Переход на новую систему начисления денег. Теперь ваша награда зависит от уровня сбитого противника. Опытным пилотам будет не очень выгодно сбивать только новичков. Скорость накопления денег сильно выросла, был провезведен перерасчет экономики игры.
Для тех, кто когда-нибудь использовал конвертор валют, чтобы перевести золото в $ вам сюда: http://vk.com/topic-41984506_28003546 Поможем перевести деньги на новую валюту.
- Теперь лобби скрин показывает заполненные сервера, а также общее кол-во игроков.
- Произведены улучшения в отображении магазина, больше не показывает цену в две валюты.
- Таблица лидеров более детально проработана, добавлено отображение бонусов и тп.
- Конвертор валют переведен на новые расценки.
- Теперь подсвечивается ник сбитого противника и кол-во денег, которое с него выпало.
- Новые ракеты тяжелые M2 - самые мощные на данный момент позволяют выносить противника на дальних дистанциях, затрудняя его попытки увернуться.
- J1 ребаланс.
- Начали заниматься новыми кораблями, предположительно на этой недели будет добавлен новый самолет, способный останавливаться в воздухе, продаваться будет за обычные игровые деньги, никакого доната!
- Новые игровые команды для модераторов.
- Новые ракурсы и пресеты камеры в гараже.
- Исправлен переход в группу по баннеру.
- У всех, кого не загружалась игра - теперь все должно быть нормально.
- Добавлено окно регистрации, теперь ваш ник будет таким, как вы его сделаете. Максимальная длинна - 12 символов, минимальная - 4. Ник будет с вами раз и навсегда, так что постарайтесь придумать что-нибудь оригинальное. Как лодку назовешь, так и поплывет. Все ники с использованием матерных слов будут баниться :) Эта фича теперь на стадии тестированя, обо всех проблемах сразу сообщайте.
- Двойной бонус за убийства противника. Т.е. за топового пилота 11 лвл вы получаете 22$.
- Улучшение менюшек гаража.
- Ребаланс M2, увеличена скорость, палить можно на расстоянии до 10км.
- Уменьшение тряски.
- Добавлен новый корабль! Теперь в игре вы встретитесь с вертолетами. Данный корабль имеет 900 хп, авторегенерацию здоровья и возможность останавливаться на ходу, нажимая кнопку S. Также имеет повышенную скорость на боковых перемещениях при помощи A/D. Также к нему идут 2 цвета бесплатно (на время)
- Старый корабль теперь более плавный на перемещении в бок и может чуть чуть приглушать скорость по нажатию S.
- Добавлен лог убийств. Теперь все видят, кто на серверах нагибает в данный момент.
- Добавлен автоматический коннект к серверу, если соединение было случайно разорвано.
- Добавлена возможность смены кораблей, причем сменяются все предметы, которые не подходят к новому кораблю на подходящие.
- Временно убрана стрельба на упреждение.
- Фильтрация звуков.
- Оптимизации,убраны ненужные источники света и тп.
- Множественно мелких фиксов.
√ Фулл скрин перенесен на F8.
√ Новая статистика матчей. Теперь показывается кол-во игроков на серверах, ваш уровень и пинг.
√ Гильзы, много гильз с пушек!
√ Теперь, когда вам наносят повреждение - самолет начинает гореть.
√ Исправлено управления как у кукурузника, теперь можно подниматься вверх до 90*
√ Теперь добавлена админка всем модераторам. Модераторы отображаются красным цветом в чате и в списке. Они могут выдавать бан и кик через специальные команды.
√ Ракеты больше не отображаются криво на оппонентах.
√ Теперь точно выходит в анграр.
√ На снижении и повышении высоты наклон самолета станет потяжелее.
√ Добавлена кнопка внутри игровых настроек (Пока только исходник, сами настройки будут добавлены скоро)
√ Ребаланс пушки AT1, уменьшен урон.
√ Увеличены время жизни всех ракет, теперь "просто улететь" от них не реально.
√ Уменьшен шрифт чата.
√ Повороты самолета синхронизированы во всех картах, теперь не наблюдаются "тяжесть" при развороте.
√ Исправлена ошибка с возвращением в гараж во время боя.
- Добавлены новые предметы:
1) Бесплатные миниракеты J1
2) Тяжелая пушка AT1
3) Новая расцветка.
- Улучшены эффекты GAU16
- Улучшены взрывы и горящие обломки самолетов
- Обломки теперь текстурированы, а не просто черные.
- Тяжелые пушки и ракеты оставляют дыры в стенах ( первая итерация )
- Улучшения оформления 2д.
- Добавлена новостная строка.








Ы:


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot