RoboVerr: Circuits of Courage, Wires of War
This is a submission for the Alibaba Cloud Challenge: Build a Web Game.* What I Built RoboVerr is an action-packed 2D platformer web game featuring a robot protagonist navigating through challenging environments. The game combines modern web technologies with classic platformer mechanics, offering an immersive gaming experience directly in the browser. Players control a robot character who can run, jump, and shoot while avoiding and killing enemies. The game features fluid animations, collision detection, shooting mechanics, user authentication, profile customization, a scoring system that persists user data, and a leaderboard system to track high scores. The game is fully responsive, supporting both keyboard controls for desktop users and touch controls for mobile gameplay. Demo Live Game: Play_Now Github Repository: RoboVerr Desktop Picture Mobile Picture Alibaba Cloud Services Implementation Elastic Compute Service (ECS) I deployed the RoboVerr game on Alibaba Cloud's ECS instances, which provided reliable and scalable computing power for the game server. Why I chose it: I am familiar with using Ubuntu to serve my website. I love the flexibility that the Ubuntu instance on ECS offers, as it enables me to create and manage my server as I wish. For example, I can set up an Nginx server and point it to an external website, allowing me to host anything I want, including service workers. Additionally, ECS provides the perfect balance of performance and cost-effectiveness, with the ability to scale up during peak gaming hours. Integration: I created the server and bound it to an SSH_KEY. I use this SSH_KEY to log in to my Ubuntu system. After logging in, I cloned the website repository onto the EC2 server. I then installed and configured Nginx, testing its functionality by accessing it using the instance's public IP address. Next, I navigated to the game directory, installed the necessary Node.js packages, and set up my .env file to connect to the AsparaDB MySQL RDS. After running and testing the game, I confirmed that it was working properly. Once I had verified it is working, I configured my Nginx server in /etc/nginx/sites-available/default using proxy_pass to direct traffic to localhost:3000, allowing it to serve my application under the server name ECS_PUBLIC_IP_ADDRESS. After restarting Nginx, I confirmed that the server was successfully serving my game. I then created a system service (located at /etc/systemd/system/robover.service) to ensure my game runs continuously. I reloaded the system daemon and verified that everything was functioning perfectly. Next, I went to one of my domain names on Namecheap and added an A record that pointed to ECS_PUBLIC_IP_ADDRESS, directing it to a subdomain (roboverr). I set my server name to the subdomain (roboverr.quantumweb.me). I installed Certbot on my server and configured it to enable SSL, allowing my game to be served from 'https://roboverr.quantumweb.me/'. Finally, I configured my repository to utilize GitHub Actions for automated deployment to the server whenever I push changes to the main branch. Experience: I really appreciate how fast the SSH connection is; it doesn't lag like some other cloud servers I’ve used in the past. The service was as easy to use as other cloud options. However, I expected that the ECS would be linked to a subdomain name, similar to how AZURE does it.

This is a submission for the Alibaba Cloud Challenge: Build a Web Game.*
What I Built
RoboVerr is an action-packed 2D platformer web game featuring a robot protagonist navigating through challenging environments. The game combines modern web technologies with classic platformer mechanics, offering an immersive gaming experience directly in the browser. Players control a robot character who can run, jump, and shoot while avoiding and killing enemies.
The game features fluid animations, collision detection, shooting mechanics, user authentication, profile customization, a scoring system that persists user data, and a leaderboard system to track high scores. The game is fully responsive, supporting both keyboard controls for desktop users and touch controls for mobile gameplay.
Demo
Live Game: Play_Now
Github Repository: RoboVerr
Mobile Picture
Alibaba Cloud Services Implementation
Elastic Compute Service (ECS)
I deployed the RoboVerr game on Alibaba Cloud's ECS instances, which provided reliable and scalable computing power for the game server.
Why I chose it: I am familiar with using Ubuntu to serve my website. I love the flexibility that the Ubuntu instance on ECS offers, as it enables me to create and manage my server as I wish. For example, I can set up an Nginx server and point it to an external website, allowing me to host anything I want, including service workers. Additionally, ECS provides the perfect balance of performance and cost-effectiveness, with the ability to scale up during peak gaming hours.
Integration: I created the server and bound it to an SSH_KEY. I use this SSH_KEY to log in to my Ubuntu system. After logging in, I cloned the website repository onto the EC2 server. I then installed and configured Nginx, testing its functionality by accessing it using the instance's public IP address.
Next, I navigated to the game directory, installed the necessary Node.js packages, and set up my .env
file to connect to the AsparaDB MySQL RDS. After running and testing the game, I confirmed that it was working properly.
Once I had verified it is working, I configured my Nginx server in /etc/nginx/sites-available/default
using proxy_pass
to direct traffic to localhost:3000
, allowing it to serve my application under the server name ECS_PUBLIC_IP_ADDRESS. After restarting Nginx, I confirmed that the server was successfully serving my game.
I then created a system service (located at /etc/systemd/system/robover.service
) to ensure my game runs continuously. I reloaded the system daemon and verified that everything was functioning perfectly.
Next, I went to one of my domain names on Namecheap and added an A record that pointed to ECS_PUBLIC_IP_ADDRESS, directing it to a subdomain (roboverr). I set my server name to the subdomain (roboverr.quantumweb.me). I installed Certbot on my server and configured it to enable SSL, allowing my game to be served from 'https://roboverr.quantumweb.me/'.
Finally, I configured my repository to utilize GitHub Actions for automated deployment to the server whenever I push changes to the main branch.
Experience: I really appreciate how fast the SSH connection is; it doesn't lag like some other cloud servers I’ve used in the past. The service was as easy to use as other cloud options. However, I expected that the ECS would be linked to a subdomain name, similar to how AZURE does it.