Micro Machines 64 TURBO (released in 1999) is the Nintendo 64 remake of Micro Machines V3 (released in 1997) for the PlayStation and PC. It features the same clunky menu system and the same 43 primary courses and 31 unique vehicles (the PlayStation version also had a plodding training mode, "Cherry's Driving School" with five courses defined by cones and a unique training vehicle). The visuals have been slightly improved and a "turbo selection" speed control was added that allows players to choose faster, harder levels of speed.

Goal

My goal with this TAS was to race and achieve record times on all 43 courses in the game as fast as possible. My focus was on the lowest total race time but I also tried to achieve the lowest total play time. I chose to do this on the "1 lap" setting as opposed to the "3 laps" setting for the following reasons:
  1. "1 lap" is the default option (one must switch the option to choose "3 laps")
  2. Additional laps would look nearly identical to the first lap
  3. This TAS aims to get record times on all courses as fast as possible and "1 lap" completions, obviously, take less time than "3 laps"

Record Times

The game has a staggering number of modes strewn about a confusing menu. Record times are stored in several of these modes, split into two categories: "Time Trials" modes and "Test Drive" modes. Time Trials modes use default vehicles on each course and have one racer at a time. Test Drive modes allow the player to use vehicles that they have unlocked from other modes.
There is also a push button code that can be entered before each race to double the speed of game play. I chose to use this code because it results in a more impressive level of play. Also, record times are saved and validated even when this button code is used.

Tricks Used

  • Turbo Start: Can be achieved by properly timing when to hit the gas at the beginning.
  • End Quit: Normally after completing a race in record time the car begins to bounce and celebrate for several seconds after the race ends. I am able to skip this by hitting start at the same frame as the race ends and then quitting the race. The time still saves but I skip the celebration. This saves over two minutes throughout the run.
  • Ricochets: Sometimes it is faster to purposely bump an object in the level rather than to slow down enough to make such a maneuver. Also, running into an object at a high speed can allow the player to clip part a required waypoint box (see Waypoint Abuse) to allow for a shorter path to be taken.
  • Waypoint Abuse: The game determines whether a player has cut off too much of the course through a waypoint system. The course path is mapped out by a grid of numbered waypoints. These numbers increase throughout the length of the course and restart at the finish line. Some of these waypoints are indicated as required waypoints. If a player enters a waypoint number beyond that of the last required waypoint section without having gone through the required waypoint, the player's vehicle is destroyed and placed back where it initially left the course. This prevents huge shortcuts, but it also enables some very strategic driving if you know where the required waypoints are. I initially worked on determining these through trial and error, but was fortunate enough to come across a level editor for Micro Machines V3. I emailed the developer, Rich Bradley, and he helped me determine how to use his tool to locate the required waypoints. Because of this tool, I am confident that I chose the most efficient routes through each course. The level editor available at http://bradders.org/MMs/ and Rich informed me that he plans to upload it to GitHub with some proper documentation. Here is a simple example of required waypoints viewed in the editor:
