public function notFoundAction()
    {
        $templatePathResolver = $this->getServiceLocator()->get('Zend\View\Resolver\TemplatePathStack');

        // I create a template path in which I can find a custom template
        $controller     = explode('\\', get_class($this));
        $controllerPath = str_replace('Controller', '', end($controller));
        $controllerPath = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '-\\1', $controllerPath));
        $uri            = $this->getRequest()->getUri()->getPath();
        if ($this->game) {
            $uri = str_replace($controllerPath.'/'.$this->game->getIdentifier().'/', '', $uri);
        }
        $uri      = str_replace("/".$this->getEvent()->getRouteMatch()->getParam('locale')."/", "/", $uri);
        $template = 'playground-game/'.$controllerPath.'/custom'.$uri;

        $template = (substr($template, -strlen('.html')) === '.html') ? $template : $template . '.phtml';
        if (false === $templatePathResolver->resolve($template)) {
            $viewRender = $this->getServiceLocator()->get('ViewRenderer');

            $this->getEvent()->getRouteMatch()->setParam('action', 'not-found');
            $this->response->setStatusCode(404);

            $res = 'error/404';

            $viewModel = $this->buildView($this->game);
            $viewModel->setTemplate($res);

            $this->layout()->setVariable("content", $viewRender->render($viewModel));
            $this->response->setContent($viewRender->render($this->layout()));

            return $this->response;
        }

        $viewModel = $this->buildView($this->game);
        $viewModel->setTemplate($template);

        return $viewModel;
    }