Paano Mag-Program ng isang Video Game: 10 Hakbang (na may Mga Larawan)

Talaan ng mga Nilalaman:

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

Mga telepono, browser, computer, console: ang mga video game ay mas popular at laganap kaysa dati. Maaari kang makahanap ng higit pang mga tutorial, koleksyon ng assets, mga tool sa software na gumagawa ng laro, at payo ng dalubhasa kaysa dati. Ang pagprogram ng iyong sariling laro ay hinihingi pa rin ang kasanayan at pasensya, ngunit may sapat na mga mapagkukunan para sa isang coder ng anumang antas.

Mga hakbang

Bahagi 1 ng 2: Pagsisimula

Magprogram ng isang Video Game Hakbang 1
Magprogram ng isang Video Game Hakbang 1

Hakbang 1. Isaalang-alang ang isang engine ng laro

Ilang mga tagabuo ng laro ang muling nagbibigay ng gulong at nagsulat ng kanilang sariling engine ng laro mula sa simula, lalo na para sa kanilang unang laro. Kung nais mong sumisid kaagad, ngunit mayroon pa ring maraming mga pagkakataon para sa pag-program, ang paggamit ng isang engine ng laro ay isang mahusay na pagpipilian. Karaniwang may kasamang isang mas mataas na antas na mga tool ang isang engine para sa pagbabago ng mga modelo ng 3D, mga kaganapan sa pag-script, at iba pang mga karaniwang application ng laro, ngunit magkakaloob pa rin ng maraming mga hands-on na pagkakataon sa pagprograma.

Kasama sa mga tanyag na halimbawa na napakahirap sa pagprograma ang Unity, UDK, Unreal Engine 4, at CryENGINE

Magprogram ng isang Video Game Hakbang 2
Magprogram ng isang Video Game Hakbang 2

Hakbang 2. Gumamit ng mga balangkas at iba pang mga tool

Ang isang balangkas ay isang hakbang sa ibaba ng isang engine ng laro, ngunit nagbibigay pa rin ng isang hanay ng mga tool at API (mga interface ng programa ng application) upang makatipid sa iyo ng oras at streamline ang iyong mga proyekto sa pag-cod. Isaalang-alang ito ang pinakamababang antas ng software na gagamitin para sa iyong unang proyekto sa paglalaro, at kahit na dapat ay komportable kang ipakilala ang iyong sarili bilang isang programmer, o magkaroon ng malalim na interes sa likuran ng eksena na gumagana sa mga engine ng laro. Nakasalalay sa eksaktong balangkas at / o engine ng laro na ginagamit mo, baka gusto mong gawin ang ilan sa gawain sa karagdagang, dalubhasang mga API, tulad ng tanyag na OpenGL para sa paglikha ng mga 3D graphics.

Ang Polycode, Turbulenz, at MonoGame ay halimbawa ng mga balangkas na nilikha na kapwa nasa isip ng 2D at 3D na laro

Magprogram ng isang Video Game Hakbang 3
Magprogram ng isang Video Game Hakbang 3

Hakbang 3. Sumubok ng isang IDE

Ang isang Integrated Development Environment ay isang tagabuo ng pangkalahatang layunin at koleksyon ng mga mapagkukunang file na ginagawang mas madaling buuin ang mga kumplikadong proyekto sa pagprogram. Ang isang IDE ay gagawing mas maginhawa ang programa, lalo na kung may mga built-in na paraan upang makipag-ugnay sa mga graphic at audio system.

Ang Visual Studio at Eclipse ay dalawang halimbawa, ngunit maraming iba pa. Maghanap para sa isang IDE batay sa paligid ng isang wika na pamilyar ka

Magprogram ng isang Video Game Hakbang 4
Magprogram ng isang Video Game Hakbang 4

Hakbang 4. Alamin ang isang wika ng programa

Karamihan sa mga tool sa itaas ay batay sa isang tanyag na wika ng programa, kaya't ang pagsunod sa mga kasamang tutorial ay magbibigay sa iyo ng mahusay na pagsisimula. Habang maaari kang lumikha ng isang laro sa halos anumang sapat na malakas na wika ng programa, ang pinakakaraniwang mga wika ay C ++ o C # para sa lahat ng mga aparato, Flash ActionScript o HTML5 para sa mga browser, at Java o Layunin C para sa mga mobile device. Mahusay na pagpipilian ito kung naglalayon ka na sa kalaunan ay matanggap ng isang mayroon nang game studio, ngunit maraming malayang laro ang nilikha gamit ang Python, Ruby, o JavaScript.

