Wealth Path Quest is a tactical board game built as a Google Apps Script web app. It gamifies the real estate buyer journey while collecting intake data for lead generation.
Target Visual Style: Pokemon Gameboy Color meets Monopoly - 2D side-scroller with pixel art aesthetics.
Current Version: v1.08 RELEASED Live Site: wealthpathquest.com
Speed Round (Commission Negotiation)
- Transparent buttons with modern styling
- Flash & shake animations on wrong answers
- Performance-based results: GOOD ๐ / OK ๐ / BAD ๐ฌ
- Score colors: Green (8+) / Orange (5-7) / Red (<5)
- Unlocks commission rates: 2% / 2.5% / 3.5%
Catch The Deal (Property Showings)
- Transparent canvas with glowing gold lane dividers
- House emoji ๐ as player avatar
- Falling items: ๐ต ๐ฐ ๐ ๐ (good) | ๐ ๐ฅ ๐๏ธ (bad)
- Score = Discount: $30K+ = 35% | $15K+ = 20% | <$15K = 5%
- Color-coded results with Good/OK/Bad emojis
Underwriting Boss (Word Search)
- Transparent tiles over video background
- Find 10 real estate terms: DEED, TITLE, ESCROW, etc.
- Performance rating based on words found
- Minigame Music: Energetic beat starts after 3-2-1 countdown
- Victory Jingle: Triumphant ascending melody for Good/OK results
- Defeat Sound: Mario-style descending death sound for Bad results
- All audio procedurally generated via Web Audio API
- Clickable Phone Icon: Tap ๐ to call Israel Burns (347-709-2491)
- Enlarged Broker Avatar: 130px for better visibility in video call frame
- Video Backgrounds: Immersive video loops behind all minigames
- Floating Feedback Button: ๐ฌ available throughout the game
- Floating Button: ๐ฌ button in bottom-left corner throughout the game
- Victory Screen Button: "LEAVE FEEDBACK" button after completing game
- Star Rating: 1-5 star rating system
- Categories: General, Bug Report, Feature Suggestion, Content Issue, Other
- Text Feedback: Free-form text area for detailed feedback
- Optional Email: Users can provide email for follow-up
- Auto-capture: Session ID, player name, page location, device type
- Data Storage: All feedback sent to Google Sheets "Feedback" tab
- Sheets: Dashboard, Scores, Choices, Sessions, Minigames, Feedback
- Dashboard: Live analytics with charts and summaries
- Scoreboard: Hall of Fame leaderboard with reviews
- Feedback Summary: Recent feedback, ratings, bug reports
| Column | Description |
|---|---|
| Timestamp | When feedback was submitted |
| Session ID | Unique game session identifier |
| Player Name | Name entered during game |
| Optional email for follow-up | |
| Category | Type of feedback (General, Bug, etc.) |
| Rating | 1-5 star rating |
| Feedback | The actual feedback text |
| Page | Where in the game (general, victory, etc.) |
| Device | Mobile or Desktop |
- Animated confetti celebration
- Player stats summary with rank
- Email input for PDF certificate download
- Scoreboard access
- "Contact Israel Burns" CTA button
- Feedback button
1. Tap to Start (initializes audio)
2. Setup: Choose Avatar + Enter Name
3. Board Navigation: Move through 10 tiles
4. Each tile = Encounter (make decision)
5. Decision โ Stat changes โ Visual feedback
6. Check thresholds (Risk > 80 = Delay Event)
7. Cutscenes on milestones
8. Tile 10 = Summary + Certificate
| # | Tile | Type | Data Collected |
|---|---|---|---|
| 1 | Funding Type | choice | fundingType: cash/mortgage |
| 2 | Income Docs | choice | incomeType: w2/self/mixed |
| 3 | Doc Inventory | checklist | docs: {w2, paystubs, etc} |
| 4 | Pre-Approval | tap | Milestone celebration |
| 5 | Neighborhood | multi-select | neighborhoods[], schoolsPriority |
| 6 | Property Type | choice | propertyType |
| 7 | Offer Strategy | choice | offerStrategy |
| 8 | Inspection | choice | inspectionChoice |
| 9 | Underwriting Boss | choice | underwritingChoice |
| 10 | Closing Table | end | Summary + PDF |
| Stat | Color | Effect |
|---|---|---|
| Readiness | Green | Buyer preparedness. >70 = bonus path |
| Risk | Red | Problems. >80 triggers Delay Event |
| Timeline | Orange | Days to close (starts 90). <30 = warnings |
| Savings Power | Gold | Down payment strength |
Every choice modifies stats:
impact: { readiness: 10, risk: -5, timeline: -10, score: 5 }Visual feedback:
- Animated stat bars
- Popup: "+10 Readiness | -5 Risk"
- Sound effect (success or warning)
When Risk >= 80:
- Pause gameplay
- Show modal with 2 recovery options
- Player must choose to continue
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ [Parallax Sky - Layer 1 (far)] โ
โ [Parallax City - Layer 2 (mid)] โ
โ [Parallax Buildings - Layer 3 (near)] โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ ๐ง โ Player Token (floats, bounces) โ
โ โ
โ [T1]โโ[T2]โโ[T3]โโ[T4]โโ[T5]โโ[T6]โโ[T7]โโ[T8]โโ[T9]โโ[T10]๐ โ
โ โโโโโโโโโโโโโโโโ ROAD PATH โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ [streetlamp] [tree] [hydrant] โ decorative elements โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- Locked: Grayscale, opacity 40%, no interaction
- Current: Full color, cyan glow, scale 115%, pulse animation
- Complete: Full color, green border, opacity 70%
function moveToTile(index) {
playSound('move');
// Animate token position (0.8s cubic-bezier)
// Update tile states
// Scroll board if needed
// After animation: triggerEncounter(index)
}No external files - all procedurally generated.
function playSound(type) {
const ctx = new AudioContext();
const osc = ctx.createOscillator();
const gain = ctx.createGain();
switch(type) {
case 'tap': // 800Hzโ600Hz, 100ms
case 'move': // 400Hzโ800Hz whoosh, 200ms
case 'success': // C-E-G arpeggio, 300ms
case 'warning': // 200Hzโ150Hz descend, 200ms
case 'coin': // 1000Hz blip
case 'victory': // Fanfare melody, 500ms
}
}Must initialize after user interaction:
document.getElementById('startBtn').addEventListener('click', () => {
initAudio(); // Create AudioContext here
startGame();
});| Event | Cutscene |
|---|---|
| Game Start | "Your journey begins..." |
| Readiness โฅ 50 | "Halfway there!" |
| Tile 4 Complete | "Pre-Approved!" |
| Risk โฅ 80 | "Warning!" |
| Tile 9 (Boss) | Boss intro |
| Game Complete | Victory |
function showCutscene({ bg, icon, title, subtitle, duration }) {
// 1. Pause input
// 2. Fade in overlay
// 3. Show background (optional parallax)
// 4. Pop icon animation
// 5. Typewriter title effect
// 6. Hold duration
// 7. Fade out
// 8. Resume game
}game.intake = {
fundingType: 'cash' | 'mortgage',
incomeType: 'w2' | 'self' | 'mixed',
docs: {
w2_2yrs: boolean,
paystubs: boolean,
bankStatements: boolean,
taxReturns: boolean,
pnl: boolean,
bizBankStatements: boolean
},
creditBand: string,
downPaymentBand: string,
propertyType: string,
neighborhoods: string[],
hasKids: boolean,
schoolsPriority: 'low' | 'medium' | 'high',
subwayPriority: 'low' | 'medium' | 'high',
subwayLines: string[],
offerStrategy: string,
inspectionChoice: string,
underwritingChoice: string
}Apps Script Project/
โโโ Code.gs # Server functions
โโโ Index.html # Game (HTML + CSS + JS)
function doGet() {
return HtmlService.createHtmlOutputFromFile('Index')
.setTitle('Wealth Path Quest');
}
function saveData(payload) {
// Save to Google Sheet
// payload = { profile, answers, intake }
}
function generatePDF(payload) {
// Generate certificate PDF
// Return { ok: true, url: driveUrl }
}// Check environment
const inAppsScript = typeof google !== 'undefined' && google.script;
// Save
google.script.run
.withSuccessHandler(r => {})
.saveData(payload);
// PDF
google.script.run
.withSuccessHandler(r => {
if (r.ok) showDownloadLink(r.url);
})
.generatePDF(payload);Player Avatars (64x64px) - 8 options
- business_man, business_woman
- casual_man, casual_woman
- young_professional_m, young_professional_f
- family_dad, family_mom
Board Tiles (48x48px) - 10 tiles
- funding (bank), income_docs (papers), doc_inventory (clipboard)
- pre_approval (checkmark), neighborhood (houses), property_type (house+magnifier)
- offer (handshake), inspection (magnifier), underwriting (boss), closing (trophy)
Backgrounds (320x100px) - 3 parallax layers
- city_skyline_far, city_skyline_mid, city_skyline_near
Cutscene BGs (320x180px) - 5 scenes
- bank_interior, house_exterior, office, celebration, warning
UI Elements (9-slice)
- button_gold, panel_dark, dialog_box, choice_card
- stat_bar_frame, stat_bar_fills (4 colors)
--bg-dark: #0a0a12;
--bg-mid: #12121a;
--bg-light: #1a1a2e;
--gold: #d4af37;
--cyan: #00d4ff;
--green: #4ade80;
--red: #ef4444;
--orange: #f97316;
--purple: #a855f7;- Resolution: 32-64px sprites
- Outline: 1-2px black
- Colors per sprite: 8-12 max
- Style: Pokemon Gameboy Color era
- Background: Always transparent PNG
- Upload
WealthPathQuest_Saga_v8.htmlasindex.htmlto your server - Ensure video files are in
/video/directory - Ensure avatar images are in
/images/avatars/directory
- Go to script.google.com
- Create new project or open existing
- Replace code with contents of
google_apps_script.js - Update the Spreadsheet ID if needed (line 40, 108, etc.)
- Save the script (Ctrl+S)
- Deploy:
- Click Deploy โ Manage deployments
- Click pencil icon to edit
- Select New version
- Click Deploy
- Copy the Web App URL to use in the game
The Feedback sheet is created automatically when:
- The Google Apps Script is updated with
logFeedbackfunction - A new deployment version is created
- First feedback is submitted from the game
To manually create the Feedback sheet:
- Open your Google Apps Script
- Run the
createDashboardfunction from the editor - This will rebuild the Dashboard with Feedback formulas
# Upload to server
curl -T WealthPathQuest_Saga_v8.html ftp://ftp.burnsconsulting.us/wealthpathquest/index.html --user "username:password"WealthPathGameFiles/
โโโ WealthPathQuest_Saga_v8.html # Main game file (v1.08)
โโโ google_apps_script.js # Google Apps Script backend
โโโ README.md # This documentation
โโโ scoreboard.html # Standalone scoreboard page
โโโ test.html # Testing file
โ
โโโ downgrade/ # Standalone minigames
โ โโโ simple.html # Basic game version
โ โโโ speed.html # Commission Dash standalone
โ โโโ underwriting.html # Underwriting Boss standalone
โ
โโโ video/ # Video backgrounds
โ โโโ speed_round.mp4
โ โโโ catch_the_deal.mp4
โ โโโ underwriting_boss.mp4
โ
โโโ images/
โโโ avatars/ # Player avatars
โโโ cutscene_BGs/ # Cutscene backgrounds
โโโ city_background_layers/ # Parallax city layers
| Resource | URL/ID |
|---|---|
| Live Game | https://wealthpathquest.com |
| Google Sheet | 19oSd8J3GVoFTJiPGCusinST8yG8SY5D6HG1-his_Foc |
| GitHub Repo | https://github.com/israelburns/WealthPathGame |
| Business Phone | 347-709-2491 |
You are building a 2D side-scroller board game web app called "Wealth Path Quest".
TECH STACK:
- Single HTML file with inline CSS/JS
- Backend: Google Apps Script
- No external frameworks
- Audio: Web Audio API (procedural)
VISUAL STYLE:
- Pokemon Gameboy Color pixel art
- Dark theme (#0a0a12) with gold (#d4af37) accents
- 10-tile horizontal board with parallax background
- Player token moves along path
MECHANICS:
- 4 stats: Readiness, Risk, Timeline, Savings Power (0-100)
- Each tile = encounter with choices
- Choices modify stats with visual feedback
- Risk > 80 triggers delay event modal
- Cutscenes on milestones
DATA COLLECTION:
- Buyer intake: funding type, income type, docs checklist,
property type, neighborhoods, priorities
- Save to Google Sheets via Apps Script
- Generate PDF certificate at end
Implement the complete game with:
1. Start screen with "Tap to Start"
2. Avatar/name setup
3. 10-tile board with animations
4. Encounter system (choice, checklist, multi-select, tap)
5. Stat bars with animated feedback
6. Cutscenes with fade/typewriter effects
7. Summary screen with buyer snapshot
8. PDF download button
9. Play again functionality
Keep code organized with clear sections for:
CONFIG, STATE, AUDIO, UI, BOARD, ENCOUNTERS, CUTSCENES, BACKEND
Located in /downgrade/ folder - standalone HTML versions of each minigame:
| File | Game | Description |
|---|---|---|
simple.html |
Basic Game | Simplified version of the main game |
speed.html |
Commission Dash | Speed round as standalone arcade game |
underwriting.html |
Underwriting Boss | Word search puzzle standalone |
- ๐ 10 real estate terms to find: DEED, TITLE, ESCROW, INCOME, LOAN, RATE, TAX, BANK, SIGN, CLOSE
- โฑ๏ธ 90-second timer with warning colors
- ๐ Drag/swipe across letters (touch & mouse)
- ๐ฌ Video background
- ๐ต Background music after countdown
- ๐ Happy/sad jingles based on performance
- ๐ Good (10/10) / OK (7+) / Bad (<7) ratings
- ๐พ High score tracking (localStorage)
- ๐ Lead capture form
- Added minigame background music after countdown
- Added happy/sad jingles based on minigame performance
- Clickable phone icon to call business number
- Enlarged broker avatar (90px โ 130px)
- Catch the Deal: Added broken house icon ๐๏ธ
- All minigames: Color-coded scores (green/yellow/red)
- All minigames: Good/OK/Bad performance display with emojis
- Feedback system with Google Sheets integration
- Dashboard feedback summary section
- Video backgrounds for all minigames
- Transparent UI elements over video
- Speed Round: Flash/shake on wrong answers
- Catch The Deal: Glowing lane dividers, house avatar
- Google Sheets scoreboard integration
- PDF certificate generation
- Session and choice tracking
- Three minigames: Speed Round, Catch The Deal, Underwriting Boss
- Commission negotiation system
- Property discount system
- 10-tile board game
- Avatar selection
- Phone call dialogue system
- Stat tracking system
- Closing disclosure document
v1.08 is the stable base for all future development.
main (v1.08) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโบ
โ
โโโ feature/new-minigame
โ
โโโ feature/multiplayer
โ
โโโ bugfix/xxx
To create a new feature branch:
git checkout main
git pull origin main
git checkout -b feature/your-feature-nameProprietary - Burns Consulting Inc.
Israel Burns Licensed Real Estate Broker | NY #10301366295