game maker
Gebruikersnaam:
Wachtwoord:
Home Info Forums Help
Welkom, Gast. Alsjeblieft inloggen of registreren.
De activerings e-mail gemist?
+  Forums
|-+  Werken met Game Maker
| |-+  Tutorials en Uitbreidingen (Moderator: Maarten Baert)
| | |-+  [Tut] Vragen stellen en beantwoorden via forums
Pagina's: [1]
« vorige volgende »
Print
Advertenties

Erik Leppen
Forumbeheerder


Offline Offline

Berichten: 9655


WWW
« Gepost op: 12 Oktober 2008, 21:37:53 »

Hoe stel je vragen en hoe beantwoord je ze?

Doelgroep: iedereen die vragen stelt en beantwoordt op forums zoals deze

Onderwerpen
  • Inleiding
  • Beschrijving van het probleem
  • Een vraag stellen
  • De juiste mensen trekken
  • Een vraag beantwoorden
  • Samenvatting


Inleiding
Game Maker leren gebruiken is een kwestie van zelf doen. Echter, je kan nu eenmaal niet helemaal alles zelf - anders zou dit forum tenslotte niet bestaan. Dus behalve het zelf leren van Game Maker is een ander belangrijk aspect het elkaar iets leren over Game Maker. Alle tutorials die ik in dit forum zie belichten het zelf leren van Game Maker, maar geen enkele tutorial zegt iets over hoe je elkaar iets leert. Met deze topic probeer ik daar verandering in te brengen.

Beschrijving van het probleem
In het beginnersforum zie ik regelmatig berichten die "even snel" geschreven zijn, of lijken te zijn. Berichten waar de schrijver niet echt over lijkt te hebben nagedacht. Het resultaat: de berichten bevatten te weinig informatie om iets mee te kunnen en er zijn extra reacties nodig om duidelijkheid te verschaffen. Dit geeft dat soms topics onnodig lang worden (in aantal reacties) en ik denk dat een oorzaak is dat we verwachten dat de anderen het wel zullen begrijpen. Dat is echter lang niet altijd zo en dat geeft communicatieproblemen tussen leden onderling en uiteindelijk zijn we dan waarschijnlijk langer bezig met het oplossen van hun vragen.

Wanneer de vraagstellers en de antwoorders meer aandacht besteden aan het schrijven van goede posts, zou dit probleem flink gereduceerd kunnen worden. Daarom hier wat tips over hoe je een vraag stelt en hoe je een vraag beantwoordt.



Een vraag stellen
De topics waar het me hier om gaat zijn de vragen van één of hooguit twee regels die ongeveer zoiets zeggen als "dit of dat werkt niet, hoe los ik dit op". Of er wordt een foutmelding gekopieerd in een bericht met verder de tekst "wat moet ik doen". En dat is veel te weinig informatie. Wat er gebeurt is dat de eerste de beste persoon die reageert, weinig anders kan doen dan vragen om meer informatie en/of het geven van erg algemene suggesties. Waardoor de topicstarter weer moet reageren met uitleg, die natuurlijk in de openingspost had gemoeten. Ik krijg soms het idee dat de topicstarter denkt dat het probleem dat hij/zij tegenkomt, iets heel algemeens is en iedereen op het forum er de oplossing voor weet. Het punt is echter dat "de oplossing" meestal niet bestaat; er zijn altijd meerdere mogelijkheden, en welke de handigste is kan van allerlei dingen afhangen.

Als je een vraag stelt: bedenk dan: Iedereen die het bericht leest, zie alleen het bericht. In het bericht moet dus alle informatie staan die jij denkt dat de beantwoorder nodig kan hebben. Daaronder valt bijvoorbeeld het volgende (natuurlijk is dat allemaal afhankelijk van de situatie, maar om een idee te krijgen).

  • Geeft je code een foutmelding? Geef dan de code en de foutmelding. Delen die de foutmelding zeker weten niet veroorzaken, kun je weglaten voor de overzichtelijkheid.
  • Veel code zonder foutmelding? Laat dan delen van de code weg die zeker juist zijn, of geef aan waar jij denkt dat het wel eens fout zou kunnen zijn.
  • Ook nuttige informatie is het moment dat de foutmelding verscheen (meteen aan het begin? of na het drukken op spatie? etc.)
  • Wat er gebeurt als je de foutmelding negeert? Dezelfde melding nog een keer? Niets aparts? Objecten die er niet zijn? Etc. Ook vertellen, het kan nuttig zijn.
  • Staan er variabelen in je code? Geef aan wat die doen. Misschien zit daar een fout in.
  • Werkt er iets "ineens niet meer" dat voorheen wel werkte? Wat heb je het laatst gedaan? Als je het weer weghaalt, werkt het dan weer? Wat gebeurt er nu dan wel?
  • Wil je gewoon iets weten over een bepaalde functie? Wat weet je dan al? Denk je het te willen gebruiken? Zo ja, waarvoor?
  • Heb je GM vijf minuten geleden gedownload en heb je dus nog echt geen ervaring ermee? Meld dat, dan kunnen mensen daar rekening mee houden.
  • Hoe wil je je antwoord, in D&D (acties) of GML (code)? Dit is vooral voor beginners.

