Let’s get the bad news out of the way first. Last week I got a nice job offer that I’ve accepted. And it had to be a full-time position, so it’s not going to leave much remaining time for Scraps. It’s an offer that I would be silly to ignore in favour of my obscure little game that I’ve already been working on for years without much success (income-wise anyway). Of course Scraps could take off in success after Gauntlet mode is added, or after it leaves Early Access, but historically that’s very rare: Almost always if a game’s sales are slow at first during Early Access, they remain a small-time thing at full release.
So I apologise to anyone reading this because development is gonna get real slow on Scraps. I don’t like to let the community down even though it’s small. You can still rest assured that I’m not going to abandon this project – Scraps is still gonna get done! But here’s what I’m going to do:
– I’m going to stop the current weekly news updates since I expect there won’t be much for each one. I’ll post whenever I have interesting new stuff to share instead.
– I’m going to add information to the game’s description on the Steam store page saying that it’s a hobby/side project at this point and development will probably be slow. I don’t want to deceive anyone here.
– I’m not going to put the game in sales anymore (25% off etc) until either Gauntlet mode is in, or I go back to having more time to work on it.
The Scraps community is so nice; I want to deliver you an awesome game. But as I said earlier I’d be silly not to take this job, which is exactly the sort of job I want. Here’s what I did in my last week of freedom:
I made some more level content. Yeah, I’m still on world 1, because I keep making things like tools for level building or things to put in the levels rather than actually putting things in levels. Subsequent maps should be way faster to populate, like how the terrains for worlds 2 and 3 were done much much faster than the terrain for world 1.
A thing I did this week in that vein was make a new type of vehicle spawner. I already had vehicle spawners that I could place on the map with a list of vehicles they could spawn. Looked like this in the editor:
When playing, they’d randomly select a vehicle to spawn from the list, and that worked OK. Gauntlet mode is sort of half procedural, half hand-placed, and it’s important to be careful with how procedural it is. Fully hand placed would make it exactly the same every time, which would get boring fast. But fully procedural almost always ends up boring as well – a million variations on the same thing. No Man’s Sky is the procedural game du jour to complain about, but there are many.
However, in this particular case I realised that there were many scenarios where I really just wanted a vehicle spawner that would spawn any vehicle I had that was appropriate for the current level. Same potential set for every spawner. On top of that, really the vehicles should get harder as you progressed to another level within the same world, but to do that currently I’d have to place multiple spawners and limit them to just the level they were intended for.
So I made a vehicle library that loads up all the vehicles I’ve put in a folder, and lets me select them with filters. For instance if I wanted a vehicle in a certain price range with only cheap weapons on it I could do:
vehicleLibrary.GetVehicle(VehicleFilters.TotalCost(minValue, maxValue), VehicleFilters.EachWeaponCost(weaponCostLimit));
Or for a vehicle in a certain price range with a small chassis:
vehicleLibrary.GetVehicle(VehicleFilters.TotalCost(minValue, maxValue), VehicleFilters.ChassisType(VehicleData.ChassisOptions.Small));
“But writing code every time? That sounds like even more work than placing two spawners.” Well yeah, it would be, but I made a new vehicle spawner that automatically detects which Gauntlet level the player is on and sets the appropriate filters. So there’s no vehicle info to set in the interface at all:
And I can still use the old spawner type if I want specific vehicle options.
In other news, at one point I also accidentally broke everything in a fun way: