Hacker Timesnew | past | comments | ask | show | jobs | submitlogin
Apple Featured My Game, Here's Why I Changed It (zervaas.com.au)
44 points by qzervaas on July 28, 2014 | hide | past | favorite | 52 comments


A user being able to give a negative review for a game not supporting language X when the game, like every single app in the app store, lists exactly what languages it supports on the download page devalues legitimate reviews and is the sign of a broken app review process.


Totally agree. Even the ability to respond as on we can on Google Play would be a massive improvement (or even up/down vote like on HN)


I think there is a down/up vote mechanism in iTunes ("Was this review helpful? Yes/No"). But I'm not sure if that's visible on actual devices.


Oh right. Very rarely do I view the App Store in iTunes. The only legitimately useful reason I have for doing so is to quickly see rankings in a specific country's store (but doing so removes all Genius & iTunes Match data, so is pretty annoying also).

Before Google switched over to Wallet and allowed responses to reviews, you could get a fair bit of info about each sale (for a paid app), including often their email address.

I would often email people seeking clarification when they would review "XYZ doesn't work for me" in a bid to fix it.

On one hand it might seem a bit creepy, but on the other hand, they were my customer and I was provided with information about them. I never asked for a better review, just for information to improve the product.

They rarely replied.


I think giving customer emails to app developers is plain wrong. I'd be creeped out if a developer emailed me after I reviewed his or her app.

Developers shouldn't be so concerned with reviews. Reviews are for other customers, not for developers to read. I say this as a developer who has received reviews that contain misinformation about my product (lying that it's going to be pulled from the App Store, for example). I made a decision to stop reading reviews and just focus on building something I'm proud of. This has paid off for me.

I also make it easy for customers to email me directly in my apps. I get a lot of good feedback this way — and I can send a response that is actually solicited.


Agreed on the first point. I'm glad they removed it. But we had so few tools at our disposal, and the reviews can mean so much.

I'm the same though, completely averse when it comes to looking at reviews, good and bad. I hate it.

Your last point is really good, I've always thought there should be super easy mechanisms like this (although I'm often guilty of not providing, aside from email address or Twitter handles).

The Google Maps feedback mechanism works really well - includes a screenshot and a bunch of diagnostics info. The only thing I don't like about it is you need to shake to trigger it, meaning most people don't know about it.


You think that is bad? How would you like this type of Android/Windows Phone reviews: "It's a good game, would give it 5 star if it was free :)))))"?


How would you fix this? Would you want Apple to have to approve every review? Even if they did, people could just lie about their reasons.


Having the ability to respond to a review would be helpful. (TripAdvisor allows this.)

We currently have reviews implying that our dictionary is missing basic words when in fact I think many people would think there are simply too many words that are valid in English and will surprise people.

Review replies would at least improve context even if it didn't change the ratings themselves.


[deleted]


There is a specific field on the App Store listing that says:

"Language: English"

I don't think it's a valid complaint, but it's a complaint nonetheless, and their complaint holds as much weight as someone complaining for something such as an app crashing. So we can only do what we can do, which is either add more languages, or tell them multiple times.


[deleted]


It makes no sense at all to make feature requests in a review. Reviews are for other users to read. Feature requests should be sent to the developer.


A negative review should not be a mechanism for a feature and/or translation request.

There are specific links provided in iTunes to "Triplezero Web Site" and "Hexiled Support" where these kind of requests should be made.


But users aren't QA testers. There's no way they "should" do anything. They're going to report feedback by the path of least resistance. Communicating through a review gives a user a lot of bang for their buck, because it's highly visible. Plus, lots of apps prompt users to leave reviews. I've never seen one that solicits feedback like that along any other channel.


I can't find it either. I think I could reword this general topic to: "A lot more people from non-English first language countries are using our game, holy crap, we need more languages" ;)


I'm Quentin's co-creator on Hexiled. If you're interested, we had a woefully unsuccessful Show HN the other day: https://qht.co/item?id=8088223

And note that at the end of Quentin's blog entry, there's a link to our blog series about creating the game. We've been talking to friends about the general aspects of the game so always keen to chat with other game developers and entrepreneurs about specific challenges.


Complaining about the review process is complaining about human nature. Is a normal user going to find you site, find your contact form, and then send a nice email to you asking for their language? No. There are things that Apple could change, that may or may not help. Adding the ability to respond to reviews might help the developer feel better.

