Skip to content

Conversation

@SimplyMinimal
Copy link

What's New

  • Auto rapid fire (less wear on the buttons this way too)
    
  • Up button applies thrusters
    
  • Haptic feedback and LED effects
    
  • High Score system
    
  • Automatic save and load of high score
    
  • Some modifications to certain game play elements
    

What's coming next

  • Settings screen
    
  • Enabling sound effects (configurable on/off option)
    
  • Power Ups
    

@SimplyMinimal
Copy link
Author

One of the major key differences between yours and my forked version is I've opted to use the Up button instead of the OK button for thrust.

I've asked a few people to play test both versions and almost all of them had a preference of having the DPAD up as thrusters as that's what they instinctively hit.

My long term vision for this is to add a Menu settings so that we can incorporate both of our play styles as well as adding a toggle for sound and reset the high score.

@antirez
Copy link
Owner

antirez commented Jan 11, 2023

Thanks! Will review and cherry pick all the things I could. Makes sense to have the settings screen indeed. I've plans to allow for alternative game plays and they can't be the default. Cheers.

@SimplyMinimal
Copy link
Author

SimplyMinimal commented Jan 12, 2023

I did see you wanted to save the Up button for power ups. What types of power ups were you planning?

I've been throwing around the idea of items that periodically get dropped on the playing field with respect to the ship and other active asteroids. When a player picks up a power up, it would change the style for a short period of time.

It would be things such as:

  • TNT bombs = Nukes all asteroids in the area with explosion animations
  • Star fire = Automatically shoots bullets in a star pattern around the ship for X amount of time
  • Shield = Automatically deploys a shield for X amount of time. Can destroy asteroids with it but will damage the shield.
  • Mini Assistant Ship = A tiny assistant ship that dodges and shoots asteroids with you.
  • Ghost Ship = Makes the main player's ship take no damage for X amount of time
  • Harden Ship = Allows the ship to crush through asteroids for X amount of time. This allows the player to take full advantage of the thrusters without worry

Will think of more as they come. I do plan to add different haptic feedbacks to each effects to really immerse the effects.

SimplyMinimal and others added 30 commits February 6, 2023 23:01
- Add .github/workflows/build-fap.yml for CI/CD automation
- Triggers on pushes to main, pull requests, and tagged releases
- Uses official flipperdevices/flipperzero-ufbt-action for building
- Uploads FAP artifacts for download from workflow runs
- Automatically creates releases with FAP files on tag pushes
- Enables continuous integration for Asteroids Flipper Zero app
- Add scheduled job to check for new Flipper Zero firmware releases daily
- Automatically build and release FAP files for new firmware versions
- Create releases with firmware-specific tags (e.g., asteroids-0.98.3)
- Include comprehensive release notes with compatibility information
- Prevent duplicate releases for same firmware versions
- Maintain separate workflows for manual and automatic releases
- Add workflow_dispatch trigger for manual testing

This ensures users always have access to FAP files compatible with
the latest Flipper Zero firmware without manual intervention.
- Add automatic README.md updates with latest release information
- Include release badges, direct download links, and firmware compatibility
- Add quick install instructions prominently displayed on main page
- Enhance release creation with proper IDs for tracking
- Add error handling with continue-on-error for README operations
- Support both manual and automatic release types
- Auto-commit README changes back to repository
- Improve main page visibility without requiring navigation to releases

This ensures the latest FAP file is immediately visible and downloadable
from the main repository page, improving user experience and accessibility.
- Implement main splash screen that displays before game starts
- Show proper credits for SimplyMinimal (enhancements) and AntiRez (original)
- Display for 3 seconds with option to skip by pressing any key
- Uses safe rendering functions with coordinate bounds checking
- Automatically transitions to main game after timeout
- Fits FlipperZero's 128x64 pixel display perfectly
- Implement new PowerUpTypeDroneBuddy power-up type
- Add Drone structure with position, velocity, rotation, and TTL
- Create drone spawning system that positions drone near ship
- Implement autonomous drone behavior:
  * Follows main ship at safe distance
  * Automatically targets and fires at nearby asteroids
  * Has limited duration (300 ticks) like other power-ups
- Add drone collision detection with asteroids (drone can be destroyed)
- Use smaller triangular polygon shape to distinguish from main ship
- Apply coordinate safety checks for stable rendering
- Integrate with existing power-up collection and management system
- Add proper cleanup when drone expires or is destroyed

The drone buddy provides tactical assistance while maintaining game balance
through limited duration and vulnerability to asteroid collisions.
- Implement main splash screen with SimplyMinimal and AntiRez credits
- 3-second auto-transition with skip functionality
- Professional game startup experience
- Uses safe rendering with coordinate bounds checking
- Implement new PowerUpTypeDroneBuddy with autonomous targeting
- Drone follows ship and automatically fires at nearby asteroids
- Limited duration with collision detection for game balance
- Smaller triangular polygon shape to distinguish from main ship
- Integrates with existing power-up system and coordinate safety

Resolved merge conflicts by including both splash screen and drone functions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants