Skip to content

jvondermarck/dinosaur-exploder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
Dinosaur Exploder - Classic Arcade Shooter

๐Ÿฆ– Dinosaur Exploder

An open-source learning platform disguised as a shoot 'em up game
Built with Java/FXGL and Next.js โ€ข Perfect for your first (or next) contribution

๐Ÿš€ Quick Start ๐Ÿ“‹ Browse Issues ๐Ÿ’ฌ Discord ๐ŸŒ Website


๐ŸŽฏ Why Contribute Here?

This isn't just a gameโ€”it's a real-world project designed for learning and collaboration. Whether you're looking to:

  • โœ… Make your first open-source contribution
  • โœ… Build experience with Java game development (JavaFX, FXGL)
  • โœ… Work with modern web tech (Next.js, TypeScript, React)
  • โœ… Practice Git workflows, CI/CD, and testing
  • โœ… Join a friendly community that helps each other learn

You're in the right place! ๐ŸŽ‰

โญ Like what you see? Star the repo to help others discover it!


๐ŸŽฅ What We're Building

dinosaur-exploder_v2.0.0.mp4

A classic arcade shooter with:

  • ๐ŸŽฎ Java game engine (JavaFX + FXGL)
  • ๐ŸŒ Next.js website for docs, galleries, and community features
  • ๐Ÿ”„ CI/CD pipeline with GitHub Actions
  • ๐Ÿงช Unit tests and best practices
  • ๐Ÿ”“ Open architecture for easy contributions

๐Ÿš€ Quick Start for Contributors

Step 1: Pick Your Tech Stack

๐ŸŽฎ Java Game Development

Tech: Java 21, JavaFX, FXGL, Maven

Great if you want to learn:

  • Game development fundamentals
  • Entity systems and game loops
  • Collision detection
  • Audio/visual effects

Browse: Game issues โ†’

๐ŸŒ Website Development

Tech: Next.js, TypeScript, React, Tailwind CSS

Great if you want to learn:

  • Modern React patterns
  • Server-side rendering
  • API integration (GitHub API)
  • Responsive design

Browse: Website issues โ†’

Step 2: Set Up Your Environment

๐ŸŽฎ Java Setup (Click to expand)

Prerequisites

  • Java >=21 (Download)
    • You can download the Java Open JDK 21. You can download any JDK you want, it just needs to be version 21 or greater.
    • Run the command java --version to make sure Java >= 21 is installed.
    • The environment variable JAVA_HOME must be set (either you're on MacOS, Windows, Linux). You can check with the command echo $JAVA_HOME.
  • Git
  • IDE (IntelliJ IDEA recommended)

Installation

# 1. Fork the repo on GitHub
# 2. Clone your fork
git clone git@github.com:<your-username>/dinosaur-exploder.git
cd dinosaur-exploder

# 3. Build and run
mvn clean install
mvn javafx:run

# Or using an IDE: 
# - Open project in IntelliJ
# - Run com.dinosaur.dinosaurexploder.DinosaurApp or hit the run button at the top right

Testing

mvn test

Browser Version (Optional)

mvn jpro:run
# Open http://localhost:8080

๐Ÿ“– More details: Java Setup Guide

๐ŸŒ Website Setup (Click to expand)

Prerequisites

  • Node.js >=20 (Download)
  • Git
  • IDE (VS Code recommended for Next.js)

Installation

# 1. Fork the repo on GitHub
# 2. Clone your fork
git clone git@github.com:<your-username>/dinosaur-exploder.git
cd dinosaur-exploder/website

# 3. Install and run
npm install
npm run dev

# Open http://localhost:3000

Testing

npm test
npm run lint

๐Ÿ“– More details: Website Setup Guide

Step 3: Find an Issue

New to open source? Start here:

Ready for more? Check:

Have your own idea? Open a discussion first!

Step 4: Make Your Contribution

  1. Create a branch: git checkout -b feature/your-feature-name
  2. Make your changes (don't forget tests!)
  3. Commit: git commit -m "Add: description of your change"
  4. Push: git push origin feature/your-feature-name
  5. Open a Pull Request on GitHub

๐Ÿ“– Full guidelines: CONTRIBUTING.md


๐Ÿ“š Documentation & Resources


๐Ÿ’ฌ Community & Support

Get help, share ideas, or just hang out:

  • ๐Ÿ’ฌ Discord - Real-time chat with the community (most active!)
  • ๐Ÿ—จ๏ธ GitHub Discussions - Q&A, ideas, and announcements
  • ๐Ÿฆ Twitter - Project updates

Stuck? Don't hesitate to ask! We're here to help you learn. ๐Ÿฆ–


๐ŸŽฎ Want to Just Play?

Requirements: Java 21

Download the latest release:

java -jar dinosaur-exploder-<platform>-<version>.jar

Controls: Arrow keys (move) โ€ข Space (shoot) โ€ข E (shield) โ€ข B (bomb) โ€ข Esc (pause)


๐Ÿ—๏ธ Project Background

I created this project in 2022 at Munster Technological University (MTU Cork) as a school assignment with two classmates. After the semester ended, I decided to transform it into something bigger: a welcoming space where developers can gain real-world experience through meaningful contributions.

The goal isn't perfectionโ€”it's learning by doing. Every issue is an opportunity, and every contributor makes this project better.


๐Ÿ“Š Project Stats

Alt


๐Ÿ“„ License

MIT License - see LICENSE for details.


Made with โค๏ธ by @jvondermarck and our amazing contributors

โญ Star us on GitHub โ€” it helps more developers find this project!

About

๐Ÿฆ– Classic arcade shoot 'em up built with Java & FXGL. Contributions welcome โ€“ game & Next.js docs.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Contributors 64