04 22 13 19 47
Français — non disponible sur cette pageEnglish
Free audit

Case study · Software development

A retro contest gameto showcase a range of laptops

A six-level retro Snake game, with quiz, sign-up and contest rules, introducing AI-enabled laptops to a professional audience.

Schematic illustration of the game board. Three lives.
Client
IT distributor (anonymised)
Sector
Distribution of IT solutions for businesses
Audience
Professionals working in IT, innovation and hardware purchasing
Our role
Designing and building the whole campaign website, through to going live

Six chapters

01

The context

Our client is a distributor of IT solutions serving businesses and their IT departments. As part of a marketing campaign, it wanted to promote a range of laptops with artificial intelligence features to a specific audience: professionals working in IT, innovation and hardware purchasing.

This audience already receives plenty of brochures. The client wanted a way in that could hold attention for a few minutes, then lead visitors to the product content.

The idea we settled on

A mini-game inspired by the Snake of early mobile phones, taking the player through several eras of desktop computing, up to today's machines.

02

The problem

The goal was twofold. And the marketing team needed to know what was happening inside the game.

  1. First

    Introduce the products in a playful way

    A technical pitch lands poorly without context. The client wanted every stage of the game to teach something, linking a shared memory from computing history to a feature of the new laptops.

  2. Second

    Collect sign-ups within a regulated framework

    A prize draw comes with obligations:

    • rules that can be consulted
    • clear eligibility conditions
    • a limited list of collected data
    • explicit consent from every participant
  3. Finally

    Know what happens inside the game

    The marketing team wanted to know:

    • how many players start
    • how far they get
    • how they answer the questions
    • how many reach the end of the journey

03

What we did

We designed and built the whole campaign website, through to going live.

The game

  • The game engine: a Snake playable by keyboard and touch, with lives, collisions and progressive speed-up
  • Six levels, each with its own visual world inspired by an era of desktop computing
  • A six-question quiz, one per level, with the correct answer and an explanation
  • An end screen with the player's score

The campaign

  • A home page presenting how the game works
  • A product page: video, feature carousel, themed sections and legal notices
  • A prize-draw sign-up form with mandatory consent
  • The contest rules page

Operations

  • Event tracking for the game and the form, documented for the tag manager
  • Containerisation and an automated deployment pipeline

Six levels, six visual worlds

  1. Level 1
  2. Level 2
  3. Level 3
  4. Level 4
  5. Level 5
  6. Level 6

Each level has its own colours and sprites, inspired by an era of desktop computing.

The copy and quiz questions live in data files that can be edited without touching the components.

04

What the game offers

The home page explains the mission: catch the icons on the board and answer the questions to move from one era to the next.

  1. The board

    The board opens in a window styled after the era. The snake is steered with the keyboard arrow keys; on mobile, directional buttons appear below the board, which resizes to fit the screen. The player has three lives.

    Keyboard arrow keys
    Directional buttons on mobile
  2. The question

    Each icon caught pauses the game and opens a multiple-choice question. The player answers, sees the correct answer and an explanation linking that era to a feature of the new laptops, then resumes play. The next level changes the styling and colours.

    Multiple-choice questionGame paused

    ✓ Correct answer

    Explanation

    Resume play

  3. The end screen

    After the sixth question, a congratulations screen shows the score and the player moves on to the product page, which presents the range and gives access to the sign-up.

    Congratulations

    Score

    On to the product page →

  4. The sign-up

    The form asks for surname, first name, job title, company, and business email and phone number. Common personal email providers are rejected, and submission stays disabled until every field is filled in and consent is ticked. The contest rules, organised into articles, remain accessible throughout the journey.

    Prize-draw sign-up

    • Surname
    • First name
    • Job title
    • Company
    • Business email
    • Business phone

    ✕ Common personal email providers rejected

    Submission disabled until everything is filled in

05

Conversion tracking

Conversion tracking goes through a tag manager. The code pushes named events to the data layer; the marketing team then configures its tags and goals without a new code release.

Named events

  1. Game start
  2. Level progression
  3. Quiz answers
  4. Game completion
  5. Navigation
  6. Form submission

Tracking chain

  1. Game and form
  2. Data layer
  3. Tag manager

06

Technical choices

A 2D game engine inside a React interface, a lightweight static site, a Docker image and an automated deployment pipeline.

Phaser sits inside a React component

Phaser: the boardCallbacksReact: the rest
  • React

    Drives the interface and the journey: home page, game windows, quiz, product page and rules. Splitting it into components let us reuse the same retro "window" for the game board, the questions and the end screen.

  • TypeScript

    Types the application and the game scene. The interface and the engine constantly exchange information (pausing, changing level, steering): typing makes those exchanges reliable.

  • Phaser

    A 2D game engine for the browser, it handles the game loop, sprites, collisions and sounds.

  • Vite

    The development and build tool. It produces a lightweight static site and injects the tracking identifier for each environment at build time.

  • Tailwind CSS

    Speeds up the responsive layout of the product pages. The retro styling stays in one stylesheet per level.

Delivery

Docker

Docker builds the application in two stages: a Node image compiles the site, then a lightweight Nginx server serves it. Environment variables are injected at build time from a secrets manager and never committed.

GitLab CI

  1. Code linting
  2. Image build
  3. Deployment
Development branch
Staging environment
Main branch
Production

Schematic illustrations: the client, its products and the campaign remain anonymous.

In one sentence

A way in that holds attention for a few minutes, then leads to the product content.

Tech stack

The project's technologies, and what each one does

  • ReactContest journey: levels, quiz, sign-up and rules.
  • TypeScriptTyping of the game and interface.
  • DockerApplication build and serving.
  • GitLabAutomated deployment.

A similar project?

Tell us about your situation. The first conversation is free and without obligation, on site in Nice and the surrounding area.

See our software development offerSee all our case studies