Spray Play

Jump to: navigation, search
  english | 한국어 HowTo [ID# 271245]  +/-  

Spray Play
Status: Runs (slow) on XO
Version: unknown
Base: No
Source: [1]
l10n: missing
Brian, Eric, and Greg Jordan

Ongoing development of this Activity has moved to http://wiki.sugarlabs.org/go/Activities/SprayPlay

Spray Play is a Crossfire-like game in which players shoot objects in the middle of the playing area with small pellets to push it into their opponent's side.


Old concept of Spray Play's gameplay field

Spray Play is a 1 or 2 player competition game in which players attempt to bump objects into their opponent's score area.

Spray Play is an ideal social game for the XO--its fun, sound-enhanced and easy to understand gameplay begs on-lookers to "give it a shot". This sort of enthusiasm translates to learning when simple variables (speed, number of balls, object placement) may be easily easily modified in an application such as Develop.

As a player shoots game pieces towards the opposite side of the arena, they get a point. Currently, points are represented as stars at the top left and right of the screen. Ideally, the game would actually place game pieces in the player's corner, almost like a trophy. This could be made easier with Elements/Box2D, as we can just place/scale shapes there.


Spray Play is, at its core, a physics-based game, so graphics are essential for player feedback.


Spray Play in-game with computer player


Spray Play currently uses XO character design (X below an O) for human and computer players. The XO Person is a rotate-able character that shoots object-propulsion "bullets" out of its head. TODO: The XO character should utilize the user's preferred colors from Sugar, and the computer player should be an XO laptop icon:



Pucks are currently regular and irregular polygons on the playing field (see screenshot--the green object in the middle).

Playing Field

Spray Play's playing field

The playing field is a PNG image representing a rounded-edge rectangle. It is metal-themed and has grass around the outside.

TO DO, i.e., Additions to this image that would be nice:

  • Dimensions
    • Geometry dimensions of gray field area for simulation purposes
  • Crowd
    • Bleachers in corners?
    • Heads lining the walls, leaning onto play field


With the XO laptop's built in speakers and headphone capabilities, sound is an important consideration for Spray Play.


Matt has composed a song for Spray Play.


Directionally-biased stereo sound files are used to differentiate which side the sound is emanating from (the player on the XO's left side, player on the XO's right...).

Balls make sounds as they are shot out (thwooop), hit walls, hit each other (clink!), hit objects.

Based on feedback from the kid testing session at the Boston Game Jam 2007, sounds both made the game more fun to play and acted to attract friends of players to come try the game.

Code / Contribute!

Spray Play is being hosted at Google Code. The Spray Play SVN repository can be browsed online.

To contribute to Spray Play, contact Brian his gmail account, username bcjordan, and he will add you to the developer's list.

Eventually, Spray Play will be hosted at SourceForge, but their applications must be manually approved.

Activity Summary

Icon: Sugar icon::
Genre: Activity genre::Games
Activity group: ,|x|Activity group::x}}
Short description: Short description::Spray Play is a Crossfire-like game in which players shoot objects in the middle of the playing area with small pellets to push it into their opponent's side.
Maintainers: ,|x|Contact person::x}}
Repository URL: Source code::http://sprayplay.googlecode.com/svn/
Available languages: ,|x|Available languages::x}}
Available languages (codes): ,|x|Language code::x}}
Pootle URL:
Related projects: Related projects,|x|Related projects::x}}
Contributors: ,|x|Team member::x}}
URL from which to download the latest .xo bundle Activity bundle::
Last tested version number:
The releases with which this version of the activity has been tested. ,|x|Software release::x}}
Development status:
Ready for testing (development has progressed to the point where testers should try it out): ,|x|Ready for testing::x}}
smoke tested :
test plan available :
test plan executed :
developer response to testing :