Defining what a "good" solution means


If you've done some of the challenges, you may have noticed the stars next to the three stats for each puzzle.

  • I - Instructions, or the number of lines of code needed
  • P - Ports used, which is the number of I/O accesses needed
  • C - Cycles, which is simply a measure of how efficient your solution was for the machine

These were created to reward the user for optimizing parts of the program to be more efficient in some way. However, this leads to several questions about how they should work.

How do we set the baseline?
The star stats are just a baseline for a fairly efficient stat. If you match that in any category, you get a gold star and if you beat it, you get a purple star. One question is how should the baseline for a star be set? I don't have any average of solutions to compare against, but we could change it over time if everyone is getting a purple star. However, without saving the scores, how would we know. Thoughts?

How should saves work?
It is possible to optimize one of the stats to the detriment of the other stats. However, the program only saves one program and set of stats, so you would lose your better solution for the other stats. Should the program

  • store 3 separate programs that you can switch through at the game screen,
  • store 3 separate programs that you pick from the select level screen (click on the stat you care about),
  • store the last successful program, but keep the optimal stats achieved in every category,
  • or just leave it how it is?

How should "cheat" scores be recorded?
For some of the programs, the optimal stats are achieved by not solving the problem, but just by hardcoding the output with mov statements. I don't mind this "cheat" being in there because it's a fun workaround, and checking for it would be annoying. It's similar to shortcuts in mario kart. We could fix this to some extent by making the number of test cases greater, which would require more commands to hardcode it, and it might not be as efficient. We could also fix it by not allowing certain literals, etc. However, again, I don't actually mind it.

The question is simply how to handle the stars. I wouldn't want some of these solutions to be the gold star scores because you can't achieve them by actually solving the problem algorithmically, but I also think it's fun to optimize these solutions. As mentioned, I don't want to try and differentiate, but I could see why a person might want a separate save for them. Maybe the solution is simply to have a separate save file for these types of solutions.

Who cares?
This is a great point. They don't do anything, and aren't integrated into the game in any. Should they be removed? Should there be rewards like additional story elements, puzzles, etc. tied to them? Thoughts?

Get TIS-10

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.