# The development of &quot;Join the Stars&quot;, a game inspired on &quot;The Traveling Salesman Problem&quot; and designed &quot;by skills&quot;.The development of &quot;Join the Stars&quot;, a game inspired on &quot;The Traveling Salesman Problem&quot; and designed &quot;by skills&quot;.

The making of "Join The Stars", a game inspired in the traveling salesman problem. An attempt to make something fun an original. My views on the process of game design, ideas and creativity.

Luis Carrero, Blogger

December 17, 2015

First let me introduce myself. I am a mechanical engineer, I live in Venezuela and I work in the Oil and Gas Sector as a Process Risk Engineer. My brother and I like to make games in our free time.

This is my first blog on Gamasutra. The goal is to share my experience in the making of my recent game: “Join the Stars”, how I came up with the idea, how I designed it, the resources I used and the results obtained.

Coming up with the idea, designing "by skills".

In this particular case, I used this approach to get the idea for the game. First I made a brainstorm to see which “skills” abilities or activities a player might perform or use in a game. This is what I came up with:

• To count, to estimate.

• To speak.

• To memorize.

• To optimize.

• To recognize movement.

• To recognize colors.

• To recognize facial expressions.

• To order with priority.

• To give orders and expect a result.

• To plan strategies.

• To predict the intention of something or someone.

• To try and accommodate behavior by result obtained.

• To recognize and produce music.

• To sing.

• To deduct something by logic.

• To recognize patterns and symbols.

• To calculate the relationship between time and movement.

• To evaluate cause and effect in real time.

• To evaluate cause and effect in advance.

• To apply predetermined patterns.

• To calculate and estimate events by discrete time intervals.

• To classify objects under any information available.

It is a simple list, and some of those aspects only make sense to things I imagined at the moment. After this, I had the idea to use the skills that a computer would have to apply to solve the traveling salesman problem: To optimize, to plan strategies and to order with priority.

The core design and making the player use the “skills”

So I already had the idea for the game, and since I wanted to target mobile, it was my first choice to implement a finger slide game. Simply the player would have to slide the finger and touch all the blue circles in the screen. This added the skill: “to calculate the relation between time and movement”.

I was struggling to decide how to give challenge to the game and introduce the “optimization” skill, and at first I wanted to reward the shortest path, just like the traveling salesman problem. However, this approach was not very effective, since it is not easy for the human eye to see the difference between a sum of path lengths, especially when the number of circles is large. Finally, I decided to reward the least time to complete the task. In a way, this was rewarding the shortest path but in a more human friendly way. So “optimization” was covered.

At this point, I already had the playable prototype with an “arcade mode”, and I by playing it I got the feeling that it was too easy and had barely any challenge. So, I decided to add some obstacles that would force the player to avoid them and find good routes to collect the circles.

Now the game was getting fun. It had challenge and it was not too difficult, but I noticed that the “planning” and “ordering with priority” skills were not used. Simply in the arcade mode there was no time to plan because once the round started you had 15 seconds to touch all the circles and you couldn’t optimize.

After some thought, I did not want to mess with the arcade mode because it was already fun, so I decided to add another game mode: Levels. The advantage I gave to the player was that in the levels, time did not start running until the first touch to the screen. So you have all the time in the world to plan the order and which route will you take to pass the level, but once you touch the screen you have to execute your plan very fast. The time to pass the levels can be very low, and some levels you even have to complete them in less than a second in order to get the 3 stars.

Choosing a theme.

I played around with lots of themes in my mind. There were some crazy ones, like a control board where the circles where buttons. Then I remembered that my favorite movie saga, Stars Wars, was coming, so I decided that the circles would be stars and the player would have to connect them like some sort of constellations. The name came after that: Join The Stars (instead of connect the stars, which I think was already taken).

The graphics where improved substantially by my brother, matching this theme.

Here's a screenshot of the result.

And the promotional video.

Here are two extra features that I added because thought they would add value to the game:

• Repetitions of game play. This I have seen in other games, specially the racing genre. After you finish playing you can see what you did and how you passed difficult levels, how you lost, etc. It took me some time to do this, but I found it very enjoyable once it was implemented.

• Leaderboards. This one is pretty obvious. The only thing I can maybe comment here is that I unified all levels in only one leaderboard, which contains the sum of all the best scores.

Making the music.

The music is a simple slow tune that I improvised in my digital piano. This part is really not polished because it needs to be done by a professional, but I just didn’t want to launch the game without any music.

Software resources used.

• Marmalade SDK Free License. Great multiplatform tool. Easy to use and very powerful. The only drawback is that I used the free license because I have zero budget in dollars. They put two splash screens before my actual game (and one of them even exits the game if the player touches it). But with a better license this screenshot disappears.

• Visual Studio Express.

• GIMP.

• Audacity.

• Windows Movie Maker.

Time spent.

About 4 months of work in intervals. Some weeks I worked 2 days, others three, and so on. As I said, I have a full time job, and a newly born daughter.

Results so far.

It has been three days since I released the game on Google Play. So far, 23 downloads, mostly from family and friends. Of course, I am right now doing what I can to make my game visible because it is really hard. For example, if you look up Join the Stars, you do not even see my game in the results, but you see a lot of already popular games with the word “stars” in their title or description (ironically, two or three about star wars).

It turns out that at this moment, Google Play search engine doesn’t give priority to exact title matches. So the game cannot even be found if I pitch it to someone by name. Some years ago there was a list of new releases and at least your game had a few downloads on its first day. Now that is gone too.

First of all, this is not my first game. My brother and I have developed two more games before, which maybe we will relaunch on Android. I like to read this website a lot, and I have read many of the articles about the “indiepocalypse” and all that.

What I can say in conclusion is that at least I am doing something I love, even if it is not financially rewarding. The goal at the end is to share something, to create an experience. I think video game developers are artists; we express ourselves and create experiences (or some of us at least try) just like filmmakers, musicians, painters, etc. However, the experiences we create involve the interaction of the people living it. How they learn something, how they use and develop a skill while playing, how they try and achieve something and how they challenge themselves. That’s something no film, paint, song, or any form of art can do, other than games.