Niet alles is altijd van toepassing, maar zorg dat de beantwoorder na het lezen van je bericht een beeld heeft van het probleem. Merk dus op dat het nodig is om zelf het een en ander te proberen voordat je überhaupt iets op het forum zet. Onder het Game Maker leren gebruiken valt ook het debuggen, dus oefen dat ook. Ga pas naar het forum als je er na het debuggen niet uitkomt.



Nog iets dat ik vaak zie is posts van de vorm "mijn spel werkt niet, kan iemand ernaar kijken, de link is [bla]". Dat is naar mijn mening een erg verkeerde manier van vragen stellen. Het enige dat je namelijk vertelt is dat er *iets* is in je spel dat *iets* doet dat jij niet wil, zonder enige informatie over wat dat dan is. De antwoorder moet dan, om van dienst te kunnen zijn, jouw bestand van een of andere site gaan downloaden (met alle download- en compatibiliteitsproblemen van dien), en dan daarin gaan zoeken om een probleem te vinden dat wellicht heel simpel is. Bovendien moet de antwoorder Game Maker tot zijn (haar) beschikking hebben, wat niet altijd zo is.

De vraagsteller lijkt dus niet de moeite te willen nemen om zijn (haar) probleem te omschrijven, maar verwacht wel dat beantwoorders moeite voor hem (haar) doen. Dat is, naar mijn idee, de omgekeerde wereld. Als je een vraag stelt, dan ben jij degene die de ander om een gunst vraagt en er van afhankelijk bent. Zorg dus dat die ander (die er alleen maar is om jou te helpen) dit zonder veel (onnodige) moeite kan doen. Jij stelt de vraag, dus jij moet de antwoorder in zijn gemakken voorzien.



Geef ook aan waarom je de betreffende vraag wil beantwoorden. Het is wel eens gebleken dat iemand iets vraagt wat best lastig blijkt te zijn, en na het vragen waarom hij/zij dat wilde weten bleek dat het een deelprobleem was van iets dat ook anders kan. Misschien heb je wel te moeilijk gedacht, en zien anderen een simpele oplossing van iets waarvan je helemaal niet wist dat dat kon met Game Maker. Je kan bijvoorbeeld vragen hoe je van particles de kleur kan veranderen, met als achterliggende gedachte dat je dezelfde particle in allerlei verschillende kleurtjes wil laten verschijnen, maar als je dat laatste er niet bijvertelt dan is het onwaarschijnlijk dat mensen je gaan vertellen over part_particles_create_color. Zorg dus dat je ook aangeeft hoe je het antwoord gaat gebruiken.



De juiste mensen trekken
Oké, dan heb je een mooie vraag, maar niet iedereen weet het antwoord natuurlijk; want wie weet is het iets moeilijks, gespecialiseerds, etc. Wat jij als vraagsteller wil is die mensen naar je topic halen die een antwoord weten. De mensen die geen antwoord weten, hoeven voor jou niet naar de topic te komen. Echter, als je vraag eenmaal is beantwoord, is het nuttig als mensen die met hetzelfde probleem zitten, jouw topic zien, lezen en (in het ideale geval) meteen verder kunnen. Voor het belang van iedereen is een goede topictitel dus uiterst nuttig. Nu weten we dat er een mooie sticky topic over dit onderwerp bestaat, die echter alleen vertelt dat je het moet doen, niet waarom je het zo moet doen. Wel, dat is dus om te zorgen dat mensen die de topictitel zien, weten waar de topic ongeveer over gaat, en mensen die informatie over het onderwerp zoeken, je topic kunnen vinden.

Hulp over zoeken kun je lezen in de uitlegtopic over de zoekfunctie. Merk op dat je ook kan zoeken op onderwerp, wat alleen zoekt naar topictitels. Dit werkt natuurlijk alleen als de topictitels goed zijn.

Dingen die je in je topictitel kan zetten, zijn
  • De handeling die je GM wil laten uitvoeren: springen, schieten, botsen met zelfde object, ...
  • De foutmelding die je krijgt (alle informatie over waar die staat weggelaten): , or ) expected, wrong type of arguments, ...
  • De GM-functies en/of -variabelen die in de foutmelding staan: instance_create, path_speed, ...
  • De GM-concepten waar je iets over wil weten: particles, paths, global mouse events, ...
  • Als je spel in 3D is, meld dit erbij.
