40+ Tutoriale de dezvoltare fantastică a jocurilor de pe Internet

Comunitatea indie gamedev este minunată: atât de dispusă să împărtășească sfaturi, trucuri, sfaturi și chiar tutoriale detaliate care explică concepte importante. Aici am completat cateva zeci de exemple preferate de pe internet, care includ codarea, matematica, designul jocurilor si fiind un dezvoltator de jocuri. Aceasta este calitatea conținutului pe care aspirăm să îl realizăm la Gamedevtuts+.

postări asemănatoare
  • 15+ Analize, Post Mortems și Documente de proiectare a jocurilor
  • Codificare
  • Matematica
  • Design-ul jocului
  • Estetica și prezentarea
  • Fiind un dezvoltator de jocuri

Codificare

Utilizarea câmpurilor potențiale într-un scenariu RTS

Acest tutorial AI are o abordare interesantă a traseului. În imaginea de mai sus, să presupunem că punctul verde este un personaj controlat de computer, albul E este destinația țintă, iar blocurile maro sunt munți impracticabili. Tehnica de bază este de a face ca țintă să genereze un câmp pozitiv, iar munții să genereze câmpuri negative - ca și când ar fi încărcări electrice pozitive și negative. Câmpurile sunt apoi adăugate, reprezentate de diferite nuanțe de albastru, iar punctul verde se deplasează pur și simplu în poziția adiacentă cu cea mai mare "tragere" (adică cea mai ușoară nuanță de albastru).

Tutorialul scufundă cu mult mai multe detalii, arătând cum să se ocupe de unitățile inamice, de minimele locale și de alte situații.

Jocul de viață al lui Conway pentru suprafețele curbe


Un demo al rezultatului final.

S-ar putea să fi văzut tutorialul lui Stephane Beniak despre jocul clasic al vieții aici la Gamedevtuts +. Acest tutorial, de Mikola Lysenko, discută o nouă variantă interesantă: o generalizare a jocului vieții pentru spații netede, aplicată suprafețelor curbate arbitrar.

Mikola nu dă doar pașii necesari pentru a recrea versiunea sa; el se scufundă adânc în matematică și concepte necesare pentru a-l înțelege, treptat construind până la rezultatul impresionant final.

Creați o lume infinită de defilare (Starling / Nape)


Video a demo-ului live.

Acesta este un tutorial scurt și simplu, destinat să arate puterea bibliotecilor Nape și Starling Flash, dar îmi place foarte mult rezultatul! Logica reală din spatele creării terenului este suficient de simplă pentru a înțelege că ați putea să-l portați la majoritatea celorlalte platforme gamedev.

Simulați suprafața apei în LibGdx


Demo video a efectului final.

Acest tutorial, realizat de Rahul Srivastava de jocuri cu rotitoare de canvas, ar putea merge frumos cu tutorialul Dynamic 2D Water Effects al lui Michael Hoffman, pe care l-am publicat la inceputul acestui an. Rahul explică modul de utilizare a shaderelor OpenGL, o funcție sinusoidală și zgomot aleator pentru a crea acest efect de suprafață curată.

Înțelegerea Shuffle-ul Fisher-Yates

Bine, acesta este cu adevărat mai mult decât un tutorial CS mai bun decât un tutorial de codificare specific gamedev, dar nu am rezistat să îl includ aici pentru că îmi place prezentarea. Amuzamentele amestecate ajută la ilustrarea a ceea ce este deja un tutorial clar.

Detectarea siluetelor

Acest articol explorează o întrebare: cum putem detecta silueta unui obiect 3D? Așa cum se întâmplă adesea, primul pas este definirea clară a problemei; odată ce acest lucru este făcut, tutorialul trece prin problemele specifice și oferă un exemplu de cod. Până la sfârșit, puteți lua un model 3D arbitrar și puteți genera conturul 2D.

Generarea hărților poligonale pentru jocuri

