Author Archive

StickWars in the News – First Adoptor of OpenFeint 2.1 OS 3.0 Features

Posted in News, StickWars on June 21st, 2009 by Eric – 2 Comments

One of the many articles is up at marketwire.com. Here is my blurb:

Eric Hartzog, StickWars: “StickWars will include a new gameplay mode that will allow a player to battle for a limited period of time and challenge his friends for top scores. His friends will be notified of the challenge through push notifications, powered by OpenFeint, and they will be able to easily load StickWars and respond to the challenge. These challenges will flow back and forth in near real-time, and be easily visible to players even if StickWars is not currently loaded.

A single-player game inevitably has a limited amount of engagement — developers can only add so much content to a game. But by drawing from existing social networks and encouraging social competition between gamers, the players themselves create new tasks for one another and new obstacles to overcome. This user-generated content expands the value of any game far beyond what was initially put into it, and continues to expand as the popularity of the game increases even further.”

You can read more details about exactly what this means for StickWars in this forum post. There are a lot of new features and brand new game modes coming to StickWars. These new features will require a small purchase in game, but give access to many social features that allow you to compete against your friends in many different challenges.

Expect these features ready at the start of July, and for them to be live anywhere between 1-4 weeks after that when Apple approves it.

Create multi-line labels with cocos 2d iphone

Posted in cocos2d iPhone, iPhone Development on June 20th, 2009 by Eric – 6 Comments

Update: This code is obsolete now. You can just do

Label *messageLabel = [Label labelWithString:message dimensions:CGSizeMake(380, 120) alignment:UITextAlignmentCenter fontName:@"your_custom_font" fontSize:26];

by using the new FontManager class. For example, run this once in your app delegate when your program first loads

[[FontManager sharedManager] loadFont:@"your_custom_font"];

It can take a long NSString and create multiple labels without breaking up a word. I’ll eventually use this for my help screen, replacing the current 6 different 480×320 png images that I load for each one ;) .

The code is simple, but hopefully it might save somebody the time it took me to write it. I had to look up some very basic elements of ObjC here, so if there is a much easier way to do this, please let me know but don’t make too much fun of me.

You can easily switch out the BitmapFontAtlas for just a normal Label and it would work just fine.

 (void) setTipString:(NSString*)str {
 
	NSInteger lineChars = 0;
	BOOL isSpace = NO;
	NSInteger index = 0;
	NSInteger numLines = 0;
 
	NSMutableString *line = [NSMutableString stringWithCapacity:LINE_LENGTH];
 
	while (index <= [str length]) {
		if(index == [str length]) {
			BitmapFontAtlas *tip = [[BitmapFontAtlas bitmapFontAtlasWithString:[NSString stringWithString:line] 
																																 fntFile:@"text.fnt"
																															 alignment:UITextAlignmentLeft] 
															retain];
			[tip setPosition: cpv(30,210 - 20 * numLines)];
			[self addChild:tip];	
			return;
		}
 
 
		NSString *tmp = [str substringWithRange:NSMakeRange(index, 1)];
		[line appendString:tmp];
 
		if([tmp isEqual:@" "])
			isSpace = YES;
		else
			isSpace = NO;
 
		if(lineChars >= LINE_LENGTH && isSpace) {
			BitmapFontAtlas *tip = [[BitmapFontAtlas bitmapFontAtlasWithString:[NSString stringWithString:line] 
																																 fntFile:@"text.fnt"
																															 alignment:UITextAlignmentLeft] 
															retain];
			[tip setPosition: cpv(30,210 - 20 * numLines)];
			[self addChild:tip];	
			lineChars = -1;
			[line setString:@""];
			numLines++;
		}
		lineChars++;
		index++;
	}
}

The Developer-Friendly AppStore

Posted in Distribution, StickWars on June 18th, 2009 by Eric – 6 Comments

Lacking a better medium to communicate to all my users how difficult Apple is making it to provide them with the level of service I’d want to,  I’ll get my rant out here on my blog where it’s safe.

