|
|
As you play GearBox: Puzzle Party, one of the three winners in the Sony Ericsson Game Developers Challenge 2004, you may wonder how those smooth looking robot graphics and animations were implemented.
Also, knowing that the initial idea occurred on a 'Jeepney' (see September article), you may be curious to know how Spoon Interactive Arts realized its gaming idea.
Keep reading to find out more about the structured development process from idea to high-quality game. |
 |
The Graphics Implementation GearBox: Puzzle Party is a visually very demanding game. Since it's a fighting game, it would normally require a lot of unique assets such as characters with different animations for each movement, individual levels and the puzzle art. The art assets of GearBox are made through a two-step process before integration into the code: Assets development and Animation structuring.
Assets Development The lead artist used Adobe Photoshop from sketching to coloring the art assets. Then, Adobe ImageReady was used to develop sample animations for reference. The dimensions, number of colors, etc, were already specified by the development team.


Animation Structuring After all the art assets had been developed and each character had its own set of animation samples, the game was ready for structuring. Spoon Interactive Arts used an in-house developed tool, called "Body Bag", to properly manage the animation strips. Its sole purpose was to minimize the file size of the application, yet retaining a large number of art assets intact. The tool was perfect for this purpose since the game was conceptualized to have four original characters and each character has different animations for different 'modes' such as idle, attacking, winning, losing and hurting. The tool generates a file which holds the data for the animation - animation sequence, dimension, etc - which is then loaded into the MIDlet. Using the tool, the animations were arranged in chronological order. Then, each frame and part of the character was customized for that specific frame.

The code used to load animation information generated by the tool looked like this:
public void loadGearSprite(int character) { loaded = false; loadByteArray(run); //loads a byte array which includes the animation //sequence of the character selected bodybag = Image.createImage("/character" + run + ".png"); // load the bodybag file into memory Class c = this.getClass(); InputStream iStrm = c.getResourceAsStream("/character" + run + ".gpp"); DataInputStream dStrm = new DataInputStream(iStrm); dStrm.readFully(bodyBagData);
// load the animation file from tool c = this.getClass(); iStrm = c.getResourceAsStream("/animation" + run + ".gpp"); dStrm = new DataInputStream(iStrm); ByteArrayOutputStream oStrm = new ByteArrayOutputStream();
// buffer the animation data animationData = oStrm.toByteArray(); newAnimation(); } catch (Exception e) { e.printStackTrace(); } loaded = true; }
The Development Process The Game Development Lifecycle of Spoon Interactive Arts involves a three-step process which includes Team Brainstorming/Conceptualization, Code/Visual Development and Deployment phase. This is the typical development methodology used, with the exception for some special projects such as collaborative projects (joint projects with other development houses), contest entries and similar efforts. Each step is described below:
1) Group Brainstorming/Conceptualization The process from idea to a prospective project for development happens in the Group Brainstorming/Conceptualization phase. Since 95% of the Spoon Game Development team are hardcore PC and console gamers, it's almost a second nature to juice up for a good concept. A monthly meeting is held for new game concepts to be discussed in an open forum. In this way, the whole team gives their input on the possible projects, something that is believed to be an efficient and effective practice. In this phase, the discussion regards the game elements, game-play, code engines and tools to be used, as well as its appeal to players and what initial handsets to target. The usual output is a project timeline and a design document complete with art assets and game process flow.
2) Code/Visual Development The Code/Visual Development phase is where an approved project starts to materialize and the actual development starts. A project team is usually composed of one artist and one programmer. The project team conducts separate individual team meetings to properly segment and modularize the game assets. Development time is usually from three weeks to two months, depending on the game specifications and resources available during development. The Software Development Methodology used is usually Rapid Prototyping with a twist of Waterfall.* The output for this phase is at least a beta version of the game, which is thoroughly tested on the targeted hardware platform.
*Rapid Prototyping means iterative prototyping and evaluation, whilst Waterfall means careful specifications at start of project and then development following those (a flow of development steps without iterations; ideally, you shouldn't need to go back).
3) Deployment After development, the marketing team pushes the new product to the market. Usually, the porting and tweaking of the game is done in the Deployment phase. The development team gets directives for multi-platform porting, since it happens that carriers require content providers to have their content run on several, if not all, popular handsets in their region. Some examples would be porting to the different UI's of Symbian, different screen sizes, from J2ME MIDP 1.0 to MIDP 2.0, and localizations of art assets and/or language used.
The Gearbox: Puzzle Party process For GearBox: Puzzle Party, the art assets and the code were in beta status on the third development week (after 15 days). After getting the K700 test handset, provided by Sony Ericsson to all finalists in the Game Developers Challenge 2004, five days were allocated for stress testing, debugging and tweaking of code/game-play. All in all, the development of GearBox: Puzzle Party for the Sony Ericsson Game Developers Challenge 2004 took 25 days including device testing, versioning and User Acceptance Tests (UAT). The development time does not include the subsequent Java Verified process. After submission of the game to the Java Verified program for testing and certification, Spoon Interactive Arts has had to add instructions on how to pause the game, fix some bugs related to the game hanging after an incoming call and extensive playtime etc, and resubmit the game for testing and approval. This has added approximately two days to the project. Spoon Interactive Arts recommends other developers to read the test cases and other documentation on the JavaVerified web site in detail and perform the tests themselves before submission of a final game to JavaVerified, to reduce costs and time to market.
The development team consisted of a lead developer (Je Alipio), a lead artist (Chester Ocampo), a game concept responsible (Elmer Andes) and a sound responsible (Chris De Joya). Also, the person (Paul Gadi) that developed the animations tool described contributed to the game's success.

Summary
In the Philippines, where Spoon Interactive Arts is located, most mobile phones used do not support dynamic contents and there are just a few development houses doing mobile game development. Besides this fact, Spoon Interactive Arts seems to have reached a professional, structured level of developing new products, which is probably something that many could learn from.
Again, we congratulate Spoon Interactive Arts to a well-deserved success in the Sony Ericsson Game Developers Challenge 2004 and wish them a truly prosperous future! Their GearBox: Puzzle Party game is currently undergoing JavaVerified certification and will consequently be available on Sony Ericsson Fun & Downloads after the Christmas holidays.
For more information:
|