With the ice storm we had last night, much of northwest Ohio and southeast Michigan are without power. I had already planned on writing a post today — but not having electricity gives me more incentive to use my battery sparingly instead of consuming my battery compiling new builds every few minutes.
A year ago today marks the first commit to the original repository “game-idea”.
Thinking back, I actually started goofing around in Game Maker back in January of 2018. Once I made a change I wanted to revert back to, I realized it was time to put the prototype into Git. Since I am paying for Github for a few other side projects, this workflow made sense.
In the first post, I mentioned how and why I began this project. But interestingly, I started this idea back in college in my Professional Ethics class (I know, very ethical of me, right?). I wanted to come up with an fun combat system where the enemy (now know as the
Soldier type enemy) could be made easy or difficult, given a few parameters, but running the same logic.
In this prototype, you could “swing” your sword around by moving the mouse. The player would use the WASD keys and the player would always face the mouse. If the player was moving in the direction of the mouse, they would move faster, and moving away from the mouse meant the player would walk slower. It was a neat concept, but when I began rebuilding back in January of last year, I knew I wanted to build with a controller input in mind.
There really wasn’t much to show in the month of January 2018 as it was mostly porting the prototype from Game Maker 8 to GMS 1.4. However, once ported, I began hammering out the main movement concepts I wanted to have, as well as nailing down an appropriate controller input system.
The first feature that was built was the slow motion dodge mechanic. Game Maker has a concept of alarms, but they count down as whole integers. To do slow motion correctly, timers and counters need to count in integers, and decimals when in slow motion mode. I ended up making an object called
obj_Core to support timers with integers and decimals, which all objects in the game inherit from. It was great building that then because there are a lot of “core” features that all objects need in the game currently that we can simply tack onto
From there, it was all about honing in on making smooth, tight controls, as well expanding on the
Soldier enemy. Since my main inspiration was The Legend of Zelda: Breath of the Wild, I needed to build in the three main weapon styles — single handed, two handed quick, and two handed slow. With that all working, I began adding a little bit of art to the game. All the startup sprites can be found in this repo. I am so thankful for them, because I would not have been able to make the game initially believable without them.
Another interesting thing from the original concepts was the hero was a girl. Even though I had ideas of the game being called “Violet” by this point in time, I knew I did not want the hero to be a girl. The main reason for the hero starting as a girl was because I didn’t want to stare at a guy all day — especially since the sprites I had then were very limited! 😀
By the end of March, I started to really have something that felt good. Keep in mind, the only times available to build were in the evenings and on weekends. Progress was being made, but at a very slow pace.
I was also getting input regularly from friends and co-workers to see what they thought. There was (and is) always three questions I would ask: “What did you like about it?”, “What did you not like about it?”, and “Did you have fun?”. The last one is the most important as if the player was not having fun in the couple minutes they were playing, I knew we would need to start over. Most of the time the answers to the “What did you not like about it?” were a feature not fully being fleshed out, to literally something I was about to add “not there.” Most answers to the “What did you like about it?” were about the same as well — the controls felt good. Hearing that the controls felt good to me meant there was a good foundation to continue building on.
The months of April and May showed a lot of polishing of the controls, as well as adding a few new controls and enemies, such as
Violets. Even with all the new enemies and features, my lack of graphical expertise was really beginning to show. The sprite generator was great, but the “believablity” of the game began to drop as black squares and square boxes became more and more apparent. Around June, one of my friends suggested to talk with Hannah about graphics. Showing her the rough game play and explaining the ideas I had for the game, she decided to come aboard!
The “world” at the time was basically a big box with really no where to go. It felt very claustrophobic. In the month of July, we decided to “open the world” up and let people roam free. The world would be 2 / 729 of the actual size of the game, but it was enough to make it “believable” again. Opening the world meant adding some new features, like a day / night cycle, lighting, etc. But it also meant some optimizations were needed. The months of August and September were spent cleaning up, optimizing and polishing newer features.
The rest of the story has been or is currently being told in the blog. It’s been quite an amazing journey so far building this game, and even more amazing to see how all of the pieces have come together. I knew in the months leading up to January of 2018 that something needed to change with my life. Simply coming home from work and vegetating on Netflix couldn’t be all there was to do in life. I’ve always had a passion for gaming so I decided “why not try making one?” I believe anyone’s passion and dreams can become a reality if you work hard enough for it. But it can’t start tomorrow — it has to start today!
Thanks for letting me reminisce on the journey and I hope it was (and still is!) interesting to see and hear!