The 2008 NDS game Emma at the Farm features rather simplistic gameplay, which makes sense given that it's clearly aimed at young children. To beat the game and get to the credits you have to play through 16 farming-themed minigames (and skip a lot of dialogue).
Footnote: while there is a PC version of this game—which I even played back in 2013—that one seems to be German-exclusive.
This is one of the games on my to-TAS list because this is one of the few non-PC games I ever ran (although I last did so over 10 years ago). Because I didn't want the next game I'll TAS to get out of hand in terms of preparation and research (coughMax Paynecough) I decided to give this game a shot; here's v1 of the TAS so I have a baseline to compare against:
Link to video and bk2 fileGame version & language comparison
As far as I can tell there are three different ROMs; two EU versions and one US version:
The US ROM features the languages English, French, and Spanish:
Emma at the Farm (USA) (En,Fr,Es)
SHA1:468FB4690372AA49918C59C59A8AB14CB4C17975
MD5:8C1D268D66DA8B0AF917FB042BBC875E
One EU ROM features the languages English, French, German, Italian, Spanish, Portuguese, and Dutch:
Emma at the Farm (Europe) (En,Fr,De,Es,It,Nl,Pt)
SHA1:9B4CCF98D4CE439C6C5C6CAB8F1A2A38F64CFA5A
MD5:852BB00B96C1D2780AD19C02D52D5704
And the other EU ROM features the languages English, German, Danish, Swedish, Finnish, and Norwegian:
Emma at the Farm (Europe) (En,De,Sv,No,Da,Fi)
SHA1:6CEC318FFB82B445CA20332763AE243480715BD7
MD5:B004B5BA9B1B9874BD61C5D79CB9A0C9
Given that the majority of the run is spent skipping dialogues the first thing I tested was which languages are fastest, resp. have the least dialogue. While for this site, regional differences such as text and cutscene length are completely discounted when considering improvements this (a) was still valuable information for RTA runs, and (b) because I got all of this information by TASing each language individually I learned a lot about how the game works. For example, almost every minigame can be copy-pasted from one language to another without de-syncing. Also I ended up finding a variable memory address that changes always 2 frames after a dialogue can be skipped (likely related to the green skip button appearing) which allowed me to write a simple Lua script which insert these dialogue-skip-inputs automatically.
I summarized the results of this investigation over on the speedrun.com leaderboard (backup)—which is itself based on this spreadsheet—but the tl;dr of that is that the dialogue in Norwegian is fastest, followed by Danish (+1.9s) and English (+6.0s). The slowest languages for dialogue are French (+31.0s) and Portuguese (+33.4s).
Also, for the languages that overlap between different ROMs there seems to be no difference in gameplay (e.g., I did not observe any gameplay/TAS differences between the EU ROM in English and the US ROM in English). So given that English is only a few seconds slower & because the majority of this game is text, I'll probably end up TASing the same version again as in v1 (i.e., English for entertainment reasons).
Notable minigames
While some of the minigames are trivial to optimize, this is certainly not true for all of them. Here are the minigames where I see the most optimization potential for v2:
Minigame 1: Egg search: The main activity here is to use the touchscreen to clear some hay so you can find the egg hidden underneath. The obvious thing to optimize here is to minimize the time/touch inputs to uncover the egg. However, in v1 I encountered something strange: the third egg was already uncovered, that is, I did not have to clear and hay & was just able to pick it up. I have never seen this in any RTA run before, and I was also not able to make this happen for any of the other eggs. So this is on my to-do list
Minigame 2: Catch the eggs: Maybe you can manipulate RNG here to make the eggs appear on screen faster? I did manage to change where the eggs appear, but I haven't yet tried any targeted manipulation
Minigame 7: Milk the cow: There are two variables here: which of the two teats to milk, and how long to move the stylus each time. Or maybe it's fastest to alternate between the left and the right one? To be investigated
Minigame 10: Catch the piglets: Here you have to catch three piglets by tapping them and following their movement. What I already know is that go from bottom to top (because the bottom pig takes longest to get to the trough). However, I did observe that different inputs (or maybe different times when to let go?) did change the piglets' trajectories. So I'll have to figure out what movements gets the bottom piglet to the trough the fastest
Minigame 13: Water the plants: From my testing the game's logic here is quite rigid, i.e., it seems that you cannot turn the tap off early & that you cannot even skip the "You have already watered there" message (which comes with a ~1s forced wait time). Maybe I'll find something if I play around with this more
Other to-dos
Aside from seeing how much I can optimize the minigames, after I finished v1 I noticed an NDS/melonDS setting "Stylus interpolation" which is turned on by default. It seems to me that this game rarely needs this interpolation, which is why I think that turning it off for v2 should save a couple of frames in total.