Skip to main content

Challenges Sandbox – Help us create new challenges

Created
Active
Viewed 3k times
21 entries
48

We are making some upgrades to Challenges – one of which is allowing users to contribute their own! If you have an idea for a challenge, please post it as an entry here in this Sandbox, where it can be reviewed and possibly improved upon.

We’d prefer fully written out challenges, but if you have an outline of an idea, that is okay too. Also, feel free to leave feedback / votes on challenge ideas that are posted here.

Users whose ideas are selected to be posted as Challenges will be credited and receive a new badge for their effort. All challenge prompts and ideas submitted here must be written fully by you – not by a GenAI tool or copied from another source.

What makes a good challenge

Challenges can have a wide variety of themes. Some interesting options could be:

  • Build something

    • A fun project like meme generator, game, productivity app, art, etc.

    • Using a certain technology (or maybe without using a certain technology?)

  • Spot the error

    • Figure out what’s wrong with some code (perhaps it’s giving a compiling error, has a security vulnerability, wrong output, etc.)
  • Solve a puzzle

  • Optimize performance

    • Improve the efficiency of a text manipulation, data query, etc.

To help fellow users decide which challenge could be a good fit for them to try, please also indicate some or all of the following:

  • An approximate difficulty level

  • Rough estimate of time it may take to solve the challenge

  • Any specific skills or technology that must be utilized

  • Recommendations for how winners should be selected, such as:

    • Crowd favorite, determined by upvotes

    • Performance based grading criteria (e.g. most efficient solution, most functionality, etc.)

    • Any other ideas you may have

21 entries
Sorted by:
79827116
Vote

I S! IG S #I S $I S %I S &I S 'I S (I S) I S *F S +F S , F S -F S . F S/F S 0F S 1F? S 2F? L L$ L u E va -H }WH } H ] L u D u D u L u L t$H H D$@H sH t$@I EL D$@H T$HI !$ fH D$$2> L$0L L$H L$H or H H D$0H D$0H D$8H D$ (D$ \H+t$0 H D$3> H+D$0H D$@ H M H; M H9T$0u L; A A+ v

9 ug9 u_9 tH

03.3 9 uA9 u9

79807071
Vote

My challenge idea is this:

Generate 64 random integers between 1-100. Draw an 8x8 grid, so a cell for each number.

Your challenge is to place all the integers into the grid such that

  • Each row is descendingly sorted
  • Each column is descendingly sorted

or declare this impossible.

There are loads of different ways this can be done and multiple different but valid solutions. I would expect 100 such sets of integers to be sorted this way as the challenge.

79808406
Vote

An 8x8 grid for numbers between 1-100 would probably result in many impossible sets. I would suggest the range to be 1-1000 or a smaller grid (preferably the latter). In any case, this is a really nice challenge. Thanks for posting.

79811871
Vote

Fun challenge idea. We'll use it! Thank you very much for suggesting it!

79800297
Vote

Title:
Build a simple crypto portfolio tracker using any public API

Body:
Create a small command-line or web app that fetches cryptocurrency prices (BTC, ETH, SOL, etc.) from a free API (like CoinGecko or Binance) and displays your portfolio’s total value in USD.

Requirements:

  • Use any language (Python, JS, Rust — your choice)

  • Must handle at least 3 tokens

  • Bonus: include percentage change and simple chart

Difficulty: Easy / Beginner-friendly
Estimated time: 30-60 minutes
Skills: API calls, JSON parsing, data visualization

Winner criteria: most creative UI or cleanest code

79779808
Vote

Counterattack!

Find a unique, imaginative, but also efficient way to respond to a hacker attack detected in an API endpoint on your server (for example, you receive a call that does not contain the required headers, or parameters that are not required, etc.).

Requirements:

  • The response action must not overload your server (you could cause a DDoS without meaning to!)

  • Server architecture: Linux, PHP 8+, MySQL 8

Victory:

The response that receives the most positive votes among those that are actually applicable

79779796
Vote

Do you have the invitation?

Discover the best way to prevent misuse of web APIs on a Linux server with PHP 8.2+, MySQL 8, 1 CPU core, and 2 GB RAM, apache2, fail2ban, modsecurity. (I chose low specifications to emphasize performance optimization, which otherwise would not be sufficiently evident).

You can use any tools/languages you want to prevent:

  • unauthorized API calls (only logged-in devices can make a call)

  • tampering with call content (e.g., manually modified body, altered timestamps, etc.)

  • man-in-the-middle attacks (do not transmit clear text data to the API endpoint and vice versa, etc.)

  • replay attacks

  • etc

Any solution, even custom ones, is welcome.

The winner will be whoever proposes the solution that requires the least execution time and prevents the greatest number of attacks, preferably also providing the code and settings used (when calculating the execution times of the PHP endpoint, only the code for managing the security aspects covered by the challenge should be considered: receiving the request, decryption, various checks, providing the response. The client can be in Java or any other language).

Bonus:

optimization using a real connection (not in a localhost environment).

P.S. I am well aware that it is impossible to prevent all hacker attacks, but the goal here is to make it as difficult as possible.

P.S.2: You can also provide the logic and idea without writing code, but in that case, please provide clear and precise explanations.

79770973
Vote

Challenge Title:

The Shapeshifting Algorithm

problem statement:
You’re given a data processing pipeline where the shape of input data changes unpredictably at each run — sometimes it’s a list, sometimes a nested dictionary, sometimes a stringified JSON.
Your challenge is to write a single function that can detect, normalize, and transform any of these formats into a consistent, unified structure (e.g., a pandas Data Frame or a flat dictionary).

Twist:
You’re not allowed to use is instance() or type-checking directly. You have to infer the structure dynamically and handle it gracefully.

Goal:

  • Create one robust Python function called normalize_data(input_data)

  • It must accept any of the provided random structures and produce a uniform output

  • It should never crash on invalid input — instead, log meaningful errors

Difficulty:
Intermediate–Advanced

Estimated Time to Solve:
2–3 hours

Required Skills / Technology:

  • Python (handling dynamic data structures)

  • JSON parsing / recursion

  • Clean error handling

How Winners Could Be Selected:

  • Reliability: Handles the most edge cases correctly

  • Elegance: Short, clear, maintainable code

  • Bonus Points: Add automatic type hints or data schema detection

79770273
Vote

Challenge Title

Emoji Compression Showdown

Prompt

You are presented with a large text file composed solely of emojis 😃🚀🎨.

Develop a program that compresses it to the smallest size possible while ensuring it remains 100% lossless.

Rules

  • Any programming language is permitted.

  • The solution must incorporate at least one custom compression technique (not merely zip/gzip).

  • Decompression of a 50 MB file should be completed in under 5 seconds on a standard laptop.

Difficulty & Time

Intermediate–Advanced | Approximately 8–12 hours.

Skills

  • Handling of Unicode & UTF-8

  • Data compression algorithms (Huffman, LZ77/78, arithmetic coding, etc.)

  • Efficient file input/output

Scoring

Primary: The smallest valid compressed size will be the winner.

Tie-breaker: The fastest decompression time will serve as the tie-breaker.

79773147
Vote

This one seems interesting, but needs a little bit more specification: what exactly qualifies as an emoji?

79770175
Vote

The Challenge

Backend architectures are essential parts of projects. In this challenge, participants must design and implement a new backend architecture. It doesn't need to be built from scratch but it must be innovative. It means you may draw inspire from currently used architectures.

Difficulty: Intermediate - Advanced

Time: 4-12 hours

