Paano Mag-code ng isang Video Game: 12 Hakbang (na may Mga Larawan)

Talaan ng mga Nilalaman:

Paano Mag-code ng isang Video Game: 12 Hakbang (na may Mga Larawan)
Paano Mag-code ng isang Video Game: 12 Hakbang (na may Mga Larawan)
Anonim

Ang paglikha ng isang video game ay isang malaking gawain, ngunit ang huling resulta ay maaaring ang pinaka kapanapanabik na proyekto sa pag-coding na natapos mo na. Malalaman mo ang karamihan mula sa mga tool na umaangkop sa iyong antas ng kaalaman sa pagprograma, kaya huwag ipagpalagay na ang simula sa simula ay ang pinakamahusay na pagpipilian. Pumili ng isang wika ng programa, isang Integrated Development Environment, at / o paggawa ng software na maaari mong simulang malaman sa loob ng labinlimang minuto ng pagbubukas nito o pagbabasa ng tutorial.

Mga hakbang

Bahagi 1 ng 2: Pagpili ng isang Engine

Code ng isang Video Game Hakbang 1
Code ng isang Video Game Hakbang 1

Hakbang 1. Alamin ang tungkol sa mga engine ng laro

Karamihan sa mga video game ay ginawa gamit ang isang dalubhasang engine na nagbibigay-daan sa iyo upang "iskrip" ang mga kaganapan, character, at iba pa nang hindi kinakailangang i-code ang bawat isa mula sa simula. Ang paglikha ng isang buong engine ng laro mula sa simula ay maaaring tumagal ng maraming taon, kaya ang karamihan sa mga independiyenteng developer ay gumagamit ng isang mayroon nang engine. Kakailanganin mo lamang sundin ang isa sa mga sumusunod na hakbang sa seksyong ito, nakasalalay sa kung gaano ka komportable sa pagprograma at kung gaano karaming oras ang nais mong gugulin sa maliit na mga detalye.

Code ng isang Video Game Hakbang 2
Code ng isang Video Game Hakbang 2

Hakbang 2. Isaalang-alang ang simpleng software na gumagawa ng laro

Ang mga tool na ito ay nangangailangan ng napakakaunting kaalaman sa programa, kaya maaaring hindi ito para sa iyo kung interesado ka sa mga aspeto ng pag-coding ng paggawa ng laro. Sa kabilang banda, ang isang simpleng diskarte sa dive-right-in ay maaaring magturo sa iyo ng maraming tungkol sa iyong laro, at hayaan kang i-tweak ang mas mataas na antas ng konsepto bago ka lumipat sa isang mas malaking prototype. Narito ang maraming mga libreng pagpipilian:

  • Para sa mga mobile game, subukan ang MIT App Inventor o Game Salad
  • Para sa mga laro sa browser, subukan ang Scratch, o ang mas seryosong bersyon na Snap! inilaan bilang isang panimulang tool sa programa
  • Para sa mga laro sa pakikipagsapalaran, gamitin ang Visionaire.
  • Kung nais mo ang isang drag-and-drop na programa na may pagpipiliang mag-explore din sa pag-coding, subukan ang libreng bersyon ng GameMaker
Code ng isang Video Game Hakbang 3
Code ng isang Video Game Hakbang 3

Hakbang 3. Subukan ang higit pang mga interface ng pag-unlad ng propesyonal

Ito ay isang mahusay na pagpipilian para sa pagkuha ng iyong mga kamay marumi, pagkuha ng karanasan sa pag-coding ng laro nang hindi kinakailangang magsimulang ganap mula sa simula. Maraming mga propesyonal na independyenteng developer ng laro ay nagsisimula sa antas na ito. Habang maraming mga makina at Integrated Development Environments (IDE) na magagamit, ang mga sumusunod ay libre at medyo madaling malaman:

  • Para sa mga mobile game: ProjectAnarchy
  • Para sa mga 3D na laro sa anumang platform: Pagkakaisa
  • Para sa mas advanced na mga coder: LWJGL (nakabase sa Java), SFML (nakabase sa C ++)
Code ng isang Video Game Hakbang 4
Code ng isang Video Game Hakbang 4

Hakbang 4. Pumili ng isang tool para sa pagbuo ng iyong sariling engine

Kung mayroon ka ng kaunting kaalaman sa programa at patay na sa pagbuo ng iyong sariling engine, narito ang ilang mga lugar upang magsimula. Kung ito ang iyong unang pagtatangka, malamang na kailangan mo ng mga tutorial

  • Hahayaan ka ng ActionScript na gumawa ng isang Flash-based na makina. Ito ay isang magandang lugar upang magsimula para sa mga intermeter na programmer.
  • Ang Java ay medyo simple upang malaman. Kakailanganin mo ang isang Java Development Kit (JDK), kasama ang Eclipse o ibang Integrated Development Environment (IDE) para sa Java. Kung hindi ka sigurado kung paano magsisimula.
  • Kung alam mo na ang isang wika ng pagprograma (lalo na ang isang wikang C o Python), maghanap ng isang IDE para sa wikang iyon. Dapat itong isama ang isang tagatala at ang kakayahang madaling gumana sa mga graphic, audio, at iba pang code sa parehong proyekto.
