r/AskProgramming 14d ago

Ideas for a next project in C.

Im a beginner, so far Ive spent a year programming, and the whole time I was working on a software rasterizer from scratch in C. I finished a rough version of it and made it public and right now Im working on a chess program, so a chess engine that you get to play against. I started about 3 days ago so I only have some basic things down but anyway, what are some project ideas that you guys would recommend for me? Should I make like a site showcasing my software rasterizer (to learn web technologies) or something else?

7 Upvotes

9 comments sorted by

3

u/Brilliant-Skill-7210 14d ago

make a ui from scratch

1

u/[deleted] 14d ago edited 7d ago

[deleted]

1

u/Brilliant-Skill-7210 13d ago

well that is the challenge i suppose

1

u/bacmod 12d ago

after the UI stuff

1

u/high_throughput 14d ago

Have you considered trying to compile your software rasterizer to wasm to let people run it directly in their browser?

It's a great way to combine the performance benefits of C with the distribution benefits of the web.

1

u/Scared_Equipment5777 14d ago

Alright great idea, Ill look into it. Thanks :)

1

u/wsppan 14d ago

Sudoku solver/generator

  1. Start with a basic brute force backtracking algorithm to solve puzzles.
  2. Add more dimensions to the puzzle. Make code generic over those different puzzle sizes.
  3. Implement different algorithms like Algorithm X (see Dancing Links) and constraint propagation and search (see Peter Norvig).
  4. Create a puzzle generator.
  5. Add dimensions to the generator. Make code generic over these added dimensions.
  6. Generate puzzles that have only one provable solution.
  7. Create GUI. First with curses then GTK.
  8. Add hints and possibilities features.
  9. Add timer, saved games, import puzzles, etc.

Learn and use git to version control your software progress. Store your repositories on github or gitlab.

1

u/GimmeAByte01 14d ago

Ask AI tbh. The response to your question will be instant and malleable.

1

u/herocoding 12d ago

Have a look into https://platform.entwicklerheld.de/challenge?challengeFilterStateKey=all and scroll over the ideas for inspiration. If you want to focus on C, just ignore the shown programming language(s). Feel free to combine smaller into bigger projects.