Ficha 02 · Implementação, sprites, polimento, publicação
- Sprites/anim
- Física 2D
- Ferramenta certa
- Playtest
- Publicar
Parte I · Sprites e animação
Exercício 1 · Sprite sheet (10 pts)
O que é uma sprite sheet e quais 2 vantagens face a ter 1 PNG por frame?
Exercício 2 · Pixel art (10 pts)
Tens um sprite 32×32 pixel art. Que 3 cuidados ter no motor (Godot/Unity) para ele aparecer bem?
Exercício 3 · Frames de andar (10 pts)
Tens 4 frames de uma personagem a andar. A que FPS vais reproduzir e porquê? E se duplicasses para 8 frames?
Parte II · Física
Exercício 4 · Boas práticas de salto (15 pts)
Indica 3 truques que melhoram a sensação do salto num platformer, e explica brevemente o que cada um resolve.
Exercício 5 · Colisão AABB (10 pts)
Tens 2 rectângulos A e B com x, y, w, h. Escreve em pseudocódigo a função colide(a, b) que devolve true se se sobrepõem.
Parte III · Ferramentas
Exercício 6 · Escolher engine (10 pts)
Para cada cenário, escolhe a engine adequada e justifica em 1 linha:
a) Aluno sem programação quer fazer um jogo para a aula em 2 semanas. ___
b) Jogo 2D plataformas com física, exportar para web e desktop. ___
c) Esboço rápido de uma mecânica num browser para mostrar a um colega. ___
Exercício 7 · GDScript (15 pts)
Lê este código Godot e responde:
extends CharacterBody2D
const SPEED = 200.0
const JUMP = -400.0
func _physics_process(delta):
if not is_on_floor():
velocity.y += 980 * delta
velocity.x = Input.get_axis("ui_left", "ui_right") * SPEED
if Input.is_action_just_pressed("ui_accept") and is_on_floor():
velocity.y = JUMP
move_and_slide()
a) Quanto vale a "gravidade" por segundo?
b) Por que é que velocity.y += 980 * delta está dentro de if not is_on_floor()?
c) Que comportamento esperar se o jogador mantiver ui_accept premido no ar?
Parte IV · Playtest e publicação
Exercício 8 · Plano de playtest (10 pts)
O teu jogo está num estado alpha (jogável mas com bugs). Indica 4 regras para uma boa sessão de playtest.
Exercício 9 · Onde publicar (10 pts)
Acabaste um jogo HTML5 e queres publicá-lo. Indica 2 plataformas apropriadas e 1 que não faz sentido para um primeiro jogo de aluno, com justificação.