Burgleville Dev Journey
This is what it takes to make a video game
Note: You can view this as a
plain text file
setup Gogot engine
start a new project
plan rooms, objects, items
plan item weights, values, chances
draw some item and object assets
set up TileMaps and TileSets
render the scene
get user input (keyboard)
add collision detection
implement binary space partitioning
(for procedural generation of houses and cities)
add scene transitions
implement door opening
placing objects in houses
placing items in objects
add main menu
settings screen
splash screen
scene transition effects
foggy rooms
mouse zoom
player animation
backpack GUI
inventory transfer
plan some story and missions
gamepad controls
keyboard/gamepad controls for UI
UI navigation and confirmations
saving and loading
add suspicion meter and stats HUD
improve saving/loading (custom JSON objects)
tricky menu improvements and edge cases
add more characters
add tutorial and guild
location traversal
add action bar (for lockpicking, etc.)
implement special stashes (vehicle, desk, safe)
tasks & task list
signs and text boxes
partial tutorial
animation the signposts
bugfix: loading a save wasn't clearing previous vars
bugfix: moving backpack rows was acting weird
bugfix: space on item_row was emitting "pressed" twice
lockpicking animations
migrated from Godot 4.1.1 to 4.1.2
random NPC generation
NPC roaming with boundaries
NPC animations
bug fix: attach NPCs to the proper scene
update the suspicion label
added notoriety mechanics
added mask mechanics
added safe cracking
bugfix: searching through walls
design cop assets
add cops to cities and NPCs to houses
make fog on top of NPCs in the house
make being in a house a suspicious activity
added objects to tutorial
backpack bug fix
place "X" on burgled city houses
cops chase the player at high suspicion
dynamically color the suspicion and notoriety bars
popup notice on entered houses and busted locks
revamp suspicion/notoriety/mask mechanics
update tutorial signposts
slide in and out of the city on the vehicle
getting busted!
add camera smoothing
fixed: moving while picking
added special NPCs
character dialogue
add museum
update settings menu
implemented buy & sell
fixed some bugs
museum donations and rewards
fixed backpack controller bug
auto-scroll backpack for gamepad
change backpack drop behavior
vehicle yard
vehicle carry warning
update player stats and saving
updated assets and decorations
improve gamepad menu scrolling
expanded the yard and vehicles
implement experience gain and level up
get a popup message on level up
delay level up message while in conversation
implement training menu
fix window auto-closing on movement
enable new game defaults in config file
maze generation
(DFS with backtracking)
add main street to city (split at initial bisection)
extend vehicle collision & interaction range
updated vehicle assets
fix trespassing while exiting special houses
update vehicle collision on the yard
implemented vehicles purchasing
extract dialogue to separate file
fix skill training buttons
gain abilities when requirements are met
apply skill and ability effects
improve initial continue logic
using strength abilities
maze access board
start position camera fix
add maze reward area
task board asset changes on use
maze tasks
add city edges (beach and forest)
refactor border code
location based triggers
leaving city by main road
add random foliage to city
statistics board
implement task board
split tasks by type
fix two "new game" save bugs
randomize character poses in settings
categorize items
display categories in backpack
backpack categories toggle
add task board collection chest
board task generation (category, item)
task board initialization
improve task board structure
update curator asset
improve sub-menu transitions
board completion condition check
suspicious person in guild
refactor board tasks
add more board task types (multi, single)
add more board tasks
clean up some tasks
improved level up notification
particle effects for level up
particle effects for gold up/down
bugfix: new game after deleting a profile
more board task types (distinct, room, object)
testing new board task types
particle effects for player busted
migrated from Godot 4.1.2 to 4.2
add code regions
cleanup particle effects
improve level up delays
update NPC mid assets
bugfix: min city lot size
small tutorial & guild updates
update statistics board
gameplay demo with audience
NPC and Cop visibility cones
toggle visibility settings menu
design, draw, import ability icon assets
update some GUI themes
add player icon to save profile menu
added clout & VIP item label colors
more type safety and GUI theme edits
started work on the Burgleville website
particle effects for bashing and smashing
screen shake on bashing and smashing
screen shake toggle in settings
refactor notoriety logic when busted
add pathfinding for NPC chase mode
can be caught by NPC when trespassing
fix some spelling mistakes
theme donated item text to avoid donating again
particle effects for abilities and vehicle purchase
update main menu background
improve menu performance
more work on Burgleville website
update app icon and window icon
test windows export exe
more work on Burgleville website
created item assets for the menu
display random items on the menu
improved unique ID generation to prevent duplicates
bugfix: NPCs busting the player in the city
add an achievements button
update unmet randoms tracker
bugfix: some saves effected by new game
bugfix: character changed on load game
bugfix: profile loaded flags
bugfix: restore city vars when exiting house
added 13 "associate" mission types
make associates disappear a puff of smoke
test random missions
dive into story and character planning
make all conversation text lazy loaded
bugfix: suspicion task wasn't completable by mask
starting expanding the story and creating paths and branches
change shoes to shoe
add eight new items (with values and categories)
add lazy loaded story mission retriever
BIG performance improvement
(only raycast when in visible range)
add a flag for story items and collectibles
added storyteller and story picking logic
added a fireplace object
started creating faction bases
more assets: wooden plank bridge, ship wheel, throne, tent, car colors, railing
create faction bases
destination menu when leaving faction base
re-route guild transitions to current_faction_base
return to faction location overrides (museum, bed)
complete character intro tasks from any faction base
place NPCs in faction bases
update conversation fetcher
faction base functionality: bed, safe, chest, statistics, signposts, task board, collection chest
added training, fencing, and bribing to other faction bases
draw & add sprites for seven characters
update D-Soc node assets
added faction base location triggers (exits and secrets)
add hidden chest triggers
vehicle swap/purchase on alternate bases
bugfix: two navigation mesh overlap instances
cleanup some code
add fake walls to certain faction bases
created more character assets
import new character assets
add some guards around the lodge (with dialogue)
draw mirror asset and add to faction bases
create real estate office
draw and add real estate agents and dialogue
create three safehouses
enable safehouse beds, desks, chests, stats, and task boards
allow safehouse resident recruitment
enable safehouse resident management
add safehouse resident statistics
draw and import real estate agent assets
make safehouse layout choice menu
enable safehouse layout modifications
added attention indicator for NPCs
added animation and checks for indicator
refactored NPC dialogue code
bugfix: superfluous auto-saving
started creating story maps (library, traphouse, hotel)
planned more story and missions
created the prison for the break-in mission
refactor story code for lazy loading
add mission details focus/mouseover in task log
implement first full story mission
finish trap house and introducing the rival
change starting mission minimum level to 3
update attention of all NPCs in current scene
update museum respawn locations for safehouse variants
add faction base discovery missions
bugfix: various default values on new game
implement all safehouse missions
implement all recruitment tasks
minor physics fixes, minor typo fixes
change skill points to be gained on even levels only
bugfix: "off by 1" error on skill points
more story mission planning
work on building more story locations (scenes)
add location labels to all locations
extract gold logic to helper function
lazy loading more stuff from Constants
add new item and npc assets
added type safety to almost every function
created more scenes (pirate ship, flea market, etc)
lazy load skybox color map
update all start position overrides
override all location labels
bugfix: room label showing in city
create more story locations (office, farm, autoshop, etc)
add more story locations (apartments, three new houses)
add items to supermarket scene
add more item properties to save
draw more assets and variants
>> now over 2500 hand-drawn assets
texture pack optimization
update assets and constants
add NPCs to supermarket
update NPC attention logic
hook up mission ready logic for four story missions
make destination menu scrollable
add auto-center for destination scroll container
bugfix: hedge-maze navigation mesh polygon edge synchronization error
bugfix: tutorial safes
bugfix: tutorial busting
bugfix: updated statistics text
updated gold and experience rewards for associate tasks
adjusted several config values for a more comfortable play experience
updating mission ready logic for five missions
refactor mission tracking logic
added guard chasing in special levels
added location based triggers for warnings
added supermarket guards, chasing, and busting
added supermarket back door, and running away
added supermarket break room and NPC witnesses
Shorten the supermarket guard reaction timer
implement buying items at supermarket
add item tags & special formats to item description lines
can't open backpack in supermarket
move supermarket exit back a little
finish exit trigger checks
add personal delivery for missions items
update NPC attention logic
allow backpack in supermarket parking lot
refactor storyteller unlock logic
update storyteller story selection logic
update supermarket purchased/stolen tags & descriptions
add morality rating to save file
supermarket mission affects morality (positive, negative, or neutral)
cannot sell or donate stolen supermarket items
cannot place stolen supermarket items in collection chest
add item variant logic for mission requirement checks
fully implemented another supermarket mission
skip destination menu if being chased by cops
add quest giver and location to quest info line
add regular operations to quest continue dialogues
bugfix: don't check requirements for inactive missions
hide recruit option on mission start and end dialogues
optimization: change some arrays to sets for O(1) key searches
allow special NPCs to ignore suspicious player
implemented another supermarket mission
implement another supermarket mission
re-balance all experience gain values
museum donations now reward experience
bugfix: elapsed time in load profile
added items to farm scene
update top label in backpack based on event
add story items to museum on mission complete
bugfix: item donation statistic for duplicates
enable juicing and cooking at the farm
updated farm scene with shallow water and suspicious bush
fix label and category colors for special items
finished implementing three farm missions
respect the save flag on level up
bugfix: double saving on story complete and level up
update story item locations in the museum
lazy load museum item positions
change starting mission minimum level to 2
planed out the details for four more missions
draw dog and cat assets and animations
draw saddle and fancy saddle items
implement the Animals class
finish implementing another farm mission
draw and animate cow assets
implement small animal class
add a dog to The Yard in roaming mode
add a cat to The Hideout in follow mode
Add a dog to the farm in follow mode
add two cats to the farm in roaming mode
add some cows to the farm
add farmers and cowboys to the farm
add a cat and dog in the farm house
add an NPC in the farm house
prevent getting stuck (player can push NPCs and pets)
big refactor: extract Items and Objects from Constants
add dialogue for farmers and cowboys
draw and import evidence and replica story items
draw and import red herring fish variant
add mission failure logic for Red Herring
add four dogs to the bridge
make the bridge dogs walk to the trees when a herring is planted
populate the auto-shop with mechanics
add mechanic dialog
add roaming dog to auto-shop
populate auto-shop items
implemented crime scene mission
bugfix: can't push a following animal when cornered
add small destination offset variance for pets following player
import toddler sprite assets
do some code profiling to measure performance
add code to preserve items between scenes with upstairs/downstairs
implement untouchable items
populate items for the fancy house
make the upstairs safe crack-able in the fancy house
add logic for two fancy house missions
major refactor: build a resource importer tool for large preset stashes in story scenes
performance improvement: load stashes directly to global var (skip temp vars)
finish planning three hotel missions
start populating hotel rooms with items and NPCs
add remaining item stashes to hotel
add the fireplace burning and rooftop tossing features
implemented two hotel missions
add receptionist dialogue (based on story stage)
implement hotel heist mission
add morality & failure checks for hotel heist
update resource loader to load locations and names as well as items
move supermarket and farm data to resource loader
draw assets for egg mission and babysitting mission
add data for the condo and the family home
add pets and toddlers to the family house
implement a mission in the family house
implement a missions in the condo
update animations for toddlers
make the toddler assets wider and taller
add special pathfinding destinations for pets and toddlers
implement another mission in the family house
add save file version for future data migrations
draw assets for colosseum ruins
add special non-nav tiles to some story scenes
draw suit (jacket, pants, belt variants)
draw flower (plant variant)
draw cupcake (cake variant)
import new item variants
add new variants to existing scenes
change tutorial and museum to load items from file
create the pier scene with NPCs (and new wood asset)
add skunks to ruins scene and vendor to pier
three month break overseas
migrated from Godot 4.2 to 4.2.2
update dialogue from post task 501
refactor movement locking from dialogue
add audio ID fetching by person & emotion
add audio ID fetching for animals/pets
big refactor: include audible emotions for conversation dialogue
update character dialogue
bugfix: wrong safehouse text for The General and AJAX
add some emotion IDs to conversations (for audio)
update more character dialogue
update even more character dialogue
remap dialogue for all nine real estate missions
update mission requirements for 6002, 6003
finish implementing all safehouse/real estate missions
add music audio bus and sfx audio bus
add volume sliders to settings menu
add volume settings to config file
fix: full screen toggle button is backwards
test playing sounds and music
have a separate audio stream player for the menu
play a sound when changing the sound volume
update receptionist mission and dialogue
add more locations stories for the storyteller
record some dialogue emotions
add caching for AudioStreams
use preload to cache the most common sounds
record some songs and sounds
bugfix: repeated sound when closing backpack
record more music and sounds
add item texture map (soft, hard, metal, squishy, etc.)
play item sounds based on texture
record more sound effects
bugfix: stop lockpick sound on key up
balance and remaster music to make it less distracting
bugfix: sounds stopping when releasing action key
record more music
remaster some songs
record more sounds
write some storyteller dialogue
record more music and sounds
play vehicle sound on enter/exit/purchase/change
add more variety for door sounds
show vehicle prices on signs and purchases
add more storyteller dialogue
change story check to set for faster lookups
more music and sound effects
more storyteller dialogue
change storyteller logic for new stories
record sounds and dialogue
improve pet & toddler collision detection
refactor pet and animal audio player code
play sound when interacting with pets or toddlers
record more music and sounds
remaster all songs, fill in melodies and harmonies
split all songs into a drum & bass only version
dynamic music! crossfade to d&b when entering houses
planned most of the achievements
balance drum&bass volume levels
add UI for achievements screen
add UI for help screens
add UI for credits screen
implement help screen with previous and next
implement credits screen (with scrolling)
implement achievement screen (with scrolling)
draw gamepad with labels for the first help screen
add web link to the bottom of the credits
record more songs
update help screens for controls
create remaining help screens
record another song
update 20 existing songs
update all menu items, more pixelation
update the game icon
update Burgleville website
balance volume levels on 9 songs
split OST into two albums (regular, drum & bass)
Set up new Steam account
start setting up Steamworks account
pay Steam Direct Product Submission fee
integrate Steamworks SDK
export a test release of the game
configure a depot, push a build, install, and test
record two more songs
update OST album covers
optimize the help PNGs (for smaller file sizes)
resize achievements and pack a new texture map
reimport and configure new assets
change steam achievements to 64x64
update the UI for the new icon sizes
add framework for loading achievements from Steam
add backup to still show achievements without Steam
create steam achievement images
create animated popup UI for achievements
add achievements and user stats to Steamworks
add product description to Steam
create graphical assets for the Steam store
add museum token and collectible coin placeholder assets
update items code to account for collectibles
add another achievement and game stat
>> now over 4000 assets!
update some Steamworks admin settings
record two more songs
create 160 museum token assets
add two new statistics
add museum reward chests
implement personal faction safes
move museum tokens to personal safe on exit
update some help screens
create some screenshots for the Steam store
remap which music plays in each location
set music dynamic boundaries for specific scenes
set music dynamic boundaries for hidden locations
add some collectible coins to hidden chests
automatically move coins to personal safe (with popup message)
allow collectibles to be moved to the personal safe manually
no music restart on bed rest
increment stat_cc on move right
bugfix: main menu music plays over faction music on new/load
reset stat_cc on profile load or new game
remove hidden_collect stat
bugfix: item stashes not loading from file
bugfix: respawning collectibles when reloading a scene
tested collectible coins
tested dnb boundaries on story scenes
bugfix: preserve_items flag wasn't resetting
add sound textures to coins and tokens
update Steam store description text
allow guild missions before completing 501
add more hidden coins
create Steam library and broadcast assets
update title screen logo
update website, add information page
update Burgleville site and Ragnadox site
create a game trailer
add trailer to YouTube
add trailer to Ragnadox site
add trailer to Burgleville site
add trailer to Steam store page
migrated to Godot 4.3
migrated GodotSteam
set up Steam cloud sync
fix storyteller intro
unlock most destinations in quickplay
fix export config to point to correct text file dir
update code for fetching Steam achievements and stats
chat with Lawyer about Trademark
draw more item asset variations
import over 50 more item assets
add more achievements
add more stats
update and push Steam stats
update and push Steam achievements
test Steam stats and achievements (live build)
refactor: convert all TileMap to TileMapLayer
set Steam store page to "Coming Soon"
create a Steam store widget
put the widget on both websites
put verbose logging behind a debug flag
can talk to supermarket cashiers from the counter
update sale item options for all fencers
make sure inflation is applied when buying
quickplay: remove safehouse and faction bases
quickplay: give all vehicles, pick one as current
quickplay: randomize stats and abilities
register for Steam Next Fest
create bug & feedback form
add feedback button to main menu
fork a demo branch
limit the demo: The Boss won't start mission 501
limit the demo: block missions and faction bases
limit the demo: allow missions 1000, 1001, and 1002
limit the demo: disable stats and achievements
limit the demo: show subtitle and hide achievements button
limit the demo: limit to first three vehicles
limit the demo: limit to 50 item donations
limit the demo: limit 20 neighborhood visits
add maze memento and update maze master location
show popup when trying to leave while overweight
hide average value for collectibles
add animated gifs to Steam store description
update log information
change mission 500 start requirements again
implement mission 1002
short break for COVID :(
run full playtest of the complete demo
gather demo metrics around playtime and pacing
a bunch of updates and fixes from the playtest
update starting audio levels
update some tutorial signposts
reflow the volume focus order for controllers
bugfix: canceling menu while confirmation is open
bugfix: returning from main menu with start button
update window title and version log formats
navigate help screens with L1/R1
update tutorial signpost text
update Guild signpost
update The Boss dialogue options
update various mission text
update all destination text
hide weight/volume for collectibles
refactor backpack logic to use global state
remove "sell all" functionality, change to "move all"
adjust z_index on all TileMapLayers
update label colors for buy/sell modes
feature: characters have different dialogue colors
bugfix: tutorial cop can spawn out of bounds
bugfix: house NPCs spawning in the walls
bugfix: cops stall when entering city with notoriety
don't bust while reading a signpost
improve suspicion part of Tutorial Hall
remove signpost font outline, it's blurry at fullscreen
update dialogue for starting 1001
add a bowl to farm kitchen sink
bugfix: farm dog goes under the kitchen floor
update farm animal wander/follow boundaries
update more help screens
add gold rewards to story tasks
widen NPC deadzone to prevent vibrating in place
adjust music volumes and tighten loops
don't restart music at the museum after donating
record and import sounds for five characters
record and edit 83 more audio sounds (262 total so far)
connect sounds for seven characters and some animals
update all NPC assets
finish recording sounds for the demo
create two more sound players for parallel sounds
add command line args to toggle verbose logging
adjust some audio volume levels
submit demo for Steam review!
another full demo playtest
clean up some debug logs
update some mission signposts
remove corner dot for one NPC combo
tutorial stove had wrong object ID
Lootbox says different things when greeting player
neighborhood destination should only show at faction bases
big refactor: add object sounds to object importer
display walking speed on main HUD
add some save file validation to prevent getting outside of the demo
adjust audio volumes for several sounds
record 40 more sounds (mostly UI effects)
fix some sound interruptions and replays
export release candidate of demo and push to Steam
final demo playtest on Steam
released the demo!!
(two days before the press preview)
(two weeks before Steam Next Fest)
got demo feedback
fixed some spelling errors
check more sections for spelling errors
add starting message to the tutorial
enable mission 500 in demo
block other faction destinations in demo
push updated demo to Steamworks depot
…
This takes us up to the Burgleville Demo v0.9.1.23
Most of the remaining work is to add more story missions and more endings