Jedna tabela w bazie danych w grze MMORPG

0

Witam.
Piszę grę MMORPG pod przeglądarkę i mam pytanie - czy jeżeli wszystkie dane o graczach będą zapisywały się w jednej tabeli w bazie danych, to czy mogą być z tym jakieś problemy w przyszłości oprócz trochę gorszej dla mnie czytelności?
Czy może się coś "sypnąć"?

0

Jezeli masz zamiar wrzucic hurtem wszystko w jedna tabele na sile, a logika nakazuje tabel 15, to na pewno beda problemy w przyszlosci. Ze wszystkim. Z odczytem, rozmiarem bazy, wydajnoscia bazy, wyszukaniem informacji, statystykami itp. Napisz wiecej, glownie co rozumiesz przez 'wszystkie dane o graczach'.

0

Nazwa gracza, hasło, poziom, punkty ataku i obrony, ekwipunek, miejsce na Arenie, i tym podobne.
W sumie około 40 danych w tabeli.

0

No to będą problemy. Wystarczy, że będziesz chciał jakoś opisywać różne miejsca na arenie / areny. Przkładowo zechcesz zrobić arenę dla doświadczonych graczy, dostępną od określonego poziomu. Będziesz powtarzać informacje o parametrach areny przy każdym graczu?

A wyposażenie jak chcesz zapisać? Jako listę oddzieloną przecinkami w kolumnie typu VARCHAR(100000)?

0
Krolik napisał(a)

A wyposażenie jak chcesz zapisać? Jako listę oddzieloną przecinkami w kolumnie typu VARCHAR(100000)?

Nie, jest "Zbroja", "Tarcza" itp. i są temu przypisywane nazwy ekwipunku.

0

A gdzie będzie lista dostępnego uzbrojenia? Zaszyta w kodzie? Trochę mało elastyczne. A jak ktoś będzie chciał mieć równoczesnie, i zbroję i tarczę? Nie chodzi o to, że w jednej tabeli jest źle i się nie da, bo na siłę da się wszystko, tylko jak się chce zrobić rozbudowanego MMORPG to bez przynajmniej kilkunastu tabel nie da się uzyskać odpowiedniej elastyczności. My robimy takie gry zawodowo (www.one2tribe.pl). Nie chodzi o to, by taką grę zrobić, tylko by ją później utrzymać przy życiu. Bez możliwości szybkiego wprowadzania zmian, dodatków, przeprowadzania eventów, narzędzi administracyjnych, taka gra długo nie pożyje.

W Twoim podejściu jednotabelowym dodawanie nowych rodzajów uzbrojenia to będzie masakra, bo będziesz musiał grzebać w kilku miejscach kodu, zamiast dokonać kilka wpisów w tabeli z uzbrojniem.

0
Krolik napisał(a)

A jak ktoś będzie chciał mieć równoczesnie, i zbroję i tarczę?

A dlaczego nie? Na początku to jest tak:

Zbroja - Wartość: Brak
Tarcza - Wartość: Brak

Gracz może robić jak chce:

Zbroja - Wartość: Pancerz rycerza
Tarcza - Wartość: Brak

lub

Zbroja - Wartość: Pancerz rycerza
Tarcza - Wartość: Tarcza rycerza

A co do operowaniu na jednej tabeli, to sobie poradzę, dzięki za odpowiedzi.

0

A jak to cos powyzej zapiszesz do tabeli?

Mozna wiedziec czemu upierasz sie przy jednej? Takie podejscie to 99,99% gwarantowanej klapy, wiec sie mocno zastanow nad plusami. Jezeli sensowna ilosc to wiecej niz 10 to dla mnie plusy nie istnieja.

A co do operowaniu na jednej tabeli, to sobie poradzę, dzięki za odpowiedzi.

Znaczy nie jestes za bardzo doswiadczony w tematyce baz. Nie zdziw sie jak przeprowadzajac operacje wyciagania informacji z tekstu, pobierania nowych, wyciagania innych, znow szukania 5 znaku w drugiej kolumnie serwer odpowie czasem reakcji rzedu 30s...

//edit
A tak po ludzku to po prostu nie rozumiem po co sobie utrudniasz zycie. Najgorszemu wrogowi nie zostawilbym takiej bazy po sobie. Wiem, bo takie sprzatalem - moglbym spisac nowy slownik przeklenstw.

0

@up

na razie się uczę, po prostu mój skrypt ma takie połączenie z bazą danych, że jest jasno napisana tabela z jaką ma się łączyć, ale tylko jedna, nie wiem jak zrobić, aby łączyło z kilkoma i żeby odróżniało dane od siebie.

[code]
$g_DBUsername = "xxx";
$g_DBPassword = "haslo";
$g_DBHost = "sql.lalalala.pl";
$g_DBName = "xxx";
$g_DBTable = "nazwa_tabeli";

$g_PearDBDSN = "mysql://$g_DBUsername:$g_DBPassword@$g_DBHost/$g_DBName";
[/code]

0

No ale jak wywolujesz zapytanie, np.

select cos from tabela where cosinnego='wartosc'

to podajesz tabele i wszystko co tam chcesz. Jezeli nie umiesz korzystac z kilku tabel w Twoim skrypcie to szybko sie naucz. Zazwyczaj nie jest to trudne - jak umiesz korzystac z jednej to bardzo podobnie wyglada korzystanie z innych. Co wiecej KAZDY kompoment, klasa, wspomagacz do korzystania z jakiejs bazy potrafi korzystac z kilku tabel. Inaczej nie byloby sensu z takich klas korzystac - rownie dobrze moglbys wszystko zapisywac hurtem do pliku..

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