Godot: Oinarrizko mugimendua

Standard

Pertsonaia

Lehenik eta behin pertsonaia bat sortu behar da. Hasieran gauza asko egin behar direla dirudi, baina denek hartzen dute zentzua.

Godot programak bi oinarri ditu nodoak eta eszenak. Eszena batek nodo anitzak izan ditzake eta nodoek ere azpinodo gehiago.

Lenengo KinematicBody2D nodoa sortuko dugu, honen azpian Sprite eta CollisionShape2D.

Sprite nodoan Texture propietatean gure karpetan dugun irudiaren bat jarriko dugu eta CollisionShape2D nodoan Shape RectangleShape2D aukeratu dut dudan irudirako gehien egokitzen dena delako. Amaitzeko gehitutako Shape hori koadroaren barneko botoiekin handitu dut nire irudia bete arte.

Gorde: Orain gordetzeko unea da, lana gal ez dezagun. Honetarako KinematicBody2D.tscn izenarekin gordeko da. (Gordetzean nodo nagusiaren izena hartzen du, gomendagarria da nodo honi beste izena jartzea, adibidez pertsonaia)

Azalpena

KinematicBody2D nodoa gure pertsonaiaren nodo nagusia izango da, honek propietate zinematikoak emango dizko. Hau da, mugitzeko aukerak.

Honen barruan Sprite nodoak irudi bat izateko aukera emango dio eta CollisionShape2D beste objektuak ukitzen dituen kontrolatzeko erabiliko da.

Mugimendua

Behin pertsonaia sortuta, orain mugitzea nahi dugu. Honetarako bi gauza egin behar dira:

  • Mugimendua sortuko duten gertaerak definitu eta izena eman (Project -> Project Settings -> Input Map)

Action eta gero gertaeraren izena idatzi eta Add sakatu. Gero sortu den elementuan + ikurrari eman eta key aukeratu tekla bat konfiguratzeko, azkenik teklatuan tekla hori sakatu eta saguarekin Ok eman.

Irudian Gora gertaera gehitzen dut, eta hau “Gora gezia” edo “W” teklak sakatzen direnean aktibatzen da.

Antzekoa egiten dugu Behera, Eskuinera eta Ezkerrera gertaerekin.

  • Hauetako gertaera bat ematen denean gertatu behar dena kodean idatzi.

Orain KinematicBody2D izenean eskuineko klik egin eta Attach Script aukeratu. Utzi parametroak dauden bezala eta agertzen den leihoan hurrengo kodea idatzi behar da.

extends KinematicBody2D

var abiadura = 200
var velocity = Vector2()

func _physics_process(delta):
	velocity = Vector2()
	if Input.is_action_pressed("Gora"):
		velocity.y = -abiadura
	if Input.is_action_pressed("Behera"):
		velocity.y = abiadura
	if Input.is_action_pressed("Eskuinera"):
		velocity.x = abiadura
	if Input.is_action_pressed("Ezkerrera"):
		velocity.x = -abiadura
	
	move_and_slide(velocity)

Dena egiaztatzeko goiko eskuinaldeko klaketa eta play duen ikonoa sakatu eta egindakoa dastatzeko aukera izango duzu.

Azalpena

Lehenengo lerroa Godotek berak jartzen du. Honek KinematicBody2D objektua izateagatik propietate batzuk hartzen dituela esan nahi du, honela guri lana aurreztuz.

Jarraian bi aldagai definitzen ditugu: abiadura, mugimendu kantitatea adierazten duena, eta velocity uneko mugimendua gordeko duena, azken hau Vector2() motakoa da, hau da x eta y propietateak dituena.

_physics_process(delta) funtzioak jokoaren frame bakoitzean deitzen da eta delta parametroa bi deien artean pasa den denbora da. Funtzio honetan eguneratuko dugu gure nodoa.

velocity = Vector2(), berriro aldagaia (0,0)n uzten du. Eta gero baldintza bakoitzak egiaztatzen du zer gertaera jaso den eta horren arabera eguneratzen du velocity aldagaia.

Amaitzeko mugituko den velocity jakinda, kynematicBody2D objektuaren move_and_slide() funtzioa erabiltzen dugu kalkulatutako mugimendu hori eigteko.

Oharra: Nabarmendu behar da pantailaren koordenatu sistema zertxobait berezia dela. Goiko-ezkerreko erpina (0,0) koordenatua adierazten du, eskuinera x handitzen joango da, baina behera egiterakoan y handituko da. Honengatik “Gora” sakatzen dugunean -abiadura egiten dugu, goranzkoa negatiboa delako.


Godot: Lehenengo Urratsak

Standard

Lehenengo eta behin Godot programa deskargatu behar da. Hau konprimatutako fitxategi baten barruan dator, beraz deskarga burutzen denean deskonprimatu eta dagoeneko prest dago lan egiteko.

