Circus Charlie TAS v2 by Randil

This run improves the published run by 18 frames. I saved 21 frames on level 1, but lost 3 frames on level 3. More information on this can be found under the respective level's comments.

Technical information:

  • Emulator used: FCEU 0.98.16
  • Aims for fastest possible time.
  • Manipulates luck.
  • Genre: Platform.

Game description:

Circus Charlie is a very simple game with 5 levels to beat. You beat a level by moving forward, avoiding obstacles and objects in your way, and in the end jump up on the pedestal. You also get points by jumping through fire rings, jumping over circus balls, etc. To put it simple: just watch this run and you'll understand the game.

Level by level comments:

Level 1

  • Saved 21 frames.
  • Stage time: 3430. (20 bonus points gained)
Those who have TASed this game know how much of a pain this level is...
The trick used to save time is quite trivial, but is very hard to achieve. By moving left,right on the right frame, you push the fire rings a few subpixels to the right. I'm not gonna go into details here, but after doing an extensive analysis of how fire rings move, I found that moving left,right at the right time is the only way to push rings back. So after doing this trick a certain number of times, the fire rings are enough to the right to allow me to jump through the last fire ring and land on the left edge of the pedestal, as opposed to the middle of the pedestal, like in the published run.
One thing that should be pointed out is that the fire rings do not appear randomly. They do have a fixed pattern in when and where they appear. The way they are manipulated in this run, and in all previous runs, is in fact that all fire rings on the whole level are pushed slightly to the left or to the right!

Level 2

  • No time saved.
  • Stage time: 3560.
This level is extremely straightforward, and there's not much to do here. I copied this level from the published run, because I liked the stylistic choises in this level.

Level 3

  • Lost 3 frames.
  • Stage time: 3750
This is the other level in this game that is a pain to TAS. The reason for this is that each time you land on a circus ball, you stop for one frame. That means that you want to minimize the number of jumps, since that's the only thing that slows you down on this level.
The randomness on this level is caused by an in-game counter, RAM address $0052. This counter goes from 0 to 5, and increases by 1 per frame, so its pattern is 0,1,2,3,4,5,0,1,... This counter controlls when the circus balls move and when they appear on the screen. Depending on its value when you enter level 3, some jumps are possible and some of them are not. For example, the jump from the first to the third circus ball done in the published run is possible if and only if $0052=2 when you enter the level. Otherwise, this jumps cannot be done.
Because of the time saved on level 1, this time I enter level 3 with $0052=4. This forces me to make 16 jumps on this level instead of 13, as in the published run. Now you will probably ask if it wouldn't save time to enter this level some frames later, so that $0052 is something else than 4. But it turns out that $0052=2 is the best result (It should also be noted that in Phil and Genisto's run, this $0052=2 when they enter this level.)- all other results will force me to do 16 jumps instead of 13. Waiting for $0052 to turn 2 would waste 4 frames, and it would save 3 frames on level 3, so in total it would cost 1 frame, so it's not worth it.

Level 4

  • No time saved.
  • Stage time: 3880 (10 bonus points lost)
Just like level 2, this level was copied from the published run. I see no potential improvements in this level. I lost 10 bonus points because of the in-game counter that determines when bonus points go down, by beating level 1 faster, it has a different value when I start this level, and that's why I lose 10 bonus points.

Level 5

  • No time saved.
  • Stage time: 4280 (10 bonus points gained)
Just like level 2 and 4, this level was copied from the published run. I see no potential improvements in this level. I gain 10 bonus points, for the reasons pointed out under the level 4 comments.
Stage times: 3430, 3560, 3750, 3880, 4280.