Waypoint Example, Trucker's Luck:
Note that a player must go through waypoints 22, 23 or 24 before proceeding to 25+ and must then go through at least one of 36-43 before going through 44+.
A quick comment on the menu system: Yes, the menus in this game suck and I do agree that they detract from the entertainment. However, I ensured that I navigated the menus as efficiently (in terms of input and overall planning) as I could to meet my goals. The delays are caused by absurd animations, including animating the level name flying onto and off of the screen. In fact, the longer the level name, the longer the menu delays. Each additional character in the level name causes an additional 4 frames of delay (so "Breakfast at Cherry's" (21 characters) causes 60 frames more delay than "Wipeup" (6 characters). The game designers did a terrible job with the menu system and it's noticeable even during standard play sessions. It's even worse on some of the other modes where scores are kept and each player's score is added very slowly.

Unlocking Vehicles

There are 31 unique vehicles that can be unlocked, if you unlock the same vehicle more than once, its level increases a "level" each time and its stats improve incrementally each time. The best vehicles are unlocked when players complete the hardest difficulty of challenge modes (a mode which does not store times) but achieving particularly strong times in time trials modes can unlock some of the better cars.

Unlocking and Playing Courses

This game's unlocking system is convoluted and even appears to have some bugs. It does not appear to be possible to unlock all courses through normal means. By completing all standard challenges, some new courses become available, but not all. Thus, I employ a push-button code "GIVETRAX" (commonly used by the Micro Machines V3 speed runners) to access most of the courses. However, even this code does not actually unlock all of the courses. Some remain accessible only in certain modes. The following table summarizes the modes in which each course is accessible:
Internal IDCourse NameChallenge/Head to HeadTime TrialsTest DriveParty Play
BREAKY1Cheesey JumpsBEGINNERSDefaultDefaultDefault
BREAKY2Cereal KillerADVANCEDDefaultDefaultDefault
BREAKY3Breakfast at Cherry'snoDefaultDefaultDefault
BREAKY4Super BowlTRICKYUnlockUnlockUnlock
BREAKY5Hair of the DogMASTERSUnlockUnlockUnlock
BREAKY6WipeupnoDefaultDefaultDefault
BREAKY7Brake-Fast BendsnoDefaultDefaultDefault
GARDEN1Destruction DirtboxROCK HARDDefaultDefaultDefault
GARDEN2Beware of the DogDIFFICULTDefaultDefaultDefault
GARDEN3Toad RagenononoTT Tournament / Head-To-Head
GARDEN4Snail TrailADVANCEDUnlockUnlockUnlock
GARDEN5Splash 'N Dash (half boat)MASTERSDefaultnoTime Attack
GARDEN6Pond Life (boat)TRICKYUnlockUnlockUnlock
GARDEN7Crash and Fern (boat)noDefaultDefaultDefault
POOL1Swerve ShotBEGINNERSDefaultDefaultDefault
POOL2Rack 'N RollMASTERSDefaultDefaultDefault
POOL3Right on CueDIFFICULTDefaultDefaultDefault
POOL4Pot LuckROCK HARDUnlockUnlockUnlock
POOL5Love TrianglenoDefaultDefaultDefault
LAB1Stinky SinksnoDefaultDefaultDefault
LAB2Pulling PowerMASTERSDefaultDefaultDefault
LAB3Interesting VoyageDIFFICULTGIVETRAXnoGIVETRAX
LAB4Formula XTRICKYDefaultDefaultDefault
LAB5Bio-HazardROCK HARDGIVETRAXGIVETRAXGIVETRAX
LAB6Periodic ParkBEGINNERSGIVETRAXGIVETRAXGIVETRAX
LAB7Chemical WarfarenoDefaultDefaultDefault
BEACH1Pebble DashROCK HARDDefaultDefaultDefault
BEACH2Bikini BlazernoDefaultDefaultDefault
BEACH3Beached BuggiesTRICKYDefaultDefaultDefault
BEACH4Bucket and SpeedDIFFICULTGIVETRAXGIVETRAXGIVETRAX
BEACH5Sand BlasternoDefaultDefaultDefault
BEACH6Dunes of HazardADVANCEDGIVETRAXGIVETRAXGIVETRAX
REST1Vindaloo Drive-ThruBEGINNERSGIVETRAXGIVETRAXGIVETRAX
REST2Baguette BalanceDIFFICULTDefaultDefaultDefault
REST3The Main CourseTRICKYDefaultDefaultDefault
REST4Tanks AlotADVANCEDDefaultDefaultDefault
REST5Fast FoodnononoTT Tournament / Head-To-Head
SCHOOL1Calculator RisknoDefaultDefaultDefault
SCHOOL2Trucker's LucknoDefaultDefaultDefault
SCHOOL3Text Book ManeuverROCK HARDGIVETRAXGIVETRAXGIVETRAX
SCHOOL4Must Try HarderMASTERSGIVETRAXGIVETRAXGIVETRAX
SCHOOL5Learning CurvesADVANCEDDefaultDefaultDefault
SCHOOL6School RuleznononoTT Tournament / Head-To-Head
(29 Courses)(40 Courses)(38 Courses)(43 Courses)
As you can see, three of the courses (Toad Rage, Fast Food and School Rulez) are only available in the "Party Play" mode. This presented a significant challenge. The only way to play these courses was to choose the relevant TT Tournament that contained them. Each course appears as the third course in their tournament so this means that there are six other tracks that I also had to play in this Party Play time trials format. This format is not ideal because it contains additional menu delays as I need to play the course with a first player and then exit the course with a second player (thankfully this trick works and the tournament continues).

Overall Approach

1-Player,Time Trial Single Race, 1 Lap

I wanted to race as many courses as possible in Test Drive mode, because this allowed me to use a very fast vehicle. However, when first powering on the system, players do not yet have any vehicles to use in the Test Drive mode. I need to play something in the "1 Player" mode to unlock a vehicle for the Test Drive mode.
When choosing the "1 Player" mode, I selected "Spider" as my player. The player choice does not affect the race characteristics but their animations do affect the menu delays. Spider's animations are the shortest in the game (believe it or not) and this saves a significant amount of time over the run. I also take this opportunity to enter the "GIVETRAX" code as I will not have another chance in the run to do this.
I chose to race six courses in this mode. Two were because they are not available in Test Drive mode (Splash 'N Dash (which uses two different vehicles) and Interesting Voyage (which contains a second, microscopic, level)). One was because it requires a boat (Crash and Fern) and would require a time consuming vehicle change to do in Test Drive mode. The other three were because they use the F1 vehicle (which is faster than the vehicle I can unlock in Time Trials) and they give a chance to level up the vehicle I will be using for the Test Drive mode.
The best vehicle I am able to manipulate by getting fast times in Time Trials mode is the Flying Wedge. I am not able to manipulate this (or any very good vehicle) on the two water levels, so I am only able to get this vehicle up to Level 4. Note that I drive strangely at the end of some of these races in order to manipulate a specific vehicle, this does not result in a loss of in-race time. However, on Pot Luck, I had to introduce some additional frames after the race to be able to manipulate the Flying Wedge.
I have one specific level comment. On the Interesting Voyage microscopic stage, I use a trick I found to cut through the microbial walls. The game checks to see if you are in a wall and forces you forward out of the wall. By backing into the wall, I am able to trick the game into forcing me through the wall.

Stats, Test Drive, 1 Lap

I choose the Level 4 Flying Wedge (note that I ensured that the other vehicles I manipulated were vehicles that appear to the right of the Flying Wedge in this menu so that I did not have to waste time selecting the Flying Wedge). The Flying Wedge is very fast but has difficult handling characteristics. Therefore I have to strategically brake and/or ricochet frequently. In my opinion this actually increases the entertainment value though.
A few specific level comments: Rack N' Roll: I take a very large shortcut on this level by jumping into the bottom of the second pool table. This is the only time in the game that I was actually able to skip entire waypoint areas. I am not sure why this works but I tried similar approaches on other levels and it never succeeded. I think the game skips the waypoint check when I go through a portal (the corner pocket) that is a continuation of an existing waypoint (the side pocket is part of the same waypoint). This is a very fortunate situation that saves a lot of time.
Trucker's Luck: I am able to finish the course by touching part of the level well past the finish line. This is because the level does not have a required waypoint between the finish line and the spot I hit. This type of level design oversight does not occur on any other course.
Learning Curves: I just love the path I am able to take on this course. I completely break apart the required waypoints structure to race the course in a completely counterintuitive way.

Party Play, 2-Player (1 controller), TT Tournament; 1 Lap

As previously mentioned, I must go to the Party Play mode (strange as it seems) in order to play three of the levels. However, the only way to play these levels is within structure TT Tournaments. Thus, I must play at least six levels in this mode. I chose to have two players (the minimum permitted in this mode) using a single controller (to reduce menu delays at the controller selection screen). I chose to use Jethro because he has the second shortest character animations in the game after Spider. After Spider completes the race, I must start the same race with Jethro but I am able to exit the course immediately and the tournament is permitted to continue (thankfully).
I do make one speed / entertainment tradeoff in this mode. I play Speedy Circuits (a five race tournament that I must exit after the third race) before Bumps 'N Jumps (a three race tournament that I must play all of). I do this so that the movie can end with a more satisfying "Congratulations" screen. I could probably save a few frames by switching the order of these tournaments (I haven't checked what the exact savings would be). However, I prefer to have some sort of reasonable completion screen.
After the movie ends, if you wish, you can navigate to the "Stats" menu and confirm that Spider does, in fact, now have 43 unique records (one on each course).
Note that although there is a "Random Track Selection" TT Tournament, I tried extensively and was never able to manipulate the tracks in this tournament to include any of the three courses that are otherwise not available for record times. Therefore, I was forced to choose the aforementioned tournaments.

Track Times Summary Table:

1-Player, Time Trial Single Race; 1 Lap

OrderTrack NameInternal IDTime
1Brake-Fast BendsBREAKY714.21
2Crash and FernGARDEN77.85
3Splash 'N DashGARDEN518.91
4Pot LuckPOOL415.59
5Interesting VoyageLAB324.37
6Formula XLAB411.50
Subtotal:92.43

Stats, Test Drive; 1 Lap

OrderTrack NameInternal IDTime
7Bio-HazardLAB515.87
8Periodic ParkLAB64.15
9Pulling PowerLAB212.28
10Right on CuePOOL35.71
11Rack 'N RollPOOL212.06
12Swerve ShotPOOL13.04
13Beware of the DogGARDEN28.71
14Destruction DirtboxGARDEN17.47
15WipeupBREAKY67.29
16Hair of the DogBREAKY59.55
17Super BowlBREAKY44.40
18Breakfast at Cherry'sBREAKY34.46
19Cereal KillerBREAKY212.20
20Cheesey JumpsBREAKY14.04
21Calculator RiskSCHOOL16.01
22Trucker's LuckSCHOOL24.91
23Text Book ManeuverSCHOOL38.30
24Must Try HarderSCHOOL45.19
25Learning CurvesSCHOOL55.74
26Vindaloo Drive-ThruREST14.56
27Baguette BalanceREST24.91
28The Main CourseREST32.97
29Tanks AlotREST44.56
30Pebble DashBEACH16.16
31Bikini BlazerBEACH25.53
32Bucket and SpeedBEACH48.57
33Sand BlasterBEACH54.67
34Dunes of HazardBEACH68.64
Subtotal:191.95

Party Play, 2-Player (1 controller), TT Tournament; 1 Lap

OrderTrack NameInternal IDTime
WET 'N WILD
35Pond LifeGARDEN69.99
36Chemical WarfareLAB78.65
37Toad RageGARDEN318.43
SPEEDY CIRCUITS
38Stinky SinksLAB17.81
39Snail TrailGARDEN414.31
40School RulezSCHOOL67.71
BUMPS 'N JUMPS
41Beached BuggiesBEACH37.95
42Love TrianglePOOL515.70
43Fast FoodREST54.25
Subtotal:94.80
TOTAL:379.18

Nahoc: claimed for judging.
Nahoc: File syncs? Check. Good enough audience response? Check. Well-researched work? Check. Optimized movement? Check.
Well, I see no reason for not accepting this. Would be great if someone could provide and cutscene-less encode or something similar.
feos: Processing...


Site Admin, Skilled player (1250)
Joined: 4/17/2010
Posts: 11468
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
So what was the working version? And what's the total size of your lossless capture? I may be interested in getting it by torrent.
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.
Experienced player (607)
Joined: 10/23/2004
Posts: 706
Sorry. I don't know off hand. It's on my desktop at home. The size was on the order of 100GB, I believe. It had one issue. Near the beginning I paused the playback, not realizing that would be visible in the encode. But, if I'm removing duplicate frames anyway when compressing, would that pause be automatically removed? I wasn't successful at encoding again after that time.
Current Project: - Mario Kart 64
Emulator Coder, Skilled player (1112)
Joined: 5/1/2010
Posts: 1217
Weatherton wrote:
It had one issue. Near the beginning I paused the playback, not realizing that would be visible in the encode. But, if I'm removing duplicate frames anyway when compressing, would that pause be automatically removed?
Nope, because duplicate frame removal only removes truly identical frames, and that text makes it not-identical, so it is preserved.
Experienced player (607)
Joined: 10/23/2004
Posts: 706
What text? The pause only showed up as staying too long on one frame?
Current Project: - Mario Kart 64
Active player (428)
Joined: 9/7/2007
Posts: 329
It was a bit hard to follow the races without a HUD map, but I appreciate the shortcuts, and the work that went into the route planning. Ah, those silly N64 days when they couldn't tone down the menus and cutscenes (and collectathons). Yes vote, ignoring the genre inherent repetitiveness. I watched this run while splitting my attention with a racing movie, "Le Mans".
Site Admin, Skilled player (1250)
Joined: 4/17/2010
Posts: 11468
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Weatherton wrote:
Sorry. I don't know off hand. It's on my desktop at home.
Was it at least some version of Glide64 or another plugin like Rice?
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.
Experienced player (607)
Joined: 10/23/2004
Posts: 706
Glide 64, Wonder ++ or something, the latest version when I started in early 2010. The Glide plugin are the only ones that rendered the tire tracks reasonably well.
Current Project: - Mario Kart 64
Site Admin, Skilled player (1250)
Joined: 4/17/2010
Posts: 11468
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Okay, dump is ready for encoding. Nahoc, will it be accepted (so that I can really start making the encodes)?
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.
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
Finally got around to watching this. The menus do take away some of the entertainment, but seeing the tracks abused made them bearable. A yes vote from me.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15527
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. ---- [2392] N64 Micro Machines 64 Turbo "All Courses" by Weatherton in 23:51.37
Joined: 9/27/2011
Posts: 207
Location: Finland
This TAS shows that the course outlines are more suggestions than hard rules you have to follow.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4042
Has this gotten a nicovideo encode yet? If not, any chance of it?
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Experienced player (607)
Joined: 10/23/2004
Posts: 706
Nahoc wrote:
(also, an encode without all the menus and stuff would so much better; I wish someone provides one.)
What would be the best tool to edit the movie? Normally I would use Adobe Premiere for video editing, but I'm not sure it would support the uncompressed video and odd resolution.
Current Project: - Mario Kart 64
Site Admin, Skilled player (1250)
Joined: 4/17/2010
Posts: 11468
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Use virtualdub.
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.
Experienced player (607)
Joined: 10/23/2004
Posts: 706
thanks Feos. I have created a cut of the run with just the races. When I saved the cut, it ballooned to 96GB though (for just a few minutes). I'll try to follow the encoders guide for adding a title, compressing and whatnot.
Current Project: - Mario Kart 64
Site Admin, Skilled player (1250)
Joined: 4/17/2010
Posts: 11468
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
VirtualDub usage (including compression and resizing) is described at custom encoding guide. http://tasvideos.org/EncodingGuide/CustomEncoding.html
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.
Experienced player (607)
Joined: 10/23/2004
Posts: 706
Feos, I get the following error when I run the global.bat file. Any idea what I'm doing wrong?
Current Project: - Mario Kart 64
Site Admin, Skilled player (1250)
Joined: 4/17/2010
Posts: 11468
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Use the AviSynth download link right from the Manual. It leads you to 2.6 alpha release.
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.
Experienced player (607)
Joined: 10/23/2004
Posts: 706
Ah. That seems to have done the trick. I had installed 2.5.8 from that link since it said it was the last official release.
Current Project: - Mario Kart 64
Experienced player (607)
Joined: 10/23/2004
Posts: 706
So, now I have everything running and I encoded the 10-bit primary download. Which went fine, but it didn't come out in HD. So I chose "HD Stream [Youtube.com]". However, that choice always ends with an error and then sends me to https://encoders.tasvideos.org/status.html . Do I need to be an approved encoder to use that Setting? How do I get an HD output?
Current Project: - Mario Kart 64
Site Admin, Skilled player (1250)
Joined: 4/17/2010
Posts: 11468
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
HD output, if it was created, must be just sitting in the "output" folder. And if the error was in uploading it to tasvideos, then you will need Encoder role. However I'm not sure if it is the error you are getting. Can you quote it?
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.
Experienced player (607)
Joined: 10/23/2004
Posts: 706
I will try running it again to see what the error is. It only appeared on the screen briefly.
Current Project: - Mario Kart 64
Site Admin, Skilled player (1250)
Joined: 4/17/2010
Posts: 11468
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
you can add "pause" at the end of the batch file to read all you wish after it is executed. or even change "@echo" to "on".
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.
Experienced player (607)
Joined: 10/23/2004
Posts: 706
The standard encode completed successfully and I've uploaded it to: Link to video I got errors on all of the other video types. The 10-bit encode failed with a "sox.exe" system error because "zlib1.dll" is missing from my computer. The YouTube HD stream encode failed with a "Runtime error: Could not get file contents."
Current Project: - Mario Kart 64
Site Admin, Skilled player (1250)
Joined: 4/17/2010
Posts: 11468
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
I added zlib1 to the package, redownload. Not sure what's wrong with HD though. Quote the surrounding lines as well (snapshot is also ok). BTW, for SDs, you will need to resize your capture:
Language: avisynth

LanczosResize(320,240)
.
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.