Skip to content

BullyEntertainment/test-task

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Test task for Bully! developers

Brief

Create a mobile app for Android and iOS in Unity using reference and short description below.

Description:

AR app that uses the marker image given to present a 3D model of an old watch, its hands show current time and day of week. Watch has skins that include: color of seconds hand, language of days, GMT timezone. There are two buttons to cycle though skins. Clicking sound is used as feedback to button clicks. The watch slowly rotates and small metal balls are popping out of its top when you click it. To create an old-school look a camera effect is used: a vignette with some grain noise (fullscreen effect).

Hints

Use:

  • Git for version control, a gitignore and git flow model;
  • Vuforia for AR experience and given marker;
  • ScriptableObject for skins (material, day names, time offset);
  • Custom inspector for skins to validate constrain: week can only have 7 days;
  • OnRenderImage and a CG shader to create vignette effect and noise;
  • AnimationCurve and SetFloat to animate vignette flickering;
  • C# interface for clickable objects;
  • Singletons for global managers.

What is important in this task:

  • Ability of candidate to quickly catch new things and learn on the fly;
  • Strict following to feature requirements, as it were a real-life project;
  • Attention to details;
  • Code performance and architecture;
  • Scene organization, asset names;
  • Project structure, prefabs, hierarchy;
  • Using correct asset serialization editor setting for git;
  • Code style: variable names, regions, reasonable comments in English.

What is not important

  • No need to model watch - use standard 3D primitives provided by Unity;
  • No need to match reference watch model 100% precise;
  • No need to match materials and colors 100% precise;
  • No need to use exact font;
  • IDE used (better be Vim, ha).
  • Extra features not listed in initial task or bonus.

Bonus (for ninjas)

  • +1 Use pool manager singleton and reuse small spheres;
  • +3 Implement a screen space UI button to capture screenshot;
  • +4 Implement screenshot sharing on Android and iOS;
  • +10 Implement LUT color grading that work on mobile (i.e with no Texture3D);
  • +15 Create a wormhole effect under watch, that distorts real world camera feed (see reference).

References

Marker

Marker

Builds

iOS App Android App

Screens

Editor App

Video

AE in action

Distortion

Distortion

Submission

  • Include full source code (Unity project)
  • Include a brief decription of your decisions and challenges in project, as well as possible improvements.

(Ninjas can just use git repository and share the link)

About

Test task for new developers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors