Using a technique discussed in this answer, here's how you might define the "tribonacci" numbers/polynomials recursively:
SetAttributes[Tribonacci, Listable];
Tribonacci[0, x_] := 0;
Tribonacci[1, x_] := 1;
Tribonacci[2, x_] := x^2;
Tribonacci[n_Integer, x_] := Module[{al, xl},
Set @@ Hold[Tribonacci[n, xl_],
Expand[xl^2 Tribonacci[n - 1, xl] + xl Tribonacci[n - 2, xl] + Tribonacci[n - 3, xl]]];
Tribonacci[n, x]];
Tribonacci[n_Integer] := Tribonacci[n, 1]
Since I set the function to be Listable, it is now easy to generate a pile of these polynomials:
Tribonacci[Range[0, 10], t]
{0, 1, t^2, t + t^4, 1 + 2 t^3 + t^6, 3 t^2 + 3 t^5 + t^8, 2 t + 6 t^4 + 4 t^7 + t^10,
1 + 7 t^3 + 10 t^6 + 5 t^9 + t^12, 6 t^2 + 16 t^5 + 15 t^8 + 6 t^11 + t^14,
3 t + 19 t^4 + 30 t^7 + 21 t^10 + 7 t^13 + t^16,
1 + 16 t^3 + 45 t^6 + 50 t^9 + 28 t^12 + 8 t^15 + t^18}
Alternatively, you can use LinearRecurrence[] if you just want to generate the pile directly:
LinearRecurrence[{t^2, t, 1}, {0, 1, t^2}, 11] // Expand
Another alternative is to use DifferenceRoot[] in the definition of Tribonacci[]:
Tribonacci[n_Integer, x_] :=
DifferenceRoot[Function[{y, k}, {y[k] == x^2 y[k - 1] + x y[k - 2] + y[k - 3],
y[0] == 0, y[1] == 1, y[2] == x^2}]][n]