ColorGuess Plus

Challenge Mode: A Lesson Learned

ColorGuess Plus adds two new game modes that build off of the Original’s Standard Mode: Blitz Mode and Challenge Mode. Each new mode brings new gameplay to master in your quest to get the elusive perfect score of 1,000,000. Today we will discuss, in detail, the programming and development that went into making the Challenge mode of the all new ColorGuess Plus.

If you think you’ve mastered Standard Mode and are ready for something a little more difficult then prepare yourself for this challenge.  Similar to Standard Mode, in Challenge Mode you’ll have to match your color as closely as possible to the computer color by moving the sliders, but there’s a twist.  In this mode your color won't update while you move your slider.  You’ll have to guess how much red, green, or blue is needed in the color, move the slider, and then let go to see a change in your color.  On top of that, a random slider will lock itself for a short period of time, making it impossible to move!  Once you’ve made your color the same as the computer color (or as close as possible) tap your color to calculate your score.  Only true masters of color will be able to achieve the ultimate challenge high score of one million!

Thank you Matt for your fantastic flavor text. Challenge Mode, as the name dictates, is challenging, ironically enough, it proved to be quite the challenge to develop and program. We went through a few different iterations of what it should be, and to be honest it did not receive a fair amount of brainstorming time compared to Blitz Mode. In the end, when it came time to program Challenge Mode, the lack of brainstorming really showed itself.

Challenge Mode went through two main iterations, the initial iteration just had the sliders locking at random intervals. This was our original plan for it, but unfortunately it did not work out due to programming limitations, so we had to get creative. The limitation we found was that the slider was remaining active if the player continued to move the slider back and forth during it’s ‘inactive’ time. So, we went back to the drawing board. We decided to force the players to lift their thumbs by having the sliders only change the values when the thumb is lifted.

If you followed all of that and have played Challenge Mode, you know that this is exactly what we left it as. Flexibility with our original idea on our end gave birth to a whole new idea, that in all honesty is much more challenging than the original idea would ever have been.

This article isn’t nearly as technical as our other articles in this area, because instead of delving into the technicalities which really are not too different from the Standard Mode mechanics, our development process of Challenge Mode taught us an important message that I want to pass on. Fluidity is important while developing, especially as young and whimsical developers. We have the world available to us, opening your mind to new options and unique solutions to given problems will open the door to ideas (and in this case, mechanics) that turn out to be a hell of a lot more fun than you imagined. Challenge Mode is something that I go back to when I feel like playing, because it provides me, the co-developer, co-designer, co-inventor an actual challenge.

 

Austin

ColorGuess! New Scoring Algorithm! -- Part 2: Detailed Breakdown

Hey all, welcome to part two of our discussion of our new scoring algorithm. If you’ve missed either our announcement post or part one, make sure to check out both of these posts before starting this one, because we are picking up right where we left off from part one.

Moving on from that, this article is going to discuss the thoughts behind the changes to the scoring system in this second version of ColorGuess! Please keep in mind that any numbers that are discussed here are purely in the development stage, and could change many times between now and the official launch.

As we discussed yesterday, the score will now have a cap of 1,000,000 points, and a subtraction value will be calculated for each color and subtracted from the maximum cap. So let’s talk about how that subtraction value is calculated.

For this example we will be using this data:

testdata.png

