Hangmon: Gotta Flash ‘Em All!

Play the game here!

My game is called Hangmon, since it seemed the most apt portmanteau of “Hangman” and “Pokémon” the Richard Dietz R&D department could come up with on their somewhat limited game development budget of $0. The game is, as one might logically expect, a hangman variant based on the Pokémon franchise. Your goal is to catch as many Pokemon as possible to fill up your Pokédex by guessing their names correctly from a silhouette, similar to the “Who’s That Pokemon?” game that was part of the original Pokémon anime.

pkmn2

Don’t let this happen to you, always carry plenty of Pokéballs! Also maybe don’t guess the same letters I did.

The “hanging” mechanic was made a little less morbid for this version; instead of murdering defenseless and adorable creatures, each successful guess makes them easier to catch until their entire name is filled in and they are added to the player’s Pokédex. Otherwise, after five incorrect guesses, the player runs out of Pokéballs and the wild Pokémon runs away. The Pokédex mechanic had the potential to be incredibly cool, and definitely would’ve been had I had several more hours of coding time at my disposal. Still, I think it adds more to the game, since it counts the number of rounds you’ve won as different types of Pokémon you’ve caught. This satisfies the requirements for both the collecting and character advancement mechanics that are discussed in the Challenges for Game Designers textbook. But of course I wanted to do more. I started with some seriously grandiose ideas for the final outcome of this project and along the way was forced to scrap or modify most of them. I wanted to make the game play more like the actual Pokémon games, including health bars for each Pokémon that adjusted with each correct or incorrect guess, a separate Pokédex page you could scroll through to see which Pokémon you had already guessed correctly, and support for all 718 currently-released Pokémon instead of the mere 151 of the first generation. Naturally, these things were completely unfeasible for the scope of this project, so I was forced to tone it down a bit at the request of my fellow students and my already-ruined sleep schedule.

This is what the game looks like on a typical playthrough.

This is what the game looks like on a typical playthrough.

Overall, I like the way the graphic design turned out. I started with a really cool-looking background (lovingly stolen from Google Images) and later found the Pokédex and Pokéball graphics on there too. After some minor editing in Photoshop and additional tweaking in Flash, the graphics were ready to become movie clips. Next, I made all the individual buttons and letter tiles on dabuttonfactory.com, which definitely saved me a lot of time and effort… The same time and effort which of course ended up being expended on other things, such as importing and naming every instance of the original 151 Pokémon’s sprites from a zip file I found in the dark depths of the Internet. My other graphic design choices were mostly made with readability in mind. I chose the blue and white color scheme with a sans serif font (Calibri) for a comfortable, unobtrusive UI. I do feel like the screen is a bit cluttered as is, but there are a lot of UI elements to show during gameplay and I think I got everything to a comfortable size so I’ll live with it.

Of course, a game this beautiful didn’t come to be without first having its share of bugs and accidental “features.” Coding this project was considerably more difficult than everything we had done before, but still manageable. I think I bit off more than I could chew with a lot of my ideas, which led to a few creative solutions that ultimately weren’t even implemented because I ended up scrapping the super difficult things completely. For example, I had coded in a way for the player to select which generation(s) of Pokémon (from 1 to 6) they wanted to guess and then the game would build an array of the Pokémon names from the selected generations to use. This was ultimately scrapped, if for no other reason than that Flash is completely useless for batch processing anything. I had to import 151 .png files, one for each Pokémon’s sprite, individually convert them to movie clip symbols, and then name each one separately. I got so desperate that I spent probably half an hour looking for a javascript file that could help me out or any importing tricks to convert everything to symbols simultaneously, with minimal success.

I had some serious trouble with the this function, until Dr. Delwiche showed me how to set my functions to the right nesting level so that my code would actually work. What a difference that made! I also had some issues with my hint mechanism, which was the Pokémon’s silhouette appearing and then becoming brighter with each correct letter guess. Movie clip symbols apparently do not have an inherently mutable brightness setting so I had to import some exciting new libraries I found out about on Stack Overflow, everyone’s favorite website ever. I also wanted to make the Pokémon actually run away after five incorrect guesses, which I thought I could accomplish with a for loop that changed the sprite’s x value and waited a few milliseconds each time it ran (so that it wouldn’t move off the stage too quickly to even be seen). Naturally, this failed miserably and was a confusing and time-consuming endeavor. However, once I got the rest of the code to work and with a few extra little tweaks, I was really proud of what I had accomplished.

This entry was posted in Assignment #3. Hangman. Bookmark the permalink.

Leave a comment