Jak przechowywac dane gry?

0

Witam. Jestem programista amatorem , tworzącym coś na kształt gry dla celow treningowych. I mam pytanie. Stworzylem sobie "fabryke" która miałaby cos produkowac. Załóżmy że produkuje papier toaletowy i wytwarza koszta. Gdzie ja powinienem zapisywać informacje o produkcji i kosztach żeby w odpowiednim momencie ja pobrać? Powinienem stworzyć obiekt z danym polem czy nauczyć się baz danych i wszystko zapisywać tam? Pytam , gdyż przy bardzo wielu zmiennych , opcja obiektu z tymi wszystkimi cyframi wygląda mi średnio. Wskaże mi ktoś drogę?

0

Do pewnych zastosowań nadają się lepiej bazy danych, do innych pliki csv, do innych pliki ini, do innych pliki binarne. Jaki jest Twój cel? Analiza danych? Po prostu przechowywanie danych? Czy użytkownik może zmieniać te dane? Czy te dane są jakoś pogrupowane?

0

Załóżmy że produkuje papier toaletowy i wytwarza koszta. Gdzie ja powinienem zapisywać informacje o produkcji i kosztach żeby w odpowiednim momencie ja pobrać? Powinienem stworzyć obiekt z danym polem czy nauczyć się baz danych i wszystko zapisywać tam? Pytam , gdyż przy bardzo wielu zmiennych , opcja obiektu z tymi wszystkimi cyframi wygląda mi średnio. Wskaże mi ktoś drogę?

Pamiętaj, że możesz tworzyć wiele obiektów. Możesz mieć obiekt fabryki papieru, która zawiera w sobie obiekty np. "papier toaletowy" (możesz zrobić jakąś listę produktów w danej fabryce) a te obiekty z listy z kolei mogą zawierać dane o kosztach wytworzenia itp.

0

Chodzi mi tylko o przechowywanie danych. Nie są pogrupowane a użytkownik może w nie ingerować tylko poprzez np. "upgrade" przykładowej fabryki. Chciałbym aby takich "fabryk" było więcej wiec chciałbym poznać najlepsza opcje przechowywania tych wszystkich potrzebnych zmiennych. Dzieki

0

Jeśli użytkownik może zmieniać dane w pliku, to najpopularniejszym teraz sposobem jest zapis do XML (kiedyś zapisywało się do INI). Jeśli nie może, to serializuj te obiekty do jakiegoś pliku binarnego

0

Formatów masz na pęczki. Możesz bezpiecznie założyć, że endianess procesora się magicznie nie zmieni.

Więc masz 2 wyjścia:

  • pliki możliwe do przeanalizowania i edytowania przez człowieka, wolny parsing
  • JSON
  • XML (nie polecam)
  • INI
  • Toml
  • YAML
  • cokolwiek tekstowego (np. TreeStructInfo od naszego forumowego kolegi)
  • pliki binarne ("niemożliwe" do edytowania przez człowieka), szybki "parsing"
  • Protobuf
  • Cap'n'proto
  • Flatbuffers (to chyba najbardziej pasuje do gier)
  • SQLite (to też, w zależności od zastosowań)

Porównanie https://capnproto.org/news/2014-06-17-capnproto-flatbuffers-sbe.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1