Introducing the first in a new series of challenges for the RAD Studio developer community. The RAD Programmer Challenges are designed to inspire innovation, increase the visibility of RAD Studio online, and encourage more online community involvement. Kicking off this series, I am inviting developers to build a classic MineSweeper game in RAD Studio. Sharpen your UI design, game development, and algorithmic thinking while creating a fun and nostalgic game. With bonus points for live streaming your coding process, this challenge is a great opportunity to engage with the developer community, show off your Delphi expertise, and sharpen your game development skills!
π― Challenge Goal
Your task is to develop a fully functional MineSweeper game using RAD Studio. Your implementation should closely follow the behavior of classic MineSweeper while allowing creative enhancements.
π Contest Rules
- Coded using RAD Studio 12 Athens (Note, the Free Community Edition was recently updated to RAD Studio 12 so anyone can participate in this challenge at no cost.)
- Source published on GitHub to share with the community
- 100% open-source with a permissive license (Such as: MIT, Apache 2.0, BSD, LGPL with static linking exception - no GPL)
- No reliance on commercial components so everyone can download and immediately build and play the game
- Must follow core MineSweeper game mechanics (described below)
- Bonus Points for streaming your game development process on social media (YouTube, Twitch, TikTok, X, or Instagram) (Note - RAD Studio developers from around the world are invited to join and you can certainly speak any language, but the judge only speaks English so English subtitles are highly suggested at a minimum.)
π₯οΈ MineSweeper Game Features
A classic MineSweeper game consists of:
- A grid-based game board (usually 9x9, 16x16, or custom size options).
- Randomly placed mines hidden across the board.
- Number hints on tiles indicating adjacent mines.
- Left-click to reveal a tile, right-click to mark/unmark a potential mine.
- Winning condition: Reveal all non-mine tiles.
- Losing condition: Clicking on a mine ends the game.
- Timer & score tracking
π‘ Enhancement Ideas:
- Customizable grid sizes and difficulty levels.
- High score tracking.
- A hint system or a safe first move.
- Themed UI elements for a modern look.
- Sound effects for tile reveals and explosions.
- Get your game listed in one or more of the major play stores from Google, Apple, and Microsoft
- Create blog post(s) to discuss your game build and to generate traffic to your GitHub repository
βοΈ Judging Criteria
Submissions will be judged based on the following key factors:
1οΈβ£ Game Functionality (30%) β Does the game follow the core MineSweeper rules and operate without bugs?
2οΈβ£ User Experience & UI Design (20%) β Is the interface intuitive, visually appealing or unique?
3οΈβ£ Code Quality & Structure (10%) β Is the code well-structured and maintainable?
4οΈβ£ Community Engagement (20%) β Number of GitHub stars and video engagement metrics (views, likes, shares).
5οΈβ£ Bonus Features (20%) β Extra credit for features like difficulty levels, animations, or creative enhancements.
Extra points allocated for your overall online presence attained and general creativity.
π Prizes & Recognition
- π Grand Prize: $500 (paid in Bitcoin)
- π« Winner also receives a free license to Pascal Expert a powerful IDE plug-in that offers static code analysis and is a younger brother to the ultra-powerful Pascal Analyzer product which has the widest variety of static code analysis reports for Pascal code anywhere and is a βmust-haveβ for any serious Delphi developer. (See my older blog post on Pascal Expert) Thank you Peganza for providing this free license!
- π All Entries: Will be listed in an upcoming blog post, so everyone gets recognition!
π Timeline & Submission
- π Submission Deadline: April 26, 2025
- π How to Submit: Host your project on GitHub, and then post a link to your repository within a message in the MineSweeper Game Build Challenge discussion group on GitHub (Note: you may want to include your public Bitcoin wallet address to receive any tips from fans. I may randomly send a small amount of BitCoin to participants depending on how many participate.)
- π To help improve visibility on GitHub, the following search topics are required on your GitHub repository. (Click the gear icon in the
About
section and ensure these four search topics are listed.)radstudio
delphi
minesweeper
radprogrammer-challenge1
You can substitute cppbuilder
for delphi
, if applicable. You can also use GitLab or CodeBerg instead of GitHub to host your code (but you still need to post your entry message to the GitHub discussion group.)
π Resources & Getting Started
Need a head start? Here are some useful resources to help you build your game:
Here is a custom GitHub query for Minesweeper games written in Pascal/Delphi that may give you some ideas https://github.com/search?q=minesweeper+language%3Adelphi+language%3Apascal&sort=updated&order=desc&type=repositories
- Here are a couple game engines for Delphi:
Learn Delphi blog post: Everything You Need To Use FireMonkey As A Game Engine
- Embarcadero blog post: Get Started Building Cross-Platform Games In Delphi FireMonkey With Alien Invasion Sample
Please get in the habit to STAR any Delphi-related repository you view on GitHub while you are there! Itβs a single click thatβs easy and completely free to do while it benefits the author and the language as a whole.
π Get Involved!
π The RAD Programmer Challenge is your opportunity to build a fun, open-source game in Delphi, expand the RAD Studio ecosystem, and connect with other passionate developers. Whether you are a game development enthusiast or just looking for a fun side project, this is the perfect challenge to show off your skills! Join today and start coding! π
π Support the participants!
- Please Star every GitHub repository submitted to the contest. Hereβs a link to the GitHub topic search: radprogrammer-challenge1 (It will obviously take a while before any repository shows up with that topic, so check back often!)
- Please Follow every participating developer on GitHub.
- Consider sponsoring RAD Studio developers on GitHub if they have that option enabled.
- If you enjoy someoneβs live stream or video, like and share it to help boost their chances of winning!
π€ Support the sponsors!
- Visit https://peganza.com and check out Pascal Analyzer, Pascal Browser, and Pascal Expert!
- If you are selling a product for RAD Studio developers and would like to sponsor a future challenge, please reach out to me and perhaps we can include a discount or free license of your software for the winner(s).
β‘ More Challenges To Be Announced! This is hopefully the first RAD Programmer Challenge in a series, so stay tuned!