There are two main frustrations on this forum linked to the following pattern of ‘progress’ on Zwift. Namely, a decline in significant feature development over time, and an increase in performance issues and bugs. Even seemingly simple changes seem to take longer and longer to implement. Quote for emphasis:
Zwift was not designed to do what it does today. The spaghetti code and horribly outdated engine have been dragged along kicking and screaming whilst the marketing team talk about Olympics inclusion and professional racing, and resource is dedicated to developing a Zwift Bike.
Check out the first minute or so from the log file, showing only the errors, and this is on a dedicated PC with everything working as well as it can. It’s a wonder Zwift loads at all. I’ve also cut this short, the errors keep coming and keep coming.
[20:20:41] ERROR: Sky::Load(): Default not found
[20:20:41] ERROR: Sky::Load(): Japan not found
[20:20:41] ERROR: Sky::Load(): France not found
[20:20:41] ERROR: Sky::Load(): France not found
[20:20:41] GLFW ERROR 65540: Full screen windows cannot be moved
[20:20:43] Syntax Error. USAGE: set VARNAME=VALUE
[20:20:44] ERROR: Missing Vertex Shader asset data/shaders/Final/GaussianBlur.vsh
[20:20:44] ERROR: Missing Vertex Shader asset data/shaders/Final/GaussianBlur.vsh
[20:20:44] [GFX]: ERROR: GFX_CreateShaderFromFile(GaussianBlur[0][0]) failed!
[20:20:44] ERROR: Missing Vertex Shader asset data/shaders/Final/WatopiaDesert.vsh
[20:20:44] ERROR: Missing Vertex Shader asset data/shaders/Final/WatopiaDesert.vsh
[20:20:44] [GFX]: ERROR: GFX_CreateShaderFromFile(WatopiaDesert[0][0]) failed!
[20:20:44] ERROR: Missing Vertex Shader asset data/shaders/Final/wireShadow.vsh
[20:20:44] ERROR: Missing Vertex Shader asset data/shaders/Final/wireShadow.vsh
[20:20:44] [GFX]: ERROR: GFX_CreateShaderFromFile(wireShadow[0][0]) failed!
[20:20:44] ERROR: Missing Vertex Shader asset data/shaders/Final/RadialBlur.vsh
[20:20:44] ERROR: Missing Vertex Shader asset data/shaders/Final/RadialBlur.vsh
[20:20:44] [GFX]: ERROR: GFX_CreateShaderFromFile(RadialBlur[0][0]) failed!
[20:20:47] Unable to open WAD file "assets/Bikes/Frames/ScottSparkMountainBike2019/frame.wad".
[20:20:47] ERROR: Could not load wad file: assets/Bikes/Frames/ScottSparkMountainBike2019/frame.wad
[20:20:49] ERROR: Accessory::GetThumbnailTextureHandle Error - Asset Load Failure - Cannot find thumbnail texture - UI/WhiteOrangeTheme/JerseyIcons/Zwift_RaceLeader_thumb.tga
[20:20:52] ERROR: Accessory::GetThumbnailTextureHandle Error - Asset Load Failure - Cannot find thumbnail texture - UI/WhiteOrangeTheme/JerseyIcons/TealPink2020_thumb.tga
[20:20:54] ERROR: Accessory::GetThumbnailTextureHandle Error - Asset Load Failure - Cannot find thumbnail texture - UI/WhiteOrangeTheme/JerseyIcons/Twenty242021_thumb.tga
[20:20:58] ERROR: Accessory::GetThumbnailTextureHandle Error - Asset Load Failure - Cannot find thumbnail texture - UI/WhiteOrangeTheme/Customization/RunningShirts/TealPink2020_thumb.tga
[20:21:00] ERROR: Accessory::GetThumbnailTextureHandle Error - Asset Load Failure - Cannot find thumbnail texture - UI/WhiteOrangeTheme/Customization/RunningShorts/TealPink2020_thumb.tga
[20:21:03] ERROR: Accessory::GetThumbnailTextureHandle Error - Asset Load Failure - Cannot find thumbnail texture - UI/WhiteOrangeTheme/Customization/Glasses/Glasses_TealPink2020Glasses01_thumb.tga
[20:21:03] ERROR: Accessory::GetThumbnailTextureHandle Error - Asset Load Failure - Cannot find thumbnail texture - UI/WhiteOrangeTheme/Customization/Glasses/Glasses_TealPink2020Glasses02_thumb.tga
[20:21:13] FILE : Unable to load UI/WhiteOrangeTheme/JerseyIcons/Zwift_RaceLeader_thumb.tga
[20:21:13] FILE : Unable to load UI/WhiteOrangeTheme/JerseyIcons/TealPink2020_thumb.tga
[20:21:13] FILE : Unable to load UI/WhiteOrangeTheme/JerseyIcons/Twenty242021_thumb.tga
[20:21:13] FILE : Unable to load UI/WhiteOrangeTheme/Customization/RunningShirts/TealPink2020_thumb.tga
[20:21:16] ERROR: CriticalPowerCurve::Save Query; pOutDataPoints is NULL
[20:21:16] ERROR: CriticalPowerCurve::Save Query; pOutDataPoints is NULL
[20:21:16] ERROR: CriticalPowerCurve::Save Query; pOutDataPoints is NULL
[20:21:16] ERROR: CriticalPowerCurve::Save Query; pOutDataPoints is NULL
[20:21:21] Couldnt load road tex Environment\Road\FreshRoad\FreshRoadOneLine.tga
[20:21:21] Couldnt load road tex Environment\Road\FreshRoad\FreshRoadOneLineNml.tga
[20:21:21] Couldnt load road tex Environment\Road\FreshRoad\FreshRoadOneLine.tga
[20:21:21] Couldnt load road tex Environment\Road\FreshRoad\FreshRoadOneLineNml.tga
[20:21:22] Shader Loaded successfully. data/shaders/Final/colorRoadShader.psh
[20:21:44] WARN : Load Route Warning - Cannot find leadincheckpoint in data/Worlds/world1/routes/routes11.xml
[20:21:44] WARN : Load Route Warning - Cannot find leadinhighrescheckpoint in data/Worlds/world1/routes/routes11.xml
[20:21:44] WARN : Load Route Warning - Cannot find leadincheckpoint in data/Worlds/world1/routes/routes12.xml
[20:21:44] WARN : Load Route Warning - Cannot find leadinhighrescheckpoint in data/Worlds/world1/routes/routes12.xml
[20:21:44] WARN : Load Route Warning - Cannot find leadincheckpoint in data/Worlds/world1/routes/routes16.xml
[20:21:44] WARN : Load Route Warning - Cannot find leadinhighrescheckpoint in data/Worlds/world1/routes/routes16.xml
[20:21:44] WARN : Load Route Warning - Cannot find leadincheckpoint in data/Worlds/world1/routes/routes24.xml
[20:21:44] WARN : Load Route Warning - Cannot find leadinhighrescheckpoint in data/Worlds/world1/routes/routes24.xml
[20:21:44] WARN : Load Route Warning - Cannot find leadincheckpoint in data/Worlds/world1/routes/routes33.xml
[20:21:44] WARN : Load Route Warning - Cannot find leadinhighrescheckpoint in data/Worlds/world1/routes/routes33.xml
[20:21:44] WARN : Load Route Warning - Cannot find leadincheckpoint in data/Worlds/world1/routes/routes36.xml
[20:21:44] WARN : Load Route Warning - Cannot find leadinhighrescheckpoint in data/Worlds/world1/routes/routes36.xml
[20:21:44] WARN : Load Route Warning - failed to open "data/Worlds/world1/routes/routes71.xml"
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/3day13one_FESTIVAL.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/trainingplans.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/3day13one.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/5kRecordBreaker.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/6wk_FTP_Builder.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/8wkRacePrep.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/12wk_Winter_Plan.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/Cyclist_10K.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/Fondo.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/GC_TrainingPlan.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/GranFondo.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/Gravel_Grinder.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/PRL100_2018.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/PRL46.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/TT_Build.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/running_101.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/cycling_101.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/bike_ftp_multi.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/Coast_Ride.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/mcmillan_adv_half.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/marathon_phase2.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/marathon_phase1.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/running201_5k.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/Pebble_Pounder.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/Dirt_Destroyer.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/Singletrack_Slayer.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/zwift_racing.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/BackToFitness.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/3day13one_LITE.xml
[20:21:48] Tried to load a valid xml file, but it seems to not really be a ZWO file?
[20:21:48] LoadWorkout failed to load.
[20:21:48] Failed workout path: TrainingPlans/5kRecordBreaker_Lite.xml
To me this comes down to the investment model and the objectives of the most senior at the company. Their focus is on creating an ecosystem and a userbase, marketing led, that can be sold to the highest bidder or IPO’d for a big shareholder return. However Zwift is the software, and the foundations aren’t just shakey, they are probably beyond repair. Focus and strategy has been completely misplaced for too long. If it were to IPO it would be an investment so bad you may as well set fire to your money before throwing it down the drain.
This is all very doomsday, but I guess the question is - can Zwift still save itself, or has it buried itself too deep?