I made this game solo over a weekend for GM48 33. The theme was collect, and I usually try to come at a theme from an unexpected angle. So my process started with thinking about different ways the term COLLECT could be read.
You can walk around and pick up things, you can take up a collection at church, snow falls and accumulates then gets collected into ENORMOUS piles in Wal-Mart parking lots. I hadn't ever played a snow plow game so I thought it might be interesting to try to tackle.
Since I was making the game on my own I had to set very strict limits on the art. The tile size is 16x16 and all the art is very small. I wanted to learn how to do some new stuff, like having very intricate snow that you drove through. However I also wanted to get the game DONE so I again set limits for myself.
I've done a lot of game jams over the years and I find that limits are key. Don't get to grand with your vision. Tackle something simple and unique if possible. I really just wanted to have fun and not beat my head off of the programming on a deadline. That is always super stressful.
Whenever I start a project it always feels weird... The first few things you put in a game feel kinda lackluster... "Oh I have a scribbly truck that slides around and a tile map... look at me I'm a game designer!" But nothing is made all at once, ever game is made one pixel, and one line of code at a time.
The first tricky bit was getting the snow to behave properly. I didn't like the idea of pushing the snow forward and clearing everything, so I had to make piles happen to stop you from doing that. I didn't like how the piles were kinda buggy when you made them though... so I made the plow have a maximum amount of snow it can move in a pass.
I made the snow by creating a matrix of objects for the snow cover layer, and a ds_grid for the locations of piles if they are created. I also added an array of acceptable pile locations to allow for piles to spawn money when they are made in the right places.
I did a lot more with particles in this game than I have before. I have snow falling and plowing effects. It took a while to get those dialed in. And I still don't know exactly how they work. I just fiddled with them until they looked good.
I tied the snow fall to a weather property, and that weather property also changes the randomized speed of cars on the road. So when the weather is poor and a car spawns, it will CRAWL down the road. Eventually another car might spawn and zip along when the weather improves. I laughed so hard when the slow car got rear-ended by the fast one that I left it in. It's not a bug, it's a feature!
Overall I'm glad I was able to plow through this game jam. I added sound as I developed to try to give myself a better idea of how the game will feel when it was done. That helps with motivation for me. If I can see and hear how things will come together early on, I am usually motivated to follow through.