I had a bugfix version of StickWars ready the same day the buggy version 1.4 was released. That day was May 27th. Is is June 18th and I’m still waiting patiently for Apple take a look at the update. It has been two weeks since I submitted a corrected update, and I haven’t got a lick of feedback back. In the mean time, my app has dropped from #3 to #9, and my users are sitting there wondering what I’m doing when in fact I have two more full-content updates ready for release, completed in the time it took Apple to approve a bugfix release. Keep in mind that my app has been in the top 10 paid apps for months now–this is one of Apple’s moneymaking apps. I would think they would want to work quickly to approve an update which would improve the game experience for hundreds of thousands of players.

Now I am not absolving myself of the responsibility of releasing a version with some problems. The fault for that lies solely on me, and was due to a somewhat chaotic situation as I was moving homes and starting a new full-time job that led to me not having as much time as I expected to test the release. This is no excuse, however, as I should have just rejected the update and resubmitted later after more testing. But the problem was magnified greatly by the simple fact that Apple has no agreement or desire to protect the ability of developers to have control over the applications they are producing. We can’t respond directly to user complaints or support requests posted on the AppStore. Most importantly, our update schedule is 100% subject to the whims and scheduling of Apple, so an update that we kill ourselves to complete on a rapid basis could be live in 3 days, or in 30. And we never know what to expect until after the fact.

Before a couple weeks ago when Apple first started emailing me to let me know that they approved my update, do you know how I would find out my update was live? My as-it-happens google alert would send me an email that a new cracked version of StickWars was available on some blog somewhere. I also rely 100% on third-party tools to tell me how people are responding to my applications. Check out www.appfigures.com to see what I’m talking about–from that site, you can read reviews from all countries. I received a lot of valueable feedback reading through the reviews of other english-speaking nations. Apple provides no way (that I know of) for developers to see the status of their application in the AppStore (if it is featured anywhere, it’s rank in other countries, etc…).

In addition, I’ve only received two of the seven payments for April 2009 that I should have been paid by now. Granted, one of those received was from the US, and therefore was the largest one, but they are sitting there wasting interest on a lot money and I still have not recieved a single response as to why. Three weeks ago I dug through their contact form and sent a polite email asking them why I got the financial report for a few thousands but never received the deposit, but I have yet to receive even as much as an automated reply confirming receipt of my message. I have sent more inquries weekly, and just started sending them to a more broad range of email address, and will update this at some point when I get a response.

Don’t get me wrong, I think Apple has done an amazing job with the AppStore, and building a system like this from scratch is bound to be difficult, with problems like this sprouting up and slowly being fixed month by month. But right now, I seem to find myself trapped at a criticial point, where if another week goes by without Apple looking at my update and StickWars drops off the top 10, and then the many more features and improvements I’ve made in the meantime won’t matter as all the exposure in the AppStore revolves around the top 10 and top 100 lists. I understand that applications have a limited shelf life at the top of the lists, but I didn’t expect mine to be cut short at the end by random and unpredictable update approval practices by the iTunes Store.

I believe that complaining without recommending a course of action to fix the problem is a waste of words, so here are some ideas that I would love to see put into the AppStore.

  • A priority queue for update approval based on popularity. The apps that are getting constant updates pushed out to hundreds of thousands of players should have more personal attention from Apple staffers. On the other hand, it should be balanced so that even an unpopular app which has gone two weeks with an update in the queue is bumped up to the top priority.
  • A developer portal into iTunes Store “Insights” that gives you access to any information related to the status of your applications, including reviews and rankings (in all categories) from all nations, along with any places where the application is featured.
  • More analytic information, so I can see how many users download my Lite version first, and then download the Paid version.
  • Allow developers to post short ‘responses’ to user reviews. This way, when somebody complains “the game was too easy wish i could make it harder!!@#” a developer who cares can go through and add a response such as “just hit the options button and set the difficulty to hard” (real example).

Update: I did eventually get paid by Apple like 1 or 2 months late, and about 2 weeks after I got paid I got responses to my multiple emails (sent over a month before) saying “we show your account as paid in full…”. To be fair to Apple, my banking situation was a little complex and I understand that it takes time to go through all that, but I would have appreciated a brief response (or even an automated confirmation) to my inquiries long before almost 2 months have gone by.

StickWars Announces Push Notification Challenges powered by OpenFeint

Posted in StickWars on June 17th, 2009 by Eric – Be the first to comment