Code ng isang Video Game Hakbang 5
Code ng isang Video Game Hakbang 5

Hakbang 5. Bumuo ng iyong sariling makina

Kung nasa hamon ka at pumili ng isa sa mga advanced na tool sa nakaraang hakbang, malamang na kailangan mong makahanap ng isang tutorial, isang help forum, o isang bihasang developer ng laro para sa payo na tukoy sa iyong wika. Kung hindi ka sigurado kung saan magsisimula o kung ano ang itatanong, narito ang ilang pangunahing mga sangkap na kakailanganin mong buuin nang maaga:

  • Ang isang client-side server, na binibigyang kahulugan ang input ng gumagamit at pinoproseso ang resulta. Gawing tumutugon nang wasto ang input system bago mo ilagay ang seryosong gawain sa graphics at gameplay. (Subukang saliksikin ang "mga tagapakinig ng aksyon" kung natigil ka.)
  • AI para sa iba pang mga character, kaya tumutugon sila sa mga pagkilos ng gumagamit. Para sa isang mas simpleng proyekto, ilipat lamang ang mga character at kumilos sa isang itinakdang landas.
  • Kakayahang mag-render ng mga graphic (magkasama at magpadala ng mga tagubilin sa graphics card).
  • Isang loop ng laro na patuloy na tumatakbo habang ang laro ay naisakatuparan. Dapat itong kunin ang input ng gumagamit, iproseso ito, iproseso ang iba pang lohika ng laro (tulad ng paggalaw ng kaaway, animasyon sa background, at mga na-trigger na kaganapan), kalkulahin kung ano ang kailangang iguhit (ipinakita sa screen), at ipadala ang impormasyon sa graphics card. Patakbuhin ito nang hindi bababa sa 30 beses bawat segundo (30 fps) kung kaya ito ng iyong system.

Bahagi 2 ng 2: Pagdidisenyo ng Laro

Code ng isang Video Game Hakbang 6
Code ng isang Video Game Hakbang 6

Hakbang 1. I-nail down muna ang iyong konsepto

Gumugol ng isang mahusay na halaga ng oras na ipinapako kung ano ang iyong laro bago mo pindutin ang isang linya ng code. Ano ang uri nito? 2D ba o 3D? Nag-unlad ba ang manlalaro sa laro sa pamamagitan ng paglutas ng mga puzzle, pagsunod / paglikha ng kwento, pakikipaglaban sa mga kaaway, at / o paggalugad? Ang mas maraming mga katanungan na sinasagot mo at ang mas maraming detalye na ibinibigay mo sa iyong mga ideya, mas maraming oras na makatipid ka sa pangmatagalan. Kung magpasya kang gumawa ng isang pangunahing pagbabago pagkatapos na magsimula ka nang mag-coding, ang pagbabago ay maaaring tumagal ng maraming beses na mas matagal upang maipatupad.

Pare down ito sa isang bagay na paraan, mas simple kaysa sa iyong orihinal na ideya. Ang isang maliit na prototype na tuklasin kung paano gumagana ang iyong laro at nagbibigay ng mga antas ng pares upang maglaro ay isang mahusay na pagsisimula. Kapag natapos na ito, maaari mo itong magamit bilang isang pundasyon upang mapalawak sa isang buong laro, o isama ang natutunan sa isang bagong proyekto

Code ng isang Video Game Hakbang 7
Code ng isang Video Game Hakbang 7

Hakbang 2. Gumawa ng mga hakbang sa ibaba sa anumang pagkakasunud-sunod

Sa puntong ito, may mga linggo o buwan ng mahirap ngunit kapaki-pakinabang na trabaho sa unahan mo. Habang ang isang pangkat ng mga tao sa pangkalahatan ay hahatiin ang mga gawain sa ibaba at sabay na gagana ang mga ito, ang isang indibidwal ay kailangang magpasya kung aling gawain ang pinakamadaling magsimula sa o pinakamahalaga sa bawat yugto. Basahin ang lahat ng mga hakbang sa ibaba at magsimula sa gawain na higit na naaakit sa iyo.

Code ng isang Video Game Hakbang 8
Code ng isang Video Game Hakbang 8

Hakbang 3. Ipunin o lumikha ng mga pag-aari ng sining

Maliban kung gumagawa ka sa larong text-base, kakailanganin mo ang mga 2D na imahe, at posibleng mga 3D na modelo at pagkakayari (mga pattern na inilalapat mo sa mga modelo). Ang mga epekto ng musika at tunog ay maaari mong antalahin hanggang sa kalaunan sa proseso, ngunit lubos silang inirerekomenda kung balak mong i-publish ang iyong laro. Ang mga simpleng icon, interface ng gumagamit, at mga font ay pinakamababang-priyoridad kapag ang iyong laro ay bata pa, ngunit ang kaunting pagsisikap dito ay maaaring mapabuti ang karanasan ng manlalaro.

  • Maraming mga lugar upang makahanap ng libre o murang mga assets ng sining sa online. Subukan ang listahang ito sa gumagawachool.com.
  • Ang pagkuha ng isang artista ay magkakaroon ng malaking pagkakaiba. Kung hindi mo kayang bayaran, tipunin ang iyong mga assets sa iyong sarili at ipakita ang resulta sa mga masining na kaibigan o i-post ito sa pag-unlad ng laro o mga forum ng art online para sa payo.
Code ng isang Video Game Hakbang 9
Code ng isang Video Game Hakbang 9

Hakbang 4. Gumawa ng kuwento o pag-unlad ng disenyo ng arko

Karamihan sa mga ito ay isusulat bilang pagpaplano ng mga dokumento sa labas mismo ng game code, kahit na ang isang laro na batay sa kwento ay maaaring kailanganing isama ang mga sumasanga na mga puno ng dayalogo. Kahit na ang isang laro na walang tradisyonal na kuwento ay dapat magkaroon ng isang pakiramdam ng pag-unlad na kailangan mong planuhin sa paligid. Ang isang platformer ay maaaring kasangkot sa isang serye ng mga pag-upgrade ng kilusan at sandata, habang ang isang larong puzzle ay maaaring magdagdag ng higit pang mga tampok habang pinapabilis nito ang pagiging kumplikado at kahirapan ng mga puzzle.

Code ng isang Video Game Hakbang 10
Code ng isang Video Game Hakbang 10

Hakbang 5. Magtrabaho sa disenyo ng antas

Magsimula sa isang maliit, simpleng antas o lugar. Ituon ang pansin sa pagbuo ng landas na dadalhin ng manlalaro sa antas, pagkatapos ay magdagdag ng mga landas sa gilid (opsyonal), mas detalyadong graphics, at i-tweak ang kahirapan (tulad ng pag-aayos ng taas ng platform o paglipat ng mga kaaway sa paligid).

Gumamit ng mga light source at drop ng item upang gabayan ang player sa susunod na lugar sa lugar. Gumamit ng mga anino upang pigilan ang loob ng mga manlalaro mula sa pagpasok sa mga dead-end o mahirap na landas, at gumamit ng mga kaaway para sa parehong layunin (depende sa kung paano ka tinuturo ng laro na i-bypass ang mga kaaway). Ang isang mahusay na dinisenyo na lugar ay pinaparamdam ng manlalaro na siya ay gumagawa ng kanyang sariling mga desisyon o paggalugad, ngunit ginagabayan siya sa pinakamadiretso na ruta gamit ang banayad na mga pahiwatig

Code ng isang Video Game Hakbang 11
Code ng isang Video Game Hakbang 11

Hakbang 6. Tweak at i-optimize ang graphics

Hindi ito kinakailangan kung gumagamit ka ng simpleng software-making software. Kung nais mong tuklasin ang mas malalim na dulo ng mga graphic system, maaari kang magsimula sa pamamagitan ng paglikha ng mga shader at mga epekto ng maliit na butil, o dumaan sa graphics code at alisin ang mga gawain na hindi kinakailangan para sa iyong laro. Dahil ang graphics ay palaging ang choke point na tumutukoy sa bilis ng pagproseso, kahit na ang isang 2D na laro ay karaniwang dumadaan sa makabuluhang mga pag-aayos ng pag-optimize at muling pagsusulat upang mabawasan ang pasanin sa graphics card at processor.

Code ng isang Video Game Hakbang 12
Code ng isang Video Game Hakbang 12

Hakbang 7. Kumuha ng puna mula sa mga playtester

Kapag mayroon kang isang simpleng antas o isang prototype ng gameplay, patugtugin ang iyong mga kaibigan at mag-alok ng puna. Alamin kung ano ang iniisip ng mga tao na nakakatuwa, at kung ano ang nakakabigo sa kanila. Sa paglaon sa proseso, kapag ang laro ay mas pinakintab, ang feedback mula sa mga hindi kilalang tao o kakilala ay maaaring maging isang mahusay na mapagkukunan ng matapat na payo, dahil ang mga ito ay hindi gaanong namuhunan sa iyong tagumpay o hinihikayat ka.

Inirerekumendang: