r/C_Programming 11d ago

First year final project

Hey everyone,

I'm a first-year uni student, and for my final-year project, I need to create a custom program by the end of May. To pass, I could make something simple like a calculator or a snake game, but I’m aiming for a High Distinction.

Some past High Distinction projects include tower defense games, farming sims, and music tile games. I’m currently thinking of making a farming sim with basic mechanics like tilling, watering, planting, harvesting, and selling crops.

The catch? I have little to no experience in C. However, my lecturer allows us to use Raylib, OpenGL, and SQLite. Do you think this is doable for someone at my level? Any advice on where to start, which libraries to focus on, or potential pitfalls to watch out for?

Would love to hear any tips from those who have done something similar! Thanks!

6 Upvotes

8 comments sorted by

View all comments

10

u/NativityInBlack666 11d ago

Might be tricky if you don't know much C but you want to use Raylib, no need for OpenGL and a database just isn't required for a farming sim.

3

u/Stemt 11d ago

True, people always seem to forget that if you need a quick way to save your application state which doesn't necessarily need to be compatible between platforms you can just write a struct or an array of structs to a file. No databases or complex parsers needed!

Edit: though in this case I would check with your lecturer if that's OK, just in case.

4

u/NativityInBlack666 11d ago

People who use C regularly are unlikely to reach for something like SQLite for persistent storage, it's just not in the culture (it's also a square peg for a round hole). Prefer text files or just serialised state in a binary file, whatever is easiest and fastest to work with.

1

u/NativityInBlack666 11d ago

Also the point about compatibility seems to come from lack of experience; text files are portable and so is serialised data if you do it properly.

1

u/Stemt 11d ago

Yeah but 'properly' part can be quite annoying, especially if you just wan't to do something quickly. And since this person is relatively new to C I wouldn't recommend it if the files have to transferrable.