DEV Community

PrinceSP
PrinceSP

Posted on

Building Retro Game Using Amazon Q CLI: Ninja Platformer Game

Introduction: Ninja Platformer Game?

When I first heard about the "Build Games Challenge: Build Classics with Amazon
Q Developer CLI," I knew I wanted to create something that honored the golden
age of gaming while bringing a fresh perspective to classic mechanics. The
challenge was clear: build a retro-inspired game using modern AI-assisted
development tools.

I chose to create this game because when I read about the challenge post, the first thing that comes to my mind is to recreate the Bounce platform game from my old Nokia and Batman game from my old Blackberry phone. However, I combined several game style into this Ninja game to make it a little bit challenging to build.

Fun fact: this ninja game is the second game I build using Amazon Q CLI. The first one is failed due to incorrect prompt that screwed up the almost-finish platformer adventure-retro-style game :(. So, you have to be specific, details, and not be too complicated while giving a prompt. Sometimes a complex prompt lead to many errors and bugs. So be wise.....

Retro Game Inspirations: Standing on the Shoulders of Giants

My ninja platformer draws inspiration from several legendary retro games that
defined the genre:

Ninja Gaiden (1988-1991)
• Fast-paced ninja combat with fluid movement
• Challenging platforming sequences
• Cinematic storytelling through cutscenes
• Multiple weapon types and special abilities

Mega Man Series (1987-present)
• Precise jumping mechanics and pixel-perfect collision detection
• Progressive difficulty with well-designed level layouts
• Power-up system with collectible items
• Memorable boss battles and enemy patterns

Castlevania Series (1986-present)
• Gothic atmosphere with detailed sprite work
• Complex level design with multiple paths
• Inventory system with various items and weapons
• Exploration-based gameplay with hidden secrets

Metroid Series (1986-present)
• Non-linear exploration with interconnected areas
• Progressive power-ups that unlock new areas
• Atmospheric world design with environmental storytelling
• Seamless integration of combat and exploration

Secondary Influences

Metroid (1986) contributed to our exploration philosophy, Prince of Persia (1989)
inspired our Middle Eastern aesthetic, and classic Adventure (1980) influenced
our simple yet effective item interaction system.

Modern Design Philosophy

While drawing from these classics, I incorporated modern game design principles:

Accessibility First: Multiple input options and visual feedback
Performance Optimization: Efficient rendering and memory management
User Experience: Intuitive controls and clear visual communication
Professional Polish: Comprehensive testing and documentation

Setting Up the Development Environment

AWS Builder Account Setup

The journey began with establishing a proper development environment on AWS:

  1. Created an AWS Builder Account: Signed up for AWS with focus on development tools and services
  2. Configured IAM Permissions: Set up appropriate permissions for CLI access and development workflows
  3. Established Development Workspace: Organized project structure for game development

Amazon Q CLI Installation

Installing Amazon Q Developer CLI was straightforward but crucial for the AI-
assisted development approach:

bash

Downloaded and installed Amazon Q CLI

curl -sSL https://d2yblsmsllhwdu.cloudfront.net/q/install.sh | bash

Verified installation

q --version

Configured authentication

q auth login

The CLI became my development companion, providing intelligent code suggestions,
debugging assistance, and architectural guidance throughout the project.

Development Environment Setup

bash

Created project directory

mkdir platfomer-game-ninja
cd platfomer-game-ninja

Set up Python environment

python3 -m venv venv
source venv/bin/activate

Installed game development dependencies

pip3 install pygame pillow numpy

Initialized Git repository

git init

🎮 Core Gameplay Features

Ninja Player System

Fluid Movement: Smooth running, jumping, and sliding mechanics
Combat System: Basic attacks and special ninja abilities
Physics-Based: Realistic gravity and collision detection
Responsive Controls: Precise input handling for competitive gameplay

Enhanced Level Design

6000px Wide Levels: 50% larger than standard for extended exploration
Multi-Layered Platforms: 5 different height levels with progressive
difficulty
Optimized Spacing: 140-250px platform gaps for perfect ninja movement
230 Total Platforms: Strategic placement for varied navigation paths

🎯 Advanced Game Systems

Comprehensive Inventory System

Multiple Item Types: Bread, water, meat, scrolls, stones, staffs, armor
54 Collectible Items: Distributed across all platform levels
Strategic Placement: Higher platforms contain rarer, more valuable items
Visual Feedback: Clear item collection and usage indicators

Professional Audio Integration

Sound Effects: Jump, pickup, menu select, enemy defeat, player hurt
Environmental Audio: Typing sounds for dialog and narrator
Performance Optimized: Efficient audio loading and playback
Immersive Experience: Audio feedback for all player actions

🎨 User Interface & Accessibility

Multiple Pause Options

4 Pause Keys: ESC, TAB, PAUSE, and Ctrl+P for maximum accessibility
Universal Access: Works during dialog, narrator, and all game states
Visual Hints: On-screen indicators showing available pause options
100% Coverage: Pause menu accessible from any game state

Scrollable Controls Menu

Comprehensive Documentation: Complete control scheme with descriptions
2830px Content Height: Full accessibility to all control information
Smooth Scrolling: Optimized navigation through control documentation
Professional Layout: Clear organization and visual hierarchy

⚡ Performance & Optimization

Optimized Game Engine

75+ FPS Performance: Consistent frame rate across all systems
Efficient Memory Usage: Smart object management and cleanup
Quality Scaling: Automatic performance adjustment based on system
capabilities
Smooth Gameplay: No stuttering or performance drops during action

Advanced Collision System

Pixel-Perfect Detection: Precise collision boundaries for fair gameplay
Platform Types: Solid ground platforms and one-way jump-through platforms
Interactive Objects: Boxes, barrels, and lockers with proper collision
Optimized Processing: Efficient collision detection for 230+ platforms

🎪 Interactive Elements

Environmental Objects

Interactive Items: Boxes, barrels, and lockers placed throughout levels
400-600px Spacing: Optimal spacing for combat and exploration
Strategic Placement: Objects positioned to enhance gameplay flow
Visual Variety: Different object types for environmental diversity

Narrative Systems

Intro Narrator: Engaging story introduction with typing effects
Dialog System: Interactive conversations with NPCs
Story Integration: Narrative elements woven into gameplay
Professional Presentation: Cinematic-quality story delivery

🏆 Quality Features

Comprehensive Testing

11 Testing Utilities: Specialized tools for validation and debugging
Performance Monitoring: Real-time FPS and system performance tracking
Accessibility Validation: Complete testing of all accessibility features
Quality Assurance: Professional-grade testing and validation

Professional Documentation

2000+ Lines: Complete technical documentation
User Guides: Comprehensive player instructions
Developer Resources: Full development process documentation
Best Practices: Industry-standard implementation examples

🌟 Standout Features

Retro-Modern Fusion

Classic Inspiration: Ninja Gaiden, Mega Man, Castlevania influences
Modern Standards: Contemporary accessibility and performance features
Professional Polish: Industry-grade implementation and testing
Nostalgic Feel: Authentic retro gaming experience with modern quality

Accessibility Excellence

Universal Design: Features work for all players regardless of ability
Multiple Input Options: Various ways to interact with all game systems
Visual Feedback: Clear indicators for all game states and actions
Professional Standards: Meets modern gaming accessibility guidelines

Amazon Q CLI: My AI-Powered Development Partner

What We Accomplished

Technical Achievements:
• ✅ Professional-Quality Game: Complete ninja platformer with modern standards
• ✅ Optimized Performance: 75+ FPS with efficient memory usage
• ✅ Universal Accessibility: 100% feature accessibility across all systems
• ✅ Comprehensive Testing: 11 specialized testing utilities created
• ✅ Complete Documentation: Over 2000 lines of professional documentation

Development Process Innovations:
• ✅ AI-Assisted Problem Solving: Complex issues resolved efficiently
• ✅ Automated Quality Assurance: Comprehensive testing frameworks generated
• ✅ Professional Standards: Industry best practices implemented throughout
• ✅ Accelerated Development: Months of work completed in significantly less time

The Transformation

Before AI Assistance:
• Manual debugging and problem-solving
• Time-intensive research and implementation
• Basic testing and validation
• Minimal documentation

With Amazon Q CLI:
• Intelligent problem analysis and solution generation
• Optimized implementations with best practices
• Comprehensive testing and validation frameworks
• Professional-grade documentation and analysis

Key Insights: How to Maximize Amazon Q CLI

1. Collaborative Problem-Solving

Present Clear Problems: Describe issues with specific examples
Provide Context: Share relevant code snippets and error messages
Iterate Solutions: Build on Q CLI suggestions with follow-up questions

2. Code Quality Enhancement

Request Analysis: Ask for performance and optimization suggestions
Seek Best Practices: Get recommendations for industry standards
Documentation Generation: Let Q CLI create comprehensive docs

3. Testing and Validation

Automated Test Creation: Generate comprehensive test suites
Debug Utilities: Create specialized debugging tools
Performance Monitoring: Implement metrics and analysis tools

4. Learning and Growth

Explain Complex Concepts: Ask Q CLI to break down difficult topics
Alternative Approaches: Explore different implementation strategies
Industry Standards: Learn professional development practices

The Power of AI-Assisted Development

Transformation in Development Speed

Traditional Development Approach:
• Manual problem identification: Hours of debugging
• Solution research: Extensive documentation reading
• Implementation: Trial and error coding
• Testing: Manual validation processes
• Documentation: Time-intensive writing

AI-Assisted Development with Q CLI:
Instant Problem Analysis: Q CLI identifies issues immediately
Solution Generation: Multiple approaches suggested with pros/cons
Optimized Implementation: Best practices built-in from the start
Automated Testing: Comprehensive test suites generated
Professional Documentation: Complete docs created automatically

Quality Improvements

Amazon Q CLI didn't just make development faster—it made it better:

Code Quality:
• Industry-standard practices implemented from day one
• Performance optimizations suggested proactively
• Security considerations built into recommendations
• Maintainable code structure with proper documentation

User Experience:
• Accessibility features suggested and implemented
• Multiple input options for better usability
• Visual feedback systems for clear communication
• Professional polish in all interactions

Testing and Validation:
• Comprehensive test coverage with specialized utilities
• Performance monitoring and optimization tools
• User experience validation frameworks
• Automated quality assurance processes

Lessons Learned: Best Practices for AI-Assisted Game Development

1. Start with Clear Vision, Iterate with AI

• Define your game concept clearly (is a must hmmmm)
• Use AI to explore implementation possibilities
• Iterate on suggestions to refine the vision

2. Embrace AI for Complex Problem-Solving

• Present challenging problems with full context (you have to be as detail as possible)
• Explore multiple solution approaches
• Use AI analysis to understand trade-offs

3. Leverage AI for Professional Standards

• Ask for industry best practices
• Request performance optimization suggestions
• Generate comprehensive documentation

4. Use AI for Comprehensive Testing

• Create specialized testing utilities
• Generate validation frameworks
• Build debugging and analysis tools

5. Document Everything with AI Assistance

• Generate technical documentation
• Create user guides and tutorials
• Maintain development logs and insights

Conclusion: A New Era of Game Development

Building this ninja platformer with Amazon Q CLI has been more than just
creating a game—it's been a glimpse into the future of software development. The
combination of human creativity and AI-powered assistance created something
neither could achieve alone.

Here's the link to the project repository on github:
https://github.com/PrinceSP/platformer-game-amazon-q-cli.git

Top comments (0)