Devlog #17: Faster frames, a proper build of the game, and real models for loot
This round covers 20 October. We spent the day getting Beyond to run faster and to work as a real packaged game, the kind you double-click to launch, not just inside the editor. Making that build turned up a handful of bugs that only show up outside the editor, and we fixed them. The bows got fixed too, and we started replacing the placeholder boxes in the inventory with real models.

Performance
We profiled the game in a standalone build and went after the biggest costs.
- Cars were the main cost. Every parked car kept checking whether it was touching anything, every frame. With around 60 cars on the map, that cost about 6.5 ms a frame. That check is now off for everything except the part of the car that actually needs it.
- Far-away cars go to sleep. A parked car with nobody within 150 m stops running its physics, and wakes up again when you get within about 120 m.
- Fewer full-world searches. Several systems were looking through every object in the world many times a second to find the few they cared about. They now only look at their own type.
- Overall, the time the game spends on its own logic each frame went from 22.1 ms to 9.1 ms, and car physics from 5.2 ms to almost nothing. A full frame at spawn went from 12.1 ms to 9.8 ms.
- Textures load sharp sooner. We gave the texture streamer more memory and capped world textures at 2K. Before, the area around spawn never reached full detail. Now it's fully sharp about 12 seconds after loading, and the loading screen waits for it, so you don't spawn into blurry ground.
- Two of the cars were very detailed single models with no simpler versions for distance. They now have proper distance versions.
What we haven't done yet: the graphics side. The grass and its shadows are the biggest cost there, and that's a look decision we haven't made yet.
A packaged build, and what it found
Up to now we've mostly played Beyond inside the editor. This time we made a full packaged build, the same kind players would download, and played that. A few things that worked fine in the editor were broken there:
- Some files were missing. Our code loads some things by name (UI pictures, building pieces, loot tables, the gas mask visor), and the packaging step didn't know to include them. They're now always included.
- Building didn't work. The building preview showed as a solid piece and every spot said you couldn't place there. The building system only set up its green and red preview materials inside the editor. We now set them ourselves, and building works in the packaged game.
- A whole town was invisible. The small town by the motel is made of five settlement pieces, each holding about 98 houses, sheds, poles and props. In the editor they showed up; in the packaged build they never appeared. We rebuilt the five settlements as 490 separately placed objects, and the town is back.

Bows that work

- Bows wouldn't fire. You could draw one, but it never shot. Both our bows are now built on the bow system we use, which fixed it. Arrows also stack now, and they're what the recipes and loot give you.
- The spring bow tore itself apart. When you drew it, the top limb pulled right through its metal brace. Now only the limbs bend and the frame stays solid. We also moved the grip so the bow sits in your hand instead of floating in front of it.
- The ammo counter showed 0. The big number showed the arrow on the string, not the arrows you're carrying. It now shows your total arrows. Guns are unchanged.
Smaller fixes
- Respawn brought you back dead. Pressing Respawn on the death screen reloaded the last save, which had you dead. You now respawn at your bed or a spawn point.
- Quit went to the wrong menu. It now takes you back to the Beyond main menu.
- The main menu shows your weapon properly. The character on the main menu holds your last weapon in the right pose, so a bow is held like a bow and not like a rifle.

- A new pause menu and messages. The pause menu matches the rest of our UI now. Picking things up shows a small message in the corner with the item's picture and how many you got. Messages like "Not enough materials" or "Need 150 stone to upgrade" show the same way, and big warnings like an incoming storm get a banner at the top of the screen.
Real models for resources
Until now most items in the game were placeholder grey boxes. We've started replacing them, beginning with resources.

- 21 resources now have real models and matching icons: iron, copper and gold ore, sulfur, saltpeter, wood, stone, scrap metal, two kinds of fuel, propane, charcoal, cloth, cloth fibre, brass, planks, metal plates, carbon steel, electronics, fuel cells and gunpowder.
- Scrap metal is now a rusty bundle of pipes and offcuts.
- Placeable items like benches and boxes show as a small cardboard box when they're lying on the ground.

Dropped items are the right size now. Before, anything you dropped showed at the model's full size: metre-wide cubes, or planks standing two metres tall. Now they land at your feet at item size. While testing the packaged build we also caught a bug where dropping something deleted it. That's fixed too.

Not finished yet:
- Picking a dropped item back up didn't work on our quick try. We still need to find out why.
- Cloth fibre, electronics and saltpeter got the closest models we had, but they could be better, and we're still looking for better ones.
- Item descriptions still say they're placeholders.
What's next
- Fix picking dropped items back up.
- More real models: food and drink, medical, tools, gun parts, attachments, armour and car parts.
- Check the rest of the map in the packaged build. A few city buildings and one group of parked cars are built the same way as the missing town and might have the same problem.
Loading comments...