Goede avond,
Allereerst wil ik even zeggen dat ik enigsinds wel kan begrijpen dat ze het aantal requests willen inperken. Ik ben echter van mening dat ze dit op een volledig verkeerde manier aanpakken, in plaats van technisch deze mogelijkheid te blokkeren hadden ze er op voorhand voor moeten zorgen dat dit niet in deze maten zou voorvallen. Later in mijn post zal ik verduidelijken wat ik daar juist mee bedoel.
Ik heb uiteraard de dev blog gelezen (doe ik altijd als er weer eens iets verschijnt), en deze keer ben ik serieus op mijn tenen getrapt door bepaalde uitspraken van de schrijver (innogames dus). Voornamelijk deze uitspraak "For example, if you use a poorly implemented script that attempts to tag 1000 commands at once." schiet bij mij serieus in het verkeerde keelgat. Scripts die dit doen zijn niet slecht geïmplementeerd, ze zijn zo goed als mogelijk geïmplementeerd binnen onze mogelijkheden die in vele omstandigheden niet ideaal zijn. En dat is de schuld van innogames en hun developers !
Het probleem dat zich al jaren voordoet hier is dat de ontwikkelaars van dit spel geen enkele kennis hebben van het spel, hoe het spel gespeeld wordt, etc. Ze zijn stuk voor stuk professionele programmeurs en hun code is (in de meeste gevallen) gewoon optimaal, maar over de functies die ze uitwerken wordt niet voldoende nagedacht. In het begin van TW was dit nog grotendeels anders, het spel is ontstaan door een aantal vrienden die samen het spel speelden, deze vrienden waren in vele maten te vergelijken met scripters op dit moment, en totaal niet met de developers. Als zij iets tegen kwamen dan pasten ze het aan zodat het beter was, iets wat we nu gewoon op alle gebied missen. Natuurlijk kunnen we niet verwachten dat onze developers het spel allemaal gaan spelen, maar daarvoor zijn er mensen die willen en moeten testen. Maar toch loopt het nog ergens serieus fout, dus ofwel hebben ze geen testers, ofwel zijn die testers prutsers ofwel luisteren ze gewoon niet naar wat de testers zeggen. Hoe moeilijk kan het zijn, na elke update kost het mij een uurtje van gewoon spelen voor ik allerlei mankementen opmerk aan hun nieuw ingevoerde functies, ik ga er van uit dat die al door een controle komen dus vraag ik me steeds af hoe dat er allemaal maar weer opnieuw door geraakt op die manier...
Dit even terugkoppel naar eerdere discussies van afgelopen tijd, want wanneer een scripter (= betere en meer volldig uitgewerkte functies) zegt wel eens iets betaald te willen worden voor zijn scripts dan is dat schandalig, onnodig en belachelijk. Maar wanneer innogames geld vraagt voor half afgewerkte functies dan wordt er niet eens over gesproken en wordt dat opgehoest alsof het niks is. Ik stel mij serieus vragen bij mensen die dat maar normaal vinden hoor...
Voor ik verder ga naar hoe inno dit allemaal grotendeels had kunnen voorkomen citeer ik nog even 1 van onze scriptmods en een goede vriend van me: "Innogames denkt tot max 10 dorpen ~ Unfriendly Sander". Zowel de beslissing / blokkade die nu is ingevoerd als het vervolg dat ik ga neertypen bewijst dat dit gewoon accuraat is.
Voorkomen ? Welke scripts ? Waarom ?
Uit de uitleg die we gekregen hebben als mede uit de dev blog kunnen we duidelijk opmaken dat het over slechts een paar (3) scripts / manieren gaat die een probleem vormen (scripts die tabs openen achterwegen gelaten - dit is een ander verhaal - zie onderaan). En dat zijn de scripts die een uitzondering hebben gekregen voor de async:false; script regel. Want elk script dat deze uitzondering niet heeft zal ook nu geen problemen ondervinden, die doen namelijk maar 1 request / aanvraag (verder in mijn uitleg enkel nog naar verwezen als request) per keer en wachten tot de vorige gedaan is.
Volgende scripts zijn het "probleem":
1. Dorpenhernoemers
Ze hernoemen een grote lijst dorpen in 1 keer, de regels staan dit nog toe omdat het geen spel functie is en het anders belachelijk traag gaat voor veel dorpen (wat het nu dus terug zal zijn - maar niet in de mate als toen !).
Maar serieus, waarom zijn deze scripts er, waarom worden ze gebruikt ? Toch alleen maar omdat innogames bij het ontwikkelen van hun spel geen rekening gehouden heeft met grotere accounts. Ze hebben er bewust voor gekozen om je dorpen een naam te kunnen laten geven, hadden ze dan echt verwacht dat mensen met 1000 dorpen dat met de hand 1 voor 1 gingen doen ?
Er had gewoon altijd al een functie in tw ingebouwd moeten zitten zoals de label functie nu, eigenlijk dus een vervanging van het script rechtstreeks ingame. Het voordeel is dat TW het zo kan implementeren (zoals de label functie) dat het slechts 1 request kost om al deze dorpen te hernoemen. Van 1000 naar 1, gewoon door een simpel extra knopje ! De enige reden dat dit er niet is is omdat ze bij innogames niet verder denken en een functie maar half inbouwen.
2. incomings hernoemen
In eerste instantie was dit er gewoon niet om massaal te taggen, een schande eigenlijk dat er eerst zo veel scripts voor ontwikkeld moeten worden voor inno hun euro valt dat ze zoiets misschien eens moeten inbouwen. Als ze dan eindelijk zo ver zijn, jaja je geloofd het nooit, bouwen ze het weer half af in. Het verbaasde me al dat je de optie had om de vorm van de tag aan te passen, daar hadden ze blijkbaar toch even over nagedacht of werd hun ingefluisterd. Maar dat bepaalde tools gebruik maken van een verschillende tag voor verschillende incommings, dat kan je niet doorvoeren op deze manier, en die zullen nu extreem traag worden voor niks.
Want waarom niet gewoon per incomming een hidden input waar je je tag kan invoeren, daarna op label drukken en ze zijn wederom allemaal hernoemt met 1 request ipv 1000....
Incommings hernoemen om dorpsoverzicht zou btw ook gewoon zo kunnen, een extra knopje met hernoem waar tools zoals sangu dan op kunnen inspelen. Zeer eenvoudig door degene die hernoemt moeten worden aan te vinken en in de hidden input de nieuwe tag te plaatsen (bv OK er voor) en dan op die knop te drukken. 1 request voor alle inc op het dorp, geen zever meer met wachttijden en timeouts.
3. dorpen claimen
Om dorpen te claimen is er ook een tooltje dat je een coord lijst aan dorpen in 1 keer laat claimen. Ook dit had gewoon al sinds dat ze de adelsplanner hebben ingevoerd aanwezig moeten zijn. En pas op, in het begin kon je op zijn minst nog dorpen toevoegen 1 voor 1 om dan uiteindelijk met 1 knop ze te claimen. Maw er kon een script gemaakt worden dat ze toevoegde, waarna je nog op de knop moest duwen. Was toen dus eigenlijk al geen totale ramp, tot ze een update deden en ook gewoon dat weghaalden. Nu moet je dorpje per dorpje doen, het kan toch gewoon niet dat er niemand bij inno is die denkt "wat nou als ze meerdere coords willen invoeren ?"...
Deze 3 simpele (technische) aanpassingen zouden het aantal verstuurde requests door tools gigantisch laten zakken en heel de cijfers waar ze zich altijd op baseren volledig omkeren of in een ander perspectief plaatsen. Ze zoeken het allemaal zelf door niet na te denken over wat de gevolgen zijn van hun half ingevoerde functies.
Dus CM, waar moeten we zijn om deze 3 (en mogelijke andere) ideeen / functies te laten invoeren zodat wij terug een kans krijgen om script op een deftige manier er voor te maken ? En zeg nu aub niet een ideeën topic, want dat duurt lang en heeft nooit hetzelfde effect als wanneer het CM / de mods er achter staan en het mee doordrukken. Dit is zelfs iets waar Fam niet moeilijk over kan doen dat ze het niet zou willen
IK ben gerust bereid een duidelijke en ietswat technische uitleg te schrijven over de implementatie van deze 3 zaken, dan kunnen ze dat bij inno gewoon uitvoeren zonder er hun hoofd over te breken, dat is voor iedereen het beste.
Wat betreft het openen van tabs, ik heb het nog niet getest maar verwacht niet dat het verschil hier enorm zou zijn of extreem storend. Want toen deze blokkade er nog niet was kon je wel 50 tabs tegelijk open gooien, maar de pagina's laden dan gewoon nog 10 seconden na. Nu open je er gewoon elke seconde 5 (automatisch om de seconde ingebouwd in script) en die 5 worden veel sneller geladen omdat er niet zo veel requests tegelijk zijn. Voor dit gegeven is het een aanpassing in de tool die eenmaal ze gemaakt is niet zo hard stoort
Mvg,
Warre
PS: mooie zet om ask the mods er vlak voor te beëindigen, anders had Tim het serieus mogen uitleggen