<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Leonardo Cardoso on Medium]]></title>
        <description><![CDATA[Stories by Leonardo Cardoso on Medium]]></description>
        <link>https://medium.com/@leonardocardoso_26?source=rss-d3109731d0cb------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*WhYvi2eRGgDYi6Zi.</url>
            <title>Stories by Leonardo Cardoso on Medium</title>
            <link>https://medium.com/@leonardocardoso_26?source=rss-d3109731d0cb------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 10:55:05 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@leonardocardoso_26/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Battle Royale Rebrand — FTW (Alpha) → Capa Royale (Open Beta)]]></title>
            <link>https://medium.com/@leonardocardoso_26/battle-royale-rebrand-ftw-alpha-capa-royale-open-beta-9837f14cf113?source=rss-d3109731d0cb------2</link>
            <guid isPermaLink="false">https://medium.com/p/9837f14cf113</guid>
            <dc:creator><![CDATA[Leonardo Cardoso]]></dc:creator>
            <pubDate>Sat, 06 Sep 2025 13:26:19 GMT</pubDate>
            <atom:updated>2025-09-06T13:26:19.198Z</atom:updated>
            <content:encoded><![CDATA[<h3>Battle Royale Rebrand — FTW (Alpha) → Capa Royale (Open Beta)</h3><p>by Leonardo Cardoso — Junior QA (Mobile Games)</p><h3>TL;DR</h3><ul><li>Same game, two moments: <strong>FTW (Alpha)</strong> → <strong>Capa Royale (Open Beta)</strong> after rebrand/branding shift.</li><li>Black‑box exploratory testing on <strong>iPhone XR</strong> found high‑impact <strong>map/collision exploits</strong>, <strong>server/client time abuse</strong>, <strong>inventory/skin linkage errors</strong>, <strong>UI/UX regressions</strong>, and <strong>stability</strong> edge cases.</li><li>Fixes focus on <strong>server‑authoritative gates</strong>, <strong>collision/respawn safety nets</strong>, <strong>asset migration hygiene</strong>, <strong>state‑machine locks</strong>, and <strong>UI reset/localization consistency</strong>.</li></ul><h4>Contents</h4><ol><li>Context &amp; Method</li><li>Case A — FTW (Alpha)</li></ol><ul><li>Test Environment</li><li>Severity Model</li><li>Top Bugs (with steps &amp; suggestions)</li><li>Additional Low‑Impact Issues</li><li>Mini‑Conclusion (FTW)</li></ul><p>3. Case B — Capa Royale (Open Beta)</p><ul><li>Test Environment</li><li>Top Bugs (with steps &amp; suggestions)</li><li>Additional Observations &amp; Gallery</li><li>Mini‑Conclusion (Capa)</li></ul><p>4. Cross‑Version Insights (Alpha → Beta)</p><p>5. Recommendations &amp; Quick Wins</p><p>6. About Me &amp; Contact</p><h3>1. Context &amp; Method</h3><p><strong>Same codebase, new branding.</strong> These two studies cover a continuous product across rebranding: <strong>For The Win (FTW)</strong> during <strong>Alpha</strong> → <strong>Capa Royale</strong> during <strong>Open Beta</strong>.</p><p><strong>Approach:</strong> Black‑box exploratory testing on <strong>real hardware</strong> (no internal tools or code access). Focus areas:</p><ul><li>Progression integrity (timers, rewards, respawn)</li><li>Collision, physics, and map boundaries</li><li>Inventory/skins/assets integrity across versions</li><li>UI/UX consistency and localization</li><li>Stability and state transitions (weapons, animations, chat)</li></ul><h3>2. Case A — FTW (Alpha)</h3><h4>Test Environment (FTW)</h4><ul><li><strong>Device:</strong> iPhone XR</li><li><strong>OS:</strong> iOS 18.3.2</li><li><strong>Build:</strong> v1.7.7.7(1)</li><li><strong>Graphics:</strong> Very Low</li><li><strong>FPS:</strong> 60</li><li><strong>Blood:</strong> On</li><li><strong>Connection:</strong> Wi‑Fi</li></ul><h4>Severity Model</h4><ul><li><strong>Critical:</strong> Breaks core loop, monetization, or creates unfair advantage.</li><li><strong>High:</strong> Directly affects gameplay balance/flow.</li><li><strong>Medium:</strong> Visual/functional with moderate impact.</li><li><strong>Low:</strong> Minor UI/visual polish.</li></ul><h4><strong>Time‑Travel Battle Pass (Client‑time Exploit)</strong></h4><p><em>Critical</em><br><strong>Area:</strong> Progression/Monetization<br><strong>Desc:</strong> Changing the device date surfaces <strong>past/future Battle Passes</strong> and allows <strong>reward collection</strong> out of cycle.<br><strong>Steps:</strong> Disable auto time → set past/future month → open Battle Pass → collect.<br><strong>Actual:</strong> Pass availability &amp; rewards tied to <strong>local clock</strong>.<br><strong>Expected:</strong> <strong>Server‑authoritative</strong> time; local clock ignored.<br><strong>Media:</strong> ▶ <a href="https://drive.google.com/file/d/1goEU28D2LTF1nRAFuhTuQhVcc6meUebZ/view?source=post_page-----a182b6bd4603---------------------------------------">Video — jump months</a> · ▶ <a href="https://drive.google.com/file/d/1XRisHbzKhY-qFssTYQof1kkrCaNMQGSv/view?source=post_page-----a182b6bd4603---------------------------------------">Video — claim past pass</a><br><strong>Fix direction:</strong> Server time source + signed eligibility tokens; reject skew; cache bust on reconnect.</p><h4><strong>Proximity Mines Float/Disappear on Irregular Surfaces</strong></h4><p><em>Critical</em><br><strong>Area:</strong> Gameplay/Rendering/Physics<br><strong>Desc:</strong> Mines <strong>float</strong> on light‑collision items (health pickups/other mines) or become <strong>invisible</strong> when thrown off elevated containers while still arming.<br><strong>Steps:</strong> Place on health/stacked props; throw from container edge.<br><strong>Actual:</strong> Visible float or invisible mine; functional trigger remains.<br><strong>Expected:</strong> Stable placement/visibility irrespective of surface.<br><strong>Media:</strong></p><p><a href="https://drive.google.com/file/d/1kjZ0aHu9tEDqohacKCVlyBqfnwMkrtc5/view?source=post_page-----a182b6bd4603---------------------------------------">Vídeo 1</a></p><p><a href="https://drive.google.com/file/d/1fdfvTVLnTcZpufB7_Z6js4F9hrf6gxhq/view?source=post_page-----a182b6bd4603---------------------------------------">Vídeo 2</a></p><p><a href="https://drive.google.com/file/d/1DjzpvJXdJaSIaDnX_X4ZKCn0qrW1pjwj/view?source=post_page-----a182b6bd4603---------------------------------------">Vídeo 3</a></p><p><a href="https://drive.google.com/file/d/1GxsEUhwo_YfjUuBVzKIt6NNo7QfRqSHd/view?source=post_page-----a182b6bd4603---------------------------------------">Vídeo 4</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*cUy22iNellvXgMBA4LNRYQ.png" /></figure><p><strong>Fix direction:</strong> Raycast to precise surface normal, min penetration, snap rules; forbid activation without valid ground contact; LOD/material checks.</p><h4><strong>Temporary Hitbox Shrink Enables Illegal Access</strong></h4><p><em>High</em><br><strong>Area:</strong> Movement/Collision<br><strong>Desc:</strong> Using a <strong>skill</strong> or <strong>placing a mine + jump</strong> appears to <strong>shrink vertical hitbox</strong>, enabling climbs under low ceilings.<br><strong>Media:</strong> ▶ <a href="https://drive.google.com/file/d/13-qIwv75mayRaN1_Cf9o3QBzUhwXMiU_/view?source=post_page-----a182b6bd4603---------------------------------------">“How‑to”</a> · ▶ <a href="https://drive.google.com/file/d/1FfPMx2F8-EX0AUpg3NSXEZf_2z1Txzix/view?source=post_page-----a182b6bd4603---------------------------------------">“Stuck after climb”</a><br><strong>Fix direction:</strong> Lock capsule size during skill/item states; re‑validate collider on state exit.</p><h4><strong>Parkour to Unintended High‑Ground (Gate 73 &amp; Outpost)</strong></h4><p><em>High</em><br><strong>Area:</strong> Map/Exploit<br><strong>Desc:</strong> High‑speed agents can chain jumps to reach <strong>out‑of‑route vantage points</strong> (sniping/camping).<br><strong>Media:</strong> ▶ <a href="https://drive.google.com/file/d/10PBiKaRKXLpWEpXHC2Bc4m2AD-d2fC9B/view?source=post_page-----a182b6bd4603---------------------------------------">Gate 73 </a>· ▶ <a href="https://drive.google.com/file/d/1-WtSn3mIsw7MjklhvJpj34IDHU_h7O3P/view?source=post_page-----a182b6bd4603---------------------------------------">Outpost</a><br><strong>Fix direction:</strong> Add invisible ceilings/ledges; smooth collision; slope limits.</p><h4><strong>Hard Stuck on Props (Unearth)</strong></h4><p><em>High</em><br><strong>Area:</strong> Map/Collision<br><strong>Desc:</strong> Jumping on specific props (crates/drums/lamps) puts player into <strong>no‑escape collision pockets</strong>.<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*KbTNXtomwCWEXJDXiybnsQ.png" /></figure><p>· ▶ <a href="https://drive.google.com/file/d/1lELIWRqmeHhofGKyiOvvZTBaIrOACpe0/view?source=post_page-----a182b6bd4603---------------------------------------">Stuck video</a><br><strong>Fix direction:</strong> Fill pockets, add unstick volumes, /kill fallback after N seconds.</p><h4><strong>Hive “Black Ops” Missing in Victory Cinematic</strong></h4><p><em>Medium</em><br><strong>Area:</strong> Rendering/Skins<br><strong>Desc:</strong> Victory scene renders <strong>empty</strong> for Hive with Black Ops skin; other Hive skins okay.<br><strong>Media:</strong> ▶ <a href="https://drive.google.com/file/d/1o2m5xO9iqnnPphzuzcdZ3cCU8IEWn1l3/view?source=post_page-----a182b6bd4603---------------------------------------">With Black Ops</a> · ▶ <a href="https://drive.google.com/file/d/1AfnQL-pT4ODHQAI9aCInfD0ZB35xv_ya/view?source=post_page-----a182b6bd4603---------------------------------------">Without Black Ops</a><br><strong>Fix direction:</strong> Verify skin prefab binding to victory rig/skeleton.</p><h4><strong>Toxic Final Skin Loads Wildcard Model</strong></h4><p><em>Medium</em><br><strong>Area:</strong> Inventory/Skins<br><strong>Desc:</strong> Selecting Toxic’s final skin shows <strong>Wildcard</strong> model.<br><strong>Media:</strong> <a href="https://drive.google.com/file/d/1FtvDFxbG8iz7nsi5O4GvzAu0iAB0ZRi_/view?source=post_page-----a182b6bd4603---------------------------------------">Skin Toxic</a><br><strong>Fix direction:</strong> Correct skin→base character linkage in DB/prefab map.</p><h4><strong>SM4L Skin Name–Texture Mismatch</strong></h4><p><em>Medium</em><br><strong>Area:</strong> Weapon cosmetics<br><strong>Desc:</strong> 2nd SM4L skin name doesn’t match applied texture (defaults to base).<br><strong>Media:</strong> ▶ <a href="https://drive.google.com/file/d/1Dbr3-y8QauOhLjPkdkMubpzK-RVudUKj/view?source=post_page-----a182b6bd4603---------------------------------------">Video</a><br><strong>Fix direction:</strong> Audit skinID→material mapping.</p><h4><strong>UAV Sticks to Player Hand (3P Only)</strong></h4><p><em>Medium</em><br><strong>Area:</strong> Utility/Animation/Net<br><strong>Desc:</strong> Intermittent: user doesn’t see it, <strong>others</strong> see UAV glued to hand.<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*LU7SfBhrgHDsVZ3TT_fdVg.png" /></figure><p>· ▶ <a href="https://drive.google.com/file/d/1Lji3gnEccScOD1Zv39JmrhcNRkHbeC31/view?source=post_page-----a182b6bd4603---------------------------------------">Video</a><br><strong>Fix direction:</strong> Ensure animation cancel &amp; weapon swap can’t skip detach; authoritative state broadcast.</p><h4><strong>Name Change Purchase Fails Despite Balance</strong></h4><p><em>Medium</em><br><strong>Area:</strong> Billing/App Store<br><strong>Desc:</strong> $0.99 rename rejected with sufficient iOS balance.<br><strong>Media:</strong> ▶ <a href="https://drive.google.com/file/d/1gebc1GW-LDyjMauX2esn-8krBudO-jPw/view?source=post_page-----a182b6bd4603---------------------------------------">Video</a><br><strong>Fix direction:</strong> StoreKit validation + server receipt verification path.</p><h4><strong>Ammo HUD Stale After Weapon Swap (Updates on fire/reload)</strong></h4><p><em>Low</em><br><strong>Area:</strong> HUD<br><strong>Fix direction:</strong> Force HUD refresh on <strong>OnEquip</strong> event.</p><p><strong>Media:</strong> <a href="https://drive.google.com/file/d/1itjFrjLvH6pzQqS2qAIP-b4Jt6ll8TTh/view?source=post_page-----a182b6bd4603---------------------------------------">Vídeo</a></p><h4>Mini‑Conclusion (FTW)</h4><p>Alpha already surfaced systemic themes: <strong>client‑time trust</strong>, <strong>boundary leaks</strong>, <strong>asset binding drift</strong>, and <strong>state timing</strong>. These inform the Beta checklist.</p><h3>3. Case B — Capa Royale (Open Beta)</h3><h4>Test Environment (Capa)</h4><ul><li><strong>Device:</strong> iPhone XR</li><li><strong>OS:</strong> iOS (July 2025)</li><li><strong>Build:</strong> v2.0.0 (8)</li><li><strong>Graphics:</strong> Low · <strong>FPS:</strong> 30</li><li><strong>Scope:</strong> 30+ bugs documented in July 2025</li></ul><h4>Bugs (Capa)</h4><h4><strong>Access Code Field Duplicates “EA-” Prefix</strong></h4><p><em>Medium</em><br><strong>Area:</strong> UX/Form<br><strong>Desc:</strong> Field prefilled with <strong>EA-</strong> + users paste full code <strong>EA-XXXX</strong>, leading to <strong>EA-EA-XXXX</strong>.<br><strong>Expected:</strong> Smart trim or empty field.<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/737/1*3jkejog8qD5oBZPcabtetQ.png" /></figure><h4><strong>BlackOps Skin Icons Show White Squares</strong></h4><p><em>High</em><br><strong>Area:</strong> UI/Assets<br><strong>Desc:</strong> Accounts carrying legacy <strong>BlackOps</strong> skin show <strong>blank/white</strong> icons across agents; other skins ok.<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/701/1*5sttxmkr2OSN9S0OPlIr8g.png" /></figure><h4><strong>Respawn Outside Safe via Reconnect / Parachute</strong></h4><p><em>High–Critical</em><br><strong>Area:</strong> Respawn/System<br><strong>Desc:</strong> Reconnect flows + spawn picker sometimes drop players <strong>outside the safe</strong>, causing instant damage/death.<br><strong>Steps:</strong> Crash/force close/disconnect → rejoin → observe spawn.<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/719/1*PaxVgG_KUC1J6oBKUl0NIw.png" /></figure><h4><strong>Match History Shows FTW Data</strong></h4><p><em>Medium</em><br><strong>Area:</strong> Backend/UX<br><strong>Desc:</strong> History includes <strong>FTW</strong> sessions (pre‑rebrand), mixing contexts.<br><strong>Expected:</strong> Capa‑only records or clear segregation.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/716/1*OyblJGtzjZfmZN8pyGV2ug.png" /></figure><h4><strong>Toxic “Crystal Moon” Skin Shows Wildcard Model</strong></h4><p><em>Medium</em><br><strong>Area:</strong> UI/Assets<br><strong>Desc:</strong> Same binding drift observed in Alpha persists.<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/731/1*6Onkx-0ogxg_1NoBGlFhtA.png" /></figure><h4><strong>Utility Robot Sometimes Doesn’t Move After Deploy</strong></h4><p><em>High</em><br><strong>Area:</strong> Utility/AI/Navigation<br><strong>Desc:</strong> On inclined/irregular terrain, bot stays <strong>immobile</strong>.<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/705/1*kGyjjtkSxDmq57lP6s3LyA.png" /></figure><h4><strong>Legacy Skins Usable but Not Listable/Re‑applicable</strong></h4><p><em>Medium</em><br><strong>Area:</strong> Inventory/Progression<br><strong>Desc:</strong> Ported skins can be active yet <strong>invisible</strong> in selection; swapping loses access.<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/758/1*gJKTeLZdHHB-_htG1IZRyA.png" /></figure><h4><strong>Tab Switch to “Resources” Keeps Last Weapon Panel</strong></h4><p><em>Low</em><br><strong>Area:</strong> UI/Navigation<br><strong>Desc:</strong> Stale panel persists after tab change.<br><strong>Fix:</strong> Clear detail pane on route enter.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/731/1*iCszAL7dLGUNKYXRBXlkGg.png" /></figure><h4><strong>Rarity Previews Always Show Common</strong></h4><p><em>High</em><br><strong>Area:</strong> UI/Inventory<br><strong>Desc:</strong> Rare/Epic/Legendary preview renders <strong>Common</strong> stats/model.<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/736/1*0k9lmvsWnGNNNm2eikoe1g.png" /></figure><h4><strong>ADS Shot Volume Much Louder</strong></h4><p><em>Medium</em><br><strong>Area:</strong> Audio<br><strong>Desc:</strong> Disparity between hip‑fire and ADS.<br><strong>Fix:</strong> Normalize per mix bus; ensure same source with ADS filter only.</p><h4><strong>Sandbox Quality Mapping Inverted (Low &gt; Very High)</strong></h4><p><em>Medium</em><br><strong>Area:</strong> Graphics/Settings<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/751/1*iQtx_piWW30DtXObWW55SA.png" /></figure><h4><strong>Aim‑Block Indicator Drawn Over Own Character</strong></h4><p><em>Medium</em><br><strong>Area:</strong> UI/Gameplay<br><strong>Fix:</strong> Raycast mask to exclude player layer; depth test.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*LUYahd8ztC1mJhYQgmppPQ.png" /></figure><h4><strong>Reward Chest Animation Stuck Center Screen</strong></h4><p><em>Medium</em><br><strong>Area:</strong> UI/Animation<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/845/1*rE-uA5O10m3LxCR5kQr6QA.png" /></figure><h4><strong>Lobby Chat → Avatar Disappears → Crash on Start</strong></h4><p><em>Critical</em><br><strong>Area:</strong> Chat/State/Startup<br><strong>Desc:</strong> After sending messages, avatar vanishes on home; starting a match <strong>crashes or hard‑locks</strong>.<br><strong>Media:</strong>· ▶<a href="https://drive.google.com/file/d/1bbxQp-VHipJSGScrfaDpgWkgjm6w0uT2/view"> Video</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/715/1*rQdGmJibu1CecUP4C_NvIA.png" /></figure><h4><strong>Solo Match Displays Two Winners</strong></h4><p><em>Critical (stakes risk)</em><br><strong>Area:</strong> Rules/Victory<br><strong>Desc:</strong> Edge case credits two winners in <strong>Solo</strong>.<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/705/1*ZVlwSDTapfaoeWoMCYGIaw.png" /></figure><h4><strong>Selecting East‑Asian Language Removes All Menu Text</strong></h4><p><em>High</em><br><strong>Area:</strong> Localization/Fonts<br><strong>Desc:</strong> Likely missing font fallback/atlas; UI becomes blank, recovery blind.<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/705/1*DHWSqL2BoqPfGMlkOShU8A.png" /></figure><h4><strong>Map Zoom Buttons Inoperative In‑Match</strong></h4><p><em>Medium</em><br><strong>Area:</strong> UI/Map<br><strong>Desc:</strong> +/- buttons don’t act.<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/701/1*S0FqaoCul3FVjyqt43gBFA.png" /></figure><h4><strong>Hive BlackOps Not Shown in Victory Screen</strong></h4><p><em>Medium</em><br><strong>Area:</strong> Rendering/Skins<br><strong>Desc:</strong> Persists from Alpha; Hive‑specific.<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/717/1*86VSJ6jBoI5X0BSMrTPQfA.png" /></figure><h4><strong>Utility Counter Shows Negative After Respawn</strong></h4><p><em>Medium</em><br><strong>Area:</strong> HUD/Items<br><strong>Desc:</strong> Returns as <strong>-1</strong> after death.<br><strong>Fix:</strong> Reset on respawn; inventory sync.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*E6en1BekCC0nuYnHtQ5Apw.png" /></figure><h4><strong>Weapon Cards Show Rarity Color While System Disabled</strong></h4><p><em>Low</em><br><strong>Area:</strong> UI/Inventory<br><strong>Desc:</strong> Conflicting signals with current design.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/497/1*fWOe2F3BWF6mWGIQsKCEUA.png" /></figure><h4><strong>Shoot Before Swap Animation Ends</strong></h4><p><em>Medium</em><br><strong>Area:</strong> Animation/Combat<br><strong>Media:</strong> ▶ <a href="https://drive.google.com/file/d/15KYpLX0M9SZXRbxZjaWk5K3uq11UFdvN/view">Video</a><br><strong>Fix:</strong> Gate fire until OnEquipReady event.</p><h4><strong>Parachuting While Holding a Weapon (Rare)</strong></h4><p><em>Low–Medium</em><br><strong>Area:</strong> State/Visual<br><strong>Desc:</strong> Likely race in state transitions.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*g-uq5GP0yb9J5MpF-VEBqw.png" /></figure><h4><strong>1st Place Recorded as 2nd → Reward Locked</strong></h4><p><em>Medium</em><br><strong>Area:</strong> Progression/Validation<br><strong>Media:</strong> ▶ <a href="https://drive.google.com/file/d/172Q60GrSVje_MrbESzZJm8PQZeRo5-AH/view">Video</a></p><h4><strong>Legacy Push Notifications From FTW</strong></h4><p><em>Low–Medium</em><br><strong>Area:</strong> Notifications/Content<br><strong>Desc:</strong> Messaging references disabled systems (contracts/pass) from FTW.<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/732/1*Movm7w_V78wqq5UukaVWAw.png" /></figure><h4><strong>Funny One‑Off: Plane Re‑crossed Final Safe</strong></h4><p><strong>Media:</strong> ▶ <a href="https://drive.google.com/file/d/1la2lX_aF9n4EZX1Nj76U9TlAn8W-XXjv/view">Clip</a></p><h3>Additional Observations &amp; Gallery</h3><ul><li><strong>Under‑map/limbo geometry spots:</strong> multiple candidates; deeper sweep planned on stronger hardware to disambiguate device perf vs. geometry.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/741/1*vzuvhV0col8VXarKc9D_hw.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/725/1*K6b0IAQiFDOy31EJbOzrgg.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/770/1*1zj92E2eH2ZArnXCQIxy2w.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/724/1*QWIFiamWHyjRBULBnaEPIw.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/731/1*aKHX7FTIwRnlPLc8QueHwQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/725/1*-uyxeh7kadhOzakB5FJuow.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/719/1*0_HiAylfoPaSWPviCSsHPw.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/744/1*jl0Go3sVC7BBd3CVANYRew.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/755/1*5DnWLx9fD8gFWlbSYTBLaQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/717/1*DUrhsLLHTvPVNIvez-FsOA.png" /></figure><h4>Mini‑Conclusion (Capa)</h4><p>Open Beta retained several <strong>Alpha‑era themes</strong> (asset bindings, boundary leaks) and introduced <strong>reconnect/respawn edge cases</strong> and <strong>UI state regressions</strong>. Addressing shared root causes yields outsized stability &amp; trust gains.</p><h3>4. Cross‑Version Insights</h3><ul><li><strong>Server‑vs‑Client Authority:</strong> Any time‑gated or eligibility logic must be <strong>server‑driven</strong> (battle passes, chests, respawns after timers).</li><li><strong>Asset Mapping Hygiene:</strong> Rebrand/porting easily breaks <strong>skin→model/material</strong> maps; add <strong>migration tests</strong> and checksums.</li><li><strong>Boundary &amp; Safety Nets:</strong> Seal seams; add <strong>under‑map kill volumes</strong>, <strong>auto‑unstick</strong>, and <strong>spawn‑point validators</strong> (safe‑zone aware).</li><li><strong>State Machines:</strong> Weapon swap, deployables, victory scenes, parachute descent need <strong>explicit ready flags</strong> and <strong>mutual exclusion</strong> on transitions.</li><li><strong>UI Resets &amp; Localization:</strong> Clear panels on route change; ensure font fallbacks; block duplicate prefixes; consistent rarity signaling.</li><li><strong>Audio/Graphics Consistency:</strong> Normalize ADS mixes; verify quality tiers map to expected presets.</li></ul><h3>5. Recommendations</h3><p><strong>High‑leverage quick wins:</strong></p><ol><li><strong>Enforce server‑authoritative timers</strong> (and receipt validation) for passes/rewards/respawn windows.</li><li><strong>Global collision audit + under‑map sentinels</strong> (nav‑mesh bake; slope caps; invisible ceilings; kill planes; auto‑unstick).</li><li><strong>Inventory/skin migration tests</strong> with automated DB scans for mismatched IDs (Hive BlackOps, Toxic → Wildcard, SM4L).</li><li><strong>Respawn validators</strong> (safe‑zone aware spawn sets; reconnect clamps).</li><li><strong>Animation gates:</strong> Disallow firing until OnEquipReady; ensure UAV detach events cannot be skipped.</li><li><strong>UI/UX polish:</strong> Trim “EA-” duplicates; reset detail panes; rarity preview parity; fix map zoom buttons; guard chat→avatar→crash chain.</li><li><strong>Localization pass:</strong> Add missing font atlases; fallback chain; do‑not‑select guard rails.</li><li><strong>Audio pass:</strong> Level ADS vs hip‑fire; check DSP chain parity.</li><li><strong>Quality presets sanity check</strong> in Sandbox (verify shader LODs and post‑FX stacks per tier).</li></ol><h3>6. About Me &amp; Contact</h3><p>I’m <strong>Leonardo Cardoso</strong>, transitioning to <strong>Game QA</strong> after 10+ years in graphic design and 3 years in UI/UX. I specialize in <strong>mobile</strong> exploratory testing with structured bug reports and UX‑aware insights.</p><ul><li><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/leonardo-c-87a8a3195/">https://www.linkedin.com/in/leonardo-c-87a8a3195/</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9837f14cf113" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[QA Report — Mobile Game Test: Blobby Rush]]></title>
            <link>https://medium.com/@leonardocardoso_26/qa-report-mobile-game-test-blobby-rush-df3771c96102?source=rss-d3109731d0cb------2</link>
            <guid isPermaLink="false">https://medium.com/p/df3771c96102</guid>
            <dc:creator><![CDATA[Leonardo Cardoso]]></dc:creator>
            <pubDate>Sun, 31 Aug 2025 14:39:00 GMT</pubDate>
            <atom:updated>2025-09-06T12:47:07.103Z</atom:updated>
            <content:encoded><![CDATA[<h3>Casual Games — QA Case Studies (Blobby Rush, SurvivorZ &amp; Just Step)</h3><h3>TL;DR</h3><ul><li>Two compact case studies in one place, focused on casual/mobile titles.</li><li><strong>Blobby Rush (Mood Games)</strong> → UX + Level integrity + polish.</li><li><strong>Homa (SurvivorZ &amp; Just Step)</strong> → Exploratory black‑box + map/collision + exploits.</li><li>Includes bug write‑ups with steps, expected/actual, media, and recommendations.</li></ul><h3>Contents</h3><p><strong>1. Approach &amp; Methodology</strong></p><p><strong>2. Case Study A — Blobby Rush (Mood Games)</strong></p><p>Test Environment</p><p>Findings</p><p>General UX Suggestion</p><p>Conclusion</p><p><strong>3. Case Study B — Homa (SurvivorZ &amp; Just Step)</strong></p><p>Test Environment</p><p>Bugs — SurvivorZ</p><p>Bugs — Just Step</p><p>Conclusion</p><p><strong>4. What I Learned Across Both Studies</strong></p><p><strong>5. About Me</strong></p><p><strong>6. Contact</strong></p><h3>1. Approach &amp; Methodology</h3><p><strong>Exploratory black‑box testing</strong> on real hardware (iPhone XR), focusing on:</p><ul><li>Gameplay integrity (progression, collisions, level logic)</li><li>UX clarity and feedback (tutorial cues, audio, readability)</li><li>Visual polish (alignment, layers, lighting, textures)</li></ul><h4>Each bug uses a consistent format:</h4><blockquote><strong><em>[Title]</em></strong><em><br></em><strong><em>Category:</em></strong><em> <br></em><strong><em>Description:</em></strong><em> &lt;what/where&gt;<br></em><strong><em>Steps to Reproduce:</em></strong><em> 1..n<br></em><strong><em>Actual Result:</em></strong><em> <br></em><strong><em>Expected Result:</em></strong><em> <br></em><strong><em>Impact:</em></strong><em> &lt;player impact / severity&gt;<br></em><strong><em>Suggestion:</em></strong><em> <br></em><strong><em>Media:</em></strong><em> &lt;video/screenshot link&gt;</em></blockquote><h3>2. Case Study A — Blobby Rush (Mood Games)</h3><h4>Test Environment (A)</h4><ul><li><strong>Device:</strong> iPhone XR</li><li><strong>OS:</strong> iOS 18.6.2</li><li><strong>Game Version:</strong> Published on App Store (no build number noted)</li><li><strong>Scope:</strong> Public build only (no internal tools)</li></ul><blockquote>Priority guide used:</blockquote><blockquote><em>High</em> (progression/game‑breaking) · <em>Medium</em> (design/UX clarity) · <em>Low</em> (visual polish)</blockquote><h3>Findings (A)</h3><blockquote>High Priority — Gameplay‑breaking</blockquote><h4><strong>[Button Can Be Activated Through Wall — Level 10]</strong></h4><ul><li><strong>Category:</strong> Gameplay / Collision</li><li><strong>Description:</strong> After the character grows, it is possible to activate the button through the wall without entering the room or fighting enemies.</li><li><strong>Impact:</strong> Allows players to skip obstacles and breaks intended level design.</li><li><strong>Suggestion:</strong> Adjust wall and button colliders to restrict interaction only from the front.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/311/1*y3QwD5sTr0T6BqIYaNmaXw.png" /></figure><p><a href="https://drive.google.com/file/d/153fA4PPmZpkImIXCdIN5ctOuVRj713mj/view?usp=sharing">Click here to see a video report</a></p><h4><strong>[Key Positioned Outside Intended Room — Level 33]</strong></h4><ul><li><strong>Category:</strong> Gameplay / Progression</li><li><strong>Description:</strong> The key is placed outside the locked room, allowing direct collection without clearing the area.</li><li><strong>Impact:</strong> Players can skip the main challenge of the level.</li><li><strong>Suggestion:</strong> Reposition the key inside the locked room.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/313/1*9q6Vo_xLEaIQe5ius7NXzg.png" /></figure><h4><strong>[Duplicate Tutorial Level — Level 20]</strong></h4><ul><li><strong>Category:</strong> Level Design / Progression</li><li><strong>Description:</strong> Level 20 is identical to Level 1 (tutorial), breaking the game’s progression curve.</li><li><strong>Impact:</strong> Reduces the sense of advancement and gives the impression of recycled content.</li><li><strong>Suggestion:</strong> Replace with a unique layout or use it as a milestone with added challenge.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/317/1*LDpT6RSnKRcgUB1XgBRNIA.png" /></figure><blockquote>Medium Priority (Design and UX issues)</blockquote><h4><strong>[Misuse of Tutorial Arrows — Levels 10, 11, 34]</strong></h4><ul><li><strong>Category:</strong> Visual / UX</li><li><strong>Description:</strong> Tutorial arrows appear in later levels without a functional purpose or pointing to nothing.</li><li><strong>Impact:</strong> Confuses players and reduces UI clarity.</li><li><strong>Suggestion:</strong> Use arrows only for real instructions; replace with other visual effects in regular levels.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/315/1*rEvokQ6v9BIOJf3do5Ce4g.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/319/1*HbG9MlbJj2NHuRX7j6cGYw.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/315/1*Pli5iu9u0Owji4GnPsvW0Q.png" /></figure><h4><strong>[Disconnected Walls — Level 10 — 29 — 32]</strong></h4><ul><li><strong>Category:</strong> Level Design / Visual</li><li><strong>Description:</strong> Some walls are disconnected, leaving gaps with no gameplay purpose.</li><li><strong>Impact:</strong> Makes the level look unfinished.</li><li><strong>Suggestion:</strong> Reconnect walls or fill gaps with functional or decorative elements.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/314/1*oUko3tGatLLDnp4ZtGSRmA.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/311/1*wmZ9-g3oa-KVXH9t9SnpKQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/317/1*MY6AXC8dpPe_YlKZj-EknA.png" /></figure><blockquote>Low Priority (Visual polish issues)</blockquote><h4><strong>[Walls Floating or Misaligned]</strong></h4><ul><li><strong>Category:</strong> Visual / Level Design</li><li><strong>Description:</strong> Some walls are floating above the floor or misaligned, leaving visible gaps.</li><li><strong>Impact:</strong> Does not affect gameplay but lowers polish and consistency.</li><li><strong>Suggestion:</strong> Adjust wall positioning in the level editor.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/318/1*35RPoGmzphuv-UiVGRdWpg.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/312/1*NnQ1HDioEwgrh6KOYI4S4A.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/309/1*Ukc1IryyIkaEosxO-IW3wQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/319/1*XZuYAohqovrFHDbYU6AJ3A.png" /></figure><h4><strong>[Floor Plane Oversized — Levels 4, 5, 8, 25]</strong></h4><ul><li><strong>Category:</strong> Visual / Level Design</li><li><strong>Description:</strong> The floor plane extends beyond the map boundaries, visible outside the walls.</li><li><strong>Impact:</strong> Creates an unfinished look.</li><li><strong>Suggestion:</strong> Resize the floor to match the exact level limits.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/312/1*NnQ1HDioEwgrh6KOYI4S4A.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/318/1*cPhg0XI3r2c7bTZvL-Z49g.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/311/1*DtUfbv9mL-JsLW2suX5vyw.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/310/1*MOf9v9kJX_ARnpJYn4zMAw.png" /></figure><h4><strong>[Player Clipping Through Walls ]</strong></h4><ul><li><strong>Category:</strong> Collision / Visual</li><li><strong>Description:</strong> The character can partially clip through walls, becoming visible outside the map.</li><li><strong>Impact:</strong> Breaks collision consistency and reduces immersion.</li><li><strong>Suggestion:</strong> Adjust wall and player colliders.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/308/1*kBmH7lc0jpHWcErj1RtA8g.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/309/1*hxsmUpJh4UCoavlSD4a6vw.png" /></figure><h4><strong>[Frames Casting Shadows Through Walls — Level 27]</strong></h4><ul><li><strong>Category:</strong> Visual / Lighting</li><li><strong>Description:</strong> Wall frames cast shadows through the walls, suggesting layer/rendering issues.</li><li><strong>Impact:</strong> Inconsistent visuals.</li><li><strong>Suggestion:</strong> Correct layers and shadow rendering so walls block light as expected.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/314/1*4uhl3B_3m_iaKbX4zc9LaA.png" /></figure><h3>General UX Suggestion (A)</h3><p><strong>Lack of Audio</strong> (SFX/music missing).<br><strong>Impact:</strong> Reduces immersion and perceived completeness.<br><strong>Recommendation:</strong> Minimal SFX set (key, button, win/lose, menus) + light BGM.<br> 👉 <a href="https://drive.google.com/file/d/19bPt230XlaQAUlT6nUsh_PzWu8mo7NF_/view?usp=sharing&amp;utm_source=chatgpt.com">Watch here</a></p><h3>Conclusion</h3><p>Relatively small changes (colliders, object placement, shadow layers) plus a baseline audio pass would upgrade cohesion, immersion, and progression integrity.</p><h3>3. Case Study B — Homa (SurvivorZ &amp; Just Step)</h3><h4>Test Environment (B)</h4><ul><li><strong>Device:</strong> iPhone XR</li><li><strong>OS:</strong> iOS 18.5</li><li><strong>Games:</strong> <strong>SurvivorZ</strong> (v0.3.8) and <strong>Just Step</strong> (v0.22.1)</li><li><strong>Scope:</strong> Public builds; black‑box; real gameplay capture</li></ul><h3>Bugs — SurvivorZ</h3><h4><strong>Bypass Reward Chest Timer</strong></h4><p><strong>Category:</strong> Exploit<br><strong>Description:</strong> Changing device date advances chest timers.<br><strong>Steps:</strong> Start timer → change system date to +1 day → return to game.<br><strong>Actual:</strong> Reward becomes immediately collectible.<br><strong>Expected:</strong> Server‑validated time gates.<br><strong>Media:</strong> ▶ <a href="https://drive.google.com/file/d/1zaF9yc9ydrbVapQyn4qFZOTD0sLZ4JfI/view">Video</a></p><h4><strong>Collision Glitches on Multiple Maps</strong></h4><p><strong>Category:</strong> Map<br><strong>Description:</strong> Thin‑edge pushes/dashes allow slipping out of bounds/voids.<br><strong>Actual:</strong> Player exits play area.<br><strong>Expected:</strong> Solid colliders; sealed seams.<br><strong>Media:</strong> ▶ <a href="https://drive.google.com/file/d/1I2MzK34syd0kGBTjCG9ZzNut9GO7IAKt/view">Video</a></p><h4><strong>Lobby Collision Error (Challenges Entrance)</strong></h4><p><strong>Category:</strong> Texture / Map<br><strong>Description:</strong> Can pass through floor at “Challenges” entrance; access unintended right‑side area.<br><strong>Expected:</strong> Invisible barriers / proper loading gates.<br><strong>Media:</strong> ▶ <a href="https://drive.google.com/file/d/1XiTuV9cFhd_Wxi53MlvOdJeVwU5PR020/view">Video</a></p><h4><strong>Weapon Missing Texture — Wooden Sword</strong></h4><p><strong>Category:</strong> Texture<br><strong>Description:</strong> 3D model renders gray/untextured in menu and gameplay; icon ok.<br><strong>Expected:</strong> Textured mesh consistent with icon.<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/577/1*404n9MXxREsGtFmakZXmtw.png" /></figure><h4><strong>Boss Without Texture — Map 6‑6</strong></h4><p><strong>Category:</strong> Texture<br><strong>Description:</strong> Boss appears flat green (no texture).<br><strong>Expected:</strong> Full boss material/texture parity with others.<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/419/1*0Nc0Td-ETN2PoKdV1q6acg.png" /></figure><h4><strong>UI Translation Gaps (PT‑BR)</strong></h4><p><strong>Category:</strong> UI / Localization<br><strong>Description:</strong> Elements remain in English despite PT selection (e.g., “YOUR DATA”, “SIGN IN SUCCESSFUL”).<br><strong>Expected:</strong> Full UI localization coverage.<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/301/1*rCTK9qLsid3psniL5CyQvw.png" /></figure><h3>Bugs — Just Step</h3><h4><strong>Objects Without Colliders</strong></h4><p><strong>Category:</strong> Map / Collision<br><strong>Description:</strong> Certain meshes lack colliders; player walks through.<br><strong>Expected:</strong> Proper collider setup.<br><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*v0s5oXWWEYy8QXbNcy1wgQ.png" /></figure><h4><strong>Door Physics Glitch</strong></h4><p><strong>Category:</strong> Map / Physics<br><strong>Description:</strong> Doors slide laterally off axis when pushed; then snap back.<br><strong>Expected:</strong> Clean rotation around hinge only.<br><strong>Media:</strong> ▶ <a href="https://drive.google.com/file/d/18oS5SCoPkmOZkQOGryfHktaNBBGVxhOQ/view">Video</a></p><h4><strong>Invisible Collision at Store Exit</strong></h4><p><strong>Category:</strong> Map<br><strong>Description:</strong> Hidden blockers at doorway sides impede exit.<br><strong>Expected:</strong> Full‑width passage without invisible obstructions.<br><strong>Media:</strong> ▶ <a href="https://drive.google.com/file/d/1cgrHCE9w5aeSEylb_g7y5BLTHK2xTMDD/view">Video</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/671/1*6MPxXAovHqjGaEy65dyTfg.png" /></figure><h4><strong>Leaving the Playable Map Area</strong></h4><p><strong>Category:</strong> Map<br><strong>Description:</strong> At right‑edge location, player can pass beyond bounds; finds unused NPC.<br><strong>Expected:</strong> Boundary colliders; remove stray test NPCs.<br><strong>Media:</strong> ▶ <a href="https://drive.google.com/file/d/18mC3fWcGLiDpk4hq5i1nv5kfkbfFm4aj/view">Video</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/668/1*T3DRGWA0R1lL60OEqb4IMQ.png" /></figure><h3>Conclusion (B)</h3><p>Exploratory black‑box on varied titles revealed recurring themes: seam leaks, collider omissions, timing exploits, and content parity gaps (textures/localization). These are high‑leverage fixes that noticeably lift user trust and retention in casual loops.</p><h3>4. What I Learned</h3><ul><li><strong>Small structural fixes scale:</strong> Sealed seams, consistent colliders, and boundary checks prevent a large class of immersion‑breaking escapes.</li><li><strong>Feedback matters:</strong> Minimal SFX/BGM and clean tutorial cues drastically improve perceived polish.</li><li><strong>Exploit hygiene:</strong> Client‑time dependencies are fragile; prefer server‑authoritative gating.</li><li><strong>Consistency is quality:</strong> Texture/localization parity translates directly to trust.</li></ul><h3>5. About Me</h3><p>I’m <strong>Leonardo Cardoso</strong>, transitioning to <strong>Game QA</strong> after 10+ years in graphic design and 3 years in UI/UX. I specialize in <strong>mobile</strong>, with hands‑on exploratory testing, structured bug reports, and player‑centric UX observations.<br><strong>English:</strong> EF SET B1.<br><strong>Location:</strong> Brazil (remote‑ready).</p><h3>6. Contact</h3><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/leonardo-c-87a8a3195/">https://www.linkedin.com/in/leonardo-c-87a8a3195/</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=df3771c96102" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Junior QA Case Study: Real Bug Hunt in Homa Games]]></title>
            <link>https://medium.com/@leonardocardoso_26/junior-qa-case-study-real-bug-hunt-in-homa-games-e4864f003012?source=rss-d3109731d0cb------2</link>
            <guid isPermaLink="false">https://medium.com/p/e4864f003012</guid>
            <category><![CDATA[game-tester]]></category>
            <category><![CDATA[qa]]></category>
            <category><![CDATA[bug-hunt]]></category>
            <category><![CDATA[bugs]]></category>
            <dc:creator><![CDATA[Leonardo Cardoso]]></dc:creator>
            <pubDate>Sun, 27 Jul 2025 14:56:41 GMT</pubDate>
            <atom:updated>2025-07-27T14:56:41.118Z</atom:updated>
            <content:encoded><![CDATA[<h3>Introduction</h3><p>This article is the result of an independent Quality Assurance<strong> </strong>study applied to two mobile games published by Homa: <em>SurvivorZ</em> and <em>Just Step</em>.</p><p>The main goal was to put into practice everything I’ve learned over the past 12 months studying mobile game QA.</p><p>I used a black-box exploratory approach, documenting each bug with videos, screenshots, reproduction steps, and improvement suggestions.</p><p>I chose Homa because it’s a publisher with a strong culture of data and innovation, working with a wide range of titles and systems. This diversity makes testing more challenging and also much richer in terms of learning.</p><p>This bug hunt is also a way to demonstrate my technical ability, attention to detail, and commitment to QA processes with the hope of earning my first opportunity as a Junior QA and contributing to real development teams.</p><h3>Games Analyzed</h3><p>In this study, I chose two games published by Homa with completely different approaches: SurvivorZ and Just Step. The idea was to work with distinct mechanics, exploring a variety of possibilities and approaches through exploratory testing.</p><p>All tests were conducted on an iPhone XR running iOS 18.5, with a black-box testing focus , meaning no access to source code.</p><p>My analysis was based on a player’s perspective combined with a QA mindset, identifying issues and inconsistencies through real gameplay experience.</p><h4><strong>SurvivorZ</strong>:</h4><p>This was a game I was already familiar with and had played casually before. That gave me more confidence to dig deeper into its systems and limitations. I chose this title because I already understood its mechanics and believed I could uncover deeper bugs through advanced gameplay.</p><h4><strong>Just Step</strong>:</h4><p>I chose this one because it was the most recent Homa release on the App Store, which increased the chances of finding bugs that hadn’t been addressed yet. As a new title, it presented a real opportunity to contribute relevant feedback for the game’s continuous improvement.</p><h3>Methodology</h3><p>All tests were conducted with an exploratory focus, applying black-box QA principles, observing game behavior purely from the player’s perspective, with no access to source code.</p><p>The goal was to identify visual glitches, logic errors, and map integrity issues, while also testing progression boundaries, collisions, and potential exploits.</p><h4>SurvivorZ</h4><p>I dedicated approximately 6 hours to testing SurvivorZ, including bug hunting sessions and report writing. I used the iPhone XR’s built-in screen recorder and took screenshots to document the issues found.</p><p>I adopted a map exploration strategy, actively looking for places where the player could clip through geometry or exit the playable area which ended up being the most common type of bug.</p><p>I also ran specific tests to detect visual flaws, such as missing textures, and applied a well-known online QA technique: identifying whether certain elements are handled client-side or server-side, as this distinction often opens doors for time-based exploits.</p><p>Progression was done naturally, like a regular player would, moving from Map 1 to Map 10, testing weapon upgrades and interacting with internal systems but always with a QA mindset, trying to force the game to break in weak spots.</p><h4>Just Step</h4><p>In Just Step, I dedicated around 2hours between testing and documentation.</p><p>My approach was similar: screen recordings, screenshots, and manual notes for proper organization.</p><p>Since this is a newer game, I focused mainly on collisions and map construction, identifying specific areas where the character could walk through structures, float in unintended places, or fall out of the scene entirely.</p><p>My goal wasn’t to test the main gameplay loop, but rather to stress the physical architecture of the game world, pushing the engine into unexpected behavior to reveal subtle bugs.</p><h3>BUGS</h3><h4>Bug #1 — SurvivorZ</h4><p><strong>How to Bypass the Reward Chest Timer</strong><br><strong>Category:</strong> Exploit<br><strong>Description:</strong> It is possible to manipulate the countdown timer for opening reward chests by manually changing the system date on the device.</p><h4><strong>Steps to Reproduce:</strong></h4><ol><li>Start the timer to open a reward chest.</li><li>Go to the device settings and manually change the date to the next day.</li><li>Return to the game.</li><li>The game will interpret that the required time has passed and allow you to collect the reward.</li></ol><h4><strong>Actual Result:</strong></h4><p>The game uses the device’s local time, allowing players to skip waiting periods and collect rewards instantly by changing the system clock.</p><h4><strong>Expected Result:</strong></h4><p>The game should validate the chest opening time based on server time, preventing local time manipulation.</p><p><strong>Media:</strong> <a href="https://drive.google.com/file/d/1zaF9yc9ydrbVapQyn4qFZOTD0sLZ4JfI/view">[Click here to view the video]</a><br> <strong>Platform:</strong> iOS 18.5 (iPhone XR)<br> <strong>Game Version:</strong> 0.3.8</p><h4>Bug #2 — SurvivorZ</h4><p><strong>Collision </strong>Glitch on Multiple Maps<br><strong>Category:</strong> Map<br><strong>Description:</strong> On several maps, players can walk through areas that should be inaccessible. In some cases, this prevents the player from completing the mission rather than offering an advantage. Multiple collision failure points have been documented.</p><h4><strong>Steps to Reproduce:</strong></h4><ol><li>Access the stage shown in the corresponding video.</li><li>Push the character against a specific wall, slightly rotating to position the side of the hitbox (which is thinner than the front), or use a skill that increases movement speed or dash forward.</li></ol><h4><strong>Actual Result:</strong></h4><p>The player is able to pass through barriers and exit the playable area, falling into a void or walking in regions without proper geometry.</p><h4><strong>Expected Result:</strong></h4><p>The map should have solid colliders to prevent the player from leaving the intended gameplay zone.</p><p><strong>Media:</strong> <a href="https://drive.google.com/file/d/1I2MzK34syd0kGBTjCG9ZzNut9GO7IAKt/view">[Click here to view the video]</a><br> <strong>Platform:</strong> iOS 18.5 (iPhone XR)<br> <strong>Game Version:</strong> 0.3.8</p><h4>Bug #3 — SurvivorZ</h4><p><strong>Collision Error in the Game Lobby</strong><br><strong>Category:</strong> Texture / Map<br><strong>Description:</strong> In the main game lobby, it is possible to pass through the entrance to the “Challenges” area and access a region with missing geometry.</p><p>Additionally, there is a right-side section of the lobby that can also be accessed, unintentionally expanding the explorable area. Unlike the in-level bugs, this one occurs in the central navigation hub where players access menus.</p><h4><strong>Steps to Reproduce:</strong></h4><ol><li>Go to the “Challenges” menu entrance, located on the right side of the lobby.</li><li>Run quickly toward the entrance, passing through the floor before the menu loads.</li><li>Explore the right-side extension of the lobby as shown in the video.</li></ol><h4><strong>Actual Result:</strong></h4><p>The player can pass through the “Challenges” entrance and also access a right-side section of the lobby, both lacking proper collision or movement restrictions.</p><h4><strong>Expected Result:</strong></h4><p>Invisible barriers should prevent access to unintended areas outside the defined lobby navigation space.</p><p><strong>Media:</strong> <a href="https://drive.google.com/file/d/1XiTuV9cFhd_Wxi53MlvOdJeVwU5PR020/view">[Click here to view the video]</a><br> <strong>Platform:</strong> iOS 18.5 (iPhone XR)<br> <strong>Game Version:</strong> 0.3.8</p><h4>Bug #4 — SurvivorZ</h4><p><strong>Weapon with Missing Texture (Wooden Sword)</strong><br> <strong>Category:</strong> Texture<br> <strong>Description:</strong> The “Wooden Sword”, available in the inventory, appears in the 3D model without a defined texture, both in the equipment view and during gameplay.</p><p>The weapon’s icon displays correctly, but the in-game model on the character appears gray, as if no texture was applied.</p><h4><strong>Steps to Reproduce:</strong></h4><ol><li>Open the inventory and equip the “Wooden Sword”.</li><li>Observe the appearance of the 3D model in both the menu and during gameplay.</li></ol><h4><strong>Actual Result:</strong></h4><p>The sword appears as an untextured gray 3D model, with no visual details applied.</p><h4><strong>Expected Result:</strong></h4><p>The weapon should display with its proper texture, matching the visual shown in the icon.</p><p><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*6fMULG9-Zu1s6FNN-9MaoA.png" /></figure><p><strong>Platform:</strong> iOS 18.5 (iPhone XR)<br><strong>Game Version:</strong> 0.3.8</p><h4>Bug #5 — SurvivorZ</h4><p><strong>Boss Enemy Without Texture (Map 6–6)</strong><br><strong>Category:</strong> Texture<br><strong>Description:</strong> The boss from map 6–6 appears with a flat green color, with no visible texture applied. This contrasts with other bosses in the game, which have detailed textures and proper visual polish.</p><h4><strong>Steps to Reproduce:</strong></h4><ol><li>Progress through World 6 until you reach stage 6–6.</li><li>Observe the boss character that appears at the beginning of the stage.</li></ol><h4><strong>Actual Result:</strong></h4><p>The enemy displays only the base material (green), with no applied texture, giving it an unfinished look.</p><h4><strong>Expected Result:</strong></h4><p>The boss should have a complete texture, visually consistent with the rest of the special enemies in the game.</p><p><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/319/1*ADmgSGieAQqBDQfOzO3CLQ.png" /></figure><p><strong>Platform:</strong> iOS 18.5 (iPhone XR)<br><strong>Game Version:</strong> 0.3.8</p><h4>Bug #6 — SurvivorZ</h4><p><strong>UI Translation Error</strong><br><strong>Category:</strong> UI / Localization<br><strong>Description:</strong> Even when the game language is set to Portuguese, several interface elements remain in English, such as buttons and configuration menu texts. This affects the consistency of the experience and suggests missing localization in certain areas of the UI.</p><h4><strong>Steps to Reproduce:</strong></h4><ol><li>Set the game language to Portuguese.</li><li>Open the Settings menu and navigate through the buttons and sections.</li><li>Notice elements like “YOUR DATA” and “SIGN IN SUCCESSFUL” still appear in English.</li></ol><h4><strong>Actual Result:</strong></h4><p>UI texts and buttons remain in English despite the selected language being Portuguese.</p><h4><strong>Expected Result:</strong></h4><p>All interface elements should be translated according to the player’s selected language, ensuring consistency across the UI.</p><p><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/proxy/1*Qqd7-6a-B2AVpQHOjoEF4A.png" /></figure><p><strong>Platform:</strong> iOS 18.5 (iPhone XR)<br> <strong>Game Version:</strong> 0.3.8</p><h4>Bug #1 — Just Step</h4><p><strong>Objects Without Colliders</strong><br><strong>Category:</strong> Map / Collision<br><strong>Description:</strong> Some objects in the environment are missing proper colliders, allowing the player character to walk through the 3D mesh without restriction.</p><h4><strong>Steps to Reproduce:</strong></h4><ol><li>Go to the location shown in the screenshot.</li><li>Walk the character toward the object in question.</li><li>Observe that the character passes through the mesh as if it were non-solid.</li></ol><h4><strong>Actual Result:</strong></h4><p>The character is able to walk through the object due to the absence of a collision barrier.</p><h4><strong>Expected Result:</strong></h4><p>The object should have a collider to prevent the player from walking through it.</p><p><strong>Media:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*O8yLQLFKPgjJofb_izZiFw.png" /></figure><p><strong>Platform:</strong> iOS 18.5 (iPhone XR)<br><strong>Game Version:</strong> 0.22.1</p><h4>Bug #2 — Just Step</h4><p><strong>Door System Physics Glitch</strong><br><strong>Category:</strong> Map / Physics<br><strong>Description:</strong> The game’s interactive doors can be pushed in an unintended way, causing them to move laterally off their rotation axis when the player makes direct contact. Instead of simply rotating, the doors slide sideways and then snap back to their original position, breaking the expected physical behavior.</p><h4><strong>Steps to Reproduce:</strong></h4><ol><li>Approach any interactive door in the game.</li><li>Slowly push the door with the player character, as shown in the video.</li><li>Observe that the door moves sideways instead of rotating around its fixed axis.</li></ol><h4><strong>Actual Result:</strong></h4><p>The door moves laterally out of position and then resets to normal.</p><h4><strong>Expected Result:</strong></h4><p>The door should only rotate around its axis without shifting its world position.</p><p><strong>Media:</strong> <a href="https://drive.google.com/file/d/18oS5SCoPkmOZkQOGryfHktaNBBGVxhOQ/view">[Click here to view the video]</a><br> <strong>Platform:</strong> iOS 18.5 (iPhone XR)<br> <strong>Game Version:</strong> 0.22.1</p><h4>Bug #3 — Just Step</h4><p><strong>Invisible Collision at Store Exit</strong><br><strong>Category:</strong> Map<br><strong>Description:</strong> After exiting through the main store door in the game, there are two invisible blocks positioned on each side of the passage. While the player can walk through the center without issue, these hidden colliders prevent movement along the edges, creating an unexpected invisible barrier.</p><h4><strong>Steps to Reproduce:</strong></h4><ol><li>Go to the main store door in the game.</li><li>Try to exit by walking along the sides of the door, as shown in the video or screenshot.</li><li>The character will be blocked by invisible colliders that shouldn’t be there.</li></ol><h4><strong>Actual Result:</strong></h4><p>The player is unable to pass through the sides of the door due to invisible barriers.</p><h4><strong>Expected Result:</strong></h4><p>The player should be able to exit freely across the full width of the doorway, without encountering hidden obstructions.</p><p><strong>Media:</strong> <a href="https://drive.google.com/file/d/1cgrHCE9w5aeSEylb_g7y5BLTHK2xTMDD/view">[Click here to view the video]</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/proxy/1*UruUtX5Erc-yfv4Hq9LD6A.png" /></figure><p><strong>Platform:</strong> iOS 18.5 (iPhone XR)<br><strong>Game Version:</strong> 0.22.1</p><h4>Bug #4 — Just Step</h4><p><strong>Leaving the Playable Map Area</strong><br><strong>Category:</strong> Map<br><strong>Description:</strong> By walking to a specific point on the right side of the map (as shown in the video or screenshot), the player can completely exit the intended playable area.</p><p>The character can freely explore outside the map boundaries and even interact with a recycling NPC placed in what appears to be a developer test zone or configuration error.</p><h4><strong>Steps to Reproduce:</strong></h4><ol><li>Go to the right edge of the map, at the exact location shown in the video or screenshot.</li><li>Walk toward the border until you pass through the edge of the map.</li><li>Observe the free movement outside the intended gameplay area and the presence of an unused NPC.</li></ol><h4><strong>Actual Result:</strong></h4><p>The player is able to leave the map and explore unfinished external zones.</p><h4><strong>Expected Result:</strong></h4><p>The area should be blocked by colliders to prevent access beyond the planned limits.</p><p><strong>Media:</strong><a href="https://drive.google.com/file/d/18mC3fWcGLiDpk4hq5i1nv5kfkbfFm4aj/view"> [Click here to view the video]</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*CX4UndgTXVweMxE2Vb-Dyw.png" /></figure><p><strong>Platform:</strong> iOS 18.5 (iPhone XR)<br> <strong>Game Version:</strong> 0.22.1</p><h3>Conclusion</h3><p>This experience gave me a deeper understanding of how crucial QA testing is, even in casual or short-session mobile games.</p><p>I learned a lot about map boundaries, invisible colliders, and how certain types of bugs tend to appear in multiple games even with very different geometries.</p><p>This reinforces the importance of critical, structured analysis.</p><p>Testing with a black-box approach, without internal tools, required patience and strategy. Many scenarios had to be repeated multiple times to ensure bug reproducibility, which helped me develop focus and discipline as a tester.</p><h3>About me</h3><p>I’m Leonardo Cardoso, a Brazilian professional transitioning into Game QA after over 10 years in graphic design and 3 years in UI/UX for software.</p><p>I have practical experience in identifying, documenting, and reproducing bugs.</p><p>I’m currently seeking my first Junior QA opportunity, fully available to learn from experienced professionals and grow within a structured QA team.</p><p>I’m especially interested in companies that publish or develop mobile games and already have at least three QA professionals, as I believe collaborative learning is key to accelerating technical growth.</p><p>I live in Brazil and I’m 100% available for remote work. I also hold a B1 English Proficiency Certificate (EF SET).</p><p><a href="https://www.linkedin.com/in/leonardo-cardoso-87a8a3195/">LinkedIn: https://www.linkedin.com/in/leonardo-cardoso-87a8a3195/</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e4864f003012" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Teste UX Clube Candeias]]></title>
            <link>https://medium.com/@leonardocardoso_26/teste-ux-clube-candeias-b638ef708473?source=rss-d3109731d0cb------2</link>
            <guid isPermaLink="false">https://medium.com/p/b638ef708473</guid>
            <dc:creator><![CDATA[Leonardo Cardoso]]></dc:creator>
            <pubDate>Wed, 09 Feb 2022 19:31:57 GMT</pubDate>
            <atom:updated>2022-02-09T19:31:57.331Z</atom:updated>
            <content:encoded><![CDATA[<p>Pensando em mostrar como é o método que trabalho, resolvi mapear os 3 dias do desafio, para ficar claro como e porquê de cada escolha no projeto.</p><h3>Dia 01 07/02/2022</h3><h3>Pesquisa e estudo para mapear a jornada que vamos seguir.</h3><p>Como não o tempo para o teste é bem pequeno (3 dias), não temos a opção de fazer pesquisas como deveria realmente ser feito, levando isso em conta, decidi por mapear os principais aplicativos de Hotelaria e seus funcionamentos, fazendo um benchmark e analisando as funções em comum e o que podemos utilizar para o nosso projeto.</p><blockquote>Não temos tempo para fazer pesquisa com os clientes (Tanto o hotel como os hóspedes), já os melhores aplicativos, mesmo não sendo de um único hotel, já fizeram essa pesquisa, e como o deadline é curto, podemos analisar como eles comportam e replicar as coisas que eles acertaram, levando em conta que em um projeto real para o mercado, obviamente deveríamos fazer a nossa própria pesquisa para evitar gastos desnecessários com o desenvolvimento e diminuir a chance de erro.</blockquote><h3>Mapeamento de outros aplicativos</h3><p>Mapeei todos os passos de 6 aplicativos, desde o iniciar do aplicativo até o pagamento.</p><p>Os apps selecionados foram: Booking.com, Trivago, Hoteis.com, Kayak, TripAdvisor e Airbnb.</p><blockquote>No desafio diz sobre um app de um Hotel e não um sistema de precificação de hotelaria, mas levando em conta a relevância dos apps comparado a aplicativos menores de 1 hotel, diminuímos as chances de errar.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*g8IM4pj06WP4nYTNiLQpdw.jpeg" /><figcaption>Você pode ver a imagem em tamanho maior clicando e abrindo externamente</figcaption></figure><blockquote><em>(Como é um projeto fictício, não levei em conta o visual da documentação em si, e sim o aprendizado no menor tempo possível. Mas em um projeto real deveríamos salvar todos esses passos de pesquisa e documentar tudo, para que se futuramente precisar de novas pesquisas, podemos ver de onde paramos).</em></blockquote><h3>BenchMark</h3><p>Analisando e mapeando cada um dos aplicativos citados acima, podemos notar coisas em comum, coloquei elas em uma tabela apenas para ficar mais fácil o entendimento.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*mWRFuInZcGHo_jd3XrnF8g.jpeg" /></figure><p>Com essas informações, já temos uma noção do que podemos criar, e então comecei uma pesquisa de referências de páginas na internet para aumentar as ideias.</p><h3>Referências</h3><p>Com essas informações de páginas, já podemos começar a esboçar uns rabiscoframes.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*slHUpps5b07nfIY3tK3Euw.png" /></figure><h3>Rabiscoframes</h3><p>Com base nas referências, montei um rascunho do que seria o wireframe, prefiro fazer a mão livre para agilizar esse processo, utilizo esse Rabiscoframe, para já pensar na parte visual, tanto como quantos e quais componentes utilizar.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*YglzbKbfk41XY8OFyVnVVQ.png" /></figure><h3>Parte Visual</h3><p>Já sabendo o fluxo desta primeira etapa do app, quais páginas e o que utilizar, vamos para a parte visual do projeto.</p><p>Para agilizar esta etapa peguei um vetor pronto de uma biblioteca da internet e montei um logotipo e um esquema de cores, podendo já montar um Styleguide e já ir iniciando o projeto no figma.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/639/1*Rz2TmB9hffwnYdJFv4lGpw.png" /></figure><p>Decidido o logotipo, parti para seleção da paleta de cores e tipografia, para já deixar salvo nos estilos e já ir dando inicio aos componentes do figma.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/639/1*LQW34zqYAcaLWUA98E6jCA.png" /></figure><h3>Dia 2 (08/02/2022)</h3><p>Na manhã do dia 2 de projeto, montei todas as páginas em baixa fidelidade baseado nos rabiscoframes, para agilizar o processo, utilizei 2 arquivos públicos de bibliotecas para ganharmos tempo no resultado final (Página de pagamento e Calendário, estão linkados no arquivo original do figma).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/977/1*1zBs0g4oNX3iIWhlLxsHDw.png" /></figure><p>Com as páginas em baixa fidelidade, já podemos montar o fluxo para ver se está funcionando, e também já iniciar o processo de estudo e criação de componentes.</p><h3>Fluxo</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1023/1*KQvjucK1Jivy54qlbApKtw.png" /></figure><p>O protótipo do Baixa Fidelidade com o Fluxo acima:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZyCFGruQuAdUc0mB5MBzOg.gif" /></figure><p>Com o protótipo de baixa fidelidade pronto, essa seria a parte onde iria propor uma reunião com toda a equipe (tanto designers como Devs, para ver se tem algo a acrescentar ou alterar) e após a aprovação da equipe, iriamos para os testes com os clientes, testando o protótipo e anotando todos os feedbacks, erros e sugestões. Mas, como o prazo é apenas de 2 dias e estou sozinho no teste, apenas pulei essa etapa (Apenas deixei aqui escrito para mostrar como é o pensamento lógico que trabalho).</p><h3>Componentes</h3><p>Uma vez aprovado pela equipe de design, pelos devs e as pesquisas com clientes concluídas, vamos para a criação dos componentes utilizados no protótipo, para que caso futuramente necessite alterar ou até mesmo outro profissional for utilizar o projeto, agilize o processo.</p><p>Parti então para mapear qual tipo de componente devemos trabalhar, levando em conta a funcionalidade do protótipo, tempo de criação e resultado final para apresentação.</p><h3>Mapa de Componentes</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*t41xvntOW7ZMUkIR92Wpug.png" /></figure><p>Uma vez mapeado o que precisamos para criar os componentes, mãos a obra!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/695/1*sSFdjGKimwiee--XUzSHRw.png" /></figure><p>Feito os componentes, criei o fluxo interno deles para que possamos utilizar com animações.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/1*GRi8O-GEqpRE5GUAOy7reA.gif" /></figure><h3>Protótipo Alta Fidelidade</h3><p>Com todos os componentes, fluxos e tudo que precisamos em mãos, parti para construção do Protótipo Final.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/678/1*-g5SSkk7sE-ZXkD9PUPowg.png" /></figure><p>E assim ficou a cara do aplicativo, já navegável pelo protótipo como pode acompanhar ao link abaixo:</p><p><a href="https://www.figma.com/proto/CSieKWdfvaycAJVI23y9Wd/Clube-Candeias---Teste-UX---Hotel-App?page-id=22%3A742&amp;node-id=22%3A742&amp;viewport=324%2C48%2C0.18&amp;scaling=min-zoom&amp;starting-point-node-id=22%3A1425">Protótipo de Alta Fidelidade</a></p><blockquote>(Vale sempre a pena lembrar, que esse não é um aplicativo que vai ao ar e sim uma demonstração das capacidades para operar e planejar o projeto, portanto, palavras, estudo e cores podem não corresponder com um aplicativo publicado)</blockquote><h3>Dia 3 (09/02/2022)</h3><p>Com o aplicativo finalizado, vamos aos demais testes pedidos no PDF, a notificação Push, achei mais relevante soltar a notificação assim que for concluída a compra, para dar um contexto maior a ação.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/441/1*AkADeDC7uZqso-YK7Gs-3Q.png" /></figure><p><a href="https://drive.google.com/file/d/19G3glqaDmPbbbjctvWsA52zBdjnlFhv2/view?usp=sharing">Baixe o .Fig do projeto</a></p><p>Valeu Obrigado</p><p>Entrega do Projeto.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b638ef708473" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Study, analysis and suggestions for changes in Beto Carrero’s App.]]></title>
            <link>https://medium.com/@leonardocardoso_26/study-analysis-and-suggestions-for-changes-in-beto-carreros-app-2da4f40d8613?source=rss-d3109731d0cb------2</link>
            <guid isPermaLink="false">https://medium.com/p/2da4f40d8613</guid>
            <dc:creator><![CDATA[Leonardo Cardoso]]></dc:creator>
            <pubDate>Sat, 18 Dec 2021 20:57:19 GMT</pubDate>
            <atom:updated>2021-12-18T20:57:19.198Z</atom:updated>
            <content:encoded><![CDATA[<p>A case study in UX / UI Design, based on feedback from the users’ view of the app.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*B45YCUJopf5vosgRwcn6wA.png" /></figure><h3>The challenge</h3><p>Analyze an application that is already on the air, apply ux techniques to research and understand users’ difficulties.</p><h3>The current scenario</h3><p>The current app is rated 4 stars in the playstore, which is great! However, after analyzing in depth the reviews and testing the application, I created some hypotheses that when I finished the feedback survey on Google Play, I got the real answer.</p><blockquote>Here is some survey data based only on top reviews and rated 4 stars or less.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*i3g1cHI2o0BDJSsrglUiGQ.png" /><figcaption>Feedback capture on google play, comments in Portuguese.</figcaption></figure><p>With a deskresearch, capturing the main requests and complaints among all the application’s evaluations, totaling 133 analyzed evaluations.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*mhDtwyEOzFnE_LpvOzGLFg.png" /><figcaption>Google Play Reviews</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2UzjoMAFqqFakH9Y_3kMfw.png" /></figure><h3>Opportunity Selection</h3><p>Based on the survey results, we can observe more viable ideas to be worked on, always focusing on ideas with greater delivery impact to the user and less effort in development.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*JCdaJ8aG1GBCKZ2__mXaWQ.png" /><figcaption>-Effort +Impact</figcaption></figure><h3>The solution</h3><p>Selecting the solution with the greatest impact to users and the least effort to build based on validation of the feedback survey. The main points that support this solution are:</p><ul><li>Most of the comments are from people lost on the map in matters of attractions.</li><li>Interactive map requests (without having to look for attractions in other tabs).</li><li>Problems of estimated time of attraction very different from reality.</li></ul><h3>Finally, we can come up with the following solution:</h3><p>An interactive map where users navigate the map and, when clicking on the attraction, can see real photos of the attraction, description and restrictions, opening hours, average queue time and a direct call to action to add the attraction to your main itinerary .</p><blockquote>Having decided that, I started creating the elements and directly changing the current layout of the application in figma keeping the same styleguide, just changing the function of maps and scripts, generating flows between pages.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*0xSXG0nU9XCyKEDh3jgYJw.png" /></figure><h3>High Fidelity Prototype</h3><p>Based on the items created above, respecting the styleguide (we arrived at the high-fidelity prototype.)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*GMvk9SbuxCIfdag5nNBQvg.gif" /></figure><blockquote>You can browse this prototype by accessing this link: <a href="https://www.figma.com/proto/oneV0UvA2MoYwSkRvZ3eoP/Beto-Carrero-Mapa-Interativo?page-id=0%3A1&amp;node-id=2%3A3&amp;viewport=241%2C48%2C0.42&amp;scaling=scale-down&amp;starting-point-node-id=2%3A3">Mapa Beto Carrero</a></blockquote><h3><strong>Next steps</strong></h3><p>A digital product is never really ready, it is always evolving and that goes for Beto Carrero. As much as it is just a case study, we are aware that the work does not end here, in addition to having several usability tests ahead, our next steps beyond this study would be the following suggestions:</p><ul><li>Expand your search to not just Google Play comments and feedback, but use various other information-gathering techniques;</li><li>Create an option where you can check out all the attractions that have already been in the park, creating a gamification and encouraging the user to complete the greatest number of attractions in the park;</li><li>A filter of attractions (children’s attractions, radical attractions, water attractions, theater, musicals, characters in the park…);</li><li>Find a better solution for updating and optimizing time in line at attractions;</li><li>An option for parents to register their children’s cell phones in the app and see the real-time location of each family member;</li><li>List the restaurants, as well as the main dishes served that day and their location on the map;</li><li>A system for counting the distance traveled according to the location of the customer’s cell phone, showing when the application is finished, the distance covered and how many calories were used in the fun day at the park;</li><li>A tab with all the announcements of live shows in the park, being able to select the favorites and be notified in advance of the start of the show, thus being able to organize and go to the place;</li><li>Parking assistance function, when you arrive at the park, save the location and number of the parking space through the app, so that when you finish the app, you can find your vehicle without looking and without worrying.</li></ul><h3>Conclusion</h3><p>This case study was created in 2 days, all the research, tasks, analysis and putting it into practice, was done by myself, Dado Cardoso. Tools used: Figma for prototyping, Corel Draw for creating vectors and map images, Google Play for capturing feedback, Google Sheet’s for analyzing and creating graphics, coffee tastes good to get the best result in less time.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/1*M-UdnNsSalrrT-dNo1KchQ.png" /></figure><p>Leonardo Lara Cardoso.</p><blockquote><a href="https://www.upwork.com/freelancers/~0155d46d15ee4ecabf">Up Work</a></blockquote><p>2021</p><p>Brazil.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2da4f40d8613" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Estudo, análise e sugestões de alterações no App Beto Carrero.]]></title>
            <link>https://medium.com/@leonardocardoso_26/estudo-an%C3%A1lise-e-sugest%C3%B5es-de-altera%C3%A7%C3%B5es-no-app-beto-carrero-17eda0800010?source=rss-d3109731d0cb------2</link>
            <guid isPermaLink="false">https://medium.com/p/17eda0800010</guid>
            <dc:creator><![CDATA[Leonardo Cardoso]]></dc:creator>
            <pubDate>Wed, 01 Dec 2021 03:20:14 GMT</pubDate>
            <atom:updated>2021-12-20T13:50:33.857Z</atom:updated>
            <content:encoded><![CDATA[<p>Um estudo de caso em UX / UI Design, baseado no feedback da visão dos usuários do aplicativo.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ak8_On7cGGKQ1KVZZSe2mw.png" /></figure><h3>O desafio</h3><p>Ao tentar utilizar o aplicativo do Beto Carrero nas férias, logo de cara deparei com algumas possíveis modificações, chegando em casa com algumas suposições usei técnicas de ux para pesquisar e entender as dores atuais dos usuários do app.</p><h3>O cenário atual</h3><p>O aplicativo atual tem nota 4 estrelas na playstore, o que é ótimo! Porém ao analisar a fundo as avaliações e testar o aplicativo, criei algumas hipóteses que ao terminar a pesquisa de feedback na Google Play, tive a resposta real.</p><blockquote>Segue alguns dados da pesquisa baseada apenas nos principais comentários e com rating de 4 estrelas ou menos.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*wF3ZosSl6cOB7kwpvt0zzQ.png" /></figure><p>Com um deskresearch, captando dentre todas as avaliações do aplicativo, as principais solicitações e reclamações, totalizando 133 avaliações analisadas.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*la-80bt3GenMt6xnsdY71A.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*xXH649H-k9Hnj2osS3w6Gg.png" /></figure><h3>Seleção de oportunidades</h3><p>Com base no resultado da pesquisa, podemos traçar ideias mais viáveis a serem trabalhadas, focando sempre nas ideias com maior impacto de entrega ao usuário e menos esforço no desenvolvimento.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7SCLLp8svjjGSMVzWTUBbQ.png" /></figure><h3>A solução</h3><p>Selecionando a solução com o maior impacto aos usuários e menor esforço para ser construída com base na validação da pesquisa de feedback.</p><p>Os principais pontos que sustentam essa solução são:</p><ul><li>A maioria dos comentários são de pessoas perdidas no mapa em questões de atrações.</li><li>Solicitações de um mapa Interativo (sem ter que procurar atrações em outras abas).</li><li>Problemas de tempo estimado da atração muito diferente da realidade.</li></ul><p>Por fim, podemos chegar a seguinte solução:</p><blockquote>Um mapa interativo, onde os usuários naveguem no mapa e, ao clicar na atração, possa ver fotos reais da atração, descrição e restrições, horário de funcionamento, tempo médio da fila e um cta direto para adicionar a atração no seu roteiro principal.</blockquote><p>Decidido isso, passei a criação dos elementos e alteração direta com o layout atual do aplicativo no figma mantendo o mesmo styleguide, apenas alterando a função de mapas e roteiros, gerando os fluxos entre as páginas.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*KzsLVwcnbuuK3XC5BVXUUg.png" /></figure><h3>Protótipo de Alta Fidelidade</h3><p>Com base nos itens criados acima, respeitando o styleguide ( chegamos ao protótipo de alta fidelidade.</p><blockquote>No protótipo coloquei apenas 6 atrações e 2 rotas (apenas para mostrar as possíveis soluções).</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*-quZ6Cox6pDokE2-xA2YKw.gif" /></figure><p>Você pode navegar neste protótipo acessando este link: <a href="https://www.figma.com/proto/oneV0UvA2MoYwSkRvZ3eoP/Beto-Carrero-Mapa-Interativo?page-id=0%3A1&amp;node-id=2%3A3&amp;viewport=241%2C48%2C0.42&amp;scaling=scale-down&amp;starting-point-node-id=2%3A3">Mapa Interativo</a>.</p><h3>Próximos passos</h3><p>Um produto digital nunca está realmente pronto, ele está sempre em evolução e isso vale para o Beto Carrero. Por mais que seja apenas um estudo de caso, tenho consciência de que o trabalho não acaba por aqui, além de ter vários testes de usabilidade pela frente, os próximos passos além deste estudo seriam as seguintes sugestões:</p><ul><li>Expandir a pesquisa para não apenas comentários e feedback do Google Play, e sim usar outras várias técnicas de colher informações;</li><li>Criar uma opção onde possa fazer um check de todas atrações que já foi no parque, criando uma gamificação e incentivando o usuário a completar o maior número de atrações do parque;</li><li>Um filtro de atrações (atrações infantis, atrações radicais, atrações aquáticas, teatro, musicais, personagens pelo parque…);</li><li>Encontrar uma melhor solução para a atualização e otimização do tempo na fila das atrações;</li><li>Uma opção para que os pais cadastrar os celulares dos filhos no app e possam ver a localização em tempo real de cada integrante da família;</li><li>Listar os restaurantes, assim como os principais pratos servidos no dia e sua localização no mapa;</li><li>Um sistema de contagem de distância percorrida de acordo com a localização do aparelho celular do cliente, mostrando ao finalizar o aplicativo, qual a distância percorrida e quantas calorias foram gastas no dia de diversão no parque;</li><li>Uma aba com todos os anúncios de shows ao vivo no parque, podendo selecionar os preferidos e ser avisado com antecedência do início do show, podendo assim se organizar e ir até o local;</li><li>Função de ajuda de estacionamento, podendo ao chegar no parque, salvar pelo app a localização e número da vaga, para quando finalizar o app, poder achar seu veículo sem procurar e sem ter preocupação.</li></ul><h3>Conclusão e Aprendizados</h3><p>Aprendi durante a semana de criação deste case que, solucionar problemas reais e relevantes são muito desafiadores e ao mesmo tempo gratificantes. Coloquei em prática os aprendizados que tive durante o programa UX Unicórnio e pude criar soluções reais de clientes reais de maneira estruturada e eficiente.</p><p>Este case de estudo foi criado em 2 dias, toda a pesquisa, tarefas, análises e colocara mão na prática, foi feita por mim mesmo, Dado Cardoso.</p><p>Ferramentas utilizadas: Figma para prototipação, Corel Draw para ciração de Vetores e imagens do mapa, Google Play para capitação de feedback, Google Sheet’s para análise e criação dos gráficos, café gosto bom para conseguir o melhor resultado em menor tempo.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/774/1*3dPYwh6yox07WrD1teFDqQ.png" /></figure><p>Dado Cardoso.</p><p><a href="https://www.linkedin.com/in/dado-cardoso-87a8a3195/">Linkedin</a></p><p><a href="https://www.instagram.com/dadocardoso1/">@dadocardoso1</a></p><p><a href="https://drive.google.com/file/d/1RwL6hOMM-bVIvPZPyUCCNamPQiRiltjy/view?usp=sharing">Currículo</a></p><p>Obrigado por ler até o final!</p><p>Se gostou deste estudo, peço que entre em contato pelo direct do Linkedin ou Instagram.</p><p>Boa semana! :D</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=17eda0800010" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>