Acesta este unul dintre tutorialele mele preferate din toate timpurile. Este complet și foarte bine explicat, cu o mulțime de diagrame și demo-uri. Chiar dacă nu aveți planuri de a genera hărți pentru jocurile dvs., cred că veți găsi o citire fascinantă.

Detectarea și răspunsul de coliziune în N

Îți amintești N? Este un platformer clasic Flash, lansat inițial în 2005 și în cele din urmă ported la Xbox, DS și PSP. A atras într-adevăr atenția oamenilor la acea vreme pentru că este o mișcare super-netedă și mecanică de coliziune.

În acest două parter (partea a doua este aici), dezvoltatorii N explică elementele de bază ale sistemelor lor de detectare a coliziunilor. Dacă doriți să continuați acest lucru, Shiu ne-a scris un tutorial despre aceleași concepte.

Pixel-Perfect Detectarea coliziunilor

Simpla metodă de detectare a coliziunilor este potrivită pentru multe jocuri, dar din experiența mea, dezvoltatorii jocului doresc adesea să obțină o metodă perfectă pixel cât mai repede posibil. Acest tutorial este destul de specific pentru XNA, dar explică conceptele suficient de clar încât le puteți implementa în platforma de dezvoltare 2D de alegere.

Metode 2D în XNA


Demonstrați efectul final.

Acest efect de tip lămpi lavă este adesea folosit pentru a face lichide, și este destul de simplu să redați codul - nu sunt necesare șunți personalizate! Acest tutorial este în XNA, dar este destul de ușor pentru a porni la alte platforme.

Comandă de înaltă ordine: Implementarea Platformelor 2D

Rodrigo Monteiro sparge platformele 2D în patru tipuri - pe bază de țigle (pure), pe plăci de ceramică (netedă), bitmască și vectorială - și explică în mod succint modul în care mișcarea poate fi implementată în fiecare caz. Acest lucru reușește să fie atât o introducere excelentă în concepte, cât și un ghid de referință excelent.

Lode's Graphic Computer Tutorial: Raycasting

S-ar putea să nu fie absolut necesar să vă scrieți propriile raycasteri în aceste zile, mulțumită celor de la Stage3D, Unity și OpenGL, dar cred că este încă interesant să învățați conceptele de bază în spatele redării unei camere în 3D. Acest tutorial explică ideea brută, vă arată cum să construiți radiografia de culoare solidă prezentată mai sus și finalizează prin implementarea unui rendener de texturi Wolfenstein 3D.

Game Primer de programare

Probabil nu ar trebui să încercați să citiți acest lucru pe telefonul smartphone. Acest articol uriaș al lui Randy Gaul este un primer minunat, plin de sfaturi utile pentru programarea jocurilor în C++.

Faceți-vă propriul RPG cu motorul sursă

Source Engine este cel mai bine cunoscut pentru alimentarea jocurilor FPS, cum ar fi Half-Life 2 și Team Fortress 2, dar în acest tutorial, Ben Evans vă arată cum să creați un prototip RPG de bază. El explică modul de a crea căutări, de a adăuga dialog și de a stabili o condiție finală.

Avantajul Pure: joc AI avansate de curse

AI pentru adversarii controlați de calculator nu ar trebui să fie neapărat conceput pentru a le face cât mai competenți; cursele împotriva unui set de șoferi perfecte nu ar fi distractiv. Aici, Eduardo Jiminez explică "AI de cauciuc" AI în Pure, conceput pentru a menține jocul senzațional competitiv și, prin urmare, interesant, împiedicând jucătorul să cadă prea mult în spate (sau să devină prea departe în față!).

Cum să programezi jocuri independente

În această discuție de 80 de minute (jumătate de prezentare, jumătate de sesiune de întrebări și răspunsuri), Jonathan Blow of Braid și The Witness dă sfatul pe care ar fi dat-o ca dezvoltator de jocuri de licență.

A * Pathfinding pentru începători

Există multe tutoriale pe tema A * pathfinding online, dar cred că acesta este cel mai bun început. Patrick Lester explică metoda rapidă și directă, cu sfaturi și clarificări și oferă chiar cod sursă și câteva sugestii pentru ce ghiduri să citiți în continuare.

