Challenge Overview
Project Overview
Technology Overview
- target platform: iOS8+, Swift, SpriteKit, GameKit Game Center, Xcode 6.1
- Priority is for iPhone 5/5s/5c -- 640x1136 pixel resolution at 326 dpi, auto fit screen for iphone 6(including plus);
- iPad support is required (auto fit screen)
- Only Portrait orientation
- Allows anonymous play, in addition to Apple Game Center
Competition Task Overview
Technical Details
1. Resouce Managment
We will use texture packer ( https://www.codeandweb.com/texturepacker ) to packer sprite images (except backgrand images).
2. Level Configure Detail
1) split level configure file, that is, one configure file for each level, e.g. level1.pinfo, level2.pinfo, thus it will be more clear and easy to update.
File configure:
probability that each size of file will appear(sum of them is 100)
2) Cloud configure:
scale of Cloud should be configurable(e.g. 100 means orignal size, 50 means half size)
Configure level with two clouds to demonstrate(one is original size, and the other is half size)
3) Obstacle configure:
cofigure for following items(don't hard code in sub entity code), implement in ObstacleEntity:
movingAction: (x1, y1, speed1), (x2, y2, speed2), ..., (xN, yN, speedN) missing if not moving, e.g moving from point1 to point2 and back to point1, (x1,y1,speed), (x2,y2,speed), (x1,y1,speed)
dashline: (x1,y1),(x2, y2)...(xN, yN) missing if no dashline
4) about some special obstacles:
Dark Cloud: "Dark Cloud" and "electric shock" are two different obstacle entity, "electric shock" entity is created by "Dark Cloud" entity, don't create "electric shock" repeatedly, instead, create only one "electric shock" entity instance for a "Dark Cloud" entity instance
Water Pipe: "Pipe" and "Water" are two different obstacle entity, "Water" entity is created by "Pipe" entity, don't create "Water" entity repeatedly for a "Pipe"
Length of "Water" entity is changed from 0 to N and then back to 0 repeatedly (N is configurable)
implementation hit: don't scale it, move the Water from the one side to another side and then back, it will be partly hidden by the pipe and screen edge
5) available shields for each level should be configurable
6) add configure file "obstacles.pinfo"
config entries:
id (this is the type of obstacle)
name
idleAction (texture1, texture2, texture3, ..., textureN)
7) add configure file "shields.pinfo"
config entries:
id (this is the type of shield)
name
texture
8) config level for each new obstacle for verification
9) config level for each shield with two obstacles for verification
General Notice