After getting a somewhat unexpected call last night from the OpenFeint group and after a long discussion, I’ve decided to dive head-on into adding new gameplay modes to StickWars that I previously considered but had put off implementing. These new modes will use the social networks and friends managed in-game by OpenFeint. When the framework is ready at the start of July, StickWars will use push notifications powered by OpenFeint to allow players to issue near real-time challenges to one another. It’s going to be crazy fun :) .

Press releases are below:

finance.yahoo.com
marketwire.com
marketwatch.com

StickWars Update Status and in Staff Favorites

Posted in StickWars on June 10th, 2009 by Eric – 8 Comments

I’m really torn up over the incredibly long delay in Apple approving the 1.5 update. The bug fixes are sorely needed, yet Apple felt it necessary to first reject it over minor UI issues, and then drag their feet in getting around to look at it again. I’m really hoping it will be approved tonight or tomorrow.

In better news, I found StickWars on the 4th page of the ‘Staff Favorites’, so it appears the Apple staff at least still enjoys playing the (buggy) version :) . However, StickWars has dropped to the #5 paid spot as other games have had their updates roll out while StickWars stands stagnant. I’m still hopeful, though, and am really looking forward to the features that are coming out soon.

I get emails from people asking me ‘when does the game end?’ and ‘how do I beat it’ and finally I will be able to respond with something other than ‘it doesn’t’ and ‘you can’t. The social network integration along with achievements will allow you to battle out with you friends who is the ultimate StickWars master. I’ve noticed that there is actually a wide range of skill level of the different people playing StickWars, with some people getting stuck at level 25 and others reaching 100+. I can’t wait until people get the chance to compete with their friends.

I’m also working on the most-asked-about enemy that everyone seens to want: the giant stick figure featured on the icon of the game. He will be a ‘boss’ enemy, and it will be a very different experience fighting him than any of the current enemies. Look forward to the future updates to StickWars :) .

StickWars Update Status and App Store Rank

Posted in StickWars on June 4th, 2009 by Eric – 4 Comments

In case you haven’t noticed it so far, StickWars v1.4 contained some unfortunate bugs that makes the game difficult to play at certain points. This is partially due to me moving my house, moving over to a new forum system (had trouble notifying beta testers), all at the same time. Basically the released didn’t get tested as much as it should have, and this was the result. I’ve learned an important lesson here…

Version 1.5 was sent to Apple last week, but was rejected because the message that says “Submitting high score” wasn’t on a text label or something else silly. So we are still just waiting on Apple to approve the latest update.

After like 6 weeks as the #1 paid game in the US, it is now pushed down to #2 by Sims, which is okay considering Sims is a pretty cool game. I still hate the fact that StickWars was overshadowed so long by “The Moron Test”, but this is the AppStore after all.

StickWars on Bloomberg.com

Posted in News, StickWars on June 4th, 2009 by Eric – Be the first to comment

A reporter had some questions for me about the Palm Pre, and I just spotted an article with some of the interview posted on Bloomberg.com. You can read the entire article here, or read the section about StickWars below.

18 Applications

The Pre will go on sale with about 18 applications available in its App Catalog, including programs from Pandora music player, movie ticket service Fandango and a digital version of the checker-stacking game Connect Four, Letts said.

Some popular games may not make it to the Pre at all. The creator of “StickWars,” where you defend a kingdom against invading armies of stick figures, said he’s not willing to put in the extra effort to re-design the game if it’s not going to make any money back. The game is the third-most popular paid application in Apple’s library.

“I would need a real direct incentive in order to be willing to once again commit months of my evenings and weekends behind a computer screen coding,” said Eric Hartzog, who created the game as a student at Duke University in Durham, North Carolina.

Designing for the iPhone was easier because other developers shared resources in free online libraries, said 22- year-old Hartzog, who has since graduated and joined the U.S. Navy. He said he would only consider doing the same for the Pre if its popularity reaches the level of Apple’s phone.

I’ve been looking more at the Palm Pre and am getting more excited about it. I’d love to develop for a device that has a faster processor, but in the end it comes down to the tools available. I’m still a ‘newbie’ coder and wouldn’t be able to create a game like StickWars from scratch. We’ll see though…I’m a strong fan of competition and am really looking forward to a real competitor to the iPhone.

StickWars 1.4 is Live

Posted in StickWars on May 28th, 2009 by Eric – 8 Comments

You can get the latest version here or read the changelog. The new version has much cleaner graphics and runs quicker.

