Witam wszystkich, programowaniem w delphi zajmuje sie juz prawie od roku ostatnio bawilem sie bazami danych i tak mi przyszlo do glowy czy nie mozna byc zrobic w delphi gry managerskiej? Powoli ustalam sobie kolejnosc pisania i napotkalem na jeden problem - jaka baze danych wybrac? Chodzi mi o taka w ktorej bez problemow mozna zapisywac/odczytywac i prezentowac dane jednoczesnie, ma ktos jakies doswiadczenie na tym polu? Z gory dzieki za pomoc.
Da się napisać, jaknajbardziej, a co do bazy danych.. ja bym swoją napisał, co to za problem, stworzyć mała bazę pod potrzeby gry? Trzeba Od razu jakiegoś "smoka" używać?
Chyba, że to jakaś sieciowa ma być, to wtedy wybór jest jeden :-P MySQL.
Chyba, że to jakaś sieciowa ma być, to wtedy wybór jest jeden :-P MySQL.
Wcale nie, do rekordu można wprwadzić pole status, które to pole mogłoby wskazywać na np. zablokowanie rekordu ponieważ jest w użyciu poprzez inny komputer. Rozwiązania są proste i skuteczne, naprawdę polecam stworzenie czegoś własnego, podszkoli się wtedy umiejętności, a ile frajdy potem z tego jest.
Prawde mowiac gdybym zobaczyl gre pod winde ktora dane trzyma w MySQL/czyms innym to bym ja uznal za mocno nieprofesjonalna. Przeciez stworzenie jakiegos wlasnego formatu trzymania danych w plikach to banal, a jak nie chcesz specjalnie nad tym myslec i nie masz na wzgledzie ilosci zajmowanego miejsca na dysku, to zawsze masz xml.
Prawde mowiac gdybym zobaczyl gre pod winde ktora dane trzyma w MySQL/czyms innym to bym ja uznal za mocno nieprofesjonalna.
dokładnie:
rozpatrzmy 2 przypadki:
-
Ktoś ma zainstalowanego MySQL Serwer (np. razem z PHPTriad, KrasnalServ, albo samo).
a) Drugiego serwera nie możesz już zainstalowac... posypią sie błedy i albo nie bedzie chodzić gra, albo zrypiesz komuś konfiguracje - a tego sie nie robi :P
b) bez hasła roota nie założysz nowej bazy/tabel -> (chyba ze w instalatorze udostepnisz opcje dodawania userów z uprawnieniami do tego)
c) dajesz w ten sposób możliwość stymulowania procesami gry :P za pomocą PHPMyAdmin... po co sie meczyć, zarabiać pieniądze etc, jak można przedytować jeden rekord w bazie -
Nie ma zainstalowanego serwera MySQL
a) Musisz to zrobić i go skonfigurowac (wykonalne)
b) czytaj 1.c
c) instalujesz w systemie usługe, na którą użytkownik niekoniecznie sie zgadza :P
roSzi, spin : pomimo waszej krytyki i tak bym napisał to na MySQLu - wolę uchodzić za człowieka, któremu brak profesjonalizmu, noż miało by sięto wszystko nagle rozpaść. Niestety, bazy danych to temat, który trzeba poddać bardzo rygorystycznym testom (czyli trwającym dość długo - ja nie mam czasu)
Ludzie a nie mozna np. zrobic tak ze tworze sobie wlasny typ potem robie rekord i na koncu tworze tablice zbudowana z tych rekordow? I mam baze danych. Tak moge zrobic info o zawodnikach, klubach etc.
Sam kiedys myslalem nad taka gra i sie nad tym zastanawiam czy to by bylo 'energooszczedne' ;)
Nie byłoby. Chcąc wyszukać potrzebny ci rekord musisz wczytywać wszystkie od początku - strasznie to długo trwa (chyba że zastosujesz ReadBuffer - wtedy jest szybciej, ale i tak za wolno dla dużych baz)
Wcale nie trzeba, poza tym te pare druzyn to jak nic wchodzi do RAMU :)
Ale jesli piszesz gierke glownie po to zeby pocwiczyc bazy danych, to nie widze w tym nic zlego!
No tak ale powiedzmy ze np. chce wyszukac z mojej 'bazy rekordowej' :P informacje o jakies druzynie.
Robie wiec funkcje z tablica dynamiczna. Wczytuje druzyny. Odszukuje okreslony rekord, funkcja zwraca rekord a tablica dynamiczna idzie do null tzn. tablica:=nil;
Przeciez to nie obciaza za bardzo kompa...
no tak jak sadzilem wiekszosc z Was opowiada sie za swoja baza danych, ja niestety obawiam sie ze za malo znam sie na tych klockach, macie moze jakies FAQ o tematyce "wlasna baza danych"?
myslalem tez o dbasie lub paradoxie, co Wy na to ?
Morten podaj no maila albo numer gg musimy pogadac :)