Anticipated questions and comments:

  • Wouldn't a run that aims for fastest possible in-game time (the bonus counter) be more interesting? I mean, this is a time that you see on the screen, so it might be cool to have a run that aims for maximum bonus points left at the end of the level.
    • This is a good idea, however, by pausing and unpausing at the right frames, it's possible to stop the bonus counter from decreasing, as shown here. So it is indeed possible to finish all levels with 5000 left on the bonus counter, but it won't be much more interesting to watch. :P
  • I'm sorry to say, but this run just isn't any fun at all... If a run of this game hadn't been published before, I would without doubt vote "no" on this.
    • I completely understand this point of view. The site's standard on what games are published has undoubtly increased, so nowadays, this run probably wouldn't fit in. Not that it's a very good excuse, but in order to fully appreciate a TAS of this game, you would need to try to TAS it yourself to see how incredibly hard it can be at times. Circus Charlie is undoubtly a competitive game, and as one of the most optimized runs on this site (but also one of the most boring ones), as well as being on the site for a long time, it might a some nostalgic value to some.
  • Will this be the final optimization of this run?
    • Obviously, there can never be a definite answer to this question. To land more to the left on the pedestal is the only obvious improvement to the currently published run, and I tried to perform the trick on level 1 when making that run, but without success. At this moment, I do not see any potential improvements left, perhaps by manipulating the circus balls on level 3 in some weird way, but I highly doubt that will be possible. In any case, I think I've gotten quite enough of this game now, so I think I'll leave it as it is for the moment. :)

Useful RAM addresses:

0084 X position
0083 Y position
006A Screen X position
0094 Fire ring X pixel position
00A4 Fire ring X pixel position
00B4 Fire ring X pixel position
009A Fire ring common subpixel position
0052 Level 3 RNG
I hope you'll enjoy watching this run! (at least somewhat)

NesVideoAgent: Hi! I am a robot. I took a few screenshots of this movie and placed them here. Oh! I also corrected the ROM name.
  • You indicated Circus Charlie (U).nes
  • I updated it to Circus Charlie (J).nes

adelikat: Accepting for publication and processing. So much for perfect runs >.< Also, I made a slight formatting improvement to the submission text.

TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14888
Location: 127.0.0.1
This topic is for the purpose of discussing #1834: Randil's NES Circus Charlie in 03:24.05
Experienced player (822)
Joined: 11/18/2006
Posts: 2426
Location: Back where I belong
"The unprecedentedly small margin of improvement is a result of how close to perfection this movie has become. This is most likely the final optimization of this game." Once again, our collective powers of predicting the future fall short;) Good job on this, it's amazing there was even more to pull out of this seemingly simple game.
Living Well Is The Best Revenge My Personal Page
Expert player (3583)
Joined: 11/9/2007
Posts: 375
Location: Varberg, Sweden
If this game could talk, it would probably warn us: "Do not TAS me, it won't be funny!" On the other hand, what you've accomplished is awsome. I'd never guessed you could effect anything in this game except the character. Yes for bettering another "perfect" run.
feos wrote:
Only Aglar can improve this now.
Active player (410)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
Nice improvement, I knew it was improvable and I feel it could be still improved. But I might be wrong on this one. It's just a feeling. It's just that I remember when tasing that game, on level 4, I did managed to finish the level at 3900. Famtasia isn't reliable for frame precision and I thought it was slower by 1 frame but today, I am not sure. Anyway, I am not tempted to tas that fucking sucking game myself. :P
Skilled player (1637)
Joined: 11/15/2004
Posts: 2202
Location: Killjoy
mmbossman wrote:
"The unprecedentedly small margin of improvement is a result of how close to perfection this movie has become. This is most likely the final optimization of this game." .
Damn. I came here to say that.
Sage advice from a friend of Jim: So put your tinfoil hat back in the closet, open your eyes to the truth, and realize that the government is in fact causing austismal cancer with it's 9/11 fluoride vaccinations of your water supply.
nesrocks
He/Him
Player (241)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
Skilled player (1886)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Phil wrote:
Nice improvement, I knew it was improvable and I feel it could be still improved. But I might be wrong on this one. It's just a feeling. It's just that I remember when tasing that game, on level 4, I did managed to finish the level at 3900. Famtasia isn't reliable for frame precision and I thought it was slower by 1 frame but today, I am not sure. Anyway, I am not tempted to tas that fucking sucking game myself. :P
It might be possible, but I highly doubt it. Level 4 is extremely straightforward: You always move at constant speed (there is nothing that slows you down), and I jumped to the pedestal as soon as possible... But on the other hand, there's always a chance I've missed something. :P But I'm not so tempted myself to TAS this game again, at least not right now. ;)
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14888
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [1048] NES Circus Charlie by Randil in 03:24.05