Sponsored By

Postmortem: Adam Jones Productions’ Word Drop 2

A postmortem for Adam Jones Productions latest release; Word Drop 2

Andrew Dieppa, Blogger

July 1, 2010

11 Min Read

 

 

Introduction

Another word game from Adam Jones Productions and this time it is a sequel. This postmortem will examine the issues that occurred during development and the solutions that were implemented.

Shifting Tiles Challenge

One of the primary mechanics of Word Drop 2 was the shifting of rows and columns as letter tiles are removed from play. An issue would arise when a tile was destroyed, and the columns and/or rows would have to shift over relative to the adjacent tiles.  This was where a problem would occur, as the hit-test function that was to prevent tiles from overlapping was failing.

To overcome this, a parallel array was implemented by the programmer. This array kept track of the tiles and their positions to ensure their movement and final resting place on the visible grid was appropriate. 

Class Accessing

Another hurdle that came with Flash development in the Adobe Flash environment was the isolation of classes from each other in the compiled environment.  As a result, a class system in the program would not work because a function call to a separate class would cause errors.  The only obvious solution was to place all the classes as functions in a single, long class so to avoid the visibility issues.  Obviously, this was not the desirable course of action.

The discovery of FlashDevelop IDE was a great aide to developing the rest of Word Drop 2. FlashDevelop, a free solution, provided a different programming environment, one that was created with programming in mind not animation.  Migrating to this solution allowed the remaining development tasks of Word Drop 2 to fall into place without incident.

Word Selection Method

As a user selects tiles to form a word, the Word Selection Method would execute multiple checks for word validation.  The game checks the word being built each time a tile was clicked by running a binary search through a large, alphabetized dictionary.  A problem was occurring that the letters spelling the word were not being checked in order.

A simple solution was to wipe the word being built and “rebuild it” between tile selections, thus ensuring that the words the user intended to create were indeed the words that the game was looking for.

 

High Score Issue

A scoring exploit was discovered early on in the game’s deployment.  Users were posting scores in the billions, far above any possible range the game could naturally generate.  A conscientious user clued the development staff into how this was being done.

Two separate issues were at work.  One was a simple scoring error where scores were being allocated not just for word size, but a number of times equal to the number of tiles selected.  This in and of itself would not have caused a significant error, but when combined with an unresolved shifting issue tiles were falling outside the grid area and not being removed from play when a word was made.  As a result, words of indefinite size were being formed an indefinite number of times, hence a score exploit.

Each of the problems was addressed with simple code fixes.  The scoring errors were removed and a check was implemented to ensure the area of the grid clicked by the mouse coincided with the actual tile being clicked.  These neatly corrected the scoring issues.

Conclusion

 

For the most part of Word Drop 2’s development went through at a steady pace. Lead programmer Jordan has necessary know how to code the game’s logic in ActionScript 3.0.  Though the game was developed “cowboy style”, which is to say without solid project planning, the work flow process went relatively smooth.

Adam Jones Productions is very glad with the end result of the game because the look of Word Drop 2 is sleek, crisp, and features a great audio track in the background. The game functions as fully intended and is available for play on Facebook through the Mindjolt application.

Read more about:

Blogs
Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like