Bahagi 2 ng 2: Paglikha ng Laro

Magprogram ng isang Video Game Hakbang 5
Magprogram ng isang Video Game Hakbang 5

Hakbang 1. Lumikha ng isang plano para sa laro

Palabasin ang konsepto ng laro hangga't maaari bago ka magsimula, kasama ang genre, kondisyon, at uri ng gameplay. Kung sinimulan mo ang pag-program bago malinaw ang konsepto, malamang na magkawatak-watak ka at muling isulat ang isang malaking halaga ng trabaho. Marahil ay mangyayari pa rin ito, ngunit isang matibay na plano ang magpapanatili sa mga kaganapang ito sa isang minimum.

Ang lahat maliban sa pinaka-eksperimentong mga laro ay may arc ng pag-unlad, kaya't ito ay isang magandang lugar upang simulan ang pagpaplano. Karaniwang nangyayari ang pag-unlad sa pamamagitan ng isa o higit pa sa mga sumusunod: pagtuklas ng higit pa tungkol sa balangkas at mga character, paggawa ng mga desisyon na nakakaapekto sa storyline, pagkakaroon ng mga bagong kakayahan o mas mataas na istatistika, paggalugad ng mga bagong lugar, o paglutas ng mga mahirap at mahirap na mga puzzle

Magprogram ng isang Video Game Hakbang 6
Magprogram ng isang Video Game Hakbang 6

Hakbang 2. Ipunin ang iyong mga assets ng sining

Kolektahin o lumikha ng lahat ng mga texture, sprite, tunog, at modelo na kakailanganin mo para sa iyong laro. Mayroong ilang mga koleksyon ng mga libreng pag-aari ng laro, kaya't ang ilang paghahanap. Kung gumagawa ka ng isang 2D na laro at walang artist na makakatulong, maaari kang lumikha ng iyong sariling pixel art.

Magprogram ng isang Video Game Hakbang 7
Magprogram ng isang Video Game Hakbang 7

Hakbang 3. I-script ang iyong laro

Sinasabi ng script sa engine ang dapat gawin at kung kailan ito gagawin. Kung gumamit ka ng isang open source engine, malamang na mayroon na itong wika ng scripting, at marahil mga tutorial na magtuturo sa iyo kung paano ito gamitin. Kung bumuo ka ng iyong sariling engine pagkatapos ay magkakaroon ka upang lumikha ng iyong sariling wika ng scripting. Alinmang paraan, kakailanganin mo ang mga pangunahing sangkap na ito sa minimum:

  • Ang isang patuloy na pagpapatakbo ng loop ng laro na suriin para sa pag-input ng gumagamit, pinoproseso ang resulta, pinoproseso ang iba pang mga kaganapan, kinakalkula kung ano ang kailangang ipakita, at ipinapadala ito sa graphics card. Dapat itong tumakbo ng hindi bababa sa 30 beses bawat segundo.
  • Mga script ng "aktibong tagapakinig" na suriin para sa mga kaganapan at tumutugon kapag nangyari ito. Halimbawa, ang isang script ay maaaring panoorin para sa isang player na nakikipag-ugnay sa isang pinto, pagkatapos ay patakbuhin ang "bukas" na animation at gawin ang pintuan na hindi mabangga. Ang isa pang script ay maaaring panoorin para sa isang hitbox ng sandata na nakikipag-ugnay sa pinto, at patakbuhin sa halip ang "pumutok" na animation.
Magprogram ng isang Video Game Hakbang 8
Magprogram ng isang Video Game Hakbang 8

Hakbang 4. Lumikha ng mga indibidwal na antas

