Prototype of my iPhone game
It is just a prototype. It doesn't need to be at product quality. Only basic graphics is required.
A little circle (~15 pixels in diameter) moves on the screen according to the accelerometer. The player should feel as if he holds a plate with a little ball rolling on it according to the way he tilts the plate.
The game's "gravity" always points to the back side of the iPhone. The position and orientation of the iPhone when the game starts define the "initial state" and serve as the reference for the tilt actions.
The circle movement direction is according to the direction of the tilt.
There are two movement physics modes for the circle's velocity:
1. The circle's velocity equals to the tilt angle multiplied by a constant. When the iPhone is held still in a specific angle the velocity stays constant.
2. When the iPhone is tilted from an initial state by an angle, the circle's velocity is the tilt angel divided by the tilt time (average tilt velocity) multiplied by a constant. At the end of the tilt action the circle's velocity stays constant. The action of returning the iPhone back to the initial state doesn't affect the circle's velocity. It is as if the circles gets a kick when the iPhone is tilted but the plate on which it moves remains at the same position.
In both modes, direction and velocity change immediately on the relevant tilt action. No inertia calculation etc. is required. It is not an accurate physical simulation of a ball on a plate.
The constants used for the circle's velocity calculation should be initially set such that a 45 degrees tilt in mode 1 or a very fast tilt in mode 2 will result in circle's velocity of about 3000 pixels per second (~0.1 second to cross the screen).
The view on which the circle moves includes a 10x10 grid (black lines over a white background), where each cell is a ~30x30 pixels square.
There is a (short) text string and/or a drawn shape and/or an image displayed inside each cell. The initial design will have half of the cells with arbitrary text the other half with circles (20 pixels in diameter).
Each time the center of the circle is above a cell, the cell flashes once in a different color. This means that the circle's position should be known at any time during its movement.
Each cell has a number, running from 0 to 99 in the initial design that has 100 cells.
When the circle's center reaches the grid's border it stays there until a tilting action makes it move elsewhere. No bouncing off the edge is required.
There is a "Fire" button on the game window. When the player touches the button, the number of the cell below the moving circle's center is concatenated to a text field displayed on the game window, and the cell's color changes.
Another text field on the game window constantly shows the circle's position (x,y) and the number of the cell below the circle's center.
There is a "Pause" button on the game window. Once the player hits this button the game pauses and the "preferences" window is displayed. The player may then change the parameters and restart the game from where it was paused.
The game starts with a "preferences" window where the player selects some parameters for the game.
The parameters the players can select are:
- Movement physics mode: 1 or 2.
- Speed: used to modify the constant for the circle's velocity calculation. Impacts the game's difficulty level.
The parameter setting is done using the relevant controls, e.g. radio buttons for physics mode and slider+text for speed.
The "preferences" window also includes these buttons:
- Start: Once the player hits it, the game view is displayed and the game starts.
- Help: Hitting this button will display a text describing how to play the game.
- Language: For language selection. The prototype supports only English but the design should be multi-lingual ready, including for the text in the cells.
The code should be written such that it will be easy for me to do the following changes in the code:
- Change the moving circle's size, color, appearance (filled or hollow with border), etc.
- Change the velocity calculation algorithm and the constant.
- Change the grid dimensions (number of cells in each dimention) and cell size.
- Change the initial content the grid's cells - the text and/or shape properties.
- Add new preferences and buttons to the "preferences" window.
The game supports both portrait and landscape.
The code should be written in Objective-C on Xcode. It should be well documented with comments. In addition, a design document will explain the code structure, classes, interfaces, design decisions, etc.
The project includes training for me such that I'll be able to modify the code myself. I have some SW experience and I started learning Objective-C and using Xcode.
The code will be owned by me. The code should be free of any 3rd party Copyright or IP rights.
In the proposal, please include:
- Personal/team background and relevant experience, past projects, reviews, etc.
- Proposed high-level draft design. Feel free to suggest changes to my project description
- Proposed high-level project plan, including tasks, milestones, estimated coding effort (person hours), debug effort and completion time for each task, etc. The plan should allow me to estimate the cost reduction of eliminating some of the prototype's features
- Estimated overall cost and effort
|Expired on :||6 years ago|
|Estimate Budget :||Not Decided|
Sign in to view more of the job details and submit a proposal. Once registered, you'll have access to thousands of jobs online or through email.
Post a similar job and receive proposals right away.