Day 158: Today was pretty productive. I managed to finish (almost) everything I wanted for this sprint. I just forgot spellchecking. But it’s getting late, my week-end is booked. I’m going to spend easter with my grandparents. On one end it’s cool because, you known, seeing them, and chocolate. But it’s another week-end where I don’t get to recharge my batteries.
And the weekend after, is going to be even more tiring. I’ll be showcasing my game to a convention…
Daily interesting stuff:
Reddit post, results of a survey for indie devs. It offers interesting hindsights.
Article about the good habits of good devs. Long read, still cool though.
Tasks done:
“Finished” balancing the upgrades. Well, it’s a really rough estimate. But it work well enough. I made it so that the last upgrade of the stats (the 10th) cost around 100 000$. I think it’s a good compromise. Then I put those changes in the game, did some shallow testing, and declared it done.
Played the game. I wanted to list all the things I wanted to improve. While, I found a few bugs, what stuck me, is that I didn’t see anything to change. Usually when I play one of my games I want to modify at least half of it. But now, I’m happy with how it is. So of course, the only natural thing to do was to make others test it. I asked my roommate once again. It’s a bit flawed since he knows the game pretty well, but I still managed to find a lot of things to do.Fixed a bug where the loading text, would always say “Loading” instead of “Press start”. That’s because, the loading finishes before the localized text change happens. That was a weird, since it worked before. I think it comes from the running order of the Unity scripts. To fix it, I just delayed the loading event by one frame. It’s ugly, but it works.
Made the standard gun a bit more powerful. Since not everybody buy a new weapon on the first run, they’re stuck with the default weapon. And frankly it’s weak. It’s on purpose. But I don’t want them to leave the game before having a cool weapon. So I made it a bit stronger.
Added some music in the main menu. Sometimes I would get a bug where music was played in the main menu, while it shouldn’t. So I just made it to be sure that I have a music playing in the main menu. It’s the same in the intergame scene, but at least now, the menu feels less barren.
Did some small localization fixes. Stuff like the cooldown not localized, or the string of the settings menu too long.
Made it that the ships doesn’t change its color when berserk. That color changes posed problems because the hit and death feedback change the color as well. And they don’t know about each other at all. So I removed it. You still get bigger though.
Made it, that the explosions are based on the color of the sprite. I just changed one line of code. When an enemy dies, I set its sprite color. I used to put it to “white”, but now I put it to its initial color. Originally, I did this because when you killed a teleport enemy, you would see it becoming pink (original color of the sprite). It didn’t solve the problem because the actual problem is that you’re seeing the enemy sprite, while you should only see its explosion. But the effect of this change is that the explosions are colored according to the enemy. I thought it was cool, so I left it that way. I need other opinions on this though.
Improved the teleporter enemies movement. Well, their teleportation. It’s a really old script. I think it’s from the prototype, and hasn’t been changed since. And it worked well. But there was a few quirks. First It wasn’t clear when you could it them or not. Then you sometimes had weird behaviour on destruction (sprite appears from nowhere). Finally they could teleport on the player and cause it damage. Which was bad. I solved all these (or at least I think so), by modifying the teleportation behaviour. You see, to ensure that it didn’t teleport into a wall, I had to activate the collision as soon as the teleport moved, so you could hit it when it was still invisible (and it could hit you back). Now, I manually check for wall collision, and only enable the real physics when the enemy is completely visible.
Made that the dash power is a bit longer. It was really a tiny dash before. Now it’s 0.15sec instead of 0.1. Much better.
Sprint end: This concludes the “balance & polish” sprint. Well this is it. The game is in its final state. I only have some graphics to change and spellchecking to do. But coding wise, it should be finished. Well I keep the right to modify it based on the feedback of the playtests to come.
What went wrong:
A sprint after a week end with no recharge (recharge beeing stay quietly at home), is always a bad idea. It’s way harder to motivate myself to work in those situations. Usually I take a day off. But I didn’t have time to do so.
Started balancing only yesterday. I feel like I should’ve spent more time balancing and less time polishing.
What went right:
Finished in time! Well just if you just forget about spell checking. I didn’t thought I would manage to do it, given my poor productivity this week.
I have a freaking game! Today I made the first final release candidate! It feels good. I think there’s going to be four-five release candidates top, before it finally over. I’m seeing the end of the tunnel. A tunnel that’s super fun, and a amazing learning experience, but still an exhausting tunnel.
0 comments