(Link to video)
California Games is a sport game for the Sega Master System. There are a total of 5 sport events: Half Pipe, Foot Bag, Surfing, Skating, BMX and Flying Disk.

Game objectives

  • Emulator used: BizHawk 2.5.2
  • Do all the events as fast as possible (“Complete in all events”)
  • Beat the high score for each event

Comments

For each event, the player has 3 tries, except for Surfing (5 tries) and Foot Bag (time limit). The goal here for each event is to get the minimum high score (if possible) and fail the other tries quickly.
High Scores:
  • Half Pipe: score > 10000
  • Foot Bag: score > 35000
  • Surfing: score > 5.5
  • Skating: score > 1010
  • BMX: score > 15000
  • Flying Disk: score > 777
Before the beginning of the first event, the player has to enter a name and choose a team, it doesn’t have any impact on the game except for 3 specifics name listed here: https://gamefaqs.gamespot.com/sms/588043-california-games/cheats Just for fun, I choose “TASBOT” as a name and “Santa Cruz” for the team, so it will be displayed as “TASBOT SAN” at the top of the screen at each event.
Links:

Stage by stage comments

Half Pipe

Going up and down across the half pipe, the goal is to do skateboard tricks with the right timing: hand plant, turns and aerial turns. The Skateboarder speed increases by pressing down while the skater is going down and pressing up while the skater is going up.
Addr Name Details
0x0078 Speed max at 180
0x0076 X position between 22 and 234
0x0075 Y position from -3 (252) to 169 (flat bottom)
The highest aerial turn gives 999 points (max), it’s only possible after reaching the highest speed (180). Despite the big number of points, it’s also not super fast: min 140 frames between two big aerial turns. The hand plant gives max 700 points but it has the great advantage to increase the skateboard speed faster and there are 96 frames between 2 hand plants.
Fastest would be only hand plants, but with 700 points per trick, 15 hand plants are needed to reach 10 000+ points, overall it’s not faster. The strategy here is to do 5 hand plants to reach the max speed (180), then alternate between hand plants and big aerial turns to get the 999 while keeping a good speed. For the last trick, a smaller aerial turn will save some frames and reach a score just above 10 000.
After that, we just need to fail the 2 other tries quickly by doing a too long right turn as soon as possible, holding down while going down will save some frame

Foot Bag

This event is about doing stunts with a bag (or a ball). There are 11 stunts in total, plus extra points for hitting the seagull and extra points for catching the ball after throwing it out of the screen. At the end, there are bonus points for the number of stunts, for instance 4 stunts will give 10 000 bonus points and 11 stunts (all) will give 66 000 bonus points.
This is the only event with a game over only after the time is up… which is boring for a speedrun. That’s where it’s fun to see all the possible stunts without letting the ball touch the ground.
Looks like there is some sort of RNG for the travel distance of the ball. When kicking the ball from one side, it goes up to the other side. the distance of where the ball will land would be different depending on the previous event (half pipe) and the inputs will be desynchronized.

Surfing

With 5 tries, surfing is about getting points by 3 types of tricks: turns, jumps and stays in the tube. Additional points will be given for staying on wave long, in order to get the maximum point, the surfer has to stay until the time is up. The player can only control going up (pressing left) or going down (pressing right)
This is the only event where the score is only shown at the end of the event. I was able to figure out the point system and display the final score in real time with a LUA script.
The following table describes how the final score is calculated from the different tricks. Each trick has a point counter that will be converted to a score format: “[0-9].[0, 2, 4, 6, 8]”, for instance “2.4” or “5.8”
Name Addr Count inc Point calculation
Jump 0x00A3 every landing jump and depending on the angle (+2, +3, …) count/10
Tube0x00A5every 128 frames while in the tube IF count < 3 THEN count*0.6 ELSE 1.6 + (count-3) * 0.2
Turn0x00A6every 8 frames while turning IF count < 160 THEN floor(count/32)*0.4 ELSE 1.8 + (floor(count/32)-5)*0.2)
Stay 0x00A2 every 201 frames [4-7] → 0.1 ; [8-11] → 0.3 ; [12-15] → 0.6 ; [16-19] → 0.7 ; [20-21] → 1.0
At the end of the event, if the score decimal is odd, an extra 0.1 will be added to the final score. In order to get a score of 5.6 fast, we need 22 jumps points (2.4) + 4 tube points (1.8) + 96 turn points (1.2) + 4 stay points (0.1) = 5.5 (+0.1) = 5.6
Addr Name Detail
0x0063 State 8 states (see table below)
0x006D Angle 16 angles: from 0 (horizontal right) to 8 (horizontal left) counter clockwise
0x0070 Speed starts at 128, min 64, max 192 (2 bytes fixed point)
0X006B Y position inside wave from 50 to 174
Surfer State:
0 paddling
1 take off
2 in wave
3 leaving bottom
4 jumping
5 hit by waves
6 bad jump landing
7 out of screen
Starting by getting the tube points is best because the surfer has small enough speed to stay in the tube long enough. A full loop will put the surfer very quick inside the tube and doing some quick up and down help to control the speed to stay in the tube long enough and get all the turns points.
About the speed, looking at 0x070 as an unsigned 2 byte value, it increases by 1 every frame on a horizontal angle, -12 when going up and +4 when going down. Depending on the angles when going up or down, we can have control of the speed.
For the jumps, doing small angles jumps is the fastest (angle 1 & 15), it’s faster as the speed is smaller.

Skating

Skating is about reaching the finish line while avoiding all the different obstacles (trashes, sand, cracks, ...). By rapidly pressing up and down, the skater will gain more speed, she can also spin if the player presses left and jumps with the button 2. You get points for every obstacle passed (10, 20 or 30 points), jumping over will give 2x the points and a jump spin will give 4x the points.
Addr Name Detail
0x006A Speed Start at 512, max = 952 (2 byte unsigned)
0X0090 Y position in track between 136 and 184
0X1F00 Collision flag 1 when hit obstacle
Doing 5 frames up and 5 frames down (or other way around) is faster. After each jump, the speed decreases, the up and down inputs can be started 2 frames before landing. The strategy here is to do a spin jump for all obstacles and make sure to have enough up & down between jumps to keep enough speed. Only one obstacle doesn’t have a jump because the next obstacle is too close, it’s not worst to slow down. After reaching 1010, we just need to fall and get 20 points at the same time.
The only RNG in this event is the ball bouncing around the track. This ball luck can be changed by pressing the button 1 (or 2) one frame later on the event intro screen.

BMX

Similar to skating: BMX is about reaching the end line while avoiding obstacles (tree trunk, barrel, rock). There are different size of bumps along the track for the biker to do different jumps & tricks. The points would depend on how big is the jump or how long the key is hold for the tricks:
Trick Min points Max points
Wheeling (holding + left) 100 200
Regular jump 200 400
Table top (jump + up) 500 1000
360 turn (jump + down) 1000 2000
Back flip (jump + left) 1500 3000
Front flip (jump + right) 3000 6000
The biggest trick, the front flip, can only be done when the bump is big, so the right key can be held long enough to get the 6000 points. There are 2 big bumps pretty early at the beginning of the event where the front flip is possible, before those 2 bumps we just need to get 3100 points.
At the starting line, it’s possible to jump at the top of the ramp, we can then do a 360 turn to get 2000 points. When jumping on a flat surface, we have enough time for a small table top, 2 of them give 1000 points. For the 100 points remaining, we can do a wheeling right after landing the first front flip by holding the left key for 5 frames.
After the 2nd front flip, we can do a back flip (or front) on a flat surface to get an instant game over (crash on the head).

Flying disk