Fixați-vă timpul!

Dacă aveți o înțelegere decentă a matematicii mecanicii, codarea unui simulator de fizică pare a fi o sarcină simplă. Pe hârtie, este. În practică, natura discretă a oricărei simulări de cod înseamnă că veți întâlni diverse probleme - de exemplu, dacă timpul delta al simulatorului dvs. nu se potrivește cu rata de afișare a jocului dvs., veți observa că simularea rulează mai repede sau mai lent decât doriți.

În acest scurt, dar important articol, Glenn Fielder explică de ce apare problema și cum să o rezolvăm.

Platformerul tuturor

Bine, asta nu este tehnic un tutorial, dar cu siguranță merită un loc aici. Chris DeLeon a oferit un joc de platformă cu trei niveluri, complet cu un editor de nivel și un cod sursă complet. Așa cum o pune:

Acesta nu este un proiect open source, deoarece este o grămadă neobișnuit de expansivă de demonstrație / exemplu de cod conectat, deși intenționează să încapsuleze mai mult sau mai mult despre designul jocului (experiența utilizatorului, tuning, relațiile de sistem) și producția de jocuri creare eficientă, conținut de conducte), deoarece este vorba despre programarea de bază.


Matematica

quaternions

Quaternionele reprezintă o modalitate convenabilă de a reprezenta rotațiile în spațiul 3 dimensional. [...] Principalul avantaj pe care îl au asupra unghiurilor lui Euler este acela că ele pot fi interpolate fără a căuta îngrozitor. Puteți compune rotații prin multiplicarea quaternionelor, la fel ca în cazul matricelor de rotație, dar o unitate quaternion este întotdeauna o rotație, în timp ce o matrice 3 × 3 ar putea fi o serie de alte tipuri de transformări (eventual nedorite).

Acest tutorial din trei părți din Studiourile Twisted Oak explică matematica quaternionelor. Aceasta nu este o vopsea prin numere post; presupune că aveți un interes să învățați mai mult despre astfel de concepte decât să le folosiți.

Distracție cu poligoane convexe

Există o multitudine de conținuturi extraordinare pe site-ul lui Paul Firth, dar acesta este un post pe care mă refer înapoi la: câteva metode utile pentru a lucra cu poligoane convexe (adică formele drepte care nu se dublează pe ele însele).

Pavel explică cum să dăm seama de zona din interiorul unui poligon și cum să detectăm dacă un anumit punct se află în interiorul unui poligon. Foarte interesant, dar frecvent la îndemână.

Vector Maths - un premiu pentru programatori de jocuri

Un alt ghid foarte bun de la Paul Firth. De data aceasta, el abordează aproape tot ceea ce trebuie să știți, ca dezvoltator de jocuri, pentru a avea o înțelegere bună a matematicii vectoriale. Eu folosesc acest lucru ca o referință (este bine organizat!), Dar cred că ar servi și ca tutorial decent introductiv.

Algebra liniară pentru dezvoltatorii de jocuri

David Rosen de la Wolfire Games trece prin elementele de baza ale vectorilor si matricelor din seria de patru parti, cu o multime de exemple legate de joc atat in 2D cat si 3D.


Design-ul jocului

Baza de date nr Twinkie

Ca și TVTropes pentru decizii de design rău joc. Ernest Adams a urmărit de mai bine de un deceniu "greșelile de joc" (atât din experiențele proprii, cât și pe sugestiile cititorilor) și le-a compilat într-o listă clasificată aici.

Învățați să iubiți modelele de atacul inamicului

Șefii mari din RPG-uri ar trebui să fie greu, dar nu este deloc distractiv dacă nu pot fi bătut. Aici, Solitayre explică cum să structurați modelele de atac ale inamicului pentru a face bătălii memorabile și pline de satisfacții.

Proiectarea în jurul unui mecanic de joc de bază

