I’ve finally submitted Pixel Blocked! (Xbox version) to Microsoft’s App Hub for play testing. This process takes about a week. It allows other members to try out your game, find bugs, make sure it follows the guidelines and most importantly, give feedback. For me, this process is about making sure my game is complete, and that I haven’t missed anything major.
I’m still working on Pixel Blocked!. I’m quite happy with my current build of the Xbox version of the game and could submit it today, but I’ve decided to put it on hold while I focus on the Windows Phone 7 version of the game, as well as on advertising.
So far, the Windows phone 7 version of the game is going well. I’ve been able reuse a lot of my current code base. The big changes I’ve had to make so far are: replacing all of my Draw calls, re-writing my save-load system, handling touch input and re-sizing all of my front-end elements. Here’s the title-screen being rendered on the phone:
The Windows Phone version of the game uses the exact same content and about 90% of the code from the Xbox version. However, XNA on the Windows Phone currently doesn’t have support for custom effects. As a result, the game that is currently rendered on the phone uses a basic effect. For controls, I use a mix of on-screen buttons to move the player and shoot blocks, and finger swipes to rotate the puzzle. I’ll probably experiment with other control schemes once the game is fully functional on the phone. For my save-load manager, I had to switch from using Microsoft.Xna.Framework.Storage on the Xbox to using System.IO.IsolatedStorage on the Phone. Having to resize the front-end elements was the result of changing the resolution from 1280×720 on the Xbox to 800×480 for the Windows Phone.
Right now, I’m focusing on doing a straight port over from the Xbox version and having it fully functional on the Windows Phone. I then plan on tweaking the phone version so that it plays better. A few changes and additions I foresee having to make on the phone include having the game be playable while held vertically, making the fonts larger, adjusting the visual style and having the camera be a little closer to the puzzles.
Deciding on the title of the game was probably one of the hardest decisions I had to make. I guess it’s because if something’s not quite agreeable with me, I get a little anxious and keep thinking about how I can improve on it. At this point, though, I’ve decided to let it go. It’s Pixel Blocked! and it’s going to be a great game! 🙂
The title actually came about when an innocent friend of mine (who is from overseas) asked me what c***-blocked meant. After I eloquently explained the phrase to him, he shouted out “OMG I shot blocked myself!” while playing my game. And thus, the beginnings of a title was born.
Why Pixel Blocked!? What I like about it is that there’s lot of angles you could look at the title that would all describe the game. Each block in this game represents a pixel in a larger, more cohesive image. When solving a puzzle, you have to think about where you place your blocks in order to not block yourself off from filling in another empty place. The only time you screw up is if you incorrectly place a block where it doesn’t belong, or somewhere in the puzzle that hinders you from filling up another position. In essence, you’ve blocked yourself from completing the image.
I think it’s a fun title. It’s something you can say to yourself when you realize you’ve blocked yourself and something you can ask your friends, “Have you been pixel blocked?”. I want people to have fun with it. For example, as I was watching a Canucks game today I thought it’d be hilarious if I had a commercial where Roberto Luongo (the goalie) turned into a giant block every time a shot was taken on net – the other team was Pixel Blocked!.
What I didn’t quite like about the title when I initially made the decision was that the words on their own are quite generic terms. The words pixel and block are very common. I was worried that searches for the game would result in random things with pixels and blocks in them. I was also worried the game would be lost in a sea of games with the words pixel or block in their titles. However, those worries have disappeared lately. The top few results from a Google search of “Pixel Blocked!” currently refer to my actual game, and will lead you to this blog, as well as the debut trailer for this game I created back in February.
I’m finally content complete. I just finished designing and testing my last puzzle today. That’s 180 puzzles plus 6 bonus ones. I definitely underestimated the time it would take to create puzzles, but I’m glad it’s all finally done!
There’s been a lot of updates to my game since my last post in January up until the release of the debut trailer. I wanted to share them, but I got caught up in getting my game ready for the IndiePub game competition, which was due the 18th of February. With that submission out of the way, I’ve got some more time to blog.
The biggest change by far would be the way the game flows. Oddly enough, I sort of went in circles when thinking about how the user would go from one puzzle to the next. When I originally started this game, I had planned the layout of the game to be similar to Picross DS. Levels consisted of puzzles A-O and each puzzle was its own stage. When I play tested this for Pixel Blocked!, it felt like there wasn’t enough substance having just one puzzle per stage, especially with the easy puzzles, where some of them could be completed in less than 3 seconds. It felt odd and annoying to force the user back to the puzzle selection screen so quickly after completing such a short puzzle.
I then made the decision to have 5 puzzles per stage. Each puzzle has the same overall shape, but with different foundation blocks. When you complete a puzzle, the next one flows to the center of the screen to be solved by the player. I really liked the way it felt, having one puzzle floating to the next, and being able to see a preview of the next puzzle on the left of the screen, as well as a completed puzzle floating on the right of the screen. For awhile this worked really well, as it lengthened the time a person would spend on a single stage and the way it floated from one puzzle to the next felt really natural. Each stage of 5 puzzles was given a target time to beat and allotted a certain amount of missiles. Even with 5 puzzles per stage, some of the stages could still be completed in less than a minute.
About 4 weeks ago, I started noticing problems, especially after I began having people play-test the harder stages. For example, levels 21-30 consist of increasingly difficult 9×9 puzzles. I noticed players burning through their allotted missiles before even reaching the 3rd or 4th puzzle of the stage and getting stuck or having to restart because of an error they made. I noticed players spending over 30 minutes on a single stage and ending up failing. I noticed frustration at having to start stages over again just to get to the 4th or 5th puzzle they were struggling to solve. Those were all unintentional design consequences of having 5 puzzles per stage. I wanted a more balanced usage of missiles and to also change the source of frustration. Frustration (the good kind) should come from players trying to wrap their head around solving a particular puzzle, not from having to re-do already completed puzzles.
What I had failed to notice initially was that the only reason it felt like having one puzzle per stage wasn’t enough substance was because I knew the solution to each puzzle so well that I had forgotten to calculate the thought process time duration of actually finding that solution. Design inspiration came in the form of a game called Glow Artisan that I picked up on the Windows Phone 7. It’s such a simple solution I’m surprised and embarrassed that I didn’t see it sooner. In Glow Artisan, the puzzles are just as short as they are in Pixel Blocked!. They are especially short if you already know the solution or are adept enough to quickly find the solution. Now instead of kicking the player back to the puzzle selection screen after each puzzle (especially in the early stages where this might’ve been annoying), the game allows you to simply play the next puzzle. So in short, you solve a puzzle, get your results, click next and start the next puzzle. It keeps the game flowing, and if the user wants, he or she can go to the puzzle gallery and manually select the puzzle they want to play.
I thought that was the perfect solution, so with 3 weeks to go until the IndiePub competition, I set out to make each puzzle its own stage, but still have the ability for puzzles to flow from one to the next. In the end, my solution came to be a hybrid of my first two attempts and I think the game plays better for it. I eliminated unintentional frustration, balanced out missile usage (3 per puzzle) and kept the puzzles flowing from one to the next. On one hand, I probably should’ve realized earlier that one puzzle per stage was the ideal way to go, but on the other hand, had I not made that mistake, I probably wouldn’t have the great puzzle transitions and animations I currently have now.
I spent all of today summarizing months of my work/passion into a single 1-minute video. This is the debut trailer for Pixel Blocked!
I worked on minor touch ups and bug fixing these past two days. They’re nothing major but still important things that need to be done. At this point, I’m focusing on creating more content. I have levels 1-20 complete and I’m planning on having 50 levels. Each level consists of 5 puzzles, so that’s about 150 puzzles left to create. I’m going to try and pace myself at 2 levels a day.
I can happily say that the majority of all the sound effects are now in the game. I used both Mixcraft 5 and SFXR to create my sound effects. Mixcraft 5 was really nice to work with when I was experimenting with creating my own music. However, that didn’t turn out too well :P. Instead, I’ve been searching for music that would fit well in my game (I have some in mind, and am currently figuring out licensing). I did manage to use Mixcraft for a lot of the sound effects you’ll hear in the various menus. For game play, all the sound effects generated were created from SFXR. It’s an excellent tool that can create random sound effects. You can also manipulate the various sliders to get the sound effect you’re looking for. At first, I thought I’d just use it to generate placeholder sound effects, but I ended up liking it so much that I might just keep the sound effects I generated today in the final product.
Sometimes, you think you have a good idea until you see it in game. I thought I’d instill some life into the puzzles by having the puzzles in the background float around or do a little dance when they were completed. Turns out it’s really distracting and takes the player’s attention away from the main puzzle they’re trying to solve, so I decided to scrap it.
The other thing I worked on recently was adding some more visual feedback for when the user completes a level. Check it out:
Note: Sound Effects are all placeholders at the moment.
I really wanted the game to celebrate and give positive feedback to the user for their accomplishment of clearing a whole level. I do this by adding a nice puzzle rotation/ re-orientation with a camera-zoom effect after the last puzzle in the level is cleared. I think it gives the gamer a moment to take in what they just cleared. On the Level Clear Screen, I’ve added a fireworks display using the same particle system I just finished last week. I also have the stars ‘pop’ in to make it more clear that you are earning stars for your performance. One complaint I have when I play Angry Birds is that it’s not transparent what score you have to aim for to get 3 stars. You can’t see how far away you are from acquiring that next star.
As a result, I wanted to make it clear that you get 1 star for clearing a level, another star for clearing it under the target time, and a third star for not using a single missile. This data is also saved and displayed/reinforced on the Level Selection Screen. When you don’t meet the requirements for a star, you don’t get the fireworks display and instead you get a sad looking star. See how sad he is 😦
Hopefully this will motivate players to come back and try to clear the level with 3 stars 🙂
For Christmas, my family got me the Intel 120GB X25-M SSD. I didn’t have time to install it and all my programs until this weekend. It is blazingly fast! Compile times aren’t even noticeable. Everything just seems snappier 🙂