Identyfikacja obiektów, pozycja

0

Witam

Przyznam, że nie bawiłem sie w tworzenie gier www ale nadszedł czas, że dostałem taką robotę. Zdecydowałem, że wykorzystam HTML5 canvas i moim zdaniem był to dobry wybór.

Z racji tego, że nie pisałem nigdy gier mam problem. Silnik tworzy obiekty z przygotowanej wcześniej listy obrazków i umieszcza je na mapie. Nie mam zastrzeżeń do pracy silnika ale problem polega na tym, że tych obieków może być kilkadziesiąt i są generowane zgodnie z danymi w mysql i nie mam pomysłu jak je zidentyfikować. Czy najprostszym rozwiązaniem będzie po prostu ID czy jakieś bardziej zaawansowane mechanizmy?

Druga sprawa jeśli chodzi o położenie obiektów to mysql wydaje mi się najlepszym rozwiązaniem jeśli chodzi o grę www. Faktem jest, że generować to będzie bardzo duże obciążenie bazy i trzeba to będzie jakoś zoptymalizować, nie wiem jak Wy to rozwiązaliście w swoich grach.

To chyba wszystko, jeśli mnie nie zmieszacie z błotem za takie noobowskie pytania to jeszcze z wami chciałbym podyskutować :)

Pozdrawiam

0

Wszystko zależy po co i do czego Ci identyfikacja - sposób identyfikacji może być zoptymalizowany pod potrzeby. Ogólnie niepowtarzalny ID wystarczy, natomiast jeśli masz jakieś warunki jakie mogą być wykorzystywane przy przeszukiwaniu obiektów to wtedy można by było te warunki zaprzęgnąć do reprezentacji nazwy obiektu lub mogą takie inforamcje pomóc w tworzeniu kluczy głównych w bazie(np. klucz na 3 kolumny a nie tylko 1, jeśli obiekty mogą być rozpatrywane pod różnymi aspektami - teoretycznie może to przyśpieszyć wyszukiwanie ale trzeba mieć na uwadze że indeksy też swoje miejsce potrzebują w bazie i na dysku).

Uprzedzam że nie robiłem gier, trochę czytałem na ten temat ale nie były to lektury o grach przez www. Ja bym się mocno zastanowił nad tym czy aby MySql będzie odpowiedni. Jeszcze parę lat temu różne rzeczy słyszałem na temat MySql i atomowości operacji. Lepiej byłoby celować w bardziej zaawansowane bazy danych. Postgresql jest bardziej zaawansowanych silnikiem db, zapewne daje więcej możliwości modyfikacji na przyszłość(tworzenie klastrów, balansowanie obciążenia, funkcje, triggery, full-text search, itp.). Postgresql to chyba najbardziej zaawansowany silnik db za darmo.

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