Jeśli spróbujesz zaprogramować symulację gry w oparciu o to, jak działa rzeczywisty świat, napotkasz duże problemy, jeśli chodzi o ilość informacji, które komputer może przetworzyć.
Weźmy na przykład następną stronę, która jest próbą obliczenia liczby atomów w ziarnie piasku.
http://www.thenakedscientists.com/forum/index.php?topic=6447.0
Widziałem wiele takich problemów związanych ze studiowaniem chemii i fizyki oraz absurdalnie wysoką liczbą osób, które pojawiły się na tej stronie, znajdują się w parku gry, w którym widziałem różnych nauczycieli i podręczniki. -> 78 000 000 000 000 000 000
Nawet jeśli jest to bardzo dalekie i usuniesz 6 z tych zer, nadal będziesz mieć liczbę, która jest zbyt duża, aby przeciętny komputer poradził sobie z interaktywnymi stawkami. Zwłaszcza, gdy w danym momencie ma miejsce 1000 takich transakcji.
Jak moglibyśmy obliczyć i śledzić pęd, pozycje, prędkość, chwilowe przyspieszenia, ładunki pola itp. Każdego atomu w każdym ziarnie piasku na plaży, jeśli tylko jedno ziarno ma 78 000 000 000 000 000 000 poszczególnych składników. (Lub nawet więcej, jeśli weźmie się pod uwagę składniki subatomowe).
Kiedyś przeczytałem dokument programistyczny grafiki nVidia, który stwierdził coś takiego.
Rób to, co daje najlepsze przybliżenie wyglądu, ponieważ nikt tak naprawdę nie będzie w stanie stwierdzić, czy symulacja nie jest w 100% dokładna. Należy wziąć pod uwagę wydajność.
To samo dotyczy każdego rodzaju symulacji gry, nawet jeśli nie ma ona związku z grafiką. Prawdopodobnie powinieneś zrobić minimum tego, co jest potrzebne, aby wszystko działało. Jeśli pójdziecie tutaj wszyscy, pogrzebicie komputer w złożoności, z którą nie będzie w stanie sobie poradzić.
Będziesz także musiał pisać i próbować zachować kod o tej złożoności.
Możesz podać unikalne numery seryjne każdej jednostce waluty, ale wykorzystasz wszystkie zasoby komputera tylko na jednym szczególe.
Być może lepszym sposobem na poradzenie sobie z tym jest nadanie tylko 1 unikalnego identyfikatora dla każdej transakcji.
Gracz nr 1 płaci graczowi nr 2 1000000 $.
Jeśli nadasz każdemu dolarowi unikalny identyfikator, komputery wielu ludzi zaczną mieć duże problemy, nie wspominając o całym ruchu sieciowym i opóźnieniu, które to spowoduje.
Lub możesz po prostu utworzyć jedną wartość, która reprezentuje całą transakcję.
uint transferFunds_Player1ToPlayer2 = 1000000;
Nawet 20-letni kalkulator kieszonkowy poradzi sobie z czymś takim.