Feoh the Fitter»Blog

Redesigned the game!

My original intent for the project was to create a version for mobile. 2yrs later I finally did it. I also redesigned the game mechanic to be friendlier, created a tutorial to learn how to play & gave the whole game new art, and feel. I'm going for a more minimalist relaxing feel to the game. I did the art design myself which I'm pretty proud of how it turned out.

I ended up re-coding the game in Unity. Moving the C code into C# code. The primary reason for this was to get it on Android & iOS without a lot of learning on my behalf.

Would love it if you checked it out. I think it's a pretty solid casual puzzle game. You can download it here for Android. You can also play it on the web here. The experience is a lot better on the app & it also saves your progress.

Thanks for reading, & if you've got any thoughts please leave a comment.
Simon Anciaux, Edited by Simon Anciaux on Reason: more inclusive
I tested the web version and I have a lot to say. Most of it will be about the tutorial (I only played a few of the level after the tutorial currently) and there is already a lot to say. I could resume it in two points:
1: The tutorial completely fails (in my opinion) to convey the game principle;
2: The game doesn't provide (any ?) feedback to the player about what's going on;

This may sound harsh but my intention is to provide useful feedback.

About 1: I would describe the game as "Tetris but you can only modify the shape of the blocks.". After playing the tutorial twice, I had no idea that this was inspired by tetris, and the game made no sens (I can't emphasis enough how confused I was). I understood the tetris part after more than an hour of replaying the tutorial while I was taking notes because I thought a that point that the main issues was a lack of feedback for the player to understand what was happening. Maybe it's me and other people will get it right away. I think the tutorial should have some way of properly conveying the idea of tetris.

About 2: I feel like the game should do a lot more to provide information to the player about what state it's in, what the player can and can't do, and gives feedback when the game is about to perform certain action. For example, it's not clear in which order the steps of the gameplay loop will go on. It seems to be "modify a shape", "gravity", "verify objective", but those happens so fast that I can't internalized what's going on.

I'll go though my notes, in the order I took them, and will try to add info based on what I know after I played a little more.

I played the tutorial once yesterday evening and was left confused. It only provided me a vague idea of what the game was about and what I had to do. I decided not to push and restarted today. Note that while I was taking 95% of those notes, I didn't understood there was a tetris component in the game.

- Title screen: having the settings button at the bottom right feels weird.
- Title screen: the border around the "start" button seems unnecessary.
- Level selection: it looks off to me. The big shapes are in front of the level list and saturated which bring attention to them while they are (as far as I know) purely cosmetic.
- Level selection: I think a little bit of eye candy animation would look nice. For example animate the available/not completed levels. After playing the tutorial and wanting to go back to e specific level, it was clear to me that level should be numbered as that don't appear in a easy pattern (e.g.: after completting the tutorial, if I want to go back to the 3rd tutorial level, I can't know which level to click). I liked the coloring of the level buttons based on the level mechanics.

- Level 1: I will call the block you can interact with "gears", I will call group the shape formed by the gears.
- Level 1: The gear has a border visible (maybe it's only the web version). It seems like the texture needs clamp to edge enable and verify that the alpha channel is clear on the edges.
- Level 1: I can see there is a yellow thing behind the gear. It seems to be a "no operation (no-op)" setup to make me click on the gear. I don't really see the point of such a level. I even think it's detrimental to the user understanding of the game as it seem that I need to click a button to finish a level, which isn't actually the case (maybe).
- Level 1: There is a hover animation (the gear turns). It seems that there shouldn't be one since there is no hover on mobile. But it's useful on the web version.
- Level 1: If I click and drag, after releasing the mouse button with the cursor outside the button area, it still activates the button. It's not important on this level, but on any other level I often wanted to cancel the move I started and it wasn't possible which felt pretty bad. It's even worst I you want to do a move that is not allowed (sometimes you think a move is possible while it isn't) because it would be just like skipping your turn and messing up your level.
- Level 1: This level doesn't have any interest at the moment. I feel that the first level should introduce the concept that there are several steps: 1 user move, 1 "gravity" step, 1 "objective" step. I don't know exactly how to introduce that. But I feel that it's an important concept that needs introduction as soon as possible, and you need to provide clear feedback for each steps. Also it is important to teach the order of the steps. It seem to be "user move", "objective", "gravity" which isn't intuitive to me. I would expect user, gravity, objective as it would be like "simulate" and check the result of the simulation.