You can use whatever you want for backend language and database. However classic backend languages or frameworks are preffered (Java, Python, C#, Node.js, Go, Rust etc.).

Also you can use another architecture as a base and make significant improvements on that. Our main criteria is innovativeness

Requirements

The solution must include:

  • A diagram of architecture (How services communicate, data flow etc.)

  • An explanation of why this architecture is innovative

Bonuses:

  • Minimal implementation

  • Documentation of the architecture

Criteria:

  • Innovativeness is the priority

  • Clarity of the solution

  • Scalability

  • Crowd votes

79769656
Vote

Simulate using 2 x 6-sided dice to emulate the results of 1 x 12-sided die with the correct statistical distribution , i.e. each number has a 1 in 12 chance of appearing.

Now see how you can get 3 x 6 sided dice to emulate the results of an 18 sided die with the correct statistical distribution

79759222
Vote

Random nicknames generator

In this challenge we try to generate random gamer nicknames. This idea should not be reduced in a simple concatenation of a adj + noun of two lists but it SHOULD include rules and features that make the algorithm more interesting and creative.


But, how to win?

  1. Community criteria -> based on up-votings of the proposed algorithms
  2. Feature criteria -> based on how further it goes from the trivial solution
  3. Interesting constraints suggested by SO community members in the comments of this post, or added by SO staff.
79767841
Vote

This reminds me of how Heroku and similar sites suggest (or used to suggest, I haven't used Heroku in ~20 years) names for new projects/apps you spin up. Or even Reddits auto-suggested usernames. A combination of adjectives and nouns. (Ah, the glorious days of blistered-artichoke-1378 and SpuriousIntern....)

That said, this seems rather trivial unless we're code-golfing. Create two lists (adj, noun), take two random numbers limited by the lengths of those lists, output the concatenated result of taking the item at those two positions from those lists. Even scraping content from the internet doesn't add that much complexity if it's just to populate your lists. Where's the "challenge"?

(Also your winning criteria is very biased depending on your audience/judges.)

79768136
Vote

@Roddy of the Frozen Peas I see that you are trying to collapse my idea in just a pick a random adj + noun which of course sounds trivial, because maybe you only expect clearly defined algorithmic challenges. There are many ways to tighten it up, which I purposely did not mention, as I thought it was clear that the real "challenge" is to go as much as possible beyond that baseline and introduce creativity. The real winner is not the one whose algorithm generates two concatenated words, but the one who has thought of introducing more interesting rules, for example: Markov chains, emoji, insertions, truncations, specific styling, themes/topics, not repeating a nickname within x generations and more and more. I am trying to edit my challenge now hoping that it would be more adequate and clear.

79768802
Vote

No, I'm not trying to "collapse" your idea into anything. You suggested a nickname generator, this is a simple way to generate nicknames for apps/usernames/projects/etc. Without adding additional constraints, these are perfectly valid nicknames and meet your criteria. (I don't consider "funny" a constraint or criteria because it's subjective. But I also don't know what else might be 'required' for a criteria. Should you include 2 adjectives, ones of which is a color? Should your nouns be restricted to animals/dinosaurs/fishes? You didn't say in your original post.)

Triviality isn't necessarily a bad thing. If the base challenge is easy, then you'll get a lot of participation. You can add complexity with the win criteria if you design the win criteria properly. Maybe that it needs to respond within a certain time frame (X ms per request on some consistent runner). Maybe the memory footprint needs to be less than X (or smallest footprint wins). Maybe the output should be ascii art that reflects the themes of the chosen adjective/noun? (Actually that last one sounds interesting and difficult. 🤔)

79768881
Vote

@Roddy of the Frozen Peas Yes, I understand your point that the win criteria separates trivial from creativity. The reason I did not add clear constraints is because of this sentence in the post: " We’d prefer fully written out challenges, but if you have an outline of an idea, that is okay too."

Saying this, I really appreciate your contribution in helping better define the challenge and suggesting interesting possible features. Personally, I would recommend the responding within a certain time frame rule, since velocity is always valued. Moreover, I think participants could also be allowed to implement topic selection (e.g. the user chooses “animals,” “mythology,” “slang,” etc. and then gets a nickname).

The reason I initially stepped back from deciding constraints is that I feel that they may ruin the fun. I would like participants to be free to push beyond in their own creative ways.

Of course, that’s just my perspective (maybe because I’m both creative as a person and a data scientist by profession).

In the end, I believe that Stack Overflow staff and the community (including you) can help refine and balance these constraints better.

79755446
Vote

Challenge Idea: The Regex Escape Room

Difficulty: Medium

Estimated Time: 2-4 hours

Skills/Technologies: Regular expressions (regex)

The Challenge

You've been trapped in a digital "escape room" and the only way out is to solve a series of regex puzzles. You'll be given a set of strings and a specific goal for each one. Your task is to write a single regular expression for each puzzle that accomplishes the objective. Each successful solution unlocks the next puzzle.

The challenge will consist of three to five stages, each with a different theme.

Stage 1: The Data Scavenger

You are given a log file full of messy data. Your task is to extract specific pieces of information. For example, you might need to find all email addresses, phone numbers, or dates from a jumble of text.

Stage 2: The Code Cleaner

You're given a block of code with a variety of formatting issues. Your goal is to use regex to find and replace specific patterns. For example, you might need to find all instances of single-line comments and convert them to multi-line comments, or find and remove all trailing whitespace.

Stage 3: The Password Validator

You are tasked with creating a robust password validation system. You will need to write a single regex that checks for multiple conditions at once: a minimum length, the presence of at least one uppercase letter, one lowercase letter, one digit, and one special character.

How Winners Should Be Selected

Performance-Based Grading:

  • Most Elegant Solution: Winners could be chosen based on the most concise and efficient regex. For example, a shorter regex that still meets all the requirements would be considered a superior solution.

  • Most Creative Solution: Users who find a clever or unusual way to solve a puzzle could also be highlighted.

79768962
Vote

2.2 (the whitespace part) could easily be done with .trim(), for instance, in JavaScript. How would this work? Would you provide 3 code blocks with the regexes or have a program run through them and could you use non-regex functions then? Also, stage three is evil, making those kinds of validators widely available.

79748873
Vote

Challenge Idea: A game with INTENTIONAL bugs

We love games with no bugs so why not a challenge to build a game with intentional bugs

Requirements:

  • At least 20 bugs the player must exploit to progress the level
  • 3+ levels
  • 3D, 2.5D or 2D
  • Publish to WebGL OR distribute the executable

Other info:

  • Difficulty: Easy-Medium depends on complexity
  • Time Estimate: 24-48 hours depends
  • Skills needed: Basic game engine understanding AND C# or Python/GDScript
  • Winner selection: Members favorite (upvotes) OR best creativity, music, art, etc.
  • Googling any tutorial is forbidden (so you dont cheat)
  • For Python developers, I'd recommend to use pygame.

DON’T FIX. BREAK IT.

79758432
Vote

A lot of games have had their bugs loved by the community; the famous Minecraft creeper was originally a pig with its model corrupted or incorrectly parsed or something. There are a lot of objects in Goat Simulator that seem to lack collision shapes (or have their collision shapes generalised into cubes) making a variety of glitches possible.

I really like this idea.

79768817
Vote

Interesting idea! I'm surprised to see Easy-Medium difficulty though. Seems like a lot of work to create a whole game. Can you share examples of the types of games you have in mind?

79768963
Vote

AND C# or Python/GDScript is really disappointing. I think you should be able to do it with just about any game engine.

79769372
Vote

@setman Sure, this is an idea that come from Sam Hogan and the GMTK game jams, here's the gameplay idea:

https://www.youtube.com/watch?v=x8mrgzg9ehQ

79769375
Vote

@twinee-the-zelda-wizard Okay, I assume it could be made in Scratch or something.

79780115
Vote

I love this idea. In one of my projects (traffic light simulator) I accidently made the cars do drifting sometimes and they lovvveeed it. lol

79744387
Vote

Competitive Hide and Seek (Fully Written-Out Challange)

  • Theme: Puzzle/Algorithm
  • Difficulty: Medium
  • Time Estimate: 1-2 weeks
  • Language: Python

Feel free to read the submission on github with pictures and code.

Concept

You and your friend are playing hide & seek. You both randomly spawn in a 2D grid-like room. The room has randomized walls that obstruct vision. If you are a seeker, your goal is to write an algorithm to catch the hider with the fewest steps possible. If you are a hider, your goal is to write an algorithm to delay the catching as much as possible. You can choose whether you want to play as a seeker or a hider. You can submit for both sides if you like.

Winners

All submitted algorithms for seekers and hiders will compete against each other on a predefined hidden test set of random maps and starting locations (set size to be determined).

The algorithm's performance is evaluated as an average across all games of the number of steps to catch the hider.

Therefore are two sets of gold/silver/bronze winners. Three for the best seeker algorithm. Three for the best hider algorithm.

Game Rules

Map

The map is a 2D grid of 20x20 (always the same size) cells. Each map has randomly placed walls of different shapes. The walls always cover approximately 25% of the map and in such a way that there are no inaccessible cells.

Movement

Both players are only allowed to move left, right, up, or down if there is no wall in front of the movement and they don't go out of bounds of the map.

The speed of the seeker is double the hider's to make catching possible. I.e., the seeker moves every step/iteration, while the hider moves only every second step.

On the second step, the seeker has the priority, i.e., the hider two distances away is always being caught if the seeker moves towards the hider.

Spawn Locations

The spawn of a seeker is uniformly random on the entire map. The spawn of a hider is uniformly random on the furthest quadrant from the seeker spawn to make close-distant spawns less likely.

The spawn at a distance closer than three is forbidden, as it is an automatic win for the seeker. The players spawn only in the "non-wall" (empty) cells.

Vision

The players have a vision of each other if there are no walls crossing the line connecting the two players. Once the players have vision of each other, they get the precise coordinates of their opponents.

Beginning of the game

At the beginning of the game, both players are given the full knowledge of the map and the starting locations of both the seeker and the hider.

End of the game

When the seeker's location becomes the hider's location, the game is over, and the number of the steps it took is the score for both algorithms.

To avoid games taking too long to finish, there are two other constraints:

  1. The maximum number of steps is 10 x map_size = 4000. If the hider is not caught within 4000 steps, the hider is considered a winner with the highest score of 4000.
  2. If the game lasts more than 5 minutes on the testing computer, the game is aborted, and the player who thought for the least time is considered a winner with the best possible score (1 for the seeker, 4000 for the hider).

Rules and Considerations

Programming Language

The main challenge is to solve the puzzle. Thus, the specific programming language is not strictly required to solve it. However, to make competitive integrity and testing of many solutions possible, the language of the submission and the game is chosen to be Python for the easiest syntax.

Exploits

As the main challenge in solving the puzzle, the code is not intended to be exploitable. Thus, hacks and exploits are not the primary goal of this challenge; however, they are not forbidden. If you manage to find an exploit, you are welcome to do so and write your submission. Your entry in the table of records will be marked with (exploit), though, to indicate an out-of-the-box solution.

However, if you find a very trivial exploit/bug potentially exploitable by many people, it would be nice to fix it.

Performance Requirements

There are no CPU or memory requirements. But please, be reasonable within the standard computer capabilities.

As mentioned above, there is a mandatory time requirement of the game duration to be less than 5 minutes. If the game exceeds 5 minutes of execution time, the algorithm contributing most to the execution time will be marked as the loser!

This is to avoid any algorithms that think infinitely about the next step.

Please make sure your algorithms are not stuck in the infinite loops and don't break games!

How to submit?

You are expected to write your own modified version of the Seeker or Hider class.

The rest of the code should remain untouched. Your solution should be as easy as copy-pasting your class implementation into the existing code.

Detailed Constraints of the Implementation

  1. You cannot modify the imports. NumPy is the only external package that you have.

  2. Your class must inherit the Player class and have the same start of the constructor as the player class.

  3. You are not allowed to modify input arguments to the constructor. This is all information that is available to you.

  4. Your class must implement move() method that is repeatedly called in the game loop. It should change the player's position.

  5. Your move() method should move the player position only one cell at a time. No teleportation!

  6. Your move() method should not climb walls.

  7. Your move() method should not escape the realm of the existing 20x20 world.

def Seeker(Player):
    def __init__(self, game_map, spawn_position, enemy_spawn_position):
        super().__init__(game_map, spawn_position, enemy_spawn_position)

    def move(self):
        next_pos = self.very_advanced_catching_algorithm()

        if movement_rules_obided(self.game_map, self.pos, next_pos):
            self.pos = next_pos

If your move() method does not follow these rules, the game will keep you at the current location.

Please make sure your code runs on a decently modern Python 3 and NumPy version. To be decided, which are the specific versions to use for testing. E.g., the current code runs fine for me with Python == 3.9.21 and numpy == 2.0.2.

Code Details

  • main.py - main game loop logic and checks for rules
  • map.py - map generation
  • players.py - file containing Seeker and Hider strategies
  • game_utils.py - spawn/vision/movement functions used in the game

Map Generation

The map is a 20x20 2D NumPy array. The values of 0 and 1 represent empty cells/walls, respectively.

You can check the map.py for details.

The axis=0 is considered an x position, and axis=1 is a y position.

python3 map.py 42
Map is generated with seed 42. Good connectivity? True. Wall fraction: 0.26.
[[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1]
 [0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1]
 [0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0]
 [0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0]
 [0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 1]
 [0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 0 1 1 0]
 [0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 1 1 0]
 [0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0]
 [1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0]
 [1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0]
 [0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 1 1 0 0 1 1 1 0 0 0 0 0 1 1 1 1 0]
 [0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0]
 [0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1]
 [0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 1]
 [0 0 0 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1 1]
 [0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0]]
0 - empty
1 - wall
2 - seeker
3 - hider

Vision

The vision is defined in game_utils.py in see_each_other(game_map, seeker_pos, hider_pos).

The players have vision of each other and are given their corresponding coordinates if the line connecting them does not intersect the walls. The "exactly at the corner of the wall" cases are treated as no vision.

Example submission

The current code features example Seeker and Hider implementation. You can check them out and even run the game to get the feeling how everything works.

python3 main.py 42 42
79754011
Vote

How about letting the hider take two turns to build one wall on the cell they occupy? Changing the board as the game runs makes hunting algorithms more difficult...

You could also let the _seeker_ take one turn to remove a wall.

You might also make vision directional. The seeker has to be facing the hider to see them... You'd have to change move(x, y) to move(1/2) and add a rotate(N/S/E/W) (or rotate(L/R)).

79754633
Vote

Great ideas!

A small caveat to building walls. If the hider builds a wall on the cell they occupy, then we need to move them from the wall cell somewhere else, which makes it effectively building a wall and moving. On can make a building on one of the neighbouring cells, but it might change the style of the game from hide and seek to crush and defend the castle.

I really liked the idea of directional vision, I didn't think of that! But it might make catching significantly harder.

I am also a bit worried about overloading the game with too much of different mechanics, as I have the feeling it might turn away the beginner/intermediate/"not-enough time to think" competitors. So for the test run I would keep it simple. I think it would be fun to have a series of similar more-compact challanges but with different mechanics (e.g. building/vision/etc.) rather than one where one tries to fit all cool ideas at once. But maybe I am underestimating people's creativity and I am simplifying too much, idk :)

79768823
Vote

This is a fun idea and I like that there's a performance aspect to it!

I worry the challenge might be too big which could deter participation. Is there a way to reduce the scope?

79782152
Vote

I like this idea, but I would formulate it as turn-based game, makes it easier to understand: seeker makes 2 steps then hider makes 1 and so on.

You can provide board and coordinates on System in and make moves on System out, so any programming language can participate, because I personally think the restriction to python is stupid. You would also need to specify the interpreter/compiler in advance to make it fair, and if it is interpreted you probably will be magnitudes faster writing a library which does the work instead of actually writing python code.

79784363
Vote

@setman, I agree that the challenge might be too big. Unfortunately, I don't have time right now to think of the way to reduce the scope. I am not sure if it is even possible given the current setup. Maybe one can use this one as an inspiration to come-up with a new more lightweight challenge, idk.

@maraca, +1 for formulating as a turn-based, sounds indeed clearer. And I completely understand the criticism of python restriction. I like your proposal of using stdin/stdout in principle. We indeed can try to reformulate it as you proposed. I, again, don't have time, but feel free to advance this challenge w/o me if needed. We would need to run a game in a separate process and listen on two different ports for inputs from two user solutions and make sure we time correctly "thinking time" for each algorithm. We would also need to describe for the participants how to establish the connection (which I hope does not turn down the newbies). The only thing that I don't like about this is that all people who consider to submit as a plain python script will have in my opinion an unfair disadvantage vs those who submit in, e.g. C++. In this challenge, I would envision the language merely as a preference not as another competitive factor of speed in addition to already quite complex algorithmic puzzle. I think it would be unfair to give competitive advantage just because written in faster language. And I am not sure how we would correct for that. That would also make a submission of DNN inferences more straightforward. I think for the DNNs it is quite a simple minimization problem, so might boost up ML-based solutions.

79786854
Vote

@FoxWise Those are good points. It is also not easy to set up a testing environment, probably need a vm to counter malicious code.

I see two possibilities to make it fairer and still make it available to a wider audience:

  1. Just have a cap on the thinking time, similar to a chess clock, that is generous enough for any code to compete (if it has reasonable complexity).

  2. Allow a small set of scripting languages, e.g. if you just add javascript to Python, then much more people can compete.

79743130
Vote

Create a web game in only HTML and CSS, with no JavaScript


The player should receive a visual reward for reaching a winning position and should be able to replay the game without reloading the page.

Examples:
1. Find 7 differences between 2 images
2. Drag the pointer from the beginning of a maze to the end
3. Open a combination lock
4. Complete a task before a timer runs out

See here: https://merncraft.github.io/Pure-CSS-Games/

  • Difficulty level: requires knowledge of some advanced CSS techniques

  • Estimate of time to create the challenge: a few hours

  • Specific technology that must be utilized: only HTML and CSS

79767844
Vote

There are browser technologies beyond javascript, so I'd suggest not calling out JS specifically in the title and focusing only on the HTML + CSS. (Eg. Web Assembly.)

What would your winning criteria be?

79770315
Vote

@Roddy_of_the_Frozen_Peas: WebAssembly requires JavaScript to load it into the browser, TypeScript is converted to JavaScript before being loaded by the browser. But sure, let's focus on HTML and CSS only.

As for winning criteria, these will all be subjective:
* How much fun it is to play
* How surprising it is that the game has no executable code
* How aesthetically satisfying it is
* How likely you are to share a link to the game with friends

In a word: how much the player liked the game.

79741429
Vote

Idea

Write a simple interpreter, transpiler, compiler or just short specs for a custom programming language that works in a unique way or has a unique gimmick.

The language can be esoteric (not meant for actual use) or actually useful in unique situations.

Difficulty: Easy to Very hard depending on the approach chosen and/or the complexity of the invented programming language.

Skills required:

  • Imagination

  • Knowledge on Tokenizing and Parsing

Criteria:

  • Originality

  • Effort

  • Functionality

79768965
Vote

sneakily copy/pastes Vyxal source code

79741288
Vote
user31307353

The Flawless Code Challenge

Challenge Idea:

Write a function that is so perfectly simple and self-explanatory that it requires zero comments and no one can possibly misunderstand it. The function should perform a basic, trivial task, but the real challenge is making the code so "clean" that even a beginner, fresh out of their "hello world" tutorial, would immediately grasp its profound genius. Submissions will be judged on a negative metric: the more comments people feel the need to add, the more you fail.

Why this is challenge:

  • Spot the error (in everyone else's understanding): It satirizes the notion of "self-documenting code" and the endless debate over code comments.

  • Build something: It's a simple coding task with a very difficult, subjective meta-challenge.

Challenge Details:

  • Difficulty: Impossible (due to human nature :) )

  • Time to Solve: 5 minutes to write, a lifetime to justify

  • Skills/Technology: Writing un-commented, "perfect" code. A deep understanding of sarcasm is also required.

  • Winner Selection: The community will "vote up" the code they believe is the most needlessly complex for the task at hand. The true winner will be the one who gets the fewest upvotes, because no one understood their brilliant submission.

79740850
Vote

I would love to see a challenge with technology age constraints, for example:

Write a program with a GUI that solves shuffled Rubix cubes and displays you the solution, BUT it works on Windows XP.

  • Difficulty: Hard
  • Time it can take: At least 2 weeks for a great submission by a non-expert
  • Specific skills: Likely C, C++ or C#, and possibly a good understanding of the Windows API of that time, or the ability to read the docs for people who haven't ever used it yet. Frameworks would also be allowed, so long as they work on WinXP.
  • Recommendations for awards:
    • Crowd favourite (ONLY if downvotes are implemented)
    • Interesting use of the Windows API, whether it's for computing the solutions or for rendering.
    • Least lines of code (for people who use a GUI framework instead of direct API calls, count the approximate number of lines of code that framework has, not counting Windows/Microsoft-provided DLLs)
    • Most impressive (for example, if someone did 3D with DirectX or something instead of sticking to 2D textures)
    • Works on an even older system (for example, if it not only worked on WinXP, but also Win98)

Write a CLI program that <insert conditions here> that runs on the oldest OS you can find

  • Difficulty: Hard
  • Time it can take: I'd say two weeks, but it depends of the condition found
  • Specific skills: Likely low level languages
  • Recommendations for awards:
    • Crowd favourite (ONLY if downvotes are implemented)
    • Oldest system confirmed to work on
    • Most obscure programming language used (Not talking about code golfing languages, but rather, very old and specific programming languages like Prolog or COBOL)
    • Smallest executable size or smallest code size (not counting spaces and newlines)

Write a C/C++ CLI program that solves <insert complex math problem here> that doesn't use the standard library, any OS-specific API, nor architecture-specific inlined assembly instructions, so it is as universal as possible

  • Difficulty: Medium
  • Time it can take: One to two weeks depending of the math problem chosen
  • Specific skills: C/C++
  • Recommendations for awards:
    • Crowd favourite (ONLY if downvotes are implemented)
    • Oldest system confirmed to be compilable and executable on
    • Smallest executable size or smallest code size (not counting spaces and newlines)
    • Fastest program to solve the math problem
79768829
Vote

Do you have suggestions for which math problems could be a good fit for this?

79769962
Vote

@setman I don't have any in mind, but essentially, any math problem or algorithm that involves lists, matrixes, or other things people usually rely on the std, OS, or GPU functions for.

79794341
Vote

For Rubik's cubes, aren't there ShellPuppy/RCube? (and you can modify it a bit of code and VS in order to run under XP and display solution and input scrambles)

79794456
Vote

@winapiadmin in 'Write a program", there's "Write a program". Taking something that exists and porting it isn't really writing a program. It kinda misses the whole point of the challenge, which is to do write something with constraints.

79740845
Vote

Challenge Idea: Build a “Traffic Light Simulator” Web App

Traffic systems are everywhere, and they can get chaotic! The challenge is to build a simulator where cars spawn randomly at each side of a traffic light, follow rules, and have fun personalities.

Requirements:

  • Cars spawn randomly with varying numbers and types at each traffic light side.

  • Traffic rules should be respected (e.g., don’t block turning lanes, obey light cycles).

Bonus:

  • Add weather conditions (rain, fog, etc.) that affect driving behavior.

  • Cars can have unique traits like drifting while turning, honking when the light turns green, etc.

  • Include pedestrians crossing.

  • Implement car crashes or collisions for chaotic fun.

Difficulty: Medium-hard (logic-heavy with room for creativity).

Time Estimate: 8–24 hours depending on depth of features.

Skills Needed: HTML, CSS, JavaScript (with optional canvas animations or game libraries).

Winner Selection: By upvotes (most fun/creative simulator wins).

79768831
Vote

Thanks for this suggestion, we have featured this idea in Challenge #5.

79740735
Vote

Console Gamer

Create a fun console app game that can be downloaded / accessed and run.

Provide a short explanation of the game and instructions for downloading / accessing and running the game.

There is a lot of freedom for this challenge, and the game can take many form e.g. text based adventure game, card game, scrolling shooter.

Credit will be given to the most fun, creative and interesting games.

Rules

The game must be a console app based game

NO AI GENERATED GAMES!
You can use AI for ideas and assistance but no games that are just generated by AI. Provide full disclosure of any AI assistance used to create the game.

Difficulty: easy-intermediate
Estimated Time: 1-12 hours
Winner Selection: Most upvoted games - voters should vote for games that are fun, demonstrate creativity or capture interest
Skills: Any programming language - produce a console app game

79740645
Vote

Create an ASCII-Art Maze generator, bonus for programm solving your maze

79747394
Vote

This sounds like a fun idea! Do you have any thoughts on how should people should decide their votes? Is it more of a performance challenge (biggest maze, fastest solving, etc.) or maybe some other criteria should be used? Thanks!

79747546
Vote

well as we did this in college the goal was to provide a maze that was solvable, so it had to had a path from its center to the outside.

79740540
Vote

Challenge Idea: Build a “One-Line Diary” Web App

We all write notes, todos, or even thoughts somewhere. The challenge is to build a web app where a user can write exactly one line per day (like a micro-diary).

Requirements:

  • User can log in (simple auth or mock auth is fine).

  • Each day they can write only one line. If they try to add a second one, they should get a small message like "Diary for today is already written".

  • Show a history view where all past entries are listed with dates.

  • Bonus: Add edit option within first 5 minutes after saving (after that, lock it).

Difficulty: Easy-medium. (Anyone can do basic CRUD, but the "only one entry per day with a small rule" makes it a bit tricky.)

Time Estimate: 2-4 hours depends.

Skills Needed: Basic frontend (React, Angular or plain HTML/JavaScript) + any backend (Node, Python, etc.) with DataBase.

Winner Selection: Members favourite (upvotes) or Best UI/UX.

79741299
Vote
user31307353

One line a day keeps the therapist away!

79741548
Vote

One line? A line can be infinitely long, it would defeat the spirit of your idea. How about one sentence or a character limit?

79757474
Vote

Could I work with a second person, but we only earn half points?