Unfortunately, I think I introduced a bug that can sometimes disable the in-game buttons (pause, bomber, and deploy defenders). While it auto-fixes itself at the end of the round, it is rather annoying so I’ll be rushing to finish 1.5 to correct it as soon as possible.

StickWars Status and Update

Posted in StickWars on May 26th, 2009 by Eric – 8 Comments

I sent 1.4 to Apple sometime last week, it should be going live pretty soon now. Also, they finally dropped StickWars off Staff Favorites today. Looks like the Apple guys got bored with StickWars already ;) . Let’s hope they dig the new features I’ll be rolling out next week.

On a side note, I finally got paid by Apple for the first time today, so I can finally start paying off the credit debt I built up paying for services and equipment needed to work on StickWars :D . I was afraid what would happen if I didn’t get paid for some reason!

I’m really hoping to see StickWars push back into the #1 paid spot in the AppStore. I’ve been running more exchange ads, and sales are still going strong, so I believe there is still a chance to top the charts before the inevitable decline off the top 10. It’s been the top game for over a month now in many countries, including the US. I still have hope…

Secret to Success on the App Store Part 1

Posted in iPhone Development on May 24th, 2009 by Eric – Be the first to comment

First of all, the title of this post is a joke. This is by no means a secret, and it will in no way guarantee the success of your app. However, I get asked this question so much that I’m slowly going to build up this post with some tips and suggestions that may or may not be obvious, but are important enough that you can’t afford to not know them. I don’t really have time to do the full post now, but I’ll add to it over time.

The first tip which I can not emphasize strongly enough: listen to all your users, and respond to their concerns (if they are legitimate). I know this is a major shortfall of the AppStore, in that it is tough to go back and forth with your users. Developers can not add a comment to a review? Seriously? A third of the one star reviews on StickWars are people too dumb to press the giant options button before complaining about ‘not being able to turn off the music’ or some other issue I fixed long ago. A one sentence reply by me would help them, and they would raise the review of my game, helping me.

That being said, you must create your own forums for users to ask you questions and receive answers. And no, don’t you dare add in a generic ‘contact us’ form and call that your support feedback. You are not some spineless, monolithic company who can afford to treat their customers like crap because you are too big to have any real competitors. Create a forum where people can post questions and you can answer them, and other people can see those answers without having to ask themselves. For every person who asked a question, there are probably 10 more who typed the same thing into google looking for an answer but was too lazy to ask the question themselves.

Best of all, these forums can be a valuable tool to get ideas how to improve your product. I’m not exaggerating when I say that 70% of the enhancements I push out with every update started as user suggestions.It’s not that I do what every user asks, but I consider every suggestion even if I initially considered the issue and decided against it. For many of the features in StickWars, there were features I really did not want to add, but many people asked for them, and after I took the trouble to add them in, the response was overwhelmingly positive. If you didn’t get the important point so far, I’ll keep it simple…listen to your customers. Separate the stupid input (example: ‘hey can you plz ad zombies, ufos, monkies, nukes, rifles, cows….’) from legitimate feedback and suggestions and weigh all of it carefully when deciding what to add to your application.

I’ve read every single review posted on the AppStore about StickWars and StickWars Lite, for all versions. In case you don’t realize how many there are, right now the number stands at about 2000+ combined. I’ve found that iTunes does some really bizarre caching of them, so I use my iPhone to read reviews each day until I read one I recognize. It’s not the best system, but it works. I don’t know whether or not most developers already do this, but either way, you should. Oftentimes I’d read 100 retarded reviews to find one guy who had a truly original and easy-to-add idea to add to StickWars. Twenty-five minutes later, I finish adding this feature that I later get hundreds of ‘awesome idea!’ reviews for. Seriously, this type of stuff happens, and with all these people offering feedback (even if 95% is ridiculous), you need to read all of it.

I’ve started using a fantastic service from www.appfigures.com that allows you to read reviews of your application from every worldwide app store. I went through and read every non-US review that was in english, and found for some bizzare reason, like 30 people all outside of the US asked where to find a link to my forums. Nobody in the US had ever asked this question, but I realized it might be a good idea to manually throw it in there (as the generic iTunes “StickWars Support” link isn’t really informative to the user).

That’s it for now…later on I’ll be adding some more comments about some of my App Store lessons learned.