Peter Eldredge PPJ#3

Team Meetings - 3 Hours
UI Updates - 1 Hour
Saving - 1 Hour
Settings Menu - 2 Hours

Overview
This week I had intended on working on art implementation. Primarily the level select screen and the new incinerator enemy. Unfortunately neither of those assets were ready for implementation so I was forced to look for something else to work on. I decided to add saving functionality to the game, as well as add a settings menu hearing about some performance issues.

UI Updates
I needed to update the UI to work correctly at different aspect ratios. I realized I hadn't properly accounted for this when implementing the in game HUD. Additionally I added some warning text that will flash at different speeds dependent on your heat level. Currently there is a slow throb when you cross 50% heat, and then it speeds up dramatically when you overheat.



This is a simple coroutine that adjusts the alpha value of the warning text based on a looping animation curve. Nothing too exciting.

Saving
I decided to handle saving by writing Json to a file in the persistent data path.



For saving levels, I created a simple serializable class that contains the data that must be saved.



When the game is started, all the levels load the data from their corresponding file, and the data is saved whenever a change is made to the scriptable object.



By letting each Level's Scriptable object handle the saving and loading, those systems have been abstracted away. Meaning no real careful considerations must be made to handle the saving, it should mostly just handle itself. We didn't need a super complicated save system, so I decided not to over engineer this.

Settings Menu
I decided to make a settings menu after my other work fell through and I could see people were having some performance issues. A lot of laptops today have 4k displays, which makes absolutely no sense to me due to their small screen size. Unity defaults to running games at native resolution, which makes sense, but if you have a 4k display and you don't have a top of the line graphics card, you need some other options.

My solution to this was to add some settings for locking the framerate, as well as select a resolution that is supported by your monitor. The three settings you can adjust currently are the VSyncCount, Framerate Cap, and Resolution.



Obviously the UI is shit, but at least its functional. This took quite a bit of time to figure out how unity handles a lot of this stuff, and to implement a sort of config file to save your settings, but it ended up being very useful to adjust settings in the game itself.

The numbers on the right correlate to the slider next to them. The Framerate Cap disables itself when Vsync is on, as it is pointless then. And the resolution list will dynamically populate itself based on your monitor's supported resolutions, and will auto select the resolution the game is currently running at. 

Team Overview
I am getting a little concerned about completing this game after seeing the production this week in terms of art assets. I think we only got 1 model and it wasn't even textured. We need to start filling out the environment and at this rate we will never be close to completing 1 level. Additionally some of the problems I faced the UI were a bit disappointing, like the reference for the level select being the wrong aspect ratio.

I also was not happy reading that our team's communication was bad in people's PPJs when many of them were the ones who did not communicate. I know that everyone was given something to work on, and they have been explicitly told several times who to talk to if they don't know what to do.

I don't know if that is coming off as a bit harsh but at this point I don't see us finishing this or really even getting close to where we wanted to be. We need to be getting art at a much, much faster rate and it needs to become available for implementation before Monday. People need to take more initiative in finding things to do, and people that don't know what to do need to communicate that.

While me, and a few others, have been doing the work to the best of our abilities, the same is certainly not true of the majority of our team. I know it is leading to burnout for me personally and I think for some others as well.


Comments

Popular posts from this blog

Peter Eldredge PPJ #1

Rex Christian Personal Postmortem

Ethan Scheidlmeier PPJ 9