Skip to content
This repository has been archived by the owner on Aug 27, 2020. It is now read-only.

Team-on-abandoned/Osmos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Osmos

2D physics game


На сцене расположено множество свободно перемещающихся шаровидных объектов. При соприкосновении больший объект поглощает меньший и увеличивается на площадь поглощенного объекта. Игрок управляет одним из объектов и его задача - поглотить столько “конкурентов”, чтобы площадь оставшихся была меньше его собственной (т.е., не было возможности проиграть). Относитесь к тестовому как к большому проект который вы планируете разрабатывать и развивать несколько лет. Отнеситесь серьезно к построению как структуры кода так и стуркуры проекта


  1. Шар перемещается в сторону по вектору от клика до центра объекта (Можно включить гизмо в редакторе, и будет видно вектора движения и прицела)
  2. Скорость (приложенная сила) перемещения зависит от протяженности клика. Объект движется по инерции с учетом силы сопротивления пространства.
  3. Цвет “конкурентов” зависит от отношения его размера к размеру пользовательского объекта.
  4. Цвет пользовательского объекта, а также границы цвета “конкурентов” задаются внешним подгружаемым конфигом вида (Лежит в StreamingAssets)
  5. При столкновениях объектов с границами сцены - объекты отталкиваются
  6. Количество генерируемых “конкурентов” должно быть параметризировано внешним конфигом. При генерации объекты не должны пересекаться (Тоже в StreamingAssets)
  7. При победе или поражении должна выводиться соответствующая надпись.
  8. Должна быть возможность начать игру сначала не закрывая приложение

Прочие условия:

  • Чем мягче будут проделаны трансформации объектов, тем лучше, можно использовать iTween. (Использовал LeanTween как более быстрое решение)
  • Мир помещается в 1 экран, границы мира это границы экрана, можно использовать ортогональную камеру. (Граница мира подстраиваеться под вьюпорт, но только при старте)
  • Можно подключить звуковые эффекты.
  • Игра должна работать под любым разрешением.
  • Игра должна работать на мобильном устройстве, если такого под рукой нет, то хотябы пишите код, ориентируясь на несколько платформ. (Под рукой нет андроида, но уверен, что работает)
  • Внимательно следите за фпс, сделать максимально оптимально.
  • Вообще, следите за тем, чтобы на выходе было что-то, в чем можно разглядеть работу программиста игр.

Screenshot1
Screenshot2
Screenshot3