- Level 2: The text says "Click on the shape to move down". What is "shape" referring to ? The gear ? The objective ?
- Level 2: After the first click, the gear is on the objective but I still need to click to finish the level. Why ? This would be understandable if the 3 steps were clearly indicated (at this point I didn't know there was steps, or tetris... I was just confused). Also it's not clear what the objective is, because just overlapping the gear with the objective isn't enough, or is delayed after I clicked the gear again and that makes it like there is a "verify the result" button.
- Level 2: It would be a nice visual feedback to have a interpolation of the position of the gear when gravity is applied. I would make it look like the group is going down. If you think of tetris, you have the impression that the piece go down because they are moving down at regular interval. In your game you can wait an hour without doing anything, so it doesn't feel the same. In my position this little bit of feedback would greatly improve the perception/understanding of the game.

- Level 3: once gain why do I need to click once the gears overlap the objective. What is the point of this level and the next level ?

- Level 5: "You can rearrange the shape as long as it's still connected." Nothing looks connected on the screen. You should visually connect the gear on the screen to make that part of the game clear. What is shape referring to ? The gears, or the group of gear ?
- Level 5: If I try to drag the left gear down the level restart. No feedback at all, it just restarts. I don't know why. What am I doing wrong ? Is it the user move or the gravity that is causing the failure ?
- Level 5: To me diagonal gears are still connected. But it's not the case. So its really confusing because I'm doing a move that isn't allow. That should just result in nothing happening, with a visual feedback and sound to indicate that the move isn't allowed. It's also confusing because the not allowed move result in the gravity being applied and causing the failure but there was no indication of that. Also directly restarting the level feels very bad. It's like skipping a cinematic because you click the button on the first frame the cinematic started, and you just missed information you wanted. As it's a puzzle game, having the possibility to undo your moves would be nice (since you don't want to punish a miss click). At the very least you need to show the user what the problem is, and let them choose when to restart the level.
- Level 5: until this level the only interaction was "click the gear". Now there is two new thing: the gray block and moving the gears at a different place. If I do the usual "click the gear" the level restarts. No indication what the problem is. If I move the wrong gear, restart, no explanation.
- Level 5: if I do correctly the first move and then just click, a red gears appears and the level looks like it restarts (except for the red gears the rest of the level is the same as it was at the start). The feedback that it's not actually a restart (I didn't know at the time it wasn't a restart) is non existent. There is no indication of what happens. So we went from "click to win" to "There are now 3 different new things I don't understand". That would be fine if there was good user directed feedback, but there is nothing.
- Level 5: the red gears are a mystery until you understand the tetris thing.
- Level 5: if I just do what the tutorial tells me, I don't learn what I needed to do as there were no feedback at all and I would have learn a lot more by trying and failing.
- Level 5: after completing this level and being confused, I would prefer to have a button to go to the next level or to restart the current level. Especially because following the tutorial on this level brings less information than experimenting and failing (and because on the map I don't know which level it was so it's hard to come back to it). So being able to restart it after completion should be an option (maybe only in the tutorial but I think it's not a problem if it's available on all level, as sometime you want to be able to see the end screen of a level to understand how you won).
- Level 5: this level was the first one were I realized that the gravity was applied after each user move. It really should have been made obvious with a interpolation for the gravity step.
- Level 5: I played this level more than 10 times to figure things out (and still had no idea about the tetris part).
- Level 5: One thing that could help is to switch from a drag an drop gameplay to a "select source", "select destination" gameplay.
--- You could highlight gears that can be moved so the user know what is available to them (e.g. scale annimation) without the player having to do anything;
--- Once the player selects a gear, highlight the possible destinations for that gear (e.g. ghost gears at all available location);
--- Let the player cancel the move (clicking on the same gear to cancel, or another gear to select a different move);
--- Once the player selects the destination, animate the move somehow (e.g. translation or fade out old position, fade in new position...)
--- Make sure enough time passes so the player as a confirmation of their move (animation can be enough but I suspect a little pause after would help);
--- Animate the gravity step;
--- Animate the verify step;
--- If the player doesn't want to do a move and just gravity, a double tap could be used (introduce that in a previous level);
--- Maybe an option for faster animations when the player is familiar with the game. Maybe once the move is chosen taping the screen would directly use fast animations ?
--- You probably don't need tutorial text anymore.

- Level 6: If you don't do the tutorial steps the tutorial continues and shows you wrong steps or impossible steps. It can be even more confusing because it can show you impossible moves.
- Level 6: If you don't follow the tutorial, you also end up with red gears and the impression that the level restart while it's not.
- Level 6: It's also confusing because you think the level restarted but the tutorial doesn't restarts. That's when I "understood" that the level didn't actually restarted (still no idea about tetris) but after completing level 7 and coming back.
- Level 6: at some point I manage to produce this and I think it shouldn't be possible:

- Level 6: in this video I don't understand why it restarts (at the time, since I didn't knew the tetris thing).
- Level 6: This is the level where I realy noticed that it was a problem that the gears weren't visually attached and that doing a wrong move (either miss click, or trying to move a gear to a place where you can't move it) was triggering the gravity step and was awful.
- Level 6: this was the first level where I saw the red gears (although I mentioned them earlier because I replayed earlier level after).
- Level 6: the last move of this tutorial feels weird to me because I expect the order to be, "User move", "Gravity", "Objective check". But actually the gravity is after the objective check. Also it's the first level where I didn't had to click on the gears when they are all lined up on the objective, and that felt weird too.
- Level 6: I was left with question of after doing this level: What actually happens when the group reach the bottom and turns into read gears. What are those ? Should I avoid contact with them ? They are red so they probably don't activate the objective ? What is actually the objective ?
- Level 6: After understanding that the level don't restart, I though that it would be visually clear if above the level there was a "ghost" representation of the starting block and at the start of the level, this "ghost" is animated entering the level (and similar when the group reaches the bottom and a new one enters).

- Level 7: This is the level that made me understand that the level don't restart, new block are just streamed in.

- Level 8 (first level after the tutorial): This is the level were the tetris part appeared to me. I add played several level of the tutorial multiple time before that and that's when it became obvious. Once I understood the tetris part, the rest suddenly made sens.

- I add a soft lock in a level (I can use the restart button to restart, but the level in itself didn't recognize that there was no more move possible) Soft lock

In my opinion, giving the player a good feedback of what is going on is the difference between enjoying this game or not.

Hope this is useful.
Oliver Marsh, Edited by Oliver Marsh on
Wow, thankyou Simon for the honest & in depth feedback, and taking the time to do it. Was very big eye opener. Once again agree with all your points, such good information here. I was hoping my tutorial was enough but it doesn't look like it šŸ˜†. Thankyou for the videos aswell to show what was happening.

Just some of the things I need to clarify for the user:
- some sort of like that connects the gears
- I like the word gears, so using that in the tutorial
- making the game loop events order clear
- animate gravity falling
- don't use drag, instead use click to pickup, & click again to drop, show possible moves & possible gears that can be moved
- tutorial helper don't show impossible moves if you don't follow it

Will be revisiting your post as a reference. From what you've played, do you think it is fun or could be fun? On the phone, I'm charging $5 to unlock the levels after the first 10 levels, do you think this is a good price?

Thankyou again Simon for your feedback šŸ‘
Simon Anciaux, Edited by Simon Anciaux on Reason: Fixed issue with dollar sign

I would need to play it more, but it seems it could be interesting.

I don't play on phone (I kind of hate everything about mobile to be honest). I can only share my (limited) experience. I released a game on android, which was free to play, with ads every 3 level start and a (1 time) pay what you want system to remove all ads (the only in app purchase). The game was downloaded about 10K times. There were about 10 persons that paid to remove the ads (between 1 and 5ā‚¬) . And that was still more than the ad revenue, so having some people pay seems better than a lot of people watching ads. This was a huge failure (a lot of work and no pay), about 100$ revenue in total.

Getting some visibility for a game on the play store is hard. What we did was to use a site that promotes 1 application per day. But the requirement was to provide some added value, and in hour case it was making the game completely free with no add if you downloaded it during the day of the promotion. It brought us 1K downloads in 1 day (but no revenue). There seems to be some steps were the play store will promote your game. Either you reach a number of download or a number of download in a certain period and you get more visibility (at least that's what I think was happening).

We try contacting influencer (mostly on youtube, but also some websites) but they don't work for free (the number I heard was 1$ per viewer per hour) and we had no budget for marketing (we had no budget at all).

To me it seems so common for people to see ads in game on mobile that it's hard to sell anything on that platform (if you respect the user that is). But that's based on my non experience playing game on mobile, and 1 experience publishing a game. I never properly released a game on pc, but I suspect people are more inclined to buy a small game for 5ā‚¬. And your game could probably work well on desktop.

One thing that could help your game, is to ask Ryan to tweet about it on the handmade network twitter account, as it's followed by some well known game dev that might retweet it if they like the game. But I would wait for the game to be in a better state before doing that. Also maybe the handmade network twitter isn't well suited for that, that's up to Ryan, but it doesn't hurt to ask.

A detail I want to mention: when it was clear that the game wasn't going to make any revenue (also GDPR was introduced), we decided to remove all ads and in app purchases. After uploading the application to the play store it was still flagged as containing ads or using some kind of user identification. It was using Unity 5, and I removed every plugins, disable every thing I could and still the game was flagged by the store (when installing the APK it didn't required any authorization). That caused the game to be removed from the store. I explained the situation to someone at google (well, someone read my message and replied with a generic answer), and the game was restored... for a week and than re-flagged. And I gave up at that point. So I suspect that there was still something wrong in the unity project that caused the apk to be flagged. Or the play store wasn't happy that the game previously contained ads ?

Ted Bendixson, Edited by Ted Bendixson on
Hey. I tried playing the web version but unfortunately was't able to load it in my browser (Safari, Mac OS 10.15)

Obviously, I can't offer the same in-depth commentary, but I did want to say I think you're taking the right approach with respect to pursuing game design.

I might add that I don't think your goal should be to make money in the short-term, and I also don't think mobile is a great platform to go after. It's saturated with get-rich-quick schemers, and that makes it difficult to differentiate your product from the gazillion other offerings.

I have products on the App/Play Store that make me roughly $150/month, but it only works because I went after a very specific audience (skateboarders who want to learn new tricks). Even then, it's just a nice little piece of side income and does't come close to paying the bills.

With games, the competition is even more fierce, which means you need to make products that elevate themselves above everyone else going after the low-hanging fruit.

So the prototyping phase is intentionally low-fidelity because you don't want to waste budget on shitty puzzles or a bad idea, and then once you're convinced you have compelling gameplay, you build up a giant ball of investment and put some serious production quality behind it.

Unfortunately, it is probably one of the most unsatisfying ways to develop software because you're staring at ugly graphics for months to years on end, and you end up trashing most of your work. But on the flipside, I think one very well executed idea with solid compelling gameplay has way more of a chance than a free-to-play mobile thing that only took a few months of effort and didn't have much of a production or marketing budget.

I guess what I'm trying to say is, don't shoot yourself in the foot by going for a cash-in opportunity too early. Be patient. Build up cash reserves by working a job and investing the money consistently. Maybe work towards financial independence while prototyping ideas in your spare time. Then, when you know you've got something that can keep your friends engaged for hours at a time, pull the trigger.

This I say as someone who recently took a sabbatical to pursue indie game prototyping. I feel really shaky about even doing such a thing, but I think I can return to contracting at the start of next year (or a few months into it). Basically, the plan is to come in just under the Roth IRA contribution limit and try to only work half the year for someone else, the other half making prototypes. There really isn't much of a point in doing more work you don't totally love anyway, as the government just taxes higher earners as it is.

That's just my strategy, and I'm sure there are some gaping holes in it. But I do think being successful in games is as much about business and financial planning as it is about coming up with great ideas, programming, etc.