MushRog

Nítido no celular, com joystick

15 de outubro de 2026 arquiteturadesign

O jogo agora desenha o texto na resolução do aparelho, aproveita a tela inteira dos celulares compridos e respeita o entalhe da câmera. Também ganhou um joystick opcional para a sala.

Por quê

Até aqui o jogo era desenhado numa tela pequena de 640 por 420 e depois esticado. A pixel art aguenta bem, mas o texto ficava borrado e pequeno, e um celular 20:9 ganhava faixas pretas dos lados. Era a última coisa que separava a versão de celular de uma beta.

Como funciona

A arte continua em pixels nítidos e os textos passam a ser desenhados na resolução real da tela. Nas telas largas, a arena fica no centro e as laterais mostram mais cenário, sem faixas pretas; na cidade, a câmera usa a largura inteira. A barra de baixo, a faixa de cima e os painéis ficam dentro da área segura do aparelho, longe do entalhe e dos cantos arredondados.

A opção de tamanho da interface, 1x, 1,25x e 1,5x, funciona e aumenta a barra e os painéis sem cortar nada. Ela faz diferença nas telas compridas; numa janela 16:10 de computador a interface já está no tamanho máximo que cabe.

O joystick é opcional e já vem ligado em aparelhos com tela de toque. Segure na metade esquerda da arena e arraste para andar; um toque rápido continua levando o time até o ponto. Ele nunca rouba o toque das skills, dos cartões ou da barra, e um segundo dedo pode usar skills enquanto o primeiro anda.

Os espaços de equipamento também ganharam ícones, do pacote 1-Bit do Kenney (domínio público).

Próximo passo

Com a fase de interface fechada, o que falta para a beta fechada é a arte própria.

Mudanças

  • Crisp mobile layout, virtual joystick and equipment slot icons

    Switch the window stretch from "viewport" to "canvas_items" + "expand" (base 640x420, nearest filter kept, clear color = game background), so text renders at device resolution and 20:9 phones get no black bars. New client/ui/screen.gd anchors everything to the visible area: the room arena is centered above the bar via the root canvas transform, the city camera uses the full width, the bottom bar sits at the bottom of the display safe area with its frame spanning edge to edge, UI layers are centered (panels never under the bar, status strip and toasts at the top) and modal dims cover the side bands. The safe area can be simulated with --safe-inset=l,t,r,b. The 1x/1.25x/1.5x interface scale is enabled again: it scales the bar and UI layers, clamped to what fits the safe area, so it never cuts the HUD (on 16:10 windows it stays 1x; on 20:9 the bar grows). Optional virtual joystick in rooms (Options toggle, on by default only on touch devices): hold on the left half of the arena and drag to move the team like WASD, release to stop; a tap without dragging is still click-to-move, and the skill row, cards and bar keep priority. It tracks the finger index, so another finger can still use skills. Equipment slots in the Character panel get Kenney 1-Bit Pack (CC0) icons, registered in CREDITS.md. tap_test now converts logical to window coordinates (works at any --resolution) and covers the joystick. Marks items 29, 31 and 35 in docs/fluxo-do-cliente.md.

← Todo o devlog