Happy New Year!🎉 Today’s post is about the progress I made in my zombie action driving game Diminishing Light.
Table of Contents
The Steam Store Page
I am at the point in the game dev process where I have fleshed out some core game mechanics and have a pretty good idea of what I want to do with the game.
So, I thought it was time to create a Steam store page and start marketing to get wishlists on Steam. Most game dev courses recommend creating a Steam store page as soon as possible to gather wishlists.
Having more wishlists on Steam for your game can be beneficial in several ways:
- Visibility and Promotion: Games with higher wishlist numbers are more likely to get noticed and promoted by Steam’s algorithms.
- Marketing Insights: Wishlists provide valuable data on player interest, helping to tailor marketing strategies.
- Sales Forecasting: A higher wishlist count can be a good indicator of potential sales at launch.
- Player Engagement: It informs interested players about your game’s release and updates.
- Revenue Prediction: Helps predict revenue and plan for post-launch activities.
Creating a Steam store page is no small feat. It involves becoming a Steamworks partner, handling legal and financial details, and a $100 fee per game published. Check out the detailed process here and here.
You must provide basic info and descriptions, mature content settings, system requirements, support info, screenshots, and various marketing images for your store page.
Creating a Visually Appealing Store Presence
I handled the art for my first game project, Last Stand, but I struggled a bit as I am not an artist.
For my new game, Diminishing Light, I hired an artist on Upwork. I found an artist with experience with Steam pages and sent them a brief description of the game and some AI art for inspiration.
The artist will take two weeks to create the capsule art for my page. Hopefully, this will help me attract players to check out my game! Stay tuned for an updated, visually appealing store page!
Randomly Spawning Pickups In The World
This is an animated glimpse of the ‘Pickup Spawner’ in ‘Diminishing Light’! offering game-changing powers like invincibility, increased fire rate, and a lethal ‘Kill All in Radius’ effect.
Next, I worked on creating a Pickup spawner. The pick spawner will randomly spawn pickups using a probability distribution.
There was a nice little asset on sale from the Unity Asset Store New Year Sale called RNGNeeds – Probability Distribution, which I used.
This simplified the process of determining the frequency of spawning a particular pickup type.
In addition to randomly spawning pickups after killing zombies, I also do time-based spawns where I span a random pickup every x seconds. The spawner can be configured to do one or the other or both.
I also finished Invincible Pickup, where the car becomes invincible for x seconds. I also added a visual indicator using Kronnects Highlight Plus asset, where I highlight the car, informing the player of the state.
I am not sure if I will keep that visual or not. I might add a forcefield shader around the car to indicate it’s invincible. I also added Increase Fire Rate pickup, which increases the rate at which a vehicle shoots its guns. Kill All in Radius – will kill all zombies within a radius.
Designing a Dynamic Weapon System
I also implemented a flexible system to manage weapon slots on the player’s vehicle. Each slot can be individually enabled or disabled, allowing for gameplay mechanics where certain slots may be damaged or locked until specific milestones are reached. The weapon slots are smart containers that handle the equipping and unequipping of weapons during gameplay.
Currently, the vehicle can be equipped with Dual Mini Guns and Dual Missile Launchers. I plan to add a flamethrower and laser gun, as well. What other types of weapons do you want me to add?
I’ve also incorporated a Weapon System to cycle through available weapons. This feature allows players to switch active weapons according to tactical needs. Players can cycle to the next weapon by pressing a controller button, which is automatically equipped.
During development, I had issues with the initialization order of components. To resolve this, I leveraged Unity’s Awake and Start methods. I used Awake to establish references between scripts and ensure the vehicle controller was available early. Start was used for additional setup, requiring all objects to be initialized. Read More on Unity lifecycle events here.
Speedometer Development
I’ve been working on a speedometer to show the player’s speed. The needle accurately reflects velocity, adjusting as the car speeds up or slows down. I set up a script to rotate the needle based on current speed, ranging from 0 to 80 m/s.
But the car can go faster with NOS, potentially doubling its speed. To keep the speedometer realistic, I modified the script so that the needle won’t exceed 120 when NOS activates, even if the actual speed is higher. This keeps the speedometer realistic while allowing for uncapped top speeds.
Main Menu Scene
The last task of the week was the main menu scene using volumetric lights to set the feel. Here I show a suped-up muscle car on a decimated city street with decaying bodies and flies buzzing around. I used the Synty Apocalypse pack and Kronnect’s volumetric lights. Overall, I think the scene turned out well and sets the tone, but let me know if it’s too dark!
Let me know if you have any other suggestions for improving gameplay or visuals! I’m always looking for feedback from players.
🚀 Join the Adventure Behind the Scenes! 🚀
Are you ready to dive deeper into the world of “Diminishing Light” and keep informed on the latest developments? Sign up for our exclusive mailing list and get the insider scoop straight to your inbox!
But wait, there’s more ways to connect! Follow my journey on social media:
👾 Follow me on Instagram for a snapshot of our latest thrilling game developments.
🐦 Tweet along with me on Twitter and join the game dev conversation.
📘 Like me on Facebook to be part of our growing community of game enthusiasts.
Don’t forget to share your thoughts and ideas in the comments. Your feedback influences the game development. Let’s create something fun together!