#QB64 Reviews 1 - Scramble by RokCoder

Channel:
Subscribers:
2,110
Published on ● Video Link: https://www.youtube.com/watch?v=JGCCx20WI58



Category:
Review
Duration: 1:44:20
94 views
5


RokCoder created an amazing port of the arcade game Scramble in QB64!

00:00:00 Intro
00:00:21 QB64 Phoenix Edition Forum Post
00:00:55 Outline Contents
00:01:42 QB64 Phoenix Edition GitHub Location: https://www.github.com/QB64PhoenixEdition/qb64pe
00:01:55 Things We Hope to Learn from this
00:02:30 What is Scramble?
00:03:12 Overview of VScode QB64 Extension Symbol Provider (Outline View)
00:04:35 Follow By Cursor in Outline View

-- Original Scramble Arcade Version with Mame via Launchbox explanation

00:05:00 What is Launchbox?
00:05:48 Original Scramble Flyer for Arcade Version
00:07:00 Memories of Scramble from the 80s
---
00:08:00 Playing Original Scramble via Mame


--- RokCoder QB64 Scramble Version
00:11:43 VScode QB64 Compilation - F5 to Build
00:12:40 Playing RokCoder Scramble! (poorly!)

-- RokCoder QB64 Code Review Starts Here
00:16:00 Code Review Begins
00:16:10 Source Code Layout
00:22:06 Sprite Sheet Atlas Analysis
---
00:32:10 Code Behind Walkthough Starts Here
00:34:24 Analyzing Palette
00:35:18 DIM Shared - Why global??? - Do NOT judge!
00:37:31 FIX - QB64 vsc ext hover provider files
--
00:38:00 Analyzing Game Loop
00:38:45 SUB PrepareScramble
00:42:00 SUB LoadImage&
00:43:00 Explained - _CLEARCOLOR and Transparency via GIMP
00:44:19 Analysis - Stars Images and Sprites
00:47:00 SUB LoadDataFromROM
00:47:48 SUB PrepareSprites
00:48:30 SUB SetSpriteBasics
00:48:45 SUB SetSpriteataWithHitbox
00:51:32 SUB AddSpriteStrip
00:51:59 CTRL+SHIFT+O = Search for symbol
00:52:00 Confused by spirteUV() array
00:55:53 SUB ExtractPalettes
00:58:11 SUB ReadData
01:00:12 SUB InitializeStageDataOffset
01:01:50 Analyzing game data.bin in hex editor
01:03:25 SUB LoadAllSFX / SUB LoadSFX - _SNDOPEN
01:04:25 SUB ReadHighscores / SUB InitializeHighscores
01:05:00 SUB SetGameState - Analyzing Game State Machine
01:06:55 SUB UpdateFrame
01:11:10 SUB CalculateCollisions
01:12:00 Analyzing scrollOffset
01:13:10 SUB UpdateObjects
01:15:10 SUB UpdateMissile
01:15:19 Analyzing Bitwise AND 1 on Line 912
01:20:00 SUB UpdatePlayer
01:22:00 CLEVER: Assigning player movement X and Y in only 1 direction at a time
01:24:30 SUB CreateAmmo
---
01:26:34 Having Fun!
---
01:33:08 SUB RenderFrame
---
BAIL OUT!
01:40:37 Trying to figure out how scrolling is 1x1 pixel but tiles are columns
---
01:43:15 Outro - WELL DONE



Check out RokCoder's other projects here:
https://www.rokcoder.com/

Here is his thread on QB64 Phoenix Edition Forum:
https://qb64phoenix.com/forum/showthread.php?tid=1511

Find out more about QB64 PE Here:
https://qb64phoenix.com/qb64wiki/index.php/Main_Page

To get my QB64 profile go here:
https://github.com/grymmjack?tab=repositories and clone/copy the QB64 directory and watch this video to learn more about VSCode profiles: https://www.youtube.com/watch?v=TF-jJa3G8P4

Get the QB64 VSCode extension here:
https://github.com/QB64Official/vscode/tree/development

For more information about Launchbox:
https://www.launchbox-app.com







Tags:
qb64
basic
qbasic
quickbasic
qbasic45
qbasic 4.5
quickbasic 4.5
modern basic
microsoft quickbasic
microsoft qbasic
qb64pe
qb64 phoenix edition
mame
scramble
arcade
qbasic game
qbasic video game
rokcoder
arcade port