Stop the Pop! - My First Game [iOS] [Android][2D Platformer]

Hi everyone!

My name is Andrew McGlynn and I’ve been working on this game and learning Unity over the last 1-2 years in my spare time. It’s been a long time but now I think I’m at a stage where I would like to show some people my progress.

I have a working title of Don’t Pop (which I’m not too happy with, but it’s OK for the time being).

The idea of the game is that you play as a happy go lucky popcorn kernel who has to keep cool and avoid obstacles that would heat you up, like boiling oil, butter, flames and grills. If you get too hot, you pop into popcorn.

Don’t Pop is a 2D platformer where you do the usual things, like jump over obstacles, defeat enemies, collect coins, purchase extra characters. You have to watch your temperature and make sure it doesn’t get too hot. You collect snowflakes to cool down. There is also a timer which constantly increases your temperature, which makes you need to find the snowflakes quickly and keep moving.

I am not an artist but I tried my best designing and implementing the artwork.

Here’s a video of it in action:

I’m still in the process of getting music and sound effects sorted.

I have a lot of plans for it, including extra levels, which I hope to keep adding, which will be pushed out as updates.

Hopefully I’ll get this up on the App store in a couple of months.

If you have any positive or negative feedback, please let me know. I’d love to know what you think of it!

Thanks,
Andrew

2 Likes

Hi everyone,

I made some more progress on this game. I am pretty happy with how things are going so I think I will release it in a few weeks. I’d like to get some of your feedback though.

Since the last update, I renamed the game to Stop the Pop! I worked on creating new buttons and other UI elements.
Here’s the new title screen.

I got a logo designed from Trilma Rose, who I found on the forums. I was really happy with how it turned out.
https://forum.unity3d.com/threads/get-your-company-logo-designed-by-a-professional-hire-me.273944/

I added sound effects, some homemade and some from the asset store.

Some of the levels were re-skinned to add more variation.

I also added the option to buy costumes from all the coins that you collect throughout the game.
Here’s a few costumes that you can buy:
2906480--214110--Screen Shot 2017-01-03 at 20.25.45.png 2906480--214111--Screen Shot 2017-01-03 at 20.26.43.png

I also added some more enemies too and a lot of bug fixes!

Here’s an updated trailer of the game:

I’d love to hear what you think.

Thanks,
Andrew

It has been a long journey to get to this point but I just successfully got through the review process for iPhone and iPad.
I am happy to say that Stop the Pop! will be released on February 23rd on iOS. :slight_smile:

Here’s the trailer for Stop the Pop!

If anyone is interested in Stop the Pop!, you can follow it on Facebook / Twitter.
https://twitter.com/stopthepopgame

http://stopthepopgame.com/

I am happy to say that my first game, Stop the Pop, is now out on iPhone and iPad.

You can download it here

I’d love if you could give some feedback.

You can follow Stop the Pop on Facebook and on Twitter
https://twitter.com/stopthepopgame

http://stopthepopgame.com/

I am happy to say that Stop the Pop is now available on Google Play!

You can download it here

I am currently working on an update of Stop the Pop which will be released on Google Play and the App Store in April 2017!

The update will include two new levels and I am also adding new enemies and costumes!

Here’s a video of what to expect:

1 Like

Congrats on completing and publishing your first game! I think the concept is a really fun idea.

Awesome Job!

Thanks for the kind words! :slight_smile:

I have released a new version of Stop the Pop on Google Play and on the App Store.

There are a number of new features in it. Here are a few features which I thought were interesting during the last couple of weeks of development.

Skip Level Button
I added a new Skip level button. The player can watch an ad to skip the current level. The button only appears if you have not skipped a level in the last 24 hours.
3076745--231501--Screen Shot 2017-05-19 at 22.31.19.png

I took a simple approach to this by just checking a if the current time minus the last time a level was skipped, if this was greater or equal than 24 hours, enable the button. When the user presses the skip level button, an Ad is shown. When the ad completes, the current time is saved.
Here’s a snippet of code:

bool Has24HoursElapsedSinceLastLevelSkip() {
        DateTime lastSkipTime = DateTime.Parse(Settings.lastSkipLevelTime);

        DateTime currentTime = DateTime.Now;
        TimeSpan ts = currentTime - lastSkipTime;

        return ts.TotalHours >= 24;
}

There is a downside to this approach and it might not be suitable for every use case. It is vulnerable to people to changing the date on the phone and it would show up again. It isn’t something I’m too worried about, if someone likes the game that much to go to that much hassle, I say, knock yourselves out! :slight_smile: Of course a suitable solution to this would be to query an NTP server but that seems like it would be too much overhead for what it is doing.

Rate Us Pop Up Box
I also used something similar to the above code to add a new “Like Us” and “Rate Us” pop up. If you click that you like the game, it prompts to rate the game.

Animated Coin Count
I also added the coin count to the main HUD.
I wanted to give it more juice than just a static counter so when the player collects a coin, it changes the scale of the counter.

In the update loop I check the scale of the text, if it is above a certain threshold, I then lerp the scale of the text down.

if (coinCountText.gameObject.transform.localScale.x > 1.1f) {
            //don't want to run the lerp on every frame for performance reasons, so adding this if statement for performance protection
            coinCountText.gameObject.transform.localScale = Vector3.Lerp (coinCountText.gameObject.transform.localScale, Vector3.one, Time.deltaTime * 5f);    //animate the coin collected text
        }
        coinCountText.text = player.GetCollectedCoins().Count.ToString();

Whenever the player picks up a coin I set the scale of the text to the max.

coinCountText.gameObject.transform.localScale = Vector3.one * coinCountTextScaleMax;

So essentially the code is always trying to shrink the scale to some threshold and then we just set the scale to a max value whenever it is picked up. It might not be the most elegant solution but it works!

Here’s what the animation turned out like
http://gph.is/2q5cwPL

Try it out

If you would like to test out Stop the Pop, you can download it here.
Google Play

The App Store
https://itunes.apple.com/us/app/stop-the-pop/id1166315634?ls=1&mt=8

As always, any feedback is greatly appreciated!

I started a new game dev blog describing how I implemented different parts of Stop the Pop.

This post describes how I implemented the thermometer health bar system and I also give away the script I was using. Check it out!

The other blog post shows how the prototype looked like and how the artwork has changed during development.

If anyone is interested in how I implemented any feature in the game, just give me a shout and I’ll write something up!

Cheers,
Andrew