Разработка симулятора космической станции
Техническое задание.
Я напишу это задание в виде требований и тезисов.
1. Группа основной игры «Покорители космоса» https://vk.com/strateg3000 2. Клиент основной игра сейчас выполнен на Flash/AS3.0. 3. Существующий сервер на базе PHP, node.js, mysql. 4. Симулятор будет являться дополнением к игре «Покорители космоса» в социальной сети ВКонтакте. 5. Платформа Юнити 3Д. 6. Язык кодирования C#. 7. Использование сторонних библиотек должно быть четко обозначено, предопределено и по возможности – минимизировано. 8. Использование платных библиотек необходимо исключить. 9. Размер окна приложения в оконном режиме 1000х730 пкс. 10. Вокруг камеры должен быть космос, некоторая текстура, натянутая на скайбокс, желательно сделать что-то вроде параллакса для придания объемной динамики. 11. В космосе должна висеть планета. Обычный шар, на который натянута текстура. Возможно, есть варианты сделать планету как-то более интересно, но пока особых требований у меня нет, приму то, как сделает разработчик. 12. Хорошо если в космосе будет что-то летать для создания общей динамики, типа космическая пыль, небольшие астероиды и прочая мелочь. 13. Далекая, но довольно крупная звезда излучает свет. Так же есть целый ряд еще маленьких звезд с разных сторон, которые дополняют картину света. 14. Весь этот космос мы будем называть сектором, или текущим сектором вселенной. 15. Итак, в секторе появляется модуль космической станции. Он имеет достаточно четкую ориентацию в пространстве, координаты привязки по осям X, Y, Z. Эти координаты - не случайные числа, а выбираются из ряда 0, 50, 100… и т.д. То есть модуль всегда находится на невидимой сетке. 16. Для начала работы можно взять просто куб с разноцветными не очень яркими сторонами. 17. Реальный модуль – это 3D модель с наложенными текстурами. Эти модели уже существуют и готовы к использованию. Возможно, их надо будет как-то подправить или сказать, что в них подправить для более удобного/правильного использования. Несколько 3D-моделей существующих модулей будут выданы для примера. 18. Вращение модуля лучше сделать по трем плоскостям, сейчас игра выдает всегда Z=0 и вращение только в одной плоскости – вокруг оси Z. Но на будущее лучше поддержать все три оси и все три плоскости вращения. При этом вращение тоже не на любой угол, всегда кратно 90 градусам. 19. На данный момент в игре все расчеты расстояний ведутся в пикселях, размер одной ячейки сетки, по которой ставятся модули, равен 50 пкс. В целом можно считать, что пиксель это некоторая условная величина, так как в Юнити3Д конечно другое измерение размеров и расстояний. 20. Список модулей загружается из базы данных с сервера, через http запрос, в ответ на который приходит массив с объектами в виде JSON строки. 21. Каждый объект имеет свойства: 22. map_x, map_y, map_z – координаты модуля X, Y, Z относительно центра текущего сектора космоса; 23. module_type – вид модуля, всего сейчас существует порядка 50 видов модулей; 24. level – уровень прокачки модуля, пока это просто параметр, который хотелось бы где-то сохранить и например его можно было бы показывать по клику в модуль или при наведении мыши вместе с названием; 25. module_id – уникальный идентификатор модуля, его просто надо сохранить для дальнейшего использования, аналогично level; 26. rotation – это угол вращения вокруг оси Z; 27. также добавятся rotationX и rotationY. 28. Камера из которой мы смотрим на станцию должна вращаться по всем трем осям, удаляться, приближаться и смещаться вправо влево вверх вниз, в общем то некоторое классическое управление камерой, позволяющее рассмотреть станцию со всех сторон под разными углами. 29. Так как симулятор будет использован в ВК, то будет необходимо при старте приложения получать свой UID и именно его указывать в запросе состава космической станции с сервера, чтобы игрок видел именно свою станцию. 30. Реализация кнопки «Друзья». Необходимо загрузить список друзей, и по отдельной кнопке отображать его, в любом виде, ФИО или фото, с возможность кликнуть и отправить на сервер новый запрос с новым UID и последующим отображением соответствующей станции. 31. Реализация кнопки «Вернуться на свою станцию». 32. Реализация кнопки «Камера по центу сектора». Координаты 0,0,0, все углы вращения камеры сбросить в 0. 33. Реализация кнопки «Камера по центру станции». Координаты центра станции вычисляются как среднее арифметическое, при этом все углы поворота камеры сбрасываем в 0. 34. Дополнительно к основной модели каждого модуля он имеет отдельные, но привязанные к нему подмодели «переходов». 35. «Переход» - это модель цилиндрического вида. Все переходы лежат в одной плоскости образованной осями XY. Они не вращаются относительно самого модуля, для них есть координаты относительно центра модуля. 36. Дополнительно к основным параметрам каждого модуля имеются следующие дополнительные параметры, связанные с его типом module_type: 37. массив переходов, с указанием типа перехода (верхний, нижний, левый, правый), cx, cy – координаты X и Y перехода относительно центра модуля; 38. название модуля; 39. описание модуля; 40. минимальный уровень игрока, с которого модуль доступен для постройки; 41. стоимость модуля – количество Углерода, Кремния, Металла, Квидов, Арго необходимых для покупки; 42. количество вырабатываемых ресурсов – все те же ресурсы, но вырабатываемые модулем в час; 43. на самом деле в игре есть и другие параметры, но мы их пока опустим, для упрощения. 44. По клику в модуль мышкой (или может еще как-то) необходимо отобразить окно с основной информацией: название модуля, уровень модуля, описание модуля и ресурсы. 45. Нужна будет небольшая инструкция по добавлению новых видов модулей и планет, дополняющая комментарии в коде, чтобы я смог потом наращивать объекты симулятора самостоятельно. И вообще инструкция по дальнейшему сопровождению симулятора, небольшое толковое описание основных моментов. 46. На выходе нужно полноценное приложение «Симулятор космической станции», загружаемое в виде IFrame приложения на площадку ВК через юнити веб-плеер.
10.10.2014 Игорь Пец https://vk.com/igorpets
Популярное: Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (305)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |