XS Games- An Immersive Escape Room by Independent Gaming Startup in Italy

Today we got a chance to uncover the success story of XS Games by interviewing their Creator, Frank Eno who have m built 4 chapters

Published on: Aug 8, 2023
| Last updated: Jan 7, 2026
Written by: Kulsoom Awan
Share:
XS Games

As we venture into 2026, the gaming industry continues to thrive, captivating players with innovative technologies, immersive experiences, and groundbreaking content. From augmented reality (AR) and virtual reality (VR) gaming to the rise of esports and cloud gaming, the trends shaping this year’s gaming landscape promise unparalleled excitement. nt!

Today we got a chance to uncover the success story of XS Games by interviewing their Creator, Frank Eno, who have m built 4 chapters of the Mystery Box series, available on mobile stores, Meta Quest and Steam, with 260,000 installations worldwide!

Let’s find out how they climbed the ladder of success in this competitive gaming world.

Thought Behind XS Games

It all started when Covid-19 entered the world. By that time, they was selling mobile app templates and HTML themes, but sales dropped down for unknown reasons, probably because of the world going crazy because of the pandemic. So Eno decided to take my time to learn game development with Unity and Blender. After a couple of months, he built an escape room trilogy that was about solving puzzles to unlock doors in dark rooms.

“It wasn’t a bad game series, but still, they weren’t the exact kind of product I wanted to build a brand for, so I sold the trilogy to another company and started building the first chapter of Mystery Box: Hidden Secrets.” – says Frank Eno, the founder of  XS Games.

That game had a great impact on the iOS and Play stores since day 1, unexpected results, Frank was pretty happy about it, and so that was the moment he decided to change the startup name from XScoder to XSGames.

Challenges and How We Overcame Them

As a solo developer, Frank does not have to deal with suppliers, designers, musicians, or programmers. He does all by himself, so that’s already a big challenge.

Another biggest obstacle was marketing. You can build a great product, but without marketing, you won’t make your product fly. So he started getting serious on Twitter/𝕏 and Facebook; it took time to build an audience, but right now, he is pretty satisfied. He got 26K followers on 𝕏 and so many interactions on FB.

“Marketing is still a challenge nowadays, but I enjoy my startup, so it’s all lightweight, all doable with fun.” – Says Frank Eno.

The Biggest Achievement of XS Games So Far

“As I mentioned earlier, getting 260,000 players from all around the world for my Mystery Box games is such a great achievement, considering the fact that the brand is only 2 years old. Many competitors took a longer time to reach such results, therefore I’m super happy about it!” – says Frank Eno.

In Your Opinion, What’s the Secret Sauce to Success?

The secret is that there are no secrets: it’s all about consistency, hard work, and self-esteem.

When you build a digital product, either a game, an app, a website, etc., make sure it’s something YOU would enjoy. Especially for games, if you don’t create something you’d like to play, your product won’t be successful, unless you spend tons of money on promoting it with ads on social media and Google. But still, it would be missing that personal “touch” that makes a product unique, even if it’s similar to others. Your projects reflect your personality, and we’re all different; we can actually MAKE the difference.

Self-esteem is also essential; you must love yourself and believe in your potential. We all have a talent; once we find it out, we need to take care of it to improve and grow.  Results are guaranteed.

How Do You Plan to Stay Ahead of Emerging Industry Trends and Changes?

“I’ll just keep doing what I’m currently doing, updating my games, either by fixing little bugs or adding some extra challenge once in a while, in order to keep players engaged. “ says Frank Eno, creator of XS Games.

He further stated that healso keeps being social and talking to customers; their feedback is essential to him, and he wouldn’t be where he is now at without listening to clients’/players’ comments and suggestions.

What Is the Long-Term Vision for the Company, and How Do You Plan to Achieve It

Since Mystery Box is becoming a solid brand, Frank has already planned to build new chapters (font instance, #5 will be released in 2026). He just has to see how it will go for another year or two; if I’ll reach 1.5M players worldwide, he may consider hiring someone to build more games and port them to consoles, not just mobile and PC.

One thing for sure, he’ll always build escape room/puzzle games; that’s what he can do the best, and that’s what he lovess doing, he can’t even picture himself building an FPS or RPG game, not that he dislikes those genres, but escape room games are what he loves the most, and, as he said before, he builts what he enjoys playing ;)

Social Champ wishes XS Games good luck in future endeavors.

Stop Juggling, Start Prioritizing

Try Social Champ to manage and organize everything in a single tab. From posting to scheduling, replying to customers, to tracking numbers – get all done through single tab.

Free 14-Day Trial