It’s a 5 step process:

  • The percent error is calculated for the color. |G – A|/A
    • Percent Error Red: |0.54597 –0.721569| / 0.721569 = 0.24335718
    • Percent Error Green: |0.881226 – 0.968627| / 0.968627 = 0.090232
    • Percent Error Blue: |0.038314 - 0.231373| / 0.231373 = 0.834406
  • The Percent error is then compared to this chart.
  • From the above chart, a grade is given to each color, and then a subtraction value is assigned to each grade.
    • Red Grade: C – Subtraction base value = 166,666
    • Blue Grade: B – Subtraction base value = 66,666
    • Green Grade: F – Subtraction base value = 333,333
    • Note that in the subtraction value chart has a range of subtraction values for each grade, that is due to there being a plus and minus system that I’ve decided not to disclose.
  • Lastly, we look at time. Right now we are giving an undisclosed amount of free time, after which every second subtracts a set points per second value. That value is 2,424. For the remaining example, we will assume you took 22 seconds to complete, and that there is no free time.
    • Time penalty = 2,424 * 22 = 53,328
    • Red final subtraction value = 219,994
    • Green final subtraction value =119,994
    • Blue final subtraction value = 386,661
  • Then, all that is left is to subtract each subtraction value from the total possible points.
    • 1,000,000 – 219,994 – 119,994 – 386,661 = 273,351

Hopefully this step by step breakdown helps you guys understand not only the new method, but the logic and the thought process behind what path we decided to do. As mentioned in the beginning of this post, the numbers are most definitely subject to change, but we will be sure to keep you updated with any tuning changes we make in the next week or so.

Thanks for reading, check out part one here, as well as our compilation of all information relating to the new and upcoming version of ColorGuess! here.

Until next time,

Austin

Download ColorGuess!

ColorGuess! New Scoring Algorithm -- Part 1: Theory

Hey all, if you haven’t seen our exciting news from earlier this week, head on over and check it out here. This post builds off of that announcement, so it’s best if you familiarize yourself with it first.  I’ve decided to break this post up into two parts, as it has gotten quite long. In part 1, no values will be given, only theory.  Part two will follow tomorrow with a more detailed look at the numbers we have decided to start working with.

Moving on from that, this article is going to discuss the thoughts behind the changes to the scoring system in this second version of ColorGuess! Please keep in mind that any numbers that are discussed here are purely in the development stage, and could change many times between now and the official launch.

When we set out to create a new scoring system, we had one big goal in mind: to cap the score at something reasonable. In the original ColorGuess!, all sorts of scores were achievable, and it was hard to define what an amazing score was, what a good score was and what a bad score was. Because of this, the game became more about getting the best grades possible, and less about the overall score; while this is a valid way to play the game, and will continue to be a valid way to play the game, it is not what our original intention was.

So, moving forward, the highest achievable score (and it will only be achievable with a near perfect game) will be 1,000,000.

As mentioned above, there is a very good game play reason to make this change, but conveniently for us, it addresses and fixes a pretty big bug that is present in the current version. Currently, infinity is an achievable score, and all that needs to happen is that you need to be lucky enough to match one of the colors perfectly, just one, and you will get a score of infinity, or “0” as our number formatter formats it.

Achieving a high score of infinity, as displayed by 0.

High score of infinity displayed as 0.

This error is caused by the inverse functions we called in order to get score multipliers, if you happened to match both colors perfectly (guessed-actual = 0), then you end up with 0 in your denominator, causing an undefined value, and spitting out infinity.

Now, you know that the score is capped, but you might be wondering how we go from the capped score to the score given to the players at the end of the game. After a lot of (over) thinking, we decided to use a basic subtraction method. Percent error on the colors will be calculated, and that percent error will be compared against grades. The grade will then determine what value is subtracted from 1,000,000 to give you a final score.

There’s one last key component to our scoring system: time. In order to have time be a part of our equation, we decided that you would get a certain amount of free time, and after that each second would deduct a set number of points. In reality, what happens is the points per second value is added to the subtraction value determined by the grade (i.e. if points per second is 3, and you take 2 more seconds than the free time, 6 points will be added to the subtraction value.)

 

 

 

That’s it for part one, to sum it all up:

  • The score is capped at 1,000,000 points, this is an achievable score.
  • A subtraction value is decided by a grade that is decided by the percent error of the color.
  • Time past the free amount of time is added to the subtraction value at a given points per second rate.

Make sure to check back tomorrow for part two, where more of the actual math is divulged! Thank you for reading.

Download ColorGuess!

Austin