Pixel Driver is still in development and I’ve reached the point where I dare to release a beta for Android, sign up here: https://play.google.com/apps/testing/com.casualgames.nu.PixelDriver you can also try it on PC: https://casualgamesnu.itch.io/pixel-driver
Game play mechanics
After testing with different game mechanics I’ve come to the conclusion that fuel was more logical and that you also need to refuel at gas stations instead of collecting coins along the way. This provides a stress for the player that they must speed up to reach the next gas station before they run out of fuel. The gas station also requires you to reduce your speed to get a full tank which is a nice way of pacing the game.
Coins is the in game currency and you collect them as you drive along. I need to tweak how many coins you get as it feels a bit to low at the moment.
I’ve also added events that can occur and right now traffic jam is the only one that works. With traffic jams the player is forced to either go off road or cruise between the cars. This also changes the pacing of the game is a nice way to get it to feel more alive.
There is a new level included which is a 4 lane desert highway, actually this is the only level that you can play now.
Garage and upgrades
Everyone loves to unlock new cars, paint and upgrade them right? Well now you can with the coins you collect. There are only 2 cars in there for now but more will be added.
Finally I have the first beta available on Android, sign up for the beta program here: https://play.google.com/apps/testing/com.casualgames.nu.PixelDriver
Increased performance and more mobile friendly
Early on I decided that I wanted the game support a fairly long view distance and also quite heavy traffic. Doing this with even simple models turned out to be a real challenge. One major resource hog is the standard Unity shader, while Unity claims that it’s light weighted my testing shows that it’s not even close to what I needed. I developed a custom shader that only uses Vertex lightning which was a major improvement over the standard Unity shader but it still wasn’t enough I needed more performance. After profiling the game I noticed that there were too many SetPass calls each material in a model causes a SetPass call and some of the models I used contained up to 7 materials. To solve it you usually use a single texture that contains several cars however I want to be able to support many colors so that wasn’t very practical. Instead I switched the models to use Vertex Colors and by doing that I could reduce the SetPass to one per car and using the same technique on other objects brought down the SetPass call count to around 20 when the level is quite busy.
With these optimizations the game runs at between 40-60 fps on my Samsung S3 which is more than enough for me.
Feedback and discussion
Join my discord server: https://discord.gg/AyYtKXT