Day 138: Today wasn’t really productive, I got hit by something you might know and that’s called life. I have a ton of non-gamedev related stuff to do u_u. I already talked about it yesterday, but it’s today, that it really started to affect me. I think it’s mainly because my phone interview with Ubisoft was positive and now I’ll be contacted for an in-person interview. So even more things to manage. I hate stressful things. I hate it because I’m not someone who stresses. Most of the time I’m relaxed, it really takes a high level of stress to start affecting me. And so since I’m not used to it, that I can’t help but completely hating it. All that to say that I didn’t do much today.
Daily interesting stuff:
Reddit post, GDC talks are now available in the GDC vault. It was an interesting post with a lot of different point of views. It even revived the old “are game political?” subject.
Tasks done:
Implemented a background music system. I started this yesterday, I already had different music tracks in different scenes. But there were no transition whatsoever. So I had to make those. It was harder than expected. First I had to code a Fade component myself. But that was easy. But then I realized that it didn’t solve the problem at all. Since the music object would be destroyed when changing scene, there was always a rough transition. So I decided to make a “manager”. And unique object that would persist through scenes and be in charge of what music is playing and transitioning between tracks. So I did that I had to create an event when there’s a scene change. And more importantly I had to make the manager a singleton. It’s okay, it’s just the part where I ensure it can only be instantiated once. It doesn’t provide a global point of access. I did that because I wanted the game to be able to be started from any scene and have some music. So each scene have a music manager object, but if one already exist, the new is destroyed at start. For the fade in / fade out, it’s a simple interpolation with an animation curve to make it non-linear. But I’m not good at hearing stuff, so I’m not sure the curves I selected are good for transitions.
Removed the singleton in the SoundManager. It was a really old legacy thingy. I used the soundManager as a singleton in the prototype. Only one bit of the UI was still using it like that. All the other things went through events. So I changed the UI call and created an event instead. It’s good because I can argue that it offsets the singleton I created for the music.
Made that the screen shake for when an enemy die is proportionally powerful based on the enemy. That’s not a really visible change, but I think it’s the kind of things that you don’t notice but add to the overall flavor of the game. First I had to get the dying enemy. But it turns out the vent already provided this information. Then I tried to mutiply the amplitude based on the life of the enemy. But I realized when that when you change the enemies life in the difficulty settings, it would also change the screen shake. And I didn’t want that. So I added a variable in the enemies config. Easy.
Finally found why sometimes, some enemies would not fire even if they are visible and should fire. It was a problem where if the enemy were visible and the room got deactivated, it wouldn’t work. “But, but it’s impossible, the enemies can’t be deactivated while visible” you would say. And you would be right. The problem happens only in the editor because the editor scene view is considered as a camera. And thus this camera could make an enemy visible while the real game camera don’t see it and deactivate the room. So technically speaking this game was fixed ages ago. I just hope with all my heart that I won’t get this bug in a build. That would be problematic…
0 comments