Uvod Flashcards

(11 cards)

1
Q

Kaj je delta time?

A

Čas med dvema izrisoma (frameoma). Uporablja se za normalizacijo simulacij in gibanja.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Razlika med igralnim pogonom (engine) in ogrodjem (framework)?

A
  • Engine: Specializiran za razvoj določenega tipa iger in vključuje orodja, kot so vizualni urejevalnik scene
    in level editor. Bolj povezan nabor knjižnic in funkcionalnosti.
  • Framework: Bolj generičen in fleksibilen, omogoča razvoj raznovrstnih iger, vendar zahteva več dela za
    implementacijo specifičnih funkcij
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Glavna zanka igre, vse!

A

Glavna zanka igre ime vlogo sinhronizacije vseh komponent igre

1) Input Handling: Preberi uporabniške vnose (npr. tipke).
2) Update: Posodobi logiko igre na podlagi vnosa.
3) Render: Izriši trenutni okvir igre.

While (!stopGame) {
handleInput();
update(deltaTime);
render();
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Opisi mi batch draw (paketni izris), zakaj je uporaben?

A

Batch draw je proces, ki zdruzi vec nalog v en skupen ukaz in jih izvede naenkrat

Prednost: ni bottlenecka pri komunikaciji med GPU in CPU (npr. izris 10000 objektov)

Med batch.begin() in batch.end() dodajamo vse objekte:

batch.begin();
batch.draw(texture1, x1, y1);
batch.draw(texture2, x2, y2);
batch.end();

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Napisi funkcijo update in render!

A

public void update(float deltaTime) {
handleInput();
player.update(deltaTime);
checkCollisions();
}

public void render(SpriteBatch batch) {
batch.begin();
player.draw(batch);
obstacles.draw(batch);
batch.end();
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Kako bi nacrtoval WHATEVER GAME?

A

DINAMIKA: opises gameplay loop (what the game is about)

MEHANIKA: nastejes funkcije (zacetek, konec, premik…)

ELEMENTI: nastejes elemente (cas, st_potez, sahovnica, prikaz odigranih potez)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Kako bi implementirali ucinek slow-motion?

A

Učinek slow motion bi implementiral tako da bi povečal delta time in povečan delta time množil z velocitijom.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Kako bi implementiral velocity?

A

public void updateVelocity(float deltaTime, Vector2 velocity, Vector2 acceleration) {
velocity.x += acceleration.x * deltaTime;
velocity.y += acceleration.y * deltaTime;
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Kako bi implementiral odboj?

A

if (position.x <= 0 || position.x >= screenWidth) {
velocity.x = -velocity.x; // Odboj levo-desno
}
if (position.y <= 0 || position.y >= screenHeight) {
velocity.y = -velocity.y; // Odboj gor-dol
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Kako bi implementiral detekcijo trka?

A

public boolean checkCollision(Rectangle rect1, Rectangle rect2) {
return rect1.overlaps(rect2);
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Principi DRY, WET, KISS, YAGNI, IOC, kako si implementiral koncepte v svoji igri

A

Principi so splošnješa pravila, ki se jih držimo pri načrtovanju in/ali implementaciji.

  • DRY: Don’t Repeat Yourself – Preprečimo podvajanje kode.
  • WET: Write Everything Twice – Ponavljamo podobno logiko, če se zahteva.
  • KISS: Keep It Simple, Stupid – Ohranjamo preprostost.
  • YAGNI: You Aren’t Gonna Need It – Ne implementiramo nepotrebnih funkcij.
  • IoC: Inversion of Control – Ločimo logiko in podatke z uporabo injekcij odvisnosti.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly