Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /is/htdocs/wp10582507_LGPWONUTVE/www/wp-includes/wp-db.php on line 1038
Gamedesign Review of Satellite - Max Did It
Max Did It
Game Design
Post the First Comment
Tagged ,

Gamedesign Review of Satellite

I have already posted an article about how Satellite performed when it comes to views and ad revenue, this time I want to analyse the game itself.

I don’t want to look only at the good things, but also, maybe even more, at the things that haven’t worked as intended.

In the end, I find making mistakes not that bad. It is only when you make the same mistakes more than once that it gets really frustrating in my opinion.

The Gameplay

Being Introduced to the Gameplay Mechanics

I was really fascinated by Egoraptor‘s Sequilitis episode where he compares the classic MegaMan games to the newer MegaMan X series.

I find the part where he points out the little tricks MegaMan X uses to make the player familiar with the gameplay especially interesting. MegaMan X is a SNES game without any tutorials or in-game text messages. Instead, the player finds out about how to play the game by playing the game and a carefully designed first level.

I don’t think tutorials or hints displayed in-game are generally bad, they are probably unavoidable in many cases. But I think it’s a sign for elegant and good game design if you can pull off a game that really explains itself.

That’s why I tried to achieve this in Satellite as well.

I’m not saying I pulled it off perfectly, but from what I’ve heard, it worked. I have no real tutorial level and I don’t show any instructions in the game itself that explain what you have to do. Except for the “Click Here” text, that is.

There’s usually a short sentence below the game on Newgrounds or Kongregate, but I also have shown the game to friends who haven’t played it with those instructions and they generally understood what they had to do without me helping them. I also have received no negative feedback from people who couldn’t figure out how to play Satellite.

So I think that introducing the player to the game worked out well. Having people master the gameplay mechanics is a whole different story, though.

Mastering the Gameplay Mechanics

I think this is the main reason why Satellite fared okay, but not very good in player popularity. It was also the main criticism I have heard from friends and players.

The problem is that, for many, the game can be frustrating. The reasons for this in my opinion are:

  • The control the player exerts over the gameplay is too indirect. The problem isn’t that he can’t control the satellite directly, but that the ways of influencing it are not as immediate as they should be.
  • The margin of error the game grants you is very small. Once the satellite has left the intended path, it is very difficult to get back on track.

It’s Hard to Get the Satellite to Move

Satellite is a physics based game. The core mechanic is the gravitational force that you exert on the satellite, which is the way you control it.

However, because of how gravity works, this means that the gameplay can be sluggish. Since gravity is an inverse exponential function, the effect you have on the satellite diminishes very quickly. The result is that most of the time, it slowly accelerates instead of reacting directly.

On the other hand, if you close in on the satellite, you will hit it much more often, resulting in the 1 second time out before it moves again. So there is only a small sweet spot where you have relatively good control over it without stopping the motion frequently.

Why have I included the time out anyways? That was a conscious decision since I wanted players to actually use their gravity to play the game, instead of simply pushing or bouncing the satellite to where they wanted it to be. I don’t think I would change that mechanic much since it mostly accomplished what it was supposed to do.

It’s Hard to Get the Satellite to Stop

It’s hard to make the satellite move, because as explained above it builds up energy only slowly. What makes things more frustrating is that you can subtract energy only slowly as well.

This can result in the player pretty much losing control over the satellite, having it bounce off the walls uncontrollably.

The only way to make the satellite slow down without touching it is when it moves away from you. In that moment, the force you exert on it is pointing in the opposite direction of it’s path, making it slower.

However, if you do this, and the satellite bounces off a wall, in many cases it suddenly moves towards you, becoming even faster.

This caused some players to touch the satellite intentionally, just to make it stop, which isn’t how I intended the game to be played.


The issues mentioned above cause the game to become very hard. If you veer off the intended path, you can basically restart the level, since getting back on track is tedious.

If anything, you probably would have to change the way the forces work on the satellite. I had tried to change the function for the gravitational forces but didn’t get any satisfactory results and went back to the original formula.

I had included no air friction or dampening in the game that causes the satellite to stop by itself. Since the game mechanic is based a little bit on orbiting planets, doing so felt counterintuitive.

But I think one thing I learned from this project is that even in physics based games, the gameplay shouldn’t bow to the laws of physics, it should be the other way around. Cheat when it comes to forces and formulas, as long as it makes the game more intuitive and controllable.

I don’t think that these issues break the game, but they require a lot of patience of the player.


Satellite made me understand how much of a game designer’s work on a game is made up of level design. Creating the rules of a game is very important, but the level design determines how they are presented to the player and how he can test them out.

There are two things I will try to improve on in my next games when it comes to level design. Both concern the way the player is communicated whether he is doing well or badly in the game.

Scores And Times

This is only a minor thing, but still something I will try and look out for in the future.

The number of points you can collect in a level is arbitrary and varies considerably from level to level. While this doesn’t affect gameplay itself in any way, it means that the player has a harder time to estimate whether he performed well in a certain level or not.

In one level he might achieve a score of 2000 points, while in the next he will only get 300, even though he collected all the orbs he could.

Having the amount of possible points increment from level to level would give the player a better sense of progression and also make it easier to evaluate his play style.

Changes in the Challenges

In the first levels in Satellite all the pellets can be collected in one go, without any gaps in the chain causing the multiplier to be set back.

However, you can only build so many levels that meet this condition. That’s why half way through, the levels start to have several chains of pellets that you can’t collect in a single motion.

By now, the player has probably gotten used to getting all the orbs in one try, though. I never tell the player that it’s okay in the later levels for the multiplier to drop back to one. This has caused confusion with some whether they understood the challenge posed by the level correctly.

Again, these aren’t game breaking issues, but could have been handled more elegantly.

The Metagame

The Tiers

The levels in Satellite are seperated into tiers with 4 levels each.

Once you have successfully played every level on one tier, the next one gets unlocked. This is basically the same mechanic that Guitar Hero uses for it’s playlists.

I have implemented this system to give the player clear, foreseeable challenges. I wanted the player to always have a goal in finishing the levels in the current tier.

I’m not sure whether it worked or not. I still think it’s a sensible idea, but the numbers I gathered show a drop off of players after the first tier.

Satellite Level Statistics

How many times have the levels in Satellite been clicked? Note that the levels have slightly different names in my statistic than in the game itself.

These are the top ten of the levels in satellite ranked after how many times they have been played. This is pretty much the same order they are presented in the level select screen. So, I can at least assume that players go through them they way they are shown to them.

It’s interesting to see that quite a few people already decided after the first level that the game isn’t for them. However, the number of drop offs gets smaller for every level, at least for the first tier. Then, for the first level in the second tier, the number takes a noticeably bigger dive.

I hoped that revealing the second tier would motivate players. I assume that, instead, finishing the first one was the point many players decided they had enough. I don’t think that this is a problem of the tier system, though. I guess this is caused by the challenging game mechanics instead.

So, the jury is still out on the concept of separating levels in tiers. I think I might revisit this idea.


I intended for the highscore system to provide players with longtime motiviation to play Satellite. Not only could they compare their scores for each level to other players, each level would have a “winner” for each week. This means that the players could try to best each other’s scores all over every week.

Right now, I count 110 entries made in the highscore database since the game has been released. Considering that since release, players have started levels in Satellite for 5,629 times, this means that 0.02% of plays resulted in a highscore to be uploaded.

Also, within the 110 uploaded highscores, many names appear several times, so the actual number of players using this feature will be even lower.

Some of the feedback I’ve gotten correctly points out that the highscores aren’t very visible in the game to begin with. You are only presented with a small excerpt, and only if you yourself have uploaded a score before. You cannot look at the entire list for a level if you want to.

One reason for this is a lack of time, since I wanted to publish the game after already spending a considerable amount of time on developing it.

Another reason is that I thought it would be a good idea to present the player with the scores that immediately precede his. This could provide him with another goal where he would try to work his way to the top by beating the people in front of him one by one.

However, the lack of transparency probably actually hurt this concept.


I still think I’m on the right track, even though there are a couple of things that could have worked out better in the final result. The idea behind Satellite has been acknowledged by many people and there were many players who had fun with the game.

I think that some inherent flaws in the game mechanic and a couple of minor issues in the general implementation of features prevented a wider appeal.

But this was my first independently produced game, so I am happy for the lessons I’ve learned and the experience that I have gained.

Notice: Undefined variable: post_id in /is/htdocs/wp10582507_LGPWONUTVE/www/wp-content/themes/maxdidit11/comments.php on line 147

Notice: Undefined variable: args in /is/htdocs/wp10582507_LGPWONUTVE/www/wp-content/themes/maxdidit11/comments.php on line 183
Leave A Comment

Your email address will not be published. Required fields are marked *

Connect with Facebook


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  • RSS Feeds

    Notice: Undefined variable: output in /is/htdocs/wp10582507_LGPWONUTVE/www/wp-content/plugins/category-rss-widget-menu/rss.php on line 127

    Notice: Undefined variable: output in /is/htdocs/wp10582507_LGPWONUTVE/www/wp-content/plugins/category-rss-widget-menu/rss.php on line 90