DEV Community

Cover image for Tutorial Overlay Fix
Weird Codes
Weird Codes

Posted on • Originally published at weirdcodes.itch.io

Tutorial Overlay Fix

ЁЯЫая╕П Devlog тАФ Issue #48: Tutorial Overlay Fix

Version: v0.0.9-patch

Date: 2026-08-11

Author: Weired Codes

Issue: #48 тАФ Tutorial overlay/guide cards block gameplay view

Tags: bug UI tutorial fix

Closes: #48


ЁЯЗоЁЯЗ│ рд╣рд┐рдВрджреА рд╡рд┐рд╡рд░рдг

рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рдереА?

рдЧреБрд░реБ-рджреАрдХреНрд╖рд╛ (Tutorial) рдХреЗ guide cards рдкреВрд░реЗ gameplay canvas рдХреЗ рдКрдкрд░ centered рджрд┐рдЦрддреЗ рдереЗ тАФ рдЬрд┐рд╕рд╕реЗ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рди рдорд╛рдпрд╛ рджрд┐рдЦрддреА рдереА, рди рднрдХреНрддрд┐-рдорд╛рд░реНрдЧ, рди рдЕрдкрдирд╛ рд░рдеред Card рдХреЗ dismiss рд╣реЛрдиреЗ рддрдХ gameplay рднреА рдЪрд▓рддреА рд░рд╣рддреА рдереА, рдЬрд┐рд╕рд╕реЗ player рдмрд┐рдирд╛ рджреЗрдЦреЗ рд╣реА рдХрд░реНрдо-рдмрдВрдзрди рдореЗрдВ рдлрдБрд╕ рд╕рдХрддрд╛ рдерд╛ред

рдХреНрдпрд╛-рдХреНрдпрд╛ fix рд╣реБрдЖ?

рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди
Tutorial card рдкреВрд░рд╛ gameplay block рдХрд░рддреА рдереА Card рдХреЛ semi-transparent рдХрд┐рдпрд╛ (rgba(0,0,0,0.40)) тАФ рдкреАрдЫреЗ gameplay рджрд┐рдЦреЗ
Card visible рд╣реЛрдиреЗ рдкрд░ gameplay рдЪрд▓рддреА рд░рд╣рддреА рдереА gameLoop рдореЗрдВ tutorial.hasActiveCard() check рдЬреЛрдбрд╝рд╛ тАФ card рджрд┐рдЦреЗ рддреЛ game pause
Dismiss рдХреЗ рдмрд╛рдж dt spike рдЖрддрд╛ рдерд╛ Card dismiss рд╣реЛрдиреЗ рдкрд░ lastTime = ts reset рдХрд┐рдпрд╛
Skip рдХрд░рдиреЗ рдХрд╛ рд╕реНрдкрд╖реНрдЯ рдмрдЯрди рдирд╣реАрдВ рдерд╛ Top-right corner рдкрд░ тЬХ рдЫреЛрдбрд╝реЗрдВ / 5 skip button рдЬреЛрдбрд╝рд╛
CARD_Y variable missing рдерд╛ render.js рдореЗрдВ const CARD_Y = (H - CARD_H) / 2 + 30 define рдХрд┐рдпрд╛

рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдг

src/render.js:

  • drawTutorialCard() рдореЗрдВ CARD_Y рдХреА missing definition рдЬреЛрдбрд╝реА
  • Card background rgba(0,0,0,0.72) тЖТ rgba(0,0,0,0.40) тАФ semi-transparent
  • Renderer._tutorialSkipBounds рд╕реЗ skip button рдХрд╛ hit-area store рдХрд┐рдпрд╛

src/main.js:

  • gameLoop() рдореЗрдВ condition:
  // рдкрд╣рд▓реЗ:
  if (!engine.isPaused && !engine.gameOver && !engine.won && !engine.isShaashtraVisible)
  // рдЕрдм:
  if (!engine.isPaused && !engine.gameOver && !engine.won && !engine.isShaashtraVisible && !tutorial.hasActiveCard())
Enter fullscreen mode Exit fullscreen mode
  • Card dismiss рд╣реЛрдиреЗ рдкрд░ lastTime reset тАФ рдЕрдЪрд╛рдирдХ dt jump рд░реЛрдХреЗрдВ

рд╢рд╛рд╕реНрддреНрд░-рд╕рдВрдЧрддрд┐

рдЧреБрд░реБ-рджреАрдХреНрд╖рд╛ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдорд╛рд░реНрдЧрджрд░реНрд╢рди рд╣реИ, рдмрд╛рдзрд╛ рдирд╣реАрдВред

рдЬреИрд╕реЗ рд╕рд╛рд░рдереА рдпрд╛рддреНрд░реА рдХреЛ рдорд╛рд░реНрдЧ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рд░рде рдирд╣реАрдВ рд░реЛрдХрддрд╛ тАФ

рд╡реИрд╕реЗ рд╣реА tutorial card gameplay рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЪрд▓реЗ, рдЙрд╕реЗ рдврдХреЗ рдирд╣реАрдВред


ЁЯЗмЁЯЗз English Summary

Problem

Tutorial guide cards were centered and fully opaque, completely blocking the gameplay canvas. The game logic also continued running while the card was visible, meaning players could accumulate karma bondage without being able to see or react to it.

Fixes

  • Semi-transparent card background тАФ gameplay remains visible behind tutorial card
  • Gameplay pause тАФ gameLoop skips engine.update() while any tutorial card is active
  • lastTime reset on dismiss тАФ prevents dt spike / frame jump after card closes
  • Skip button тАФ clear тЬХ Skip / 5 button in top-right corner of card
  • CARD_Y ReferenceError тАФ missing const CARD_Y definition added in render.js

Files Changed

File Change
src/render.js Added missing CARD_Y definition; semi-transparent card bg; skip button bounds
src/main.js gameLoop pauses on tutorial.hasActiveCard(); lastTime reset on dismiss

ЁЯУБ Files Changed

src/render.js
src/main.js
Enter fullscreen mode Exit fullscreen mode

Closes #48 тАФ Developed by Weired Codes тАФ рдореЛрдХреНрд╖, рдПрдХ рдЖрдзреНрдпрд╛рддреНрдорд┐рдХ рдЦреЗрд▓ред

Top comments (0)