Challenge Overview
Challenge Overview
The goal of the challenge is to build a unity3d prototype game of the provided design.
The outcome of the challenge is expected to be a working prototype in both iOS/Android, the users should be able to place/remove buildings and solar plants on/from the grid.
Challenge Requirements
Game Engine Framework
We will use Unity3D, use latest version (5.0+).
Game Flow Requirements
The following is the expected flow you will implement in this challenge :
-
- When opening the app the user will get a splash screen.
-
- When the game loads the user will get the play screen with empty landscape and shop button (+).
-
- User can click on shopping icon to select a building/plant to be added randomly on available tile on the map.
-
- Or user can tap on any tile (none occupied by grid obstacles) then click on the shopping button to add a building/plant on that tile.
-
- In both cases, we need a simple popup that list all types of buildings/plants available, user will select one of them, and it will be added to tile as next screenshot.
-
- User can tab (x) to remove the building or checkmark to complete adding the selected object to the grid.
-
- User can add as many building/plants on the grid as long as there is available tile.
-
- Periodically, the game will switch between day and night, buildings will have lights in night view.
-
- Buildings will be producing or losing energy, this operation of losing/producing will be demonstrated by popping up a dollar sign ($ or -$) from top of the buildings.
Implementation Requirements
-
For this game, we want to make every tile (square) in the grid as a separate GameObject.
-
Working backwards from point (1) direction, every tile type (ground, earth, rock, water, tree, etc.) should be its own prefab.
-
Keeping each tile as a separate prefab so we can to quickly changing types (even at runtime), and allow assigning different properties via different components on each tile prefab.
-
Implement the ability also add and remove components at runtime, so the buildings and solar plants could be components that are created/destroyed on GameObjects.
-
We assume that you will use an isometric camera.
-
We assume you will use lightmapping to implement day/night switcher.
-
Implement the shopping button (+) button as GameObject in the map screen to add/remove components (buildings and solar panels) dynamically in the terrain/map, clicking on the shopping button will popup a simple popup that list all buildings/plants available.
-
Implement the animated behavior of producing/losing energy ( $ and -$ being pop out of buildings periodically - the interval time should be configurable).
Game Objects
The following are in scope of this challenge, everything should be a prefab :
-
Map - We have four landscapes to be implemented :
-
15_01_Landscape 1_Day.png
-
15_03_Landscape 2_Day.png
-
15_05_Landscape 3_Day.png
-
15_07_Landscape 4_Day.png
-
-
The objects on the maps listed above :
-
ground
-
lake/water
-
tree
-
rocks
-
bush
-
mountain
-
-
The shopping icon
-
Cities and Plants - you will implement all the cities and plants shown in this screenshot.
Technology
-
- C#
-
- Unity3d
Final Submission Guidelines
Submission Deliverables
Below is an overview of the deliverables:
-
Working Unity3D 5.0+ app (including source code and configuration files) that covers all requirements.
-
A complete and detailed deployment document explaining how to deploy and verify the application including configuration information.