Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Pickup
General
AuthorPhilip Corner
TypeRacing
Version2005
LicenseMixed
Last Updated2005/03/16
Links
Download
Website
Source

Pickup is a game demo along the lines of "Driver", in which the player has to pickup an item from one location, and take it to another.

The demo is a simple proof of concept, and includes the basic mission handling code in which an objective is assigned and can be completed, a directional arrow which points towards the target, and a simple collision detection algorithm.

User guide

Pick up the item (shown by the red cross on a green background) and deliver it to the drop-off point (shown by the green cross on a red background). The arrow shows the direction to the target.

When you complete the dropoff, the time remaining (bottom left) will be added to your cash (bottom right), and a new delivery mission will begin.

Controls

Left/Right - Steer

A - Accelerate

B - Brake, Reverse

Screenshots

pickupgba2.png pickupgba3.png

Online emulator

Can use gamepad or customise in the control settings.
Game Boy Advance Keyboard

Changelog

  • Fixed a serious bug in which the flag telling the main loop not to render the next frame was set continually, leading to a low, random framerate.
  • The collision routine now rebounds the car with a guaranteed minimum speed, preventing it from getting stuck on terrain.
  • Now uses lookup tables for sin, cos and inverse tan, the same as those used in Maelstrom.
  • Instead of floating point values, bitshifts are used to store fixed point numbers in integer variables. All the maths have been optimised as much as possible, using bitshifts where possible to multiply or divide and combining these with bitshifts to deal with the fixed point numbers ("worldpositionx>>23" instead of "(worldpositionx/8)>>20", for instance). (Notice that it is not necessary to optimise maths that involves only constant terms, such as "(XTILES*8)-XPIXELS/2)<<20", because these are calculated at compile time and do not impact execution speed)
  • The position and orientation of the arrow is now determined more simply using the gradient, and the calculation of this gradient is the only use of a non-bitshift divide per frame.

Credits

Emanuel Schleussinger for writing HAM

Thanks to all the great people on the HAM forum at: http://www.ngine.de

and also the GbaDev forum at: http://forum.gbadev.org

External links

Advertising: