Progress Report - September 4th, 2023
Man, I guess posting monthly is gonna be my thing now. Bi-Weekly at least. Anyway, hello everyone. I've returned with another update that has barely any visual changes to the game! Well, except for one or two things.
What's changed.
As you can see from the video there are about 2 noticeable changes I've made.
I revamped the title screen so it isn't just a single screen with a button in it. There now a main menu where you can read the controls, and close the game if you are in full screen.
The big part of this update, is that I added reset functionality! After revamping the title screen, I thought the next best thing to do is implement a way that the game can be reset infinitely without having to close the program altogether. Better to get that done early. Before doing that I took the time to get a better idea of the order of which my scripts are executed and which scripts are used to set up the important stuff. After figuring it out it was surprising simple... at least to me.
After implementing reset functionality, I decided to finally program a losing condition. The game now ends when the player dies. I've also created a quick game over screen.
Other Changes
- I've finished some cleanup after the last update.
- Did some great performance improvements. Apparently the problem was the way stuff was drawn in the game scene. Without the fps cap, I remember the game was running at 100-150 FPS, now it runs at 250-300 fps! Although it sometimes drop to 200 FPS I don't remember the framerate dropping below that.
- Re added bullet tracers
- I completely redone how the musket hit scan works. So now the delay is nearly nonexistent!
- The Life Bar now ticks down when taking damage and it will flash upon reaching low health.
About porting to web.
I've decided that this game is only going to be available natively instead of being playable in the browser. It's not like I couldn't get it to work. After a ton of debugging I got it to work perfectly fine in the browser. Everything was fine until I encountered a bug with the death particles not showing that only seems to occur in the browser.
Don't get me wrong, I later encountered the same bug on the native version and fixed it. Apparently it was due to how I get the time stamps for the particles. When I encountered the bug for the first time, I immediately realized the issue of essentially maintaining two versions of the same game at the same time. On top of library I was using to port the game to the web was new and didn't have much documentation, meaning if I come across some issue, I can't just google for the solution. I thought it would be too much for me. Especially when working on my first game, so I removed web functionally.
Game Page
I finished the game page for the game on Itch.io and Game Jolt. I will be posting dev logs there as well.
Personal Thoughts
Around 3 weeks ago, I starting a writing a design document for the game to get a concrete idea of what I want the game to be. Right now the document is around 223 lines long. So long that I decided to add a table of contents. In my head, I thought that a game where you "complete objectives to win" would be simple. Turns out it would be a lot more complicated when I put it on paper. Let's hope it would work well in execution.
What's Next?
After this, I may experiment with saving the player's stats and playtime. Then I would probably consider adding more fonts to the game. Don't worry, I'm still deciding to implement interactable objects and keys. After that I would post another update.
If you are interesting in playtesting my game, you can contact me on discord. My discord username is: "Proarch." (With the period, ignore the double quotes) If this game is popular enough, I may consider creating a discord server for it.
And with that, I'll see you guys later.