Meedenken met Niels

  • Hoi, Kon geen betere titel verzinnen dus dan maar zo :p


    Ik werk zelf aan een spel wat in elk opzicht criminals moet overtreffen. Jammerlijk heb ik een fout gemaakt tijdens het uitwerken en heb ik niet veel zin meer om de hele meuk opnieuw te gaan herschrijven.


    Mijn idee was om de gebruikers tabel te gaan opsplitsen in de volgende dingen:
    - users (alle info over de gebruiker bv. e-mail, naam, wachtwoord)
    - gear (denk hierbij aan de wapens / bescherming van de gebruiker)
    - profile (spreekt voor zich)


    Lijkt jullie dit handiger of heb je een beter idee vertel het me :)

  • Je zegt nu zelf dat het een fout is?


    Zelf zou is als ik een game zou maken het zo proberen.
    Die hele users tabel bij criminals games vind ik niet bepaald overzichtelijk.
    Maar ik heb er niet bepaald veel over na gedacht :p


    Je gebruikt nog steeds kohana voor dit project lijk mij...
    Maar jij bent niet het type voor ORM (die van kohana) vind ik, jij wilt queries optimaliseren volgens mij :p
    Al ga je volgens mij toch een pivot table nodig hebben.
    Hierin zou ik behalve de id's ook het aantal in zetten (al heb je dat zelf vast ook wel bedacht)


    Citaat

    Lijkt jullie dit handiger of heb je een beter idee vertel het me :)


    Lijkt dit me handiger dan wat?
    Ideeën die nog moeten komen?



    Je het ook in een tabel kunnen stoppen zoals je al zei, maar ik gok er op dat jij veel gear in je spel hebt.
    En als je het dan net zo als bij criminals voor elk wapen/bescherming/overig ding een veld zou maken lijkt het mij weer zo onoverzichtelijk.
    Je zou met een bitwise systeempje kunnen werken waar elke bit voor een wapen/bescherming/overig ding staat.
    Maar dan krijg je weer problemen met er achter komen hoeveel van die spullen iemand heeft.
    Ook iets nieuws toevoegen kan irritant zijn als je een structuur wilt hebben bij welke bit voor wat staat (wapen/bescherming/overig), wat ik waarschijnlijk zou proberen :p


    Dit idee lijkt mij dus niet bepaald handig, maar ik schrijf op het moment elk idee op dat in me op komt (maar 1 dus) voor het geval dat het op de een of ander manier helpt.


    Hopelijk heb je hier wat aan.

  • Darsstar
    Ik heb in de 20 factoren die meetellen als je aan het vechten bent met een andere speler dus er staat aardig wat informatie in ja.


    Tevens moet elke week de wapen tabel worden geupdate (via crons moet dat lukken) om er een nieuwe prijs aan te geven. Dit wapen idee ga ik verder nog niet uitleggen.


    Ik werk voor mijn nieuwe projecten niet meer met Kohana aangezien ik het nu een beetje achterhaalt vind. Het werkt niet voor grote projecten en het gebruikt verouderde technieken waar ik weinig meer aan heb.


    Ik combineer liever tabellen door middel van JOINS dan dat ik een afschuwelijke waslijst moet doorspitten omdat ik de naam niet meer weet van een rij naam.


    Ik doe het in de eerste plaats omdat ik als View systeem TPLLite heb gebruikt wat { en } echt verbied voor javascript wat mij dus niet zint aangezien het een web 2.0 applicatie wordt :')

  • Hoeveel query's wil je aanroepen met een profiel pagina? Ik hoop dat je dat toch zo laag mogelijk wilt houden...
    Als je de tabellen gaat opsplitsen heeft het alleen maar nadelen, want in de database zelf kom je niet vaak neem ik aan?
    Je kunt via een pagina op je website de profielen bewerken e.d. zonder dat geplaar in de database.

  • Hoezo heeft dat nadelen dan? Het aantal queries heeft weinig te maken met het aantal tabellen in de database.


    Zoals Niels al aangaf kun je prima gebruik maken van JOIN's. Daarnaast selecteer je minder informatie als je bijvoorbeeld op je profiel USERS en PROFILE opvraagt, want anders zou je 1 tabel hebben met USERS, PROFILE en GEAR.

  • Het meeste queries wat ik nu al gebruikt had was in de winkel en dat was met wel 3 (website instellingen, user gegevens van de sessie controle & de winkel zelf).


    1 query met PDO duurt nog geen eens 10ms wat gewoon helemaal niks voorstelt.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!