Skip to content

feat: add Easy difficulty mode with more lives and grace period#433

Open
juanulisesco wants to merge 6 commits into
jvondermarck:mainfrom
juanulisesco:feature/create-an-easy-mode-with-more-lives-and-less-enemies
Open

feat: add Easy difficulty mode with more lives and grace period#433
juanulisesco wants to merge 6 commits into
jvondermarck:mainfrom
juanulisesco:feature/create-an-easy-mode-with-more-lives-and-less-enemies

Conversation

@juanulisesco

Copy link
Copy Markdown
  • Add EASY value to GameMode enum
  • Add Easy button in DifficultySelectionMenu above Normal and Expert
  • Configure LevelManager for EASY mode: slower enemy spawn rate (1.5s), reduced enemy speed (0.8), fewer enemies per level (3), and gentler level scaling to avoid rapid difficulty spikes
  • Grant 5 lives (instead of 3) when starting a game in EASY mode
  • Apply a 2-second invincibility grace period after taking damage in EASY mode, preventing immediate consecutive hits
  • Add easy_mode translation key to all 9 language JSON files (English, Spanish, French, German, Portuguese, Bulgarian, Greek, Russian, Japanese)

Closes #418

✅ PR Checklist

  • My PR title follows the format: type(scope): description (#issue) (scope and #issue optional)
  • I used the correct type: feat, fix, refactor, docs, test, chore
  • I reviewed my code and removed unnecessary debug logs or comments.
  • I tested my changes and verified they work as expected.
  • I ran the project to confirm it compiles and runs correctly.
  • I read the Code of Conduct and the Contribution Guidelines.

📝 What does this PR do?

Implements an Easy difficulty mode to improve accessibility for new players. When selecting Easy mode, the player starts with 5 lives instead of 3, enemies spawn more slowly and move at reduced speed, fewer enemies are required per level, and a 2-second invincibility grace period is applied after taking damage to prevent consecutive hits. The new mode is fully translated across all 9 supported languages.

🔗 Related Issue

📸 Screenshots / Demos (if applicable)

Note

🦖 No screenshots or demo provided.

💬 Extra Notes (Optional)

The Easy mode was designed to be a gentle introduction for rookie players without breaking the existing Normal and Expert modes. All difficulty-specific logic is gated behind GameMode.EASY checks, keeping the codebase clean and easy to extend in the future.

- Add EASY value to GameMode enum
- Add Easy button in DifficultySelectionMenu above Normal and Expert
- Configure LevelManager for EASY mode: slower enemy spawn rate (1.5s),
  reduced enemy speed (0.8), fewer enemies per level (3), and gentler
  level scaling to avoid rapid difficulty spikes
- Grant 5 lives (instead of 3) when starting a game in EASY mode
- Apply a 2-second invincibility grace period after taking damage in
  EASY mode, preventing immediate consecutive hits
- Add easy_mode translation key to all 9 language JSON files
  (English, Spanish, French, German, Portuguese, Bulgarian, Greek,
  Russian, Japanese)

Closes jvondermarck#418
@vercel

vercel Bot commented Jun 1, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
dinosaur-exploder Ready Ready Preview, Comment Jun 16, 2026 11:06am

@github-actions

github-actions Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

✅ Code Formatting Check Passed!

badge

Great job! 🎉 Your code follows the Google Java Style Guide.


🤖 The DinoBot Team 🦖

@github-actions

github-actions Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Build preview 🚀

badge

Thanks for your contribution to this open-source project! ❤️

A new build has been generated for this pull request:

  • 🎮 Game Artifacts: 🐧 Linux / 🍎 macOS / 🪟 Windows
  • 🧪 Workflow Run: View Logs
  • 🔖 Commit: ba38115b903333c24d0a6bda074bb9f70f40ea78

Tip

This JAR lets you test the latest version of the game from this PR.

Note: Artifacts auto-expire after ~90 days.

Happy testing & enjoy the game! 🎮

The DinoBot Team 🦖

juanulisesco and others added 2 commits June 1, 2026 08:56
…ectionMenu.java

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@juanulisesco

Copy link
Copy Markdown
Author

Here is my solution, do you like it?

@jvondermarck

Copy link
Copy Markdown
Owner

Heyy @juanulisesco , is it normal when I start easy mode, I have 5 hearts but it says 3 lives left, while should be 5, isn't? Can you have a look?

image

@jvondermarck jvondermarck added status: in-review PR currently in review status: pending-request-changes Request changes from the contributor labels Jun 10, 2026
@juanulisesco

Copy link
Copy Markdown
Author

ok bro, i will take a look

@sonarqubecloud

Copy link
Copy Markdown

@juanulisesco

Copy link
Copy Markdown
Author

I think that i made an upload to the pull request. but i dont really know. can you say me if it was uploaded right?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status: in-review PR currently in review status: pending-request-changes Request changes from the contributor

Projects

Development

Successfully merging this pull request may close these issues.

[Feature]: Create an easy mode with more lives, and less enemies

3 participants