Dingen die je niet in de titel hoeft te zeggen, zijn
  • In welk spel je het gebruikt; dit is onbelangrijk voor anderen, dus liever weglaten.
  • Kopieer niet het begin van je bericht in de titel, maar neem de kern van je bericht in de vorm van kernwoorden.


Een vraag beantwoorden
Om te beginnen met een mooi citaat van NakedPaulToast op de Engelse GMC:
Citaat
The most successful Q&A topic has 1 reply.
("Het meest succesvolle vragentopic heeft één reactie")

Ik zie daar liever twee reacties. Het eerste bericht is de vraag, het tweede bericht (de eerste reactie) is het antwoord, en de tweede reactie is de vraagsteller die zegt dat het antwoord heeft gewerkt. Dit werkt natuurlijk alleen als de vraag en het antwoord goed zijn. Hoe je een goede vraag maakt staat hierboven al omschreven, maar hoe maak je nu een goed antwoord?

In de wereld van Game Maker (en programmeren in het algemeen) draait het vooral om leren, niet zozeer om voordoen. Het ideale antwoord is er dus een dat niet zozeer alleen vertelt hoe iets moet, maar vooral vertelt hoe de gebruiker tot het antwoord op zijn vraag - en op gerelateerde vragen - kan komen. Dat kan zijn door middel van de zoekfunctie naar tutorials, de handleiding bij Game Maker, en niet te vergeten de debugger in Game Maker.

Als je een vraag beantwoordt, zorg dan dat je weet dat jouw antwoord iets gaat toevoegen. Als je antwoord namelijk niets toevoegt, kun je het beter aan iemand anders overlaten, dat voorkomt verwarring. Zorg dus in elk geval dat je verstand hebt van het onderwerp, of jouw antwoord uitprobeert in Game Maker en kijkt of alles werkt.

Het gebeurt namelijk vaak dat er gewoon fouten staan in antwoorden, of dat er antwoorden staan die het probleem niet oplossen. Mijn conclusie is dat de drang om te helpen, de zorg over de bruikbaarheid van de geboden hulp overschrijdt: we willen elkaar dolgraag helpen, dus we reageren in iemands topic in de hoop iets toe te voegen, zonder ons te realiseren dat wat we zeggen misschien wel meer verwarring schept dan duidelijkheid. En dat zie ik liever andersom; tenslotte is één nuttige reactie bruikbaarder dan tien zinloze reacties. Nu is het allemaal goedbedoelde hulp, maar het punt is dat de topicstarter denkt dat de antwoorder weet wat ie zegt (de vraagsteller kan dat niet beoordelen omdat hij of zij zelf geen verstand van het onderwerp heeft), en er dus in eerste instantie van uit gaat dat het gegeven antwoord klopt. Gebeurt dat niet, dan denkt de topicstarter misschien dat ie zelf iets heeft verkeerd gedaan, terwijl dat helemaal niet zo hoeft te zijn.

Wat er dan wel eens gebeurt is dat een simpel probleem na een aantal reacties nog steeds niet is opgelost en de vraagsteller denkt iets moeilijks te willen. Terwijl andere topics laten zien dat het ook simpel kan: als de eerste reactie goed doordacht is dan bevat deze vaak een werkend antwoord. Bovendien blijft het topic kort waardoor mensen die het met de zoekfunctie vinden, snel het antwoord terug kunnen vinden, en zo is iedereen blij.

Idealiter geeft de antwoorder een uitleg bij zijn antwoord zodat de vraagsteller niet alleen dit probleem oplost maar ook iets leert zodat het andere problemen van gelijke aard daarna zelf kan oplossen. Een antwoord in de vorm  "zet de volgende code in dit of dat event: [bla]" is bijna altijd niet van die aard, want het geeft geen oplossingsmethode, alleen één oplossing. Terwijl de oplossingmethode (hoe ga ik op zoek naar een oplossing) eigenlijk veel belangrijker is. Programmeren is net wiskunde, en ik gok dat menig wiskundeleraar zal zeggen dat je bij het beantwoorden van een vraag altijd de berekening/redenatie die tot dat antwoord heeft geleid, erbij moet vertellen. En zo zou dat hier ook moeten. Leren programmeren blijft een kwestie van zelf doen, dus een antwoord dat vertelt hoe iemand iets zelf kan doen is veel nuttiger dan een antwoord dat alles voorkauwt. Bovendien is het vaak zo dat een vraag meerdere oplossingen kan hebben. Het geven van één oplossing is dus maar een deel van het antwoord - misschien is een andere oplossing wel veel beter omdat die ook de moglelijkheid geeft tot uitbreiding.