În acest articol, Charmie din FunstormGames trece pe metodologia de design simplă a jocului lui Wil Mozell: "Diagrama de bază" prezentată mai sus. După cum arată postul, acest lucru se aplică surprinzător de bine la multe jocuri diferite, astfel încât acesta oferă un mod interesant de a gândi despre design.

11 sfaturi pentru a face un platformer distractiv

Este greu să clasificați această postare: conține sfaturi despre codificare, scrierea de povestiri, interfața cu utilizatorul și lucrul în echipă, toate centrate pe tema realizării jocurilor pe platformă. Dacă intenționați să faceți un platformer, citiți acest lucru, indiferent de rolul dvs.!

Chimia de proiectare a jocurilor

Pot abilitățile de joc să fie împărțite într-o serie de "atomi"? Danc spune da, și prezintă metoda lui de a face acest lucru aici. În acest mod, o mecanică a jocului poate primi o structură clară, care la rândul său poate fi utilizată pentru a proiecta jocul pentru a menține jucătorul în mișcare înainte, întotdeauna învățând sau îmbunătățind.

Dacă vă place acest lucru, verificați prezentarea Danc Aplicația de salvare prințesă.

Nu am cuvinte și eu trebuie să proiectez

Notă: Vezi și versiunea revizuită ulterioară a acestui articol (PDF).

Ca designeri de jocuri, avem nevoie de o modalitate de a analiza jocurile, de a încerca să le înțelegem și de a înțelege ce funcționează și ce le face interesante. Avem nevoie de o limbă critică. Și din moment ce aceasta este în esență o nouă formă, în ciuda creșterii sale enorme și a diversității uimitoare, trebuie să inventăm una.

Principiile senzatiei virtuale


Stările suprapuse, care interacționează cu controalele Super Mario.

Steve Swink, autorul Game Feel, discută conceptul de senzatie virtuala - "lucrul care face ca mama ta să se lase stânga și dreapta în scaunul ei în timp ce încearcă să joace Rad Racer" - examinând șapte modalități diferite de a le afecta. Pentru a-și demonstra punctul de vedere, el folosește exemple de jocuri populare și demo-uri simple care pot fi redate, care se concentrează pe controale.


Estetica și prezentarea

Sucați-l sau pierdeți-l


Urmăriți prezentarea.

Martin Jonasson și Petri Purho demonstrează cum o clonă clară de Breakout poate fi făcută mult mai distractivă prin adăugarea de "suc" - mici atingeri de poloneză. Asigurați-vă că ați verificat diferitele link-uri postate sub videoclipul de pe YouTube.

Legend of Dungeon - Lumina dinamică pe sprites

Datorită cartografierii normale, aceste sprite simple 2D pot fi umbrite luminate dinamic pe baza luminii care le lovește. Aruncați o privire asupra scheletului în pălăria pirat, în special: o parte este albastră aprinsă; celălalt este aprins roșu. Este o modalitate excelentă de a combina arta retro pixel cu puterea mediilor moderne 3D gamedev.

Dynamic Lighting și Umbre


Demonstrați efectul.

Inspirat de postul de mai sus, Matt Greer a conceput o metodă de adăugare a iluminării dinamice și umbre la arta pixelilor 2D. Acest tutorial merge mai în detaliu decât primul, explicând matematica din spatele efectului cu un exemplu de cod.

Increderea lui Ink-Bleed Fade


Puteți vedea efectul din tranziția din meniu în primele câteva secunde ale acestui videoclip.

Colin Northway explică modul în care a creat efectul de estompare cu cerneală-sângerare pentru tranzițiile de meniu în Incredipede. În afară de explicarea efectului rece, acest post evidențiază, de asemenea, importanța încercărilor și erorilor.

Un ghid pentru proiecție în jocurile video

Voi cita din partea autorului, Radek Koncewicz:

Proiecția înseamnă în principiu preluarea unui obiect tridimensional și afișarea lui pe un plan 2D (adică un ecran). Există diferite modalități de a realiza acest lucru, iar fiecare tehnică are un impact profund asupra aspectului și mecanicii jocului.

Înainte de a citi acest articol, nu am observat niciodată o proiecție în jocuri - aș putea spune un joc izometric dintr-un adevărat joc 3D, sigur - dar, după cum arată acest articol, "izometric" nu înseamnă cu adevărat ce credeam că a făcut ...

Arta 2D pentru programatori

Aceasta este o colecție de ghiduri stelare pas-cu-pas pentru a desena desen animat desen animat potrivite pentru jocuri, fără a fi nevoie de fapt a desena orice. Ghidajele sunt atât de simple încât se simte mai degrabă de a asambla opere de artă decât de a le crea - și vreau să spun asta ca un compliment.

Cum de a alege culori procedural

Am vorbit despre palete la Gamedevtuts + înainte: atât cum să le alegeți manual, cât și cum să le permiteți jucătorilor să le personalizeze. Acest articol explică modul de a lăsa a calculator alegeți o paletă potrivită pentru jocul dvs. - minunat pentru orice cu niveluri generate în mod procedural!

Deci, vrei să fii un artist Pixel?

Deși acest tutorial are o vechime de peste un deceniu, este încă un ghid excelent pentru programatorii care nu au nici o capacitate artistică de a face rapid o artă pixel decentă.

Dacă sunteți mai înclinat în artistic, verificați în schimb Pixel Tutorial lui Derek Yu.


Fiind un dezvoltator de jocuri

Cum să fii un dezvoltator de jocuri Indie

Acesta este articolul meu pentru aspiranți dezvoltatori de jocuri indie care doresc să știe la ce intră. Este plin de mici citate asemănătoare:

Designul jocului și designul de nivel sunt abilități diferite: unul este proiectarea unui sistem, iar celălalt este elaborat cum să prezentăm acest sistem în modul cel mai plăcut.

Fun fact: am folosit de fapt acest articol ca unul dintre ghidurile noastre de referință atunci când vine cu planurile pentru Gamedevtuts+.

Finalizarea unui joc

În ultimul nostru sondaj, cea mai frecventă selecție pentru cea mai grea parte a dezvoltării unui joc a fost "finalizarea".

Aici, Derek Yu enumeră sfaturi practice pentru a face efectiv jocurile. (Postul se dublează, de asemenea, ca o lovitură motivațională în spate!)

Vizualizarea procesului de creatie


"Creativitatea este ca un șarpe înghițind o serie de mingi de tenis."

Danc explică procesul său creativ de creare a unor jocuri excelente, inclusiv procesul de prototipare foarte important (și procesul de achiziții de idei la fel de importante).

Lecții învățate de la "Meatgrinder"

M-am așezat cu dovezi. Am vorbit. Mi-am jucat jocurile. Mi-au povestit despre relațiile, încercările lor și speranțele lor stralucitoare. Sincer, a fost înfricoșător. Atât de multe jocuri minunate. Și totuși atât de multe modele de afaceri rupte, tehnici de producție rupte și filozofii sparte de ceea ce contează. Optzeci la sută din jocurile afișate nu vor aduce înapoi bugetele de dezvoltare.

Acesta este mai mult un ghid pentru ce nu a face; Danc împarte cele mai comune (și devastatoare) greșeli pe care le fac studiourile de jocuri indie. Aflați de la ceilalți.


Nu uita: în afară de publicarea tutorialelor de la gamedev, de asemenea, de obicei, ne împărtășim cele mai bune de pe web pe canalele noastre Twitter, Facebook și Google+. De asemenea, am creat o comunitate Google+ pentru a distribui articole ca acestea. Dacă știți despre un tutorial minunat pe care l-am pierdut, anunțați-mă!

De asemenea, verificați selecția vastă a fundalurilor de joc și a altor elemente de joc frumos proiectate pe Envato Elements.

Jocul pe Envato Elements

(Și, firește, dacă ați scris unul dintre articolele prezentate mai sus, considerați acest lucru o invitație deschisă de a scrie pentru noi ...)