40+ fantastiske spillutviklingsopplæringer fra over hele verden

Indie gamedev samfunnet er fantastisk: så villig til å dele tips, triks, råd, og til og med detaljerte opplæringsprogrammer som forklarer viktige konsepter. Her har jeg avrundet et par dusin av mine favoritteksempler fra hele Internett, som dekker koding, matematikk, spilldesign og å være spillutvikler. Dette er kvaliteten på innholdet som vi ønsker å oppnå på Gamedevtuts+.

Relaterte innlegg
  • 15 + Analyser, Post Mortems og Game Design Dokumenter
  • Coding
  • Matte
  • Spilldesign
  • Estetikk og presentasjon
  • Å være en spillutvikler

Coding

Bruke potensielle felt i et RTS-scenario

Denne AI opplæringen tar en interessant tilnærming til å finne veien. På bildet over, anta at den grønne prikken er en datamaskinstyrt karakter, den hvite E er målet, og de brune blokkene er ugjennomtrengelige fjell. Den grunnleggende teknikken er å få målet til å generere et positivt felt og fjellene genererer negative felt - som om de var positive og negative elektriske ladninger. Feltene legges da til, som representert av de varierende nyanser av blått, og den grønne prikken beveger seg ganske enkelt til den tilstøtende posisjonen med den høyeste "trekk" (dvs. den lyseste nyans av blå).

Opplæringen dykker inn for mye mer detalj, viser hvordan man skal håndtere fiendens enheter, lokale minima og andre situasjoner.

Conways livsspill for buede overflater


En demonstrasjon av det endelige resultatet.

Du har kanskje sett Stephane Beniaks opplæring om det klassiske Game of Life her på Gamedevtuts +. Denne opplæringen, av Mikola Lysenko, diskuterer en interessant ny variant: en generalisering av Game of Life for glatte mellomrom, anvendt på vilkårlig buede overflater.

Mikola gir ikke bare de trinnene som kreves for å gjenskape sin versjon; han dykker dypt inn i matematikk og konsepter som kreves for å forstå det, og bygger gradvis opp til det endelige imponerende resultatet.

Lag en uendelig rullende verden (Starling / Nape)


Video av live-demoen.

Dette er en kort og enkel opplæring, beregnet på å vise frem kraften til Nape og Starling Flash-bibliotekene, men jeg liker virkelig resultatet! Den faktiske logikken bak skapelsen av terrenget er lett nok til å forstå at du kan sende den til de fleste andre gamedev-plattformer.

Simuler vannoverflaten i LibGdx


Videodemo av den endelige effekten.

Denne opplæringen, av Rahul Srivastava av Rotating Canvas-spill, kan kanskje gå bra med Michael Hoffmans Dynamic 2D Water Effects-opplæring som vi publiserte tidligere i år. Rahul forklarer hvordan man bruker OpenGL shaders, en sinusfunksjon og tilfeldig støy for å skape denne fine vannoverflateffekten.

Forstå Fisher-Yates Shuffle

Ok, dette er virkelig mer av en rett CS-veiledning enn en gamedev-spesifikk kodingstutorial, men jeg kunne ikke motstå å inkludere det her fordi jeg elsker presentasjonen. De shuffling animasjonene bidrar til å illustrere hva som allerede er en klar opplæring.

Silhouette Detection

Denne artikkelen utforsker ett spørsmål: hvordan kan vi oppdage silhuetten av et 3D-objekt? Som det ofte er tilfelle, er det første trinnet å klart definere problemet; Når dette er gjort, går opplæringen gjennom de spesifikke problemene og gir noen prøvekode. På slutten kan du ta en vilkårlig 3D-modell og generere 2D-omrisset.

Polygonal Map Generation for Games

Dette er en av mine favoritt opplæringsprogrammer hele tiden. Det er omfattende og veldig godt forklart, med mange diagrammer og demoer. Selv om du ikke har noen planer om å generere kart for spillene dine, tror jeg du vil finne det en fascinerende lese.

Kollisjonsdeteksjon og svar i N

Husk N? Det er en klassisk Flash-platformer, opprinnelig utgitt i 2005 og til slutt portet til Xbox, DS og PSP. Det tok virkelig folkets oppmerksomhet på tiden, for det var super jevn bevegelses- og kollisionsmekanikk.

I disse topartierne (del to er her), forklarer utviklerne av N grunnleggende om deres kollisjonsdeteksjonssystemer. Hvis du vil ta dette videre, skrev Shiu en veiledning for oss om de samme konseptene.

Pixel-Perfect Kollisjonsdeteksjon

Den enkle AABB-metoden for kollisjonsdeteksjon er egnet for mange spill, men i min erfaring ønsker spillutviklere ofte å komme til en piksel-perfekt metode så raskt som mulig. Denne opplæringen er ganske spesifikk for XNA, men det forklarer konseptene klart nok til at du kunne implementere dem i 2D-utviklingsplattformen din..

2D Metaballs i XNA


Demo av den endelige effekten.

Denne lava lampestilseffekten brukes ofte til å gjengi væsker, og er ganske grei å gjengi med kode - ingen tilpassede shaders kreves! Denne opplæringen er i XNA, men er lett nok til å havne til andre plattformer.

Høyere ordre moro: Implementere 2D-plattformer

Rodrigo Monteiro bryter 2D-plattformspillere i fire typer - fliserbasert (ren), fliserbasert (glatt), bitmask og vectorial - og forklarer hvordan bevegelse kan implementeres i hvert enkelt tilfelle. Dette klarer å være både en utmerket introduksjon til konseptene og en flott referansehåndbok.

Lode's Computer Graphics Tutorial: Raycasting

Det er kanskje ikke strengt nødvendig å skrive dine egne raykasters i disse dager, takket være Stage3D, Unity og OpenGL, men jeg synes det er fortsatt interessant å lære de grunnleggende konseptene bak å lage et rom i 3D. Denne opplæringen forklarer den tøffe ideen, viser hvordan du bygger den solide fargebryteren som er vist ovenfor, og avsluttes ved å implementere en Wolfenstein 3D-stil tekstur gjengivelse.

Game Programming Primer

Du bør nok ikke prøve å lese dette på smarttelefonen din. Denne enorme artikkelen av Randy Gaul er en fantastisk primer, fylt med gode råd for programmeringsspill i C++.

Lag din egen RPG med kildemotoren

Source Engine er best kjent for å drive FPS-spill som Half-Life 2 og Team Fortress 2, men i denne opplæringen viser Ben Evans deg hvordan du lager en grunnleggende RPG-prototype. Han forklarer hvordan man oppretter oppdrag, legger til dialog og setter opp en slutt tilstand.

Den rene fordelen: Avansert Racing Game AI

AI for datastyrte motstandere bør ikke nødvendigvis være utformet for å gjøre dem så kompetente som mulig; racing mot et sett med perfekte drivere ville ikke være moro. Her forklarer Eduardo Jiminez "Gummibåndet" AI in Pure, designet for å holde spillet til å være konkurransedyktig, og derfor spennende, ved å forhindre at spilleren faller for langt bak (eller blir for langt foran!).

Slik programmerer du uavhengige spill

I denne 80-minutters snakkingen (halv presentasjon, halv Q & A-økt) gir Jonathan Blow of Braid og The Witness det rådet han ville ha gitt seg som en grunnleggende spillutvikler.

A * Pathfinding for nybegynnere

Det er mange A * opplæringsopplæring online, men jeg tror dette er den beste til å begynne med. Patrick Lester forklarer metoden raskt og direkte, med tips og avklaringer, og til og med gir kildekoden og noen forslag til hvilke guider som skal leses neste.

Løs ditt tidspunkt!

Hvis du har en anstendig forståelse av matematikken til mekanikk, virker koding en fysikk simulator som en enkel oppgave. På papir er det. I praksis betyr den diskrete naturen av en hvilken som helst kodesimulering at du kommer til å løse forskjellige problemer - for eksempel hvis simulatorns deltatid ikke samsvarer med ditt spillets skjermfrekvens, vil du oppdage at simuleringen går raskere eller langsommere enn du tenkte på.

I denne korte, men viktige artikkelen, forklarer Glenn Fielder hvorfor problemet oppstår, og hvordan å fikse det.

Alle plattformer

Ok, dette er det ikke teknisk sett en opplæring, men det fortjener absolutt et sted her. Chris DeLeon har levert et plattformspill på tre nivåer, komplett med et nivåredaktør og full kildekode. Som han sier:

Dette er ikke så mye et åpen kildekode-prosjekt, da det er en uvanlig ekspansiv haug med tilkoblet demonstrasjon / eksempelkode, men er ment å inkapslere så mye eller mer om spilldesign (brukeropplevelse, tuning, systemrelasjoner) og spillproduksjon (utvikling avvik, effektiv forfatter-, innholdsrørledning) som det handler om den underliggende programmeringen.


Matte

kvaternioner

Quaternions er en praktisk måte å representere rotasjoner i tredimensjonalt rom. [...] Den største fordelen de har over Euler-vinkler er at de kan interpoleres uten å se forferdelig. Du kan komponere rotasjoner ved å multiplisere quaternions, omtrent som rotasjonsmatriser, men en kvaternion er alltid en rotasjon, mens en 3 × 3 matrise kan være en rekke andre typer (muligens uønskede) transformasjoner.