The last event and also the most difficult one is about throwing a disk and then catching it. One part is to choose the speed & angle of the disk, the other part is to control a catcher by running left or right and diving if necessary. Once passing the difficulty of figuring out how to throw the disk, it’s a different story to catch the disk! Depending on which direction the catcher runs or dives, the disk has to be at the right height of the catch’s hand.
Addr Name Values
0x0078 Disk Y Position initial position at 139
0x0079 Disk Speed from 160 to 960 (2 bytes)
0x007B Disk move up time count increase every 2 frames, from 110 to 271, when reach 256, set angle flag to 0
0x007C Disk angle flag 255 go up & 0 go down
0X006E Catcher X position initial position at 1824 (2 bytes)
0X006A Catcher state 0 = stop; 1 = run; 2 = dive; 5 = catch
The Highest possible score is 490 in one try, which means minimum 2 tries are required to reach a score above 777. For this event we want the disk and the catcher to meet as early as possible, when the disk flies right and the catcher runs left.
When the catcher is running left, her speed is 3 px/frame and while diving (state = 2) her speed is 4 px/frame. For the disk, we need the fastest speed (960) with the lowest angle possible. If the disk move up time count (let’s simply call it angle) is above 218, the disk cannot be catched. I’ve tried 3 different speed while getting the lowest angle possible:
Speed Angle Frame #
928 197 0
960 (bigger) 197 +9
880 (smaller) 200 (smaller) +3
For the 3rd try, we can just throw the disk on the ground by pressing Left then right as fast as possible.

High Score Bonus

After beating an event’s highscore, the player has the chance to get an bonus after obtaining 3 identical cards:
  • 3 x Foot Bag Cards = Faster hackey-sack reflexes, ball and time go slower
  • 3 x Surfer Cards = New surfboard, faster speed
  • 3 x BMX Cards = New Bike, jump higher
None of those bonuses make the run faster so we need to lose the bonus game as fast as possible.

arkiandruski: Judging..
arkiandruski: Replacing the file with one that removes 57 frames of input at the end.
arkiandruski: The judges have had a discussion and we decided as laid out in Samsara's post that we don't want to accept a run that fails every event as fast as possible, and high scores are the next objective goal above that, so this run is acceptable as a fastest completion. With that in mind, I am accepting this run to Vault.
EZGames69: Processing
feos: Removing the branch, because this has been agreed to be the standard goal of this game. It's a situation when the any% flag and blank label both fit.
feos: Set rerecord count to a more accurate estimate provided by the author.

