Level Counter

Story: 60, Challenge: 0.

Friday, March 11, 2016

Pachinguys is officially out!

If you've been following this blog at all, you'd probably like to know that Pachinguys is out! it's available at the google play store here:


Thank you all for your support and interest through the development process. now go! play! enjoy! and don't forget to share :)

Thursday, February 11, 2016

Graphics through the project

A screenshot is worth a thousand words, so here are some screenshots depicting the journey Pachinguys graphics took through the years.

Level menu:

menu 2012
menu 2013
menu 2014

menu 2016


splash 2014

splash 2016
Level done:
level done 2014
level done 2016
tutorial 2013

tutorial 2016

Game play:
gameplay early 2012
gameplay late 2012
gameplay 2013
gameplay 2016

It's amazing for me to see how much has changed since 2012, and yet how generally true the game stayed to the feel of that very first prototype all those years ago. I hope you've enjoyed this in depth look at the new graphics. 
I'm happy to report that the game is still on track for it's march release. See you all on the other side :)

Thursday, February 4, 2016

Stealth mode, deadlines and progress report

Long time no see. I’ve been taking my time, working on Pachinguys quietly for a while. But much progress has been made, and it’s time to start sharing again.

After playing around with many possible features, I’ve narrowed down the Minimal Viable Project.
The special / challenge levels have been cut, leaving “only” the base 60 levels and 3 bosses. This reduction in content allowed me to focus on more realistic goals towards a release date. Which leads me to:

Release Date:
Like most people, I have a love hate relationship with deadlines. But I’ve decided it’s time to set a hard deadline for Pachinguys. Since I’ll be turning 30 this March, I set the release date to the end of February (because vanity). And I’m glad to report that the game seems to be on track for that release.

it’s been a long time coming, the circles and squares are (mostly) gone. I’ve upgraded most of the games' art assets myself, using freely available art found online and some GIMP work. For the more complex / interesting assets, I’ve contracted a pixel artist via Fiverr. His page can be found here, I’ve been really happy with his work. I had him design the game logo, Bosses, and the Pachinguys themselves. Do let me know what you think of their new look.

There will be no music in the MVP release. I do however have some sound effects (and a mute button). I’ve used freely available sounds. If all goes well with the MVP release, I may add background music later, but it’s not really a priority at this point.

Project management:
I’ve tried many tools, both on and offline, for managing this project. And finally concluded that a good old fashioned excel sheet is still the best way to go (at least, when solo projects are concerned). For me, nothing beats the versatility that a general purpose tool like a spread sheet gives.

Beta testing, Credits and Special Thanks:
Thanks to the ever growing group of you, friends and family, who have helped me by play testing and commenting on the game all this time, it is now very nearly done. One of the things still missing is the content of the credits page. So if you’d like to appear in the credits of Pachinguys, either as a beta tester or under special thanks, please send me your name the way you wish it to be spelled (no, I can’t assume you want to be in the credits and just check facebook for the spelling, this is an opt in kind of thing, deal with it J ).

Thank you for all the support you’ve given me through the years, it would not have been possible without you.

Saturday, March 15, 2014

Bug fixes. Level reset and Google analytics.

Another one of the network features has now been implemented: Google analytics integration.
Following a discussion with a coworker regarding my ad policy (specifically the "remove ads forever" button), an interesting debate arose. I claimed that giving players the power to decide for themselves if they want ads in the game was a good idea that would increase the player base, while he claimed almost every player would disable the ads which would render them pointless. We couldn't find any data on the subject so I've decided to turn Pachinguys into a bit of a social experiment.

Every time a user interacts with the ad removal mechanism, I log the interaction, and send it to my Google analytics, where I can review and analyze the data to see if any pattern emerges. Interactions include viewing the ads removal dialog, canceling it, approving it (thus removing the ads) and unhiding ads once they have been removed. I'm also collection other usage data like what levels are being played, which levels the player gives up on before completing them, which levels are completed successfully etc.

The alpha testing feedback has started to pour in. many bugs have been found (some already fixed, others still pending). I've started using Task Coach as a local bug tracking system in order to keep up with all the reports.
Aside for bugs, a feature request came through for a "reset level" button during play (in addition to the "retry" button at the end of level). I've added this button to the latest version. Hopefully it will make testing (and playing) less of a hassle and more fun.

reset level
On a technical note, Google analytics requires another network related android permission (check network state). So any testers would need to manually update their version (auto update does not work when the required permissions change). Sorry for the trouble and thank you all again for helping Pachinguys out.

Saturday, February 22, 2014

Performance tweaks, splash screen, and ads philosophy

I've finally started work on the most technically challenging and potentially buggy group of features, the online features. Each feature will be explained as it is implemented.

These features include at the moment:

- Ads (implemented).
- Analytics (pending).
- Cloud save (pending).
- Personal server based level update system (pending).