What developers need to do is make it easier for a user to give feedback, than it is for a user to leave a review. Give them a way to vent to you, and they might not vent in a review.

Is this easy? No. Does it work? Yes.


From the title I inferred that you changed your game because apple featured it, as a way of implying that you didn't like the exposure. The post revealed something completely different of this.


It's more so that the feature gave us such a huge amount of data early on in our game's lifetime that we noticed some things we needed to quickly iterate on.


Didn't you do any usability testing? It seems to me that most of the problems you encountered would have been caught if you had.


We did, but there were elements that weren't tested as well as they could be.

Here's an example.

Referring to the "tap an empty tile to drag around" section of the post.

This step was added because a lot of our testing revealed people wanted to move around the board but didn't know how. The problem was, we didn't test that tutorial step extensively enough.

It's hard though, we're independent developers making our first game. We have limited time and limited budgets, so compromises need to be made, otherwise instead 3.5 months of development turns into 6 or 12 months.

One mistake is we talked often with our 15-20 regular testers so most feedback was confined to regular gameplay, not on-boarding.

Really need to continually bring in new people on an ongoing basis that had never seen the game before. We did this to some extent but there's always more that can be done.


Usability testing is a bit of a luxury for a two-man team...


Especially when we are running our existing businesses/clients concurrently. In my case, my sole employee is overseas for four months so it was a pretty intense period juggling things. Quentin handled the lion's share with the programming side.

That said, we would pay a lot more attention to the on-boarding next game. I was quite happy with our tutorial so it's frustrating we left holes and fell short.

As Quentin said in another reply, one big mistake we made was that a lot of testing was with a beta group that had played the game dozens of times before the tutorial was fully fleshed out. Huge mistake! Another mistake was watching someone play it for the first time where we were in a position to coach them. We should've been silent and seen what they did. Easy to spot the issues in hindsight!


It's a big misconception that user testing is luxury, even for very small or one person teams. Applying some of the most basic principals can save you a ton of wasted effort. In nearly every case it will make you much more productive / efficient. The earlier you catch the mistakes, the easier to fix them.

Check out the 'discount usability' movement. Much of it is written for web / mobile development but the principles are pretty much universal and can be applied to both game design and/or interactive learning aids (in your case the tutorial).

If nothing else read up on how to run a usability test. Without even being an expert it will help you get much more out of your testing.


Author here, if you have any questions about the game or blog post, I'll be here for a while.


This is interesting, especially the bit about getting featured right off the bat, because I'm just getting started with mobile game development and had for long time an idea for a pretty similar game. Similar in the sense that it was a hex-tiled spelling game where you need to string together words to get somewhere.

However, my partner and I are looking at a different game right now.

Also, I know there are worse reviewers than this, but man ...

"The vocab in this game needs a serious update, I have no idea which words to go for due to the fact that it does not have some retry basic words built in. Not toention the selection process needs a tad bit rethink. Overall it is a pretty great idea, it just needs to be fully realized. I would give it more stars but I'm a pass or fail kinda guy, and this did not pass... Not yet anyway :)"


Yea, it can be confronting reading reviews.

There's over 250,000 words in our dictionary (that's not to say you can necessarily make all of them in the game).

Most people just query "Zen" not being in there though ;)


Are you using SOWPODS? I had thought to stick with TWL being somewhat of an old school Scrabble player. Also, little technical question if I may: what sort of data structure do you use for your dictionary?


We're using CSW12.

It's stored in a single-table Sqlite database with some techniques to make word lookup really fast. I believe it could be faster still, but this is likely beyond my technical expertise.

Next problem is to scale the game to multiple languages without bloating the download size of the game too much. Haven't decided what's best yet for this: either compressing the dictionaries for distribution (and decompressing on first launch), or an in-game download (this seems like so much effort though and just adds more friction)


I wasn't aware of CSW but from the size I guess it's similar to SOWPODS.

An Sqlite db sounds like the sweet spot of performance and easy of use.

Couldn't you automate the in-game download? I.e.: If the user selects another language download it on the spot with a little popup telling the reason for the delay?


All options are being considered. I like that idea in theory but it just adds to the complexity:

- More technical debt - More points of failure - Need to host the data somewhere (plus pay for it... the App Store is basically a free CDN)

Off the top of my head, it may be possible to do a Free IAP where Apple hosts the content, but I may be totally wrong on that.


Regarding the drawing delay on older devices: Is there no way to start that process concurrently while the countdown is running? It looks like you could perform 50%-75% of that work before the countdown even finishes.


