[Question]
  [
# Background
[Boggle](https://en.wikipedia.org/wiki/Boggle) is a board game where the players have to find English words on a 4-by-4 board of random alphabets. Words can be constructed by selecting sequentially adjacent cells on the board. ("adjacent" means horizontally, vertically or diagonally adjacent.) Also, same cell can't be used more than once in a word.
The following is an example board:
```
I L A W
B N G E
I U A O
A S R L
```
On this board, `BINGO`, `ORANGE` and `WEARS` are valid words, but `SURGE` and `RUSSIA` are not:
* `SURGE` : There's no adjacent pair on the board having `RG`.
* `RUSSIA` : `S` cannot be used twice.
**Modified Boggle** is a modified version of Boggle, with the following rules:
* The board size is `n`-by-`n`, where `n` can be any positive integer.
* Each cell can contain any one byte between 0 and 255 inclusive.
* A cell can be used more than once, *but not twice in a row*.
Using the example board above, in addition to `BINGO`, `ORANGE` and `WEARS`, `LANGUAGE` becomes a valid string (since `G` is used twice, but not twice in a row) but `RUSSIA` is still not (due to `SS` pair).
Here is another example using a code fragment. The string `from itertools import*\n` can be found on the following board, but not `from itertoosl import*` or `from itertools import *`:
```
f   i   ' ' s
r   t   m   l
e   o   o   p
\n  *   t   r
```
Note that you need two `o`'s in order to match the `oo` sequence.
# Challenge
Write a function or program that, given a Modified Boggle board `B` (of any size) and a string `s`, determines if `s` can be found on `B`.
# Restrictions
**Your code itself should also fit on a Modified Boggle board `b`.** That is, you must show the board `b` in your submission along with your code, so that your function/program outputs true if it is given `b` and your code as input.
# Scoring
**The score of your submission is the side length of the smallest board `b` where you can fit your code.** Ties are broken by the usual [code-golf](/questions/tagged/code-golf "show questions tagged 'code-golf'") rules, i.e. the length of your code in bytes. The submission with the **lowest score** (for both criteria) wins.
For example, `from itertools import*\n` has the score of 4 (using the board above) and code length of 23 bytes.
# Input and Output
For input, you can take any convenient method for both `B` and `s`. This includes list of chars and list of charcodes, 2D or flattened or whatever makes sense. Also, you can optionally take the board size as a part of the input.
For output, you can choose one of the following:
* Truthy and falsy values following your language's convention, or
* One predefined value for true and false respectively.
Please specify your input/output method in your submission.
  
[Answer]
# Python 2, score 3, 20972 bytes
```
exec'cecxc%c'%(1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)+…
```
Full code is the output of: [Try it online!](https://tio.run/##XVLBbtswDD3HX8FpCCTNnpH0GMQFvGEoCmQdMKPYIfNBU9RUmyMLthsk@/mMpGtgqQ8SST@Sj4@K5@G5DTcX2@4cFCCE@Hmxzp5sYcI5sRnahQ/xZVA6sSd0GheURduxYw6/dmaGcATSQfgVmetCyrajP1sM1VtbFwXFt4v6drHmDoprqCl5u1zVGTrknhCgn8b8k515bPlR2duFpg6pSpepXRMbPYHcCHIEcyPQMZkR7Ca4f1L/t3hXKEZpGs4WnQl7pxiZxM6HYXZF9LUmZ0/8HNMjCrORipt8fUEx864fOh9RvOQ9fEaN9y4AAsGAfTadsYPr8mSPyo9Sgl2BkHMr50pACjKV@e8WJ5NL@aHtdqi8xrDQgup9NX8cFgrGHx30bfMy@DbkeZ5UtEnifFXjYKLaZ7RozXTKGJsz5h0ctHHwB//XUIE@T4jgEXzAXBYP6ALWAnBCOqk6sIjAglKcw@wDxwE797Hx@HZWCeBHvKq8c7Ex1qk3xOCodUbD91LMjzq5BgtEkywCIXzzCMyiQoO3BfQ2q9fVQXXZyvtN@UNm8tPD3Re87h/Lb3iV1feNrDOQm/Lh7rHEX/8A "Python 2 – Try It Online")
Fits on the Boggle board:
```
e x (
c % 1
' + )
```
Decodes and executes this program:
```
cecxc=any
c,cec=input()
cxec=len(c)
cexec=lambda    cxc,cexc,c,cec:cexc<=''or   cxc[cec][c]==cexc[0]>0<cecxc(cexec(cxc,cexc[1:],cxcxc,cxcec)for cxcxc   in(c-(c>0),c,c+(+1+c<cxec))for  cxcec   in(cec-(cec>0),cec,cec+(+1+cec<cxec))if(cxcxc,cxcec)!=(c,cec))
cxc=range(cxec)
print   cecxc(cexec(c,cec,cexc,cxec)for cexc    in  cxc for cxec    in  cxc)
```
Which takes input like: `['ILAW','BNGE','IUAO','ASRL'], 'LANGUAGE'`
[Answer]
# [CJam](https://sourceforge.net/p/cjam), score 2, 9351 bytes
```
'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~)))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))'))))))))~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))~'))))))))))))))))))')))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))~'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))~'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))~
```
[Try it online!](https://tio.run/##7VmxCgMhDN37FcVF7jNSOORArtBydCgdSrdCf8FftzcUOisx9@LFxcnkvZgXo77ez0/OfviNNAiObby2wdGQS51pWFIsRiFSRwYEeHYq3FYdEYUJKCvV5sVMrDL0U4Lgzq4tXCgRNIQc8diY6jGZIKpKjdJ5PQhlLtCdoXRVJ4qAlASoCxMF6IFX43a3JxpqFyOYO5WuQJppNhx4Txv23IeNg5sVSJQKYSh5ZO02/lph2x5qLC96vztbIscNrfwPqN16rDeyTmknnVLRSJ7L0n@tb0MwabOb891N8Ubu6E5zGNdpWui8TnS9RPc4RJrDQmH8Ag "CJam – Try It Online") Expects input like:
```
["ILWA" "BNGE" "IUAO" "ASRL"]
LANGUAGE
```
and fits on the Boggle board:
```
' )
~ )
```
Constructs the string `l~:Q,:K;{\:Y;\:X;:C,!_{;QY=X=C0==_{;[X(XX)]K,&[Y(YY)]K,&m*[XY]a-C1>:D;{~DF}%:|}&}|}:F;l:R;K,2m*{~RF}%:|~` then evaluates it as CJam code.
[Answer]
# [Clean](http://clean.cs.ru.nl), score 12 (175 bytes)
(This is almost certainly going to be outgolfed by an esolang and probably normal languages as well.)
```
import StdEnv;>[]_ _ _ _=True;>[c:s]i j n a=i<n&&j<n&&i>=0&&j>=0&&a.[i,j]==c&&or[>s k l n a\\k<-[i-1..i+1],l<-[j-1..j+1]|i<>k||j<>l];$n c a=or[>c i j n a\\i<-[0..n],j<-[0..n]]
```
This defines a function `$ :: Int [Char] {#String} -> Bool` which checks whether the second argument (the word) can be found in the third argument (the board) given the first argument as width.
In the board on which this fits (see below), `*` marks unused places. There are 16 of those, on a board of size 12×12 = 144, meaning 128 are used effectively (an **efficiency** of **175/128 ≈ 1.37**). It may be possible to get the same program on 11×11, but this is all done by hand and very tedious; my boss probably wouldn't be happy if I would try to get it on 11×11.
```
* * & & * * * * * * * ;
s [ n < j * * u r T > v
  > r & i > * e =   [ n
l k o & 0 = n   ; _ ] E
  & a . = ] a j i > [ d
a n & c [ j . + ] s c t
\ k < - i , - . 1 | : S
\ * 1 l . + 1 = i j |  
[ i \ . , ] o a < > k t
0 - < \ a   r >   l ] r
. j , * n j [ i c $ ; o
. n ] ] * *     n i m p
```
[Try it online (with the program itself as input)!](https://tio.run/##tZHBjtsgEIbP9VOMspEjEZuNe1wbn7qHSr0lNxutWEyzYAxZIJFWdV@9LiG7PfVWFaTRzKcZ4P/hWjCzTHY4awETk2aR08m6APswPJpL3Xb0CdImB3cWseYPnkpQYIAR2Zg8V9cgW7KLaYoMd7JQlBCe59Z1rYcR9LW/78em7GRZYSy3FS10rNS1UrGaZdOO86yaVtN6bYDH86/THN5v63sZ@3cYG1qoj4wu@8DicwmsofoMJ2ePjk3wbJkbsuz@Hg4vAjybBHA7CGAe2LO9iOyjkUC3@a@K/1Xz31Vv6B9xSWoNxgYB4YUF6MGJ17N0woPwnJ2kORbgLcgAgxXebAJoa8folQjhLUvz0Ycfd9mnFUJ5jm6rXhUR@M40CqGzO7SXBKB1UToS0TiTgB5tviMG6if6eOuIdhDKlGy7IQFmct4pvKWehwSSJ7IocTU/7N8JqjTeVkSqGRLpZN/jgloWHbpN7cqm7xm4FjR1iWBVIKM6yde1vYFoDUIAJn7p6me2/OLfNTv6pfz6bfnyZtgkuf8N "Clean – Try It Online")
[Answer]
# Java, score 23, ~~538~~ 507 bytes
NSFW
```
import java.util.function.*;import java.util.stream.*;class B{static BiFunction<char[][],String,BiFunction<Integer,Integer,Byte>>f;{f=(b,s)->(i,j)->{try{if(b[i][j]!=s.charAt(0))return 0;}catch(Exception e){return 0;}if(s.length()<2)return 1;byte t=0;for(int k=9;k-->1;){t|=f.apply(b,s.substring(1)).apply(i+~k%3+1,j+~(k/3)%3+1);}return t;};BiFunction<char[][],String,Byte>g=(b,s)->{int l=b.length;return (byte)IntStream.range(0,l*l).map(i->f.apply(b,s).apply(i%l,i/l)).reduce((x,y)->x+y-x*y).getAsInt();};}}
```
[Try it online!](https://tio.run/##tVLBjtsgEL3vV9CVVoYEs0n3VLG2tJZaqeccrRywgx1sQiwYb2NR76@nOOtkV6rUW5HQAE/z3pthGvEq4mbXns/q0B0toCY8sB6UZlVvSlBHwxb8L8yBleIQkFIL51DmHQhQJcrUjznrudwLm2/zLd2AVaamn6CfBmQtLb3GbACZphX3VYIL6kicYkWbEDzYwasKF7na5s32S@LYRPsCeEWIldBbg1Z8LAWUe/z9VMpu4keS@A8wpDumpalhj8nz12vamhdBFUGy4tXRYmUAtck33sZxuubEw@@kYqLr9DA5Yq4v3KUMvCZkflfLt/bhabmmzfINt49PZLoQPs4CwEf@r3ZMNdfXev2kr5NiNspnDjx5JKFNm/d@W2FqiVdULzRhB9FhFaefbN6cPWiqHnVwauWuLyXGJzoEldNyiE@LgbBawosLtDjY5Wc0r83gQB7YsQfWBY@gDa5nRiN/oWsF3kcuopEIW0Yj9VERTibs9nIrw6m84ONI0b0zopX3hPC7/ysTxvCmMt5dQtcXOszkPJqvR7VDB6EMfv@BfIuErR1B/uYsQwVK0GQiwzeq8fwH "Java (JDK 10) – Don't Try It Online")
Compiled with JDK 9, but should work with 8.
I didn't know what to do with the imports and static field (which is in fact necessary), so I decided to just take the whole class and stick the lambdas in a initializer.
The lambda `g` can then be applied on a 2D array and a string, and returns `1` if the string is in the board and `0` if not (as a `Byte`, 3 characters shorter than `Integer`).
Credit to [this](https://codegolf.stackexchange.com/a/164762) guy for a (in my case) shorter than hardcoding way to address neighbouring cells.
Somewhere in the progress of making this monstrosity I got invested in making it work with lambdas it got progressively worse and worse until this happened. It doesn't even get close to the other answers and it is probably not even close to the optimal solution in Java, but hey, it fits pretty neatly on a 23x23 board (which is not optimal, but perhaps closer than the program itself):
```
duce((x,y)->x+y-x*y).ge
e l=b.length;return (bt
rt3+1,j+~(k/3)%3+1);}yA
.n%te t=0;for(int k=rts
)iky0;}catchExcepti9e)I
){~b (b,s)->(i,j)-o;tIn
l>+;n=ring,iFunct>nkunt
/-i1rftass B{stai{ -rt(
i)( u{Slport jatote-nS)
,synt;,cmutil.vinr)> t;
l,lref];i.porfac<y{1tr}
%bpur>[*;amitu. I{r;}e;
i(pt)>].*vaj nuBnie);a}
y=ae)e[m.noitctitft{Bm}
lg.r0traerts.liFe(uti.}
p>))(yhc<noitcnugbr|Fr 
pe12tB,regetnI,re[n=ua 
at(<Arahc.s=!]j[]i fng 
.yg)(htgnel.s(fi};0.ce 
)Bnirtsbus.s,b(ylppat( 
s,gnirtS,][][rahc<noi0 
,b(ylppa.f>-i(pm.)l*l,                            
```
Of course, at that point there was no point in trying to make that by hand. So as a bonus, here's the (naive) function I used to compress the code onto the board: 
```
static char[][] toBoggleBoard(String s, int n) {
    char[][] board = new char[n][n];
    int i = n / 2;
    int j = i;
    int[] d = {1, 0};
    s = s + s.charAt(s.length() - 1); //the last char gets eaten don't ask me why PS editing loop condition does make it work but causes a StringIndexOutOfBoundsException
    board[i][j] = s.charAt(0);
    s = s.substring(1);
    while (s.length() > 0)
    {
        int[] ra = add(d, right(d));
        int[] r = right(d);
        int[] l = left(d);
        if (board[i + d[0]][j + d[1]] > 0)
        {
            if (board[i + d[0]][j + d[1]] == s.charAt(0))
            {
                i += d[0];
                j += d[1];
                s = s.substring(1);
            }
            else
            {
                i += l[0];
                j += l[1];
                board[i][j] = s.charAt(0);
                s = s.substring(1);
            }
        }
        else if (board[i + ra[0]][j + ra[1]] == s.charAt(0))
        {
            i += ra[0];
            j += ra[1];
            s = s.substring(1);
        }
        else if (board[i + r[0]][j + r[1]] > 0)
        {
            i += d[0];
            j += d[1];
            board[i][j] = s.charAt(0);
            s = s.substring(1);
        }
        else
        {
            int[] rb = sub(r, d);
            d = r;
            if (board[i + rb[0]][j + rb[1]] > 0)
            {
                continue;
            }
            else
            {
                i += d[0];
                j += d[1];
                board[i][j] = s.charAt(0);
                s = s.substring(1);
            }   
        }
    }
    for (int k = 0; k < board.length; ++k)
    {
        for (int l = 0; l < board.length; ++l)
        {
            if (board[k][l] == 0)
            {
                board[k][l] = ' ';
            }
        }
    }
    return board;
}
static int[] left(int[] d) {
    return new int[]{-d[1], d[0]};
}
static int[] right(int[] d) {
    return new int[]{d[1], -d[0]};
}
static int[] add(int[] x, int[] y) {
    return new int[]{x[0] + y[0], x[1] + y[1]};
}
static int[] sub(int[] x, int[] y) {
    return new int[]{x[0] - y[0], x[1] - y[1]};
}
```
It maps it's input onto a spiralthe snaking implementation didn't work, leaving characters out if possible. It's rather simple so could probably be improved and I forgot to add checking for characters in the backwards-right direction(update: I added it an it produced incorrect results), so I could probably shave off one or two characters but I doubt it's getting on a 22x22.
Edit:
Removed 6 spaces in places they didn't need to be.
Saved 13 bytes by replacing a check on array indices with a try-catch.
Shaved off 12 bytes by moving the board size into an `int`.
[Answer]
# [Jelly](https://github.com/DennisMitchell/jelly), 2316 bytes, score 3
```
1111111111111111111111111111111,11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,111111111111111111111111111111111111111111111111,11111111111111111111,11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,1111111111111111111,11111111111111111111111111111111111111111111111,111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,1111111111111,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111D§ịØJv
```
[Try it online!](https://tio.run/##y0rNyan8/98QP9AxHJ5AZ5g4S2dweE5nNI0MP3fpDBG/64wm1mHhT52h4jSd0VAdZk5yObT84e7uwzO8yv4fbj866eHOGf//R0erp2UqFKvrKKgXleTmgOjU/PwCEB2Tp1VSpB4LZKUV5ecqZJakFpXk5@cUK2TmFuQXlWipxwIA "Jelly – Try It Online")
Board:
```
1,v
D1J
§ịØ
```
Note: this is a (somewhat) trivial solution. Credit to [Lynn](https://codegolf.stackexchange.com/users/3852/lynn) for the [idea](https://codegolf.stackexchange.com/a/165171/41024).
Returns a non-empty list if `s` can be found in `B`, and an empty list if not. The added footer helps clarifying that.
]