Partilhar: WhatsApp
aulify
UC UC02637 · T. Multimédia, T. Produção de Conteúdos I

Ficha 02 · Implementação, sprites, polimento, publicação

Sprites, física, ferramentas, playtest, publicar
Versão · Aluno
Tempo · 60 minutos
Cotação · 100 pontos
Aluno(a)
Turma
Data
Objectivos da ficha

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.