<script>
document.addEventListener('DOMContentLoaded', function() {
    function transformTablesForMobile() {
        if (window.innerWidth > 767) return; // Only for mobile
        
        const tables = document.querySelectorAll('#brxe-uuwxsd table');
        
        tables.forEach(table => {
            if (table.classList.contains('transformed')) return;
            
            let headers = [];
            const thead = table.querySelector('thead');
            const tbody = table.querySelector('tbody');
            
            // Get headers - check for both th and td in thead
            if (thead) {
                const headerRow = thead.querySelector('tr');
                if (headerRow) {
                    // First try th, then td
                    let headerCells = headerRow.querySelectorAll('th');
                    if (headerCells.length === 0) {
                        headerCells = headerRow.querySelectorAll('td');
                    }
                    headers = Array.from(headerCells).map(cell => cell.textContent.trim());
                }
            } else if (tbody) {
                // If no thead, take first row
                const firstRow = tbody.querySelector('tr');
                if (firstRow) {
                    let headerCells = firstRow.querySelectorAll('th');
                    if (headerCells.length === 0) {
                        headerCells = firstRow.querySelectorAll('td');
                    }
                    headers = Array.from(headerCells).map(cell => cell.textContent.trim());
                }
            }
            
            // Return if no headers found
            if (headers.length === 0) return;
            
            // Get all data rows
            const rows = Array.from(tbody.querySelectorAll('tr'));
            const dataRows = rows; // All tbody rows are data rows when thead exists
            
            // Create new structure
            const newContainer = document.createElement('div');
            newContainer.className = 'mobile-table-container';
            
            // Create a section for each column
            headers.forEach((header, colIndex) => {
                const columnSection = document.createElement('div');
                columnSection.className = 'mobile-column-section';
                
                const columnHeader = document.createElement('div');
                columnHeader.className = 'mobile-column-header';
                columnHeader.innerHTML = header; // Use innerHTML to preserve formatting
                columnSection.appendChild(columnHeader);
                
                const columnList = document.createElement('div');
                columnList.className = 'mobile-column-list';
                
                dataRows.forEach(row => {
                    const cells = row.querySelectorAll('td');
                    if (cells[colIndex]) {
                        const item = document.createElement('div');
                        item.className = 'mobile-column-item';
                        item.innerHTML = cells[colIndex].innerHTML;
                        columnList.appendChild(item);
                    }
                });
                
                columnSection.appendChild(columnList);
                newContainer.appendChild(columnSection);
            });
            
            table.style.display = 'none';
            table.classList.add('transformed');
            table.parentNode.insertBefore(newContainer, table.nextSibling);
        });
    }
    
    transformTablesForMobile();
    
    // Handle window resize
    let resizeTimer;
    window.addEventListener('resize', function() {
        clearTimeout(resizeTimer);
        resizeTimer = setTimeout(function() {
            const containers = document.querySelectorAll('.mobile-table-container');
            const tables = document.querySelectorAll('#brxe-uuwxsd table.transformed');
            
            if (window.innerWidth > 767) {
                containers.forEach(c => c.style.display = 'none');
                tables.forEach(t => t.style.display = 'table');
            } else {
                containers.forEach(c => c.style.display = 'block');
                tables.forEach(t => t.style.display = 'none');
            }
        }, 250);
    });
});
</script>
/* Sticky header for tables WITH thead */
#brxe-uuwxsd table thead {
    background-color: #f0ebf8;
    position: sticky;
    top: 0;
    z-index: 2;
}

#brxe-uuwxsd table thead th {
    background-color: #f0ebf8;
    position: sticky;
    top: 0;
}

/* Sticky header for tables WITHOUT thead (first row only) */
#brxe-uuwxsd table:not(:has(thead)) tbody tr:first-child {
    background-color: #f0ebf8;
    position: sticky;
    top: 0;
    z-index: 2;
}

#brxe-uuwxsd table:not(:has(thead)) tbody tr:first-child td,
#brxe-uuwxsd table:not(:has(thead)) tbody tr:first-child th {
    background-color: #f0ebf8;
    position: sticky;
    top: 0;
}


/* Mobile Column Layout */
@media (max-width: 767px) {
#brxe-uuwxsd table{
    max-height:2000px;
  }
    .mobile-table-container {
        display: block;
        margin: 20px 0;
      border-radius: 12px;
      overflow: hidden;
    }
    
    .mobile-column-section {
        border: 1px solid #E0E0E0;
        overflow: hidden;
        background: white;
    }
    
    .mobile-column-header {
        background-color: #E3DFF5;
        padding: 15px;
        font-weight: bold;
        font-size: 16px;
        color: #333;
    }
    
    .mobile-column-list {
        padding: 0;
    }
    
    .mobile-column-item {
        padding: 15px;
        border-bottom: 1px solid #F0F0F0;
        background: white;
        font-size: 16px;
        line-height: 1.6;
    }
    
    .mobile-column-item:last-child {
        border-bottom: none;
    }
    
    .mobile-column-item:nth-child(odd) {
        background-color: #F7F6FC;
    }
    
    .mobile-column-item:nth-child(even) {
        background-color: #FAFAFA;
    }
    
    .mobile-column-item strong {
        color: #333;
        font-weight: 600;
    }
}

I am a part of the #ChampFam designated as a Community Manager with a history of working in SME's. I am skilled in content writing, social media management & building relations. I love to travel, read and always in search to seek adventure.

A Simplified Social Media Management Tool

Social Champ is your AI-powered social media management tool.

Schedule, analyze, listen, and track competitors – all in one platform.

Try now, Start free
No credit card required!