Denne tredelte opplæringen fra Twisted Oak Studios forklarer matematikk av kvaternioner. Dette er ikke en maling av tallpost; Det forutsetter at du har en interesse i å lære om disse typer konsepter, heller enn å bare sette dem i bruk.

Morsomt med konvekse polygoner

Det er et stort innhold på Paul Firths nettsted, men dette er et innlegg jeg fortsetter å henvise til: Et par nyttige metoder for å arbeide med konvekse polygoner (det vil si rettsidige former som ikke dobler seg tilbake på seg selv).

Paul forklarer hvordan man skal finne ut området i en polygon, og hvordan man oppdager om et bestemt punkt er inne i en polygon. Nesten spennende, men ofte nyttig.

Vector Maths - En Primer for spillprogrammerere

En annen flott guide fra Paul Firth. Denne gangen takler han stort sett alt du trenger å vite, som spillutvikler, for å få en god forståelse av vektormatematikk. Jeg bruker dette som en referanse (det er pent organisert!), Men jeg tror det ville tjene som en anstendig introduksjonsoppgave også.

Lineær algebra for spillutviklere

David Rosen fra Wolfire Games går gjennom grunnleggende vektorer og matriser i denne firedelte serien, med mange spillrelaterte eksempler i både 2D og 3D.


Spilldesign

The No Twinkie Database

Liker TVTropes for dårlige spilldesignbeslutninger. Ernest Adams har holdt oversikt over "game misfeatures" i over et tiår (både fra egne erfaringer og basert på forslag fra lesere), og har samlet dem inn i en kategorisert liste her.

Lære å elske Enemy Attack Patterns

Store sjefer i RPG bør være tøffe, men det er ikke gøy hvis de er umulige å slå. Her forklarer Solitayre hvordan man skal strukturere fiendens angrepsmønstre for å gjøre for minneverdige, givende slag.

Designing Around a Core Game Mechanic

I denne artikkelen går Charmie of FunstormGames videre på Wil Mozells misvisende enkle spilldesignmetode: "Core Diagram" som vist ovenfor. Som innlegget viser, gjelder dette overraskende bra for mange forskjellige spill, så det gir en interessant måte å tenke på design.

11 tips for å lage en morsom plattformer

Det er vanskelig å kategorisere dette innlegget: det inneholder tips om koding, historieskriving, brukergrensesnitt og samarbeid, alt sentrert rundt temaet for å lage plattformspill. Hvis du planlegger å lage en plattformser, må du lese dette, uansett hvilken rolle du har!

Kjemien til spilldesign

Kan gameplay ferdigheter bli brutt ned i en rekke "atomer"? Danc sier ja, og presenterer sin metode for å gjøre det her. På denne måten kan et spills mekanikk få en klar struktur, som igjen kan brukes til å designe spillet for å holde spilleren fremover, alltid læring eller forbedring.

Hvis du liker dette, sjekk ut Dancs presentasjon, The Princess Rescuing Application, også.

Jeg har ingen ord og jeg må designe

Merk: Se også den senere reviderte versjonen av denne artikkelen (PDF).

Som spilldesignere trenger vi en måte å analysere spill, for å prøve å forstå dem, og å forstå hva som fungerer og hva som gjør dem interessante. Vi trenger et kritisk språk. Og siden dette er i utgangspunktet en ny form, til tross for den enorme veksten og svimlende mangfoldet, må vi oppfinne en.

Prinsipper for Virtual Sensation


De overlappende, interaksjonelle tilstandene til Super Mario's kontroller.

Steve Swink, forfatter av Game Feel, diskuterer begrepet virtuell følelse - "tingen som gjør at mamma lener seg til venstre og høyre i sitt sete mens hun prøver å spille Rad Racer" - undersøker syv forskjellige måter å påvirke den på. For å hjelpe demonstrere hans poeng, bruker han eksempler på populære spill, og enkle spillbare demoer som fokuserer på kontrollene.


Estetikk og presentasjon

Juice det eller miste det


Se presentasjonen.

Martin Jonasson og Petri Purho demonstrerer hvordan en vanlig Breakout klon kan bli gjort mye mer moro ved å legge til "juice" - små detaljer av polsk. Husk å sjekke ut de ulike koblingene som er lagt inn under videoen på YouTube.

Legend of Dungeon - Dynamic Lighting on Sprites

Takket være normal kartlegging, kan disse enkle 2D sprites være skyggelagt opplyst dynamisk basert på lyset som rammer dem. Ta en titt på skjelettet i pirathatten, spesielt: den ene siden er tynn blå; den andre lyser rødt. Det er en fin måte å kombinere retro pixel art med kraften i moderne 3D gamedev miljøer.

