If you don't know, Dustforce is a precision platformer similar to something like Super Meat Boy. Apparently through the various sales and promotions the game did quite well for the four guys who developed it.
Sometimes it's hard to find the motivation or time to complete or even work on. January came and went without me updating this little series for reasons mostly involved with life getting in the way. January was kind of a terrible month for me in terms of working towards what I want to do in my life. February is a chance to remedy that. So far I have, and here's the results of that work. If you didn't see my previous blog/vlog about this, you can find it here. As stated in that blog I'm attempting to make a game and see it through to completion. The tool I'm using is GameMaker. The basic idea for the is a bullet hell game where you have a limited amount of ammo for the entire game.
For this update I don't have any sort of topic like I did last time. This one is all about what I've done and how I got there. I do my best to explain the code in the video. However if you're not interested in watching a nearly 18 minute long video of my semi incoherent rambling then allow me to type up that semi incoherent rambling.
My main focus was getting the collision system working properly. Collision is something that has made me completely abandon projects in the past so it was important for me to get it working well before moving on. I'm glad to say that I was able to working wonderfully. For those of you that don't know, I'm not a programmer really. I'm a musician and sound designer mostly. While I have a basic understanding of programing, I'm far from a master or even adept. I'm doing the best I can and learning new stuff every time I open GameMaker.
Once I got the collision system working and since January was already upon me, I figured I get some other things done as well. Namely improving the basic enemy design, a checkpoint system, and adding a smart bomb weapon.
Since there is limited ammo in this game there needs to be a way to take out enemies without shooting them. I did this by having enemy bullets also damage other enemies. I found that this adds some interesting gameplay dynamics even in the current prototype. Especially since enemies won't shoot at the player if one of their buddies in between them. It adds a bit more risk in whole avoidance style. In the future enemies will be able to crash into one another.
The checkpoint system was surprisingly simple to add and works really well. At first I thought I was going to have to deal with a complex set up involving the use persistence and arrays, but it was much much more simple than that. It will be dependent entirely on what room the player is in. Meaning that I'll have to code the checkpoints in for each room, but it's really not that much of a problem.
The smart bomb weapon gave me some trouble at first, but I eventually worked out a way to make it simple and functional. Philosophically, smart bombs in this game are meant as a panic button. They cost 100 ammo (out of 500) and don't give the player any points (which are completely arbitrary anyway.) However they can also be used to find secret areas as they destroy breakable walls.
With this current build I'm finding that my idea may not only be doable but also enjoyable. Which is a relief! This month I'm going to focus on getting the art style down and fixing/refining what's already there.
Links: Steam Workshop- This is how you'd play the game. Project File - Feel free to poke around in the code and learn from it or fix it! Do whatever! (within reason) Tumblr Appendix - Usually I'll have some addition tidbits or share some weird production story. This time around I explain a bit of the origins of the background music I did for this episode. It's all original and composed/sequenced by me.