I created Bot Blitz, a fast-paced, browser-based and electrifying match-3 game where you swap colorful robot parts against the clock built with Phaser 3 and served entirely from OSS.
The game leverages HTML5, CSS3, and JavaScript and Canvas for broad device support and light weight game developement.
By hosting assets on OSS static website hosting, I eliminated the need for any backend servers, achieving a truly serverless deployment that’s easy to maintain and cost-efficient.
Welcome to Bot Blitz, the electrifying match-3 game where you swap colorful robot parts against the clock! ⏱️
Get ready to match and blast your way through a grid of quirky robots. You've got just two minutes to rack up the highest score possible. Can you beat the clock and become the ultimate Bot Blitzer?
📸 Screenshots
Desktop View Screenshot
Mobile View Screenshot
🚀 Features
Classic Match-3 Fun: Swap adjacent bots to create lines of 3 or more identical bots.
Robotic Mayhem: Match colorful robot parts in a vibrant grid.
Beat the Clock: Race against a 120-second timer to maximize your score! ⏳
Score & Combo Tracking: Watch your score climb and aim for the highest combo chain! ✨
Persistent Leaderboard: You can see your Top 10 highest scores! 🏆 (Uses browser localStorage)
Sound Effects & Music: Immersive sounds for swaps, matches, combos, and background…
Alibaba Cloud OSS gives you massively scalable, low-cost storage for static assets—perfect for games made entirely in HTML/CSS/JS like Phaser. You get global availability, built-in high durability, and a pay-for-what-you-use model that can be free if you stay within the free tier limits. Since OSS handles HTTP GETs directly, there’s no backend maintenance, letting you focus on coding loops instead of servers.
Step 1: Create and Configure Your Bucket
Log in to the Alibaba Cloud Console and go to Object Storage Service (OSS).
Click Create Bucket, choose a globally unique name, select your region, and pick Standard storage.
Set the bucket’s ACL to public-read so anyone can fetch your game files—later we’ll tighten this up with bucket policies.
Enable Server-Side Encryption if you want to protect your assets at rest.
Step 2: Enable Static Website Hosting
In the OSS console, navigate to Data Management → Static Page.
Set your Default Homepage to index.html and Default 404 Page to 404.html (so players get a friendly “Oops!” if they type a wrong URL).
Save the settings—OSS will now treat your bucket like a web server and serve those files automatically.
Step 3: Upload Your Phaser Game Assets
You have two main ways to get your game into OSS:
Console Upload: Drag-and-drop your index.html, 404.html, /assets, /css, /js folders directly in the OSS web panel.
ossutil CLI:
Download and configure ossutil with your AccessKey ID/Secret.
From your terminal:
ossutil cp-r ./public oss://your-bucket-name/ -f
This recursively uploads your local public/ folder to OSS
Step 4: Point a Custom Domain & Enable HTTPS
Map your domain via CNAME to your-bucket-name.endpoint.aliyuncs.com in your DNS provider.
In the OSS console, go to Domain Names → Map Custom Domain, verify ownership with a TXT record, then add the CNAME.
Upload your SSL certificate (public .crt and private .key) under Certificate Management to serve your game over HTTPS.
I couldn't actually achieve this step yet cause of some providers issues.
Step 5: Speed It Up with CDN, Caching
To reduce latency and make your sprites glide faster:
Enable Alibaba Cloud CDN on your bucket for edge caching worldwide.
Set Cache-Control headers (e.g., max-age=31536000, immutable) on versioned assets so browsers cache indefinitely.
Game Development Highlights
Built with Phaser 3: Leveraging the power of the fun, free, and fast Phaser game framework. And it;s just pure HTML5, CSS and JS making it lightweight 🍃.
Simple and easy gameplay: Classic Match-3 Fun gameplay but yet so addictive and stress relieving. Just swap adjacent bots to create lines of 3 or more identical bots.
Responsive Design: Playable on different screen sizes.
Sound Effects & Music: Immersive sounds for swaps, matches, combos, and background music (with mute options!)