Natuurlijk leidt het volgen van deze tips tot veel langere antwoorden die ook veel meer tijd kosten om te schrijven. Echter, gelukkig is het goed beantwoorden van vragen heel leerzaam, waardoor je zelf ook nog het een en ander kan opsteken van andermans vragen.




Samenvatting
Als je een vraag wil stellen,
  • doe eerst zelf wat onderzoek,
  • kijk of er al topics zijn over dit onderwerp,
  • geef zo veel mogelijk informatie,
  • maak het de antwoorder zo makkelijk mogelijk,
  • trek de juiste mensen met een goede topictitel,
  • geef aan hoe je het antwoord nodig hebt.

Als je een vraag wil beantwoorden,
  • controleer of alle code in je reactie werkt,
  • leg uit waarom je deze aanpak kiest,
  • geef eventueel opties voor andere aanpakken.

Dit is natuurlijk het ideale geval, en het is ook niet zo dat iedere reactie die hier niet aan voldoet zinloos is, dus er is geen man overboord, maar als vuistregel kun je onthouden dat als je reactie (vraag of antwoord) voor het overgrote deel uit code bestaat, dat dan je post waarschijnlijk niet duidelijk genoeg is.



Hopelijk leidt het lezen van deze tutorial tot betere vragen én betere antwoorden, die leerzaam kunnen zijn voor iedereen.

« Laatste verandering: 25 Februari 2009, 15:34:48 door Matrebatre »

Naar boven Gelogd

Hedanito
Gebruiker


Offline Offline

Berichten: 758


« Antwoord #1 Gepost op: 15 Oktober 2008, 22:19:24 »

Geweldige tutorial Grijns
Hopelijk komen er nu wat minder vragen die zelf opgelost hadden kunnen worden.
Of vragen als "Hoe maak ik een RPG".


Naar boven Gelogd

kolj
Gebruiker


Offline Offline

Berichten: 705

top.


« Antwoord #2 Gepost op: 16 Oktober 2008, 19:07:50 »

Ik denk dat de mensen die dat soort vragen stellen deze post al helemaal niet gaan lezen.

Naar boven Gelogd

ohlala
Gebruiker


Offline Offline

Berichten: 1217

Voor MCI vragen kun je me pmen. :)


« Antwoord #3 Gepost op: 16 Oktober 2008, 19:13:07 »

Ik denk dat de mensen die dat soort vragen stellen deze post al helemaal niet gaan lezen.

Daar sluit ik me bij aan,, en daar komt nog bij dat je ze al helemaal niet kunt dwingen, ik vind daarom deze tut nutteloos, ik weet namelijk 100% zeker dat de mensen die niet eens weten of ze een vraag bij gamemaker creaties of bij beginners/gevorderden moeten plaatsen dit met aandacht zullen lezen en in de toekomst voorkomen.
Maar ja als je zegt: "Het gaat om get idee" dan ben ik het er wel weer mee eens, af en toe is het echt een zooitje hier.

Edit: Klinkt negatief, maar het is en blijft een mening.

« Laatste verandering: 16 Oktober 2008, 19:15:08 door ohlala »

Naar boven Gelogd

kaasje
Globale moderator


Offline Offline

Berichten: 2301


« Antwoord #4 Gepost op: 16 Oktober 2008, 19:17:54 »

Hey,
Goede tut, alleen zou ik het niet hier plaatsen.
Ik denk dat als je dit in het beginnersboard sticky maakt, met een verleidelijke (net zo iets als 'Lees dit eerst! Hier staan alle antwoorden') topictitel, dat er wel mensen naar kijken.
Groeten,
Kaasje


ECCE QUAM SIT...
Naar boven Gelogd

TrevoriuS
Gebruiker

Offline Offline

Berichten: 1687


« Antwoord #5 Gepost op: 16 Oktober 2008, 20:20:54 »

Mensen die foutieve topics plaatsen lezen de regels niet, laat staan dit. Daarnaast is het vragen stellen en beantwoorden zoals hier beschreven grotendeels opinie. Ik zeg niet dat ik het oneens ben met je methodes, maar er is geen etiquette voor fora, noch zal ik iets aan mijn poststijl veranderen.


Naar boven Gelogd

Advertenties
« vorige volgende »
Pagina's: [1]
Print


Topic Informatie
0 geregistreerde leden en 1 gast bekijken dit topic.

Ga naar:  

Powered by SMF 1.1.21 | SMF © 2006-2007, Simple Machines
www.game-maker.nl © 2003-2019 Nederlandse Game Maker Community