There are a million ways to get ads wrong. I've played so many games where ads would break the flow of gameplay, block half the screen, or just be too near something clickable and get clicked by accident.
With this in mind I've spent a lot of time thinking if and where ads should go in Pachinguys. What I've decided on for now is to only show ads to the user at the bottom of the end of level screen. My reasoning for this is as follows:

a) The level end screen had enough free space to hold the ad without being too close to anything clickable (including the device buttons in devices that have virtual buttons).
b) Up until the end of level screen the player has not yet gained any value (had any fun) with the game. Completing a level is the goal and the main driver of fun in Pachinguys. So once I as a game maker gave some value to the player, I feel OK with asking for some back.

And I do mean asking. Ads are turned on by default, but the option to remove them forever is displayed clearly just above the ad (but not too close as to avoid accidental ad clicking). After a prompt to the player explaining how ads help me make more games, the player can choose to disable all ads forever. This setting is saved, survives through play sessions, and when cloud save will be implemented this setting will be saved and shared across all the user’s devices.

I’m still considering if I should disable the ads for the first two (tutorial) levels. On one hand the player is still learning how to play and ads at this stage seem premature. On the other hand starting the ads at any level other then the first seems inconsistent. Currently ads are enabled for all levels, but this may change.

I’m using Google’s ad service with Admob. As an interesting anecdote, you can’t create a new Admob account in a browser that has an ad blocker enabled. Usage is not blocked however (so disabling Adblock to create the account and enabling it from then on works fine, and yes the irony is not lost on me).

I've also added new functionality to the splash screen (the screen you see while all the graphics load). It now displays a random silly phrase at the top. Followed by a(temporary) Pachinguys logo, followed by the Andengine logo and “powered by Andengine” written at the bottom.

In other news, I've tweaked the main game loop a bit, cleaning up some redundant calculations which should hopefully improve performance on older devices. I’m still looking into the low frame rate issue, but at least there is some progress.

Sunday, February 9, 2014

Closed alpha and star system

Quick update on the current state of development.

Pachinguys is now officially in closed alpha. What this means is anyone whose email address is in the alpha testers group can download Pachinguys from the play store. Receive updates as new builds are uploaded. And send feedback and bug reports back to me. Currently the alpha group is limited to a small group of close friends. But it will grow with time as needed.
The play store listing again demonstrates my lack of graphical skills. Yet another thing that will get improved once a graphics person is on board.
Isn't she beautiful ?

Want to join the alpha group? Great! Send me a message with the email associated with your android device and I’ll take care of the rest.

In other news, I've designed a new level, and added visible indication of how well the player did on a level (the good old 3 star system). This indication is currently saved on the device (may use Google game services to move them to cloud storage at some point). The indication is displayed at the end of each level as well as on the level menu buttons. The star system makes sense in Pachinguys as 1 star indicates the level has been cleared. 2 stars indicate a near perfect solution and 3 stars are only awarded for the perfect solution. Encouraging the player to retry and rethink previous levels.

Friday, January 17, 2014

The Little Things

As we all know. The flying spaghetti monster is in the details. So I've been working on adding small but important features to Pachinguys.

1) Retry and next buttons added at the end of each level. Retry is needed for players who may want to repeat a level to get a better score. Clicking on the end of level screen no longer brings up the level menu, clicking on the back button returns you to the right menu screen ("story" levels or challenge levels menu), clicking on next starts the next level directly.

Obvious, but still had to be created at some point.
2) Double tap to zoom. Andengine comes handy with some great cameras. Implementing smooth zoom within a bounded play field was therefore relatively easy. You can now double tap anywhere on the play screen to zoom in and out. Double tapping on a guy or the guy spawner does not activate the zoom function. Zooming in changes the center of the camera to the location of the tap, this center is bounded in such a way that it never displays anything that is not visible on a non zoomed screen.

3) Bosses skip button. Through yet more play testing I've noticed that bosses tend to be where players quit. This is because bosses are much harder than regular levels. I happen to like the extra challenge and break in flow that bosses pose. But I realize that may not be for everyone. So I've added a permanent skip button that shows up only on boss levels and lets the player quickly skip the boss. It should provide an alternative to the "rage quit" moments bosses seem to create, that still keeps the player engaged in the game.

I've been noticing a lot of bugs with the recently added "stop the world" mechanic, especially around retractable blocks and fire. Clearing these bugs is now the highest priority as I had believed this feature to already be complete.

On the technical side, I've started laying the groundwork for the new final boss level. It will have the ability to affect and change the play field during play. This requires some tweaking of the existing code. Going back to code that was written over a year ago can be humbling. I've learned a lot during this year as a professional developer. Code that seemed very clever a year ago now seems hacky and overly complex. And I'm sure that going back to code I'm writing now a year from now would feel the same way. Such is the fate of long personal projects.