Bi klik egiten denean lehengo aldiz hurrengo leihoa agertzen zaigu, bertan proiekturik ez dugunez “Asset Library” delako adibide biltegia irekitzeko proposatzen digu. Bertatik posible izango da adibide horiek deskargatzea haien funtzionamendua aztertzeko. Bestela “Cancel” sakatu behar da.

Lan egiten hasteko proiektu berri bat sortu behar da. Honetarako “New Project” aukeratu behar da eta agertzen den leihoan proiektuaren gordeko duen karpeta hautatu, eta proiektuari izena eman behar zaio. Irudian agertzen den bezala programak automatikoki proiektuaren izenarekin karpeta berri bat sortzeko aukera ematen du.

Proiektua kargatzen denean 3 dimentsiotako bistarekin hasten da. Gure kasuan ikasteko eta batez ere diseinuaren aldetik errazagoa denez 2 dimentsiotara pasako gara. Honetarako goialdean leihoaren erdian dagoen 2D botoia sakatu behar da.

Irudian ikusten denez Godot-en leihoa 6 zatitan banatzen da:

  • Goialdeko menua: Programa gehienetan bezala ezkerraldean menuak agertzen dira (Scene, Project, Debug, Editor, Help), jarraian erdian izan ditzakegun bista ezberdinak (2D, 3D, Script eta AssetLib) eta bukatzeko eskuinaldean proiektua abiarazteko botoi ezberdinak.
  • Pantailaren ezkerraldean, beherago, Fitxategi sistema agertzen da. Goiko aldean proiektuaren barruan (res://) dauden karpetak agertzen dira (kasu honetan ez dago bat ere) eta behean hautako karpetak dituen elementuak.
  • Pantailaren erdialdean jokoaren itxura ikus daiteke (oraingoz hasi gabea)
  • Eskuinaldean, goialdean Eszena bakoitzak izango dituen elementu (node) ezberdinak agertuko dira, eta behean aukeratukoaren propietate ezberdinak.

Aurrerago ikusiko dugun bezala, elementu bati programazioa gehitzen diogunean (bere gainean eskuineko botoiarekin “Attach Script” sakatuz, izena eman eta gero erdian beste bista irekiko zaigu behar den testu editorearekin.

Hau da Godot programaren erabileraren oinarrizkoa. Joko bat egiten dugun heinean sakonduko dugu atal bakoitzean.

Informazio gehiago dokumentazioaren orri ofizialean aurki dezakezu: https://docs.godotengine.org

Oharra: Azaldu diren atalak mugi daitezke, beraz posible da interneten aurkituko dituzun baliabideren batean ezberdina egotea.

Godot: Bideo-Jokoak egiteko plataforma askea

Standard

Aurkezpena

Godot plataforma ezberdinetan lan egiten duen joko motor bat da. Honekin 2 eta 3 dimentsiotako jokoak egin daitezke. Jokoen programazioa errazten duten tresna asko ekartzen ditu eta egindako jokoak mahaigaineko sistemetan (Linux, macOS, Windows), mugikorretan (Android, iOS) eta webean (HTML5) exekuta daitezke.

Beste alderdi oso garrantzitsu bat Godot bera software askea dela da. Hain zuzen ere MIT lizentzia erabiltzen du.

Bideo-jokoak egiterako orduan 3 alderdi nagusi elkartzen dira:

  • Gidoia: Abenturak izango dituen pertsonaiak definitzea, izango duten helburuak…
  • Diseinua: Pertsonaiek irudiak, atzeko planoak, objektuak, menuak, soinuak, …
  • Programazioa: Jokoan egongo diren elementuak izango duten portaera eta haien arteko elkar-eraginak, …

Gidoia egiteko eta abentura zehazteko ez da software berezirik behar, testu prozesadore batekin nahikoa da. Diseinurako tresna ezberdinak daude, oso harrera ona duten bi krita (2D) eta blender (3D) dira eta programazioa egiteko Godotek berez Python lengoaiaren oso antzeko bat erabiltzen du, baina C# erabil daiteke ere. Kodea antolatzeko eta partekatzeko oso egokiak dira Git bertsioak kudeatzeko sistemak Bitbucket edo GitHub, adibidez.

Bitxikeri moduan Thimbleweed Park jokoa egin zutenen esperientzia blog batean azaldu zuten. Nola izan zuten ideia, nola garatzen joan ziren pertsonaiak, nola diseinatu zituzten jokoaren puzzleak, nola antolatu zuten dirua,…

Artikulu asko badira ere, mundu hau interesgarria irudituz gero patxadaz irakur daitekeen bloga da.

Esteka batzuk

YouTubeko Tutorialak

Aurrediseinatutako elementuak

Webgune askotan ordaindu beharreko elementuak daude, baina ere doako batzuk, hauek interesgarriak dira lehenengo hastapenak egiteko.

Beti kontutan hartu erabiliko dituzun elementuen lizentziak!