Ang disenyo ng antas - na maaaring magsama ng isang literal na "antas 1," isang lugar na maaaring tuklasin ng manlalaro, o sa susunod na pag-ikot ng isang laro ng pakikipaglaban - ay susubukan ang ilang mga kasanayang walang kaugnayan sa pagprograma. Magsimula sa isang simpleng antas na nagpapakita ng tipikal na gameplay, sumusunod sa pangunahing gabay na ito para sa mga genre na nagsasangkot ng paglalakbay sa mga kapaligiran:

  • Lumikha ng pangunahing balangkas ng lugar.
  • Magpasya sa pangunahing landas na madalas na daanan ng manlalaro sa lugar. Magdagdag ng mga hamon at benepisyo (mga item) sa landas na ito. Puwang ang mga ito malapit para sa adrenaline at kaguluhan, o mas malayo para sa isang mas lundo na kapaligiran.
  • Simulang magdagdag ng mga graphic na elemento. Maglagay ng mga mapagkukunang ilaw sa pangunahing landas upang hikayatin ang mga manlalaro na sundin ito, at panatilihing lumabo ang mga landas sa gilid o hindi gaanong mahalagang mga lugar.
  • Itugma ang gameplay, istilo, at setting. Halimbawa, ang isang kahina-hinalang laro ng panginginig sa takot ay umuunlad sa mga walang katuturang paggalugad na binibigkas ng sorpresang pag-atake. Ang isang walang katapusang barrage ng mga kaaway ay pinapuno ang manlalaro ng adrenaline sa halip, habang ang labanan na nangangailangan ng maingat na taktikal na pagpaplano ay maaaring makaabala sa manlalaro mula sa emosyonal na kapaligiran.
Mag-program ng isang Video Game Hakbang 9
Mag-program ng isang Video Game Hakbang 9

Hakbang 5. Subukan ang iyong laro

Ngayon makikita mo kung ano ang naging pagod mo. Subukan ang bawat antas habang nilinis mo ito, at maraming beses pagkatapos na "natapos." Gumawa ng isang may malay-tao na pagtatangka upang i-play ang laro sa mga paraang hindi mo nilalayon, tulad ng paglalaro muna sa mga mas mahirap na lugar. Mas mabuti pa, maghanap ng mga playtester upang makakuha ng mga sariwang mata sa laro, at humingi ng mas maraming puna hangga't maaari.

  • Manood ng isang taong naglalaro nang hindi nagbibigay sa kanila ng payo, maliban kung ito ay pangunahing impormasyon sa tutorial na hindi pa naidagdag sa laro. Nakakagalit na mga pagkakamali at puntos kung saan ang "manlalaro ay" natigil "ay mga palatandaan na kailangan mong isama ang higit pang patnubay.
  • Kapag ang laro (o hindi bababa sa isang antas) ay medyo kumpleto, subukang maghanap ng mga hindi kakilala o kakilala upang makatulong na mai-playtest. Ang mga kaibigan ay may posibilidad na maging mas maasahin sa mabuti, na kung saan ay mahusay para sa pagbibigay ng panghihikayat ngunit hindi bilang kapaki-pakinabang para sa hulaan kung paano ang reaksyon ng mga manlalaro.
Magprogram ng isang Video Game Hakbang 10
Magprogram ng isang Video Game Hakbang 10

Hakbang 6. Gawin ang susunod na hakbang

Kung natapos mo ang proyekto, maaaring gusto mong palabasin ito nang libre o ilagay ito para ibenta, ngunit tiyaking nabasa mo ang mga tuntunin at kundisyon para sa anumang mga engine ng laro o software na ginamit mo. Kung nakumpleto mo man o hindi ang laro tulad ng naisip mo, maaaring gusto mong "i-cannibalize" ang ilang mga pag-aari at ideya para sa ibang o mas mapaghangad na proyekto, o kunin ang mga aralin na natutunan at simulang muli!

Video - Sa pamamagitan ng paggamit ng serbisyong ito, maaaring ibahagi ang ilang impormasyon sa YouTube

Mga Tip

  • Ang graphics ay hindi dapat maging lahat ng 3-d. Ang mga simpleng graphics tulad ng sa Pokemon, Mega man, at Tetris ay inaaliw pa rin ang mga tao.
  • Palaging isulat ang mga bagay na kailangan mo ngayon sa halip na mga bagay na "maaaring kailanganin mo" o "kakailanganin sa paglaon."
  • Huwag muling likhain ang gulong. Kung maaari kang mag-import ng isang silid-aklatan na magagawa ang kailangan mo, pumunta para dito o tiyakin na mayroon kang isang mahusay na dahilan upang bumuo ng iyong sarili.

Inirerekumendang: