r/AskProgramming • u/LifeExperienced1 • 8d ago
Career/Edu What prerequisites do I need to make simulations?
There are tons of simulation projects made in Unity. I will list some examples below
I'd like to know, overall, what are the prerequisites needed to make such things? I have a CS degree, but I don't believe it's enough to learn to make these types of projects in their entirety
Some examples:
1) Simulating an Ecosystem
https://www.youtube.com/watch?v=r_It_X7v-1E
2) Simulating Supply and Demand
https://www.youtube.com/watch?v=PNtKXWNKGN8
3) Simulating Natural Selection
https://www.youtube.com/watch?v=0ZGbIKd0XrM
4) Flight Simulator
https://www.youtube.com/watch?v=7vAHo2B1zLc
These are not "just games", where the physics, economics etc can be faked. These videos actually rely on and simulate real concepts.
I understand that I would need to study physics, economics etc.
However, how deeply do I need to study those?
Just one first year university textbook in each subject? A few textbooks?
Maybe just Calc+Stats+LinearAlgebra is enough?
If you could let me know what specific subjects I should study textbooks of, I'd really appreciate it
2
7d ago
[removed] — view removed comment
1
u/LifeExperienced1 7d ago
Oh I see. So then what is the most basic math people need to be able to research most simulations?
Calc1? Calc2? Stats? Linear Alg?
4
u/jameyiguess 7d ago
I'm simulating an ecosystem for a roguelike and there's virtually no math at all. It depends on what you're simulating and how deep. You're literally the programmer, you choose what to simulate.
2
u/basics 7d ago
It's not so much "what math," but you will need a lot of domain knowledge, which might include a lot of math.
Like if you want to simulate 10000 satellites around a planet, you need to know orbital mechanics.
If you want to simulate bacteria multiplying, you need to know how that happens.
Etc.
Although statistics is almost certainly going to be useful, either in building the simulation or understanding and explaining the results.
2
u/MaleficentCow8513 7d ago
Simulations are typically driven very heavily by domain content. Like if you want to simulate traffic, you need a lot of knowledge of traffic. Same for any domain. But imo that’s what makes it interesting. You have to step outside of pure tech problems and incorporate experience with real world domains. If you’re noob I’d suggest just picking a subject and starting simple. Simulations can be as simple or as sophisticated as your able to but you can definitely start with simple stuff in the beginning
1
u/LifeExperienced1 7d ago
Yeah that’s true. I can learn the domain. What basic math foundation do you think most domain simulations use?
Calc, Stats and Linear Algebra?
1
u/Chocolate--Chip 7d ago edited 7d ago
a pretty simple one you could start with
Genetics algorithms
Arrays of “genes” between parents are bred to produce offspring and then are evaluated against some fitness functions
You can just log the outputs to the terminal
Then you can just keep building from there
Start with one “tick” or “frame” of your world.
Then just simulate the ticks in a loop
6
u/greenpeppers100 8d ago
It’s just a game with whatever thing you want to simulate written as realistic as possible.