Dynamisk belysning og skygger


Demo av effekten.

Inspirert av ovennevnte innlegg, utviklet Matt Greer en metode for å legge til dynamisk belysning og skygger til 2D pixel art. Denne opplæringen går i mer detalj enn den tidligere, og forklarer matematikkene bak effekten med noen prøvekode.

Incredipede's Blekk-Bleed Fade


Du kan se effekten i menyovergangene i de første sekundene av denne videoen.

Colin Northway forklarer hvordan han skapte blekkfargingseffekten for menyoverganger i Incredipede. Bortsett fra å forklare den kule effekten, fremhever dette innlegget også betydningen av prøving og feiling.

En leksmanns guide til projeksjon i videospill

Jeg vil sitere fra forfatteren, Radek Koncewicz:

Projeksjon betyr i utgangspunktet å ta et tredimensjonalt objekt og vise det på et 2D-plan (dvs. en skjerm). Det finnes ulike måter å oppnå dette på, og hver teknikk har en dyp innvirkning på et spills utseende og mekanikk.

Før jeg hadde lest denne artikkelen, hadde jeg aldri lagt merke til projeksjon i spill - jeg kunne fortelle et isometrisk spill fra et ekte 3D-spill, sikkert - men som denne artikkelen viser, betyr "isometrisk" egentlig ikke hva jeg trodde det gjorde ...

2D Game Art for programmerere

Dette er en samling av fantastiske trinnvise guider for å tegne tegneserieartikk som passer for spill, uten å måtte faktisk tegne hva som helst. Guidene er så enkle at det føles mer som å samle kunstverk enn å skape det - og jeg mener det som et kompliment.

Hvordan velge farger prosedyrisk

Vi har snakket om paletter på Gamedevtuts + før: både hvordan man manuelt velger dem og hvordan man lar spillerne tilpasse dem. Denne artikkelen forklarer hvordan du skal la en datamaskin velg en passende palett for spillet ditt - bra for alt med prosedyrisk genererte nivåer!

Så du vil være en Pixel Artist?

Selv om denne opplæringen er over ti år gammel, er det fortsatt en god guide for programmerere uten kunstnerisk evne til å gjøre noen anstendig utseende piksel kunst raskt.

Hvis du er mer kunstnerisk tilbøyelig, sjekk ut Derek Yu's Pixel Tutorial i stedet.


Å være en spillutvikler

Hvordan være en Indie Game Developer

Dette er min go-to artikkel for aspirerende indie spillutviklere som vil vite hva de får inn i. Det er fullt av flotte små sitater som dette:

Spilldesign og nivådesign er forskjellige ferdigheter: en er å designe et system og den andre jobber med å presentere systemet på den mest givende måten.

Morsomt faktum: Vi brukte faktisk denne artikkelen som en av våre referanseguider når vi kom opp med planene for Gamedevtuts+.

Etterbehandling et spill

I vår siste meningsmåling var det vanligste valget for den vanskeligste delen av å utvikle et spill "ferdig med det".

Her viser Derek Yu praktiske råd for å få spill gjort. (Stillingen dobler også som et motivasjonsspark på baksiden!)

Visualisering av Creative Process


"Kreativitet er som en slange som svelger en serie tennisballer."

Danc forklarer sin kreative prosess for å skape gode spill, inkludert den all-viktige prototypeprosessen (og den like viktige løsningen av dårlig-ideer).

Leksjoner lærte fra Indie 'Meatgrinder'

Jeg satte meg ned med devs. Vi snakket. Jeg spilte sine spill. De fortalte meg om deres relasjoner, deres prøvelser og deres lyse forhåpninger. Ærlig, det var hjerteskjærende. Så mange flotte spill. Og likevel så mange ødelagte forretningsmodeller, ødelagte produksjonsteknikker og ødelagte filosofier om hva som betyr noe. Åtti prosent av spillene som vises, vil ikke gi tilbake sine utviklingsbudsjetter.

Dette er mer en veiledning til hva ikke å gjøre; Danc deler de vanligste (og ødeleggende) feilene som indie game studios gjør. Lær av andre.


Ikke glem: foruten å publisere gamedev opplæringsprogrammer her, deler vi også ofte det beste fra nettet på Twitter, Facebook og Google+ kanaler. Jeg har også satt opp et Google+ fellesskap for å dele artikler som disse. Hvis du vet om en god opplæring som jeg har savnet, gi meg beskjed!

Se også på det store utvalget av spillbakgrunner og andre vakkert designede spillverdier på Envato Elements.

Spillverdier på Envato Elements

(Og selvfølgelig, hvis du har skrevet en av artiklene omtalt ovenfor, anser du dette for en åpen invitasjon til å skrive for oss ...)