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
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!
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
|
Tech: Java 21, JavaFX, FXGL, Maven Great if you want to learn:
Browse: Game issues โ |
Tech: Next.js, TypeScript, React, Tailwind CSS Great if you want to learn:
Browse: Website issues โ |
๐ฎ Java Setup (Click to expand)
- 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 --versionto make sure Java >= 21 is installed. - The environment variable
JAVA_HOMEmust be set (either you're on MacOS, Windows, Linux). You can check with the commandecho $JAVA_HOME.
- Git
- IDE (IntelliJ IDEA recommended)
# 1. Fork the repo on GitHub
# 2. Clone your fork
git clone [email protected]:<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 rightmvn testmvn jpro:run
# Open http://localhost:8080๐ More details: Java Setup Guide
๐ Website Setup (Click to expand)
- Node.js >=20 (Download)
- Git
- IDE (VS Code recommended for Next.js)
# 1. Fork the repo on GitHub
# 2. Clone your fork
git clone [email protected]:<your-username>/dinosaur-exploder.git
cd dinosaur-exploder/website
# 3. Install and run
npm install
npm run dev
# Open http://localhost:3000npm test
npm run lint๐ More details: Website Setup Guide
New to open source? Start here:
good first issue- Perfect for beginnershelp wanted- We'd love help with thesedocumentation- No coding required
Ready for more? Check:
enhancement- New featuresbug- Fix something broken
Have your own idea? Open a discussion first!
- Create a branch:
git checkout -b feature/your-feature-name - Make your changes (don't forget tests!)
- Commit:
git commit -m "Add: description of your change" - Push:
git push origin feature/your-feature-name - Open a Pull Request on GitHub
๐ Full guidelines: CONTRIBUTING.md
- ๐ Wiki - Architecture, guides, and tutorials
- ๐จ Project Website - Game info and community content
- ๐ค Code of Conduct - Our community standards
- ๐ Contributing Guide - Detailed contribution workflow
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. ๐ฆ
Requirements: Java 21
Download the latest release:
java -jar dinosaur-exploder-<platform>-<version>.jarControls: Arrow keys (move) โข Space (shoot) โข E (shield) โข B (bomb) โข Esc (pause)
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.
MIT License - see LICENSE for details.
โญ Star us on GitHub โ it helps more developers find this project!