Update
The model for the birds comes from here but I draw myself my new ugly birds with a simple drawing. It's possible to make a code shorter. Now the code with the foreach is ugly. I was not able to find something elegant.
\documentclass[border=6pt]{standalone}
\usepackage{tikz}
\begin{document}
\newcommand\myuglybird[2]{%http://www.tess-elation.co.uk/birds---an-introduction/birds-1-1
\begin{scope}[rotate=45,#1]
\draw[#2] (0,0) -- ++(0, 1) -- ++( .5,.5) -- ++( .5,-.5)
-- ++(0, 1) -- ++( .5,.5) -- ++( .5,-.5)
-- ++(0,-1) -- ++( .5,.5) -- ++( .5,-.5)
-- ++(0,-1) -- ++(-.5,.5) -- ++(-.5,-.5)
-- ++(0,-1) -- ++(-.5,.5) -- ++(-.5,-.5)
-- ++(0, 1) -- ++(-.5,.5) -- cycle;
\draw ( .2, .2) -- ( .2, .6)
( .4, .4) -- ( .4, .8)
( .6, .4) -- ( .6, .8)
( .8, .2) -- ( .8, .6)
(1.2,-.8) -- (1.2, .2)
(1.4,-.6) -- (1.4, .4)
(1.6,-.6) -- (1.6, .4)
(1.8,-.8) -- (1.8, .2)
(2.2, .2) -- (2.2, .6)
(2.4, .4) -- (2.4, .8)
(2.6, .4) -- (2.6, .8)
(2.8, .2) -- (2.8, .6)
(1.3,2.3) -- (1.5,2.1) -- (1.7,2.3)
(1.5,2.5) -- (1.5,2.1)
(1.7,2.0) circle (2pt)
(1,0) -- ++(.5,.5) --++(.5,-.5) ;
\end{scope}
}%
\begin{tikzpicture}
\draw[thick] (-3,5) rectangle (12,11);
\clip (-3,5) rectangle (12,11);
\foreach \y in {0,1,...,5}{%
\foreach \x in {0,1,...,9}{%
\pgfmathsetmacro{\z}{mod(\x+\y,4)}
\ifcase\z
\def\col{blue}
\or
\def\col{red}
\or
\def\col{green}
\or
\def\col{yellow}
\fi
\pgfmathsetmacro{\xx}{2*\x-mod(\y,2)-1}
\pgfmathsetmacro{\yy}{-\x+3*\y}
\ifnum 2=\y \pgfmathsetmacro{\yy}{-\x+3*\y-1} \fi
\ifnum 3=\y \pgfmathsetmacro{\yy}{-\x+3*\y-1} \fi
\ifnum 4=\y \pgfmathsetmacro{\yy}{-\x+3*\y-2} \fi
\ifnum 5=\y \pgfmathsetmacro{\yy}{-\x+3*\y-2} \fi
\ifnum 6=\y \pgfmathsetmacro{\yy}{-\x+3*\y-2} \fi
\myuglybird{shift={(\xx cm,\yy cm)}}{shade, top color=\col!30}
} }
\end{tikzpicture}
\end{document}
I keep my first ugly bird.
An ugly bird with tesselation
\documentclass[border=6pt]{standalone}
\usepackage{tikz}
\begin{document}
\newcommand\myuglybird[1]{%
\draw[#1] (1.7,2.5) circle (2pt) (0,0) --++(0.25,-3)--++(0.75,0)--++(-0.25,0.5)--++(0,1.75)--++(1.75,0.75)
--++(-1,+2)--++(1,1)--++(-1.75,-0.75)--++(-0,-1.75)--++(+0.25,-0.5)--++(-0.75,0)--++(-0.25,+3)--++(-1,-1)--++(1,-2)--cycle;
}%
\begin{tikzpicture}
\draw[thick] (0,0) rectangle (12,15);
\clip (0,0) rectangle (12,15);
\foreach \y in {0,1,...,6}{%
\foreach \x in {0,1,...,5}{%
\pgfmathsetmacro{\z}{\x+\y}
\ifodd \z \def\col{lightgray} \else \def\col{gray}\fi
\myuglybird{fill=\col,xshift=2.5*\x cm,yshift=3*\y cm}
} }
\end{tikzpicture}
\end{document}