Player (15)
Joined: 11/24/2012
Posts: 42
Location: Toronto (Canada)
arkiandruski if there is no way for this submission to be accepted for vault, I guess it should be marked as fail
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11264
Location: RU
This game reminds me of #6565: DrD2k9's C64 Decathlon "maximum score" in 09:35.02. There's no indication of whether you win or lose, and you still advance through the events and reach the game end. There's a "game over" in some events but it doesn't prevent getting the new score record, so "game over" is obtained in this run when it's enough score to quit. You even still get the "1st" bowl even if you fail completely in every event! One could argue that the event is completed exactly when you get a high score for it. But 1) it's an arbitrary definition, espectially after having gotten game over right before it, and 2) it's basically the same metric as in max score, but one just stops in the middle. I feel there's too little difference between getting N score and getting max score. Definitely a max score run would obsolete this movie if we publish it. The main question is: Do we want to agree that getting high scores in all events means fastest completion for them?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
DrD2k9
He/Him
Editor, Judge, Expert player (2056)
Joined: 8/21/2016
Posts: 1011
Location: US
feos wrote:
Do we want to agree that getting high scores in all events means fastest completion for them?
I don't remember who's comments got me thinking along these lines, but my perspective on score based events is that they can't effectively have a "fastest completion" that doesn't also max out the score. Stopping at any point before the maximum (even if it's a new high score) is essentially acknowledging that the event can be performed to a fuller extent with a higher score and thus remains incomplete. It can't be a fastest completion if it remains incomplete. Consider the general concept of a high score: The whole point of high score tables/records in games is to try and improve upon whatever the current high score is. While game designers may pre-program a default high score, it can probably be safely assumed that (in most cases) the designers didn't intend for that particular high score value to be the maximum that could be achieved in-game. Especially when considering older coin-op games; the primary purpose of the high score was to drive people to keep playing (and thus keep paying) to try and best whatever the top score was. The competition created between actual people--not people and the pre-programmed score--is what drove the continued payment. This high score concept bled into games for home-based systems even though constant payments were no longer a component. Given this concept; for a full completion run, if a TAS can be made to perform better than "simply surpassing the pre-programmed high score," it should be. Therefore, in order for a score based event to be considered complete, a maximum score should be necessary. Accepting a score below the max but above the pre-programmed high is an arbitrary point issue. This is especially the case if the event can be sufficiently finished with a score that allows for continuing onward but remains below the high-score threshold. NES Track and Field would be a good example of this. There are scores that qualify the player to progress in the game without getting a "game over", but are still lower than the in-game "world record" high score. If we're wanting to allow any score below the maximum to be considered for "fastest completion," then any score that the game considers good enough for progress should be allowed. This would require including games where complete failure in an event (via attempts resulting in only faults) would have to be allowed for "fastest completion" if the game allowed the player to continue beyond that point. The above mentioned Decathlon game would be in this category, it allows for complete failure of a score based event while still progressing to the end of the game. I wouldn't like the idea of accepting things that way. Speed based events are obviously speed based and should simply be completed as rapidly as possible. TL:DR IMO, From a TAS perspective, a maximum score is necessary to consider a score-based event "complete" at all. Thus for a "fastest completion" run, maximum scores in score-based events are necessary to fulfill the "complete" aspect of "fastest completion." Score based events simply don't lend themselves to being completed quickly and this will sometimes result in repetitive gameplay to achieve the max score and resulting longer total runs.
Samsara
She/They
Senior Judge, Site Admin, Expert player (2121)
Joined: 11/13/2006
Posts: 2792
Location: Northern California
So, we had a discussion about this in staff chat and came to a few interesting conclusions regarding the game. Much like Decathlon, the "end state" of the game (the 1st place trophy) happens no matter what you do. The game is essentially designed to be multiplayer, so if you're playing single player, you're always going to come in first, since you're the only contestant. Under our rules:
If a game shows the same ending screen regardless of success or failure, reaching it is not considered successful completion.
This means that the "all failures" run shouldn't count as "fastest completion" for this game, as the trophy screen is guaranteed no matter what happens in the actual gameplay, so we need to define a different point of completion for this game to justify having an any% run. For Decathlon, this was maximum score, in that there could only BE maximum score as a point of completion for Decathlon. California Games has something else, though: The predefined high scores give a basic goal for the game, one that can be reached in a fastest time. As far as I'm concerned at least, this is fine for any%. "Completion" shouldn't necessarily mean having to max out the score unless that is the only possible goal for the game. There's an art in figuring out how to get the bare minimum as well, finding the right combinations of scored points to surpass the pre-defined total and "end your run" in the fastest time possible, which also sets it apart from a run that focuses on maximum score. The only event that has to be run out no matter what is Footbag, and as far as I can tell from watching the run and reading the submission text, it's likely that a maximum score version of this event would have a different "points route", so to speak. The scores are also not saved, which in a way means that every time you turn on the game, you regain the goal to beat the high scores, as opposed to it being a one-time goal that leads into an infinite time "improve yourself" goal. Had the game included a battery save for high scores, it would be more believable that maximum score is the only intended goal as opposed to being the maximum achievable goal. Whether or not maximum score would obsolete this or be published alongside it is still up for debate (it would likely take a max score submission to decide that definitively), but I do think this run can definitely be published as fastest completion either way, as it completes the single quantifiable objective set out by the game ("beat these high scores") in the fastest possible time.
TASvideos Admin and acting Senior Judge 💙 | Cohost
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
greysondn
They/Them
Joined: 4/29/2018
Posts: 44
After watching, I didn't vote because of what I'm going to say here. I am not very entertained here, but this may have merits for a speed completion for minimum high score. Essentially, whenever you end up min-maxing scores, the brutally, mechanically efficient route is always going to end up somewhat repetitive or else mathematical. Part of the interest to me in watching TASes is the weird routing they often enable, but there are always going to be games where the optimal path is a dead, mechanical path through whatever provides the most benefits. Here, that happens easily through the first two events - while decisions are made for speed, the majority is a cycle of the same actions over and over because that maximizes score. Surfing I never did understand as a kid so I'm a bit lost here (even reading your notes); the fourth event is much the same and dynamics are given by the environment mostly. The dirt bike event is at least some break away from that repetitive nature thing (again, environment, but also not just doing the same pattern of actions over and over the whole time). Discus throw is what it is; there's nothing wrong with it (and one can only do so much anyway). The problem here, and the reason I don't want to vote, is that while I'm not entertained, I do recognize *these are likely the fastest or very nearly the fastest completions for the minimum high score*. For the events I do know from a million years ago on a Tandy 2 in DOS, I certainly can't think of much better routing for that goal. I should say that *more likely than not, this is going to be a recurring issue with sports games scored in similar ways*. I think the fault is less in the runner here and more in the way the game is designed to reward such series of actions. Again, given the stated goal, the runner has optimized the route as far as I can see; that the game rewards repetition is no fault of the runner's in that regard.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11264
Location: RU
DrD2k9 wrote:
If we're wanting to allow any score below the maximum to be considered for "fastest completion," then any score that the game considers good enough for progress should be allowed. This would require including games where complete failure in an event (via attempts resulting in only faults) would have to be allowed for "fastest completion" if the game allowed the player to continue beyond that point. The above mentioned Decathlon game would be in this category, it allows for complete failure of a score based event while still progressing to the end of the game. I wouldn't like the idea of accepting things that way.
"Good enough to progress" is unrelated to our reasons. This game doesn't prevent progressing through events regardless of score. The fundamental difference between this run and a max score run is that you can end events early, instead of waiting for the time to run out while you keep scoring points. And there's still infinite speedrun potential if you only need to score above a certain value and end the event ASAP: there's unknown quantity of possible score units you'd be getting, and there is a function between how little score you get and how long it takes to get it, that you need to figure out.
Samsara wrote:
it completes the single quantifiable objective set out by the game ("beat these high scores") in the fastest possible time.
Agreed. I see it as the only way to tell us "Success!" that this game has, while in other games it's done simply by letting you play further. There's nothing iffy about getting or not getting the high scores, so it's a clear cut in itself. Of course it still matters if the community also interprets the game's language the way we do.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Player (15)
Joined: 11/24/2012
Posts: 42
Location: Toronto (Canada)
Maximum score makes sense as there would be no other possible progress left. The down side of this is some events will be time depend (half pipe & surf) I agree that "Fail everything" or 0% doesn't represent any goal, any first time player can just play blind folded, smash all the buttons and reach the final trophy screen without any problem. The game was intended to be multiplayer in my opinion and I remember I got fun playing this with the family/friends to see who is the best. For a single player, this feeling of "being the best" can be achieved by beating the hardcoded high score or the bot players. The game actually rewards that by giving the player a chance on a bonus game (the 3 cards) for a minimal acceptable goal, I think "minimum score as fast as possible" can be in any% category, there is some speed involved to get the last points as early as possible. I would say maximum score (or max%) should be a different category, that might include getting all the bonus as well since it might help getting the max score
EZGames69
He/They
Publisher, Reviewer, Expert player (3966)
Joined: 5/29/2017
Posts: 2707
Location: Michigan
Just as a note, this TAS was made using FM sound enabled. Apparently BizHawk has been enabling this setting by default when it should be enabled for Japanese games only. Turning it off for this run unfortunately causes a desync in the hacky sack level, so I’ll be publishing this with it on.
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Player (15)
Joined: 11/24/2012
Posts: 42
Location: Toronto (Canada)
EZGames69 wrote:
Just as a note, this TAS was made using FM sound enabled. Apparently BizHawk has been enabling this setting by default when it should be enabled for Japanese games only. Turning it off for this run unfortunately causes a desync in the hacky sack level, so I’ll be publishing this with it on.
Good to know, I will make sure to disable it for the next TAS, thanks for the feedback
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14859
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. ---- [4454] SMS California Games by arnaud33200 in 06:01.11
Skilled player (1650)
Joined: 7/1/2013
Posts: 433
[4454] SMS California Games by arnaud33200 in 06:01.11 wrote:
California Games is a SMS port of the popular 80's Arcade game.
I'm not familiar with California Games as an arcade game. Is this referring to a specific game? Or just an "arcade"-style game generally?
Player (15)
Joined: 11/24/2012
Posts: 42
Location: Toronto (Canada)
£e Nécroyeur wrote:
I'm not familiar with California Games as an arcade game. Is this referring to a specific game? Or just an "arcade"-style game generally?
Yes wasn't an arcade game, it was first release for apple II and Comodore 64. probably it has this arcade style because of the high score system. I don't know if it was in the submission before, I think I saw but it wasn't my edit