It does start immediately when the countdown happens, it just can't do it quickly enough for the number of tiles there are.

There's three modes in the game: Escape, Survive, Explore. The Explore mode uses a much smaller radius and no countdown, and doesn't suffer from the same issue. Instead of thousands of tiles on the board there's hundreds.

It was interesting playing with different mechanisms for drawing the tiles though. Between pre-generated letters, real-time letter drawing and everything in-between, the solution we have works well on most models of Apple devices.

Some of the issues were also with how SpriteKit did certain things (such as how inefficient cloning a text node object is)


How did you iterate on the game mechanics in the early stages of development? Was the original version of the game significantly different from the final released product?


It's actually remarkably similar now to what it was really early on. There's a lot more refinement and polish now.

Here's a video from about 2 weeks into the project (it was codenamed Fractured at that time):

https://www.youtube.com/watch?v=BeMt9UJIPS0

One key mechanic in the game now that isn't in this video is the auto-panning after the user makes a word

(there's a bunch of other stuff too, like the timing mechanism, size of tiles, size of game grid, etc.., but that's more gameplay rather than mechanics)


What sort of daily install numbers are you seeing?


I don't want to give out that kind of info just yet. We may do a debrief post in the coming weeks once we get a better idea of everything.

Having said that, as noted at the top of the post, at time of writing about 600,000 games of Hexiled had been played in the 3 days since the feature started, which has totally blown us away.


What tools did you use to write this game ?


It's all written using SpriteKit.

We didn't like the standard Game Center pop-in notifications, so we designed our own - these use normal UIViews, and we use the built-in Twitter/Facebook sharing view controllers.

The loading spinners, alerts / dialogs are all in SpriteKit. I'm not sure if this is optimal (I believe other developers lean on UIKit a bit more), but it all fits together nicely this way.


So it does not in fact run on android ?

One of the youtube movies on your linked page is titled "Hexiled Gameplay iOS & Android iPhone & iPad HD" and uploaded by "AndroidGameTech".


Correct, iOS only. I have no idea what their motivation was for posting the video. I simply used that as an example since it taught me a few things we hadn't encountered yet in our 2+ months of testing.


I am wondering what most of those game developers use for writing apps. Your app looks pretty minimalistic, and I do think it could use at least some additional decoration.

But writing my own game apps, I do realize why you're not doing that when implementing games directly in things like SpriteKit.

Are they using flash ? Unity ?


There are a ton of cross-platform frameworks, both proprietary and OS. Here are a few of the bigger ones: Marmalade, Cocos2d-x, LibGDX, Xamarin, and Unity (you can 2d with Unity now, I believe).


I think Unity is pretty common. There's tools for converting cocos2d code to Android, so that one too.

Being the first game I've ever made I wanted something I could jump into really quickly just to play around. Got a bit of momentum on it and kept going.

I do wonder about the future of SpriteKit because of this, since having to code it two or more times is a huge effort. Apple seem to be all-in on it though, especially with SceneKit coming soon.


I am a web developer/designer and certainly not a game designer or illustrator so I guess in tackling a word game, we avoided 3D models or other things we couldn't do ourselves. We abandoned our initial game concept because it was going to require more challenging artwork.

The music was something we used a freelancer for, however.

Hopefully if Hexiled continues to prove successful, we're in a position to get help on the visual side!


In comparison to Unity, Monogame is a good option if you would really like to write a complete game in a high-level cross-platform language (C#/F#) rather than scripting pre-made chunks: http://monogame.net


I "like" that they used the music with AudioJungle watermark


I am curious about the Apple process for a feature. Did you write to Apple pitching your game?


I don't definitively know what caused it, but I did notify my local Apple dev relations team while it was pending review.


any tips on how to get in touch with the Apple dev relations team? We generally send emails to app_store_promotion@apple.com around launches, but they don't seem to get any response.


Go to WWDC if you can and there's a range of people you can meet. I'm not even sure if my emails had any effect


I do plan on going next year. I decided to skip this year as I was not sure how valuable it will be, but now I feel I was wrong about that. Good luck with continued success for this and future games.


Definitely go if you can. I went in 2013. I wish somebody told me ahead of time how important / valuable the one-on-one sessions with Apple engineers are though.

I realised though only during Day 3 and barely had any time with them. The sessions are a small part of the week (I mean, you can watch those online at any time).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: