Looks great. I have to study your code :)
Nice! I’ve signed up for the beta.
Great confetti! We do something similar in Botheads, but really like the wind feeling in yours.
Thanks x2!
Yep, Botheads was actually one of the sources of inspiration for the confetti. Seen it in some other game too recently, but I figured there can’t be too many games with a confetti effect!
Hasn’t been much game dev for me the last few weeks, but now I’m trying to step it up again. Started implementing a new in-game currency called “Guineas” in Ice Trap recently. Guinea pigs +this old real world currency made for a good fit for the game.
Guinea coins will replace the original concept of “level keys”, which I first thought would be enough. However, as the game has moved forward I’ve come to realize that I want to be able to reward players for different things, and probably also unlock other stuff in addition to levels, such as hints, new episodes, and so on.
I know it might be overkill to have a virtual currency in a game like this, but I figured it’s better to implement it right now anyway to give myself more options later on in case I decide to continue working on the game after it’s been released.
As I’m writing this I’m working through all my levels to add some Guinea coins that can be picked up by the player. The player will also be rewarded with Guineas for playing every day, and for completing Game Center achievements.
These devblog posts are awesome.
That’s great to hear, Rob! I’ll try to keep posting some updates every now and then.
Just finished building the foundation for one of the final(?) features that will be included in v1.0: Hints.
Building levels and puzzles that are just the right amount of challenging is extremely hard. A puzzle that you as a level designer think is easy may well turn out to be borderline impossible to someone who doesn’t have the same knowledge or thought processes. This is where hints come to the rescue. When players gets stuck on a level they can just unlock a hint or two instead of getting frustrated up to the point that they decide to quit the game, and maybe never launch it again.
In Ice Trap, there will be a variable number of hints for each level that can be unlocked using the in-game currency Guinea coins. Guinea coins can be earned in smaller amounts by playing the game, so it won’t be necessary to make real-money purchases for the player to unlock hints even though IAPs will be available too. The hints are hidden but ordered in a way such that the player might be able to guess which hint is best to unlock first depending on how close he or she is to completing the level.
This is how it looks right now when a player fails a level and decides to unlock a couple of hints. Players will also be prompted if they want to use their coins, but those prompts are disabled in this example.
Now I’ll just have to create 2-4 hints for 120 levels… :wacko: That could mean quite a lot of hours, but I optimistically believe that it will only take a few minutes per level to create the hints since I know how to solve all these levels in my sleep by now.
Ice Trap is finally ready for iOS beta testing! If you’re interested in playing it before it’s released in the App Store, just go to http://marada.se/icetrap/ and register your email before Sunday 8 October. After the registration is closed you’ll get an invitation to download and test the game.
Hoping to see some more people from the Corona community registering.
Great job!
It’s now been almost a month since I distributed the Ice Trap beta version, and I have to say that the results have been amazing so far. I’ve collected loads of really valuable feedback pointing out both strengths and weaknesses. Lots of things remain to be changed and improved, but I have a much better indication on which parts I should focus most of my time and energy on in order to make the game appeal to more players.
Aside from all the detailed feedback I’ve also been able to confirm that Ice Trap is actually a quite good puzzle game that many players really enjoyed playing! That means everything to know that I have a game with potential, and it makes it so much easier to spend more time on taking it to the finish line and an actual App Store release.
If you’re interested in reading more about my beta test process I have written a blog post about it here: http://bitstopixels.blogspot.com/2017/11/beta-testing-mobile-game.html
To be able to collect in-game feedback I wrote a little prompt library where both the content and design of the prompts can be easily configured. If there’s enough interest from the Corona community to use this, I will consider turning it into a free plugin. See below for a couple of screenshots.
Cool! I was super impressed with how the in game feedback system worked etc! That’s the most ambitious test flight i’ve tried Great work!
Thanks a lot, that’s good to hear!
Since I last posted here about Ice Trap I’ve been busy analyzing the beta test feedback trying to figure out how to best improve the game before release, and I’ve also started implementing some of these improvements.
Aside from a lot of minor fixes, these are the three main issues that I’ve chosen to focus on during the last few weeks:
- Testers reported that the game was either too difficult right from the start, or that the difficulty level increased to fast.
- The game mechanics/controls can be frustrating at times when you happen to accidentally shoot the wrong ice block or one of your guinea pig heroes.
- Some of the levels feel too repetitive
To address all three issues I’ve had to make a lot of changes, both to core mechanics and to the level design. For example, some of the things I’m working on are:
- New types of ice blocks that require two hits to break. Reduces the risk of accidentally hitting and breaking the wrong ice block.
- A guinea pig won’t be killed until hit three times by a fireball.
- New types of objects to create a better level variation without increasing gameplay complexity too much. Bumpers, teeter-totters, and obstacles/spikeballs frozen in ice blocks.
- Redesign most of the earlier levels to reduce the difficulty slightly, and hopefully also make the game more fun to play right from the start.
- Completely rearrange all the levels and chapters to get the right flow.
Many hours spent, but in the end I think it’ll be worth it. I feel that there’s a much better flow through the levels now, and that some of the previously not so great levels have been substituted for levels that are better designed and more fun to play.
Here are a few samples from some of the brand new levels:
While implementing the final features of Ice Trap I’ve also spent some time polishing the graphics. These are some of the things I’ve changed:
- Removed the “wavy” backgrounds and replaced them with dithered pixel art backgrounds to help with the overall retro-style feel.
- New graphics for all ice blocks. Noticed that some blocks looked a little too similar, and also that they blended in to some of the backgrounds too much.
- New app icon (still subject to change).
Here’s the new icon and a couple of screen shots with the updated graphics:
As mentioned in a previous post, I’ve felt the need to improve the game controls and reduce the number of “misclicks” that might make players frustrated. I started by adding a new type of ice block that requires two hits to be destroyed, where the first hit will only change the visual appearance and not the physical body. Here’s how that looks in action:
I think that has turned out very well, allowing me to identify potential problems when designing levels and fixing them by placing different types of ice blocks next to each other.
What this doesn’t solve is similar situations that come up as the physics change, for example when snow balls roll up next to each other and the player needs to destroy only one of them. Or when a number of smaller snow balls end up in a pile and the best thing would be to destroy the one in the middle.
The solution to these situations: A sniper scope!
Tap and hold to bring up the sniper scope. Aim and release to fire. A much smaller fireball than normal is fired, giving the player higher precision and the possibility to destroy single small ice blocks that are completely surrounded.
The sniper scope was implemented using the following technique:
- When the player brings up the sniper scope, set up an enter frame listener that will render the content of the scope.
- The listener uses display.captureBounds() to capture the part of the screen where the player is currently aiming.
- A circular mask is created with graphics.newMask() and then applied to the captured area using displayObject:setMask().
- The scope has a static position centered at the upper part of the display, and only the content within the scope moves along with the player’s finger. Moving the entire scope around would probably confuse the player, and the player’s hand would often get in the way of the scope.
- As the player’s finger moves, the scope’s aim moves along at a much higher speed. Moving the aim at the same speed would force the player to move his finger around the entire display, which feels cumbersome and unnatural, and it also would make the player’s hand obscure the scope a lot.
- When the player’s finger is lifted, calculate the actual display position being aimed at and throw a fireball at that position.
I’m still testing, evaluating and improving, but I think that the sniper scope is in the game to stay!
Hey everyone, been kind of busy lately but here’s a little status update on Ice Trap.
The game’s still not close to a release, but it’s getting better step by step. The last couple of months I’ve been polishing and fixing lots of minor things while also working on the following two main areas of improvement:
- Making the graphics 100% pixel art.
- Remodeling the scoring and level rating system.
About the graphics, Ice Trap started out as a mix between pixel art and vector graphics, probably like 50/50 or so. Over time however, more and more of the vector graphics have been replaced by pixel art until it didn’t make sense anymore to keep the remaining vector graphics. It just felt weird to have 90% pixel art and then some “random” shapes and fonts that kind of ruined the overall impression a bit. After making the shift to pixel art I can’t help but wonder why I didn’t do it earlier…
And what was wrong with the scoring and level rating system? Well… quite a lot actually. How it used to work was basically like this:
- Score more by playing fast, being accurate, and hitting ice blocks in a specific order.
- Earn 1, 2 or 3 stars based on the score. The score required to hit each star differed for each level.
The disadvantages of this rating system were several:
- The problem solving part of the puzzles became less important than being fast and accurate.
- Some players felt stressed because they thought that they always had to play fast.
- Players didn’t fully understand how to maximize their score, and therefore found it impossible to get 3 stars on some/most levels. Frustrating.
- It was not really obvious how much to score to reach rating 2-3.
- It was impossible for players to know what was considered an excellent high score on each level.
- After completing 3 stars rating, there was really no reason to keep playing the same level.
After thinking everything through and taking some inspiration from other games I designed a new rating/scoring system according to the following rules:
- Pick up 1-3 coins on each level to get the level rating. Very intuitive, and totally disconnected from the point scoring system. Picking up 2-3 coins will most of the times require additional problem solving skills and/or timing.
- The old scoring system has been preserved as is, but plays a different role. Players will still score more by being fast, accurate etcetera.
- A new “skill rating” was introduced which maps the score to a value 1-100% on each level. This makes it easier for players to understand how well they played and when they’ve reached an excellent score. It also brings a lot more replay value to each level by allowing players to chase that 100% rating.
Here’s a gameplay example from an early level:
And this is what the level selection screen looks like where you can get a nice overview of the level rating (coins) and skill rating for each level:
I recently tested these updates on a few people who have also played earlier versions of Ice Trap. They all claimed the game to be more fun and addictive than before. I hope they’re right.
Summer is over and it’s time to start putting in hours to get Ice Trap out the door soon!
The list of things to add, fix or improve before release is getting shorter. Contracting work still takes its fair share of 40+ hours a week, but I’ll try really hard to squeeze in at least an hour of Ice Trap development on most days to not lose momentum. I figure doing so might result in a finished game before Christmas, and then I can plan for an official release sometime early 2019. Let’s hope I can make it happen this time around…
One of the latest major improvements in the game is the new interactive hints/solution mode. Gone are the static hint images that were part of the beta, which was never a good solution. Besides from the images being boring and hard to understand for players, I spent waaay too many hours manually creating hundreds of images. Images that would also have to be manually updated as soon as any of the graphics or level design changed. Yuck, glad I finally got rid of them!
So now, instead of looking at a collection of images, just ask the holy guinea pig spirit for help instead!
The solutions are recorded by playing in “normal mode” with recording enabled. Whenever a fireball is thrown, an event is stored with the position of the fireball alongside a minimal state snapshot of the physics bodies. When I’m satisfied with a solution I save it as a JSON file, which can then be opened and replayed in “solution mode”. The implemention is quite simple actually, with minor differences in physics between recording and replaying being the hardest issues to solve. Anybody interested in more details, just ask.
TIme for a status update! The last couple of months I’ve actually been able to keep quite a steady pace on Ice Trap development and have ticked off a few major things from my todo list. One of them being the new auto-aim feature, an alternative weapon that allows you to tap anywhere on the screen to automatically target the closest ice block.
Tap-hold-release is also possible when high precision is required to hit the right ice block.
Besides the auto-aim I’ve also reworked and simplified the scoring system, planned and prepared for in-app purchases, and made a bunch of smaller bug fixes and improvements.
A finished game doesn’t feel too far away anymore.