I'd be interested to see how Jonathan at Smoothwall's approached this! I've been doing some investigation in to this myself and blocking it is pretty tricky if the blocked search terms aren't cutting it for you.
To start with, when searching anything on Google, a request is made to the following url every time (the random strings in the url change over time - cache-busting or session related i'd assume):
https://www.google.co.uk/xjs/_/js/k=xjs.s.en_GB.8bUBb2YLuBQ.O/m=sx,sb,cdos,cr,elog,hsm,jsa,r,d,csi/am=wCKyH_8A5P8vGBCFVjDCAtNgGBo/rt=j/d=1/rs=ACT90oHzQkypEaDR6gDYrv_ZSPICxJFoIQ
It looks like the "m=" parameter of the URL specifies the JavaScript modules to load and it then generates JavaScript on the fly. For example, searching for "Zerg Rush" will load in the following JavaScript files from the "google.co.uk" domain:
1. https://www.google.co.uk/xjs/_/js/k=xjs.s.en_GB.8bUBb2YLuBQ.O/m=sx,sb,cdos,cr,elog,hsm,jsa,r,d,csi/am=wCKyH_8A5P8vGBCFVjDCAtNgGBo/rt=j/d=1/rs=ACT90oHzQkypEaDR6gDYrv_ZSPICxJFoIQ
2. https://www.google.co.uk/xjs/_/js/k=xjs.s.en_GB.8bUBb2YLuBQ.O/m=aa,abd,aspn,async,dvl,foot,fpe,ipv6,lu,m,mpck,mu,sf,sonic,spch,tl,vs,zr,d3l,tnv,mrn,exdp,irq,iud,riu,udlg,me,atn/am=wCKyH_8A5P8vGBCFVjDCAtNgGBo/rt=j/d=1/exm=sx,sb,cdos,cr,elog,hsm,jsa,r,d,csi/ed=1/rs=ACT90oHzQkypEaDR6gDYrv_ZSPICxJFoIQ?xjs=s1.
You'll notice on JavaScript file #2 that a module listed is called "zr". Fiddling with the url, i managed to only request the "zr" module and as you may have guessed, it's the Zerg Rush module: https://www.google.co.uk/xjs/_/js/k=xjs.s.en_GB.8bUBb2YLuBQ.O/m=zr/am=wCKyH_8A5P8vGBCFVjDCAtNgGBo/rs=ACT90oHzQkypEaDR6gDYrv_ZSPICxJFoIQ?xjs=s1.
Unfortunately, we cant just block https://www.google.co.uk/xjs/_/js/k=xjs.s.en_GB.*.O/* as this breaks things like calculator, currency conversion and translate.
Games like Pacman and Solitaire load in additional JavaScript/iFrames (https://www.google.co.uk/logos/js/pacman10-hp.10.js, https://www.google.co.uk/logos/fnbx/solitaire/standalone.html) so you can block those which then breaks them.
I've created the below url patterns in Chrome Dev Tools Request Blocking which has successfully prevented the listed games from working without breaking calculator etc.:
Snake & PacMan: "www.google.co.uk/xjs/_/js/k=xjs.s.en_GB.*.O/m=*,snek,*"
Solitaire: "www.google.co.uk/logos/fnbx/solitaire/*"
Zerg Rush: "www.google.co.uk/xjs/_/js/k=xjs.s.en_GB.*.O/m=*,zr,*"
Atari Breakout: "www.google.co.uk/xjs/_/js/k=xjs.s.en_GB.*.O/m=*,boee,*"
The only side-effect I've found is that it breaks the dropdown buttons under the search input box when they search for a game as it's blocking other modules along with just the game one but i'll deem that an acceptable risk.
I'll test all of these on our Smoothwall tomorrow and hopefully get some promising results!