Alex’s Status Report for December 5th
This past 2 weeks ha been a huge progress. At this point the game side of things are finished. All the previously mentioned bugs, that potentially prevented from having a playable and robust game, are gone, and the game can be played “endlessly”. I solved the issue with switching lanes by moving the positions based on a fixed time loop instead of a velocity dependent positioning. Because it is a position dependent, when the position gets to a certain region, the character no longer moves. I set the destination x position and divided that into fixed times to update. This way potential lag in the game would not effect where the character lands after sliding. I also ran profiler to optimize for performance. Every time old objects are deleted, it creates a peak in performance, but deleting these objects by batches lowers average performance throughout the game. I got rid of unnecessary log statements for the maximum performance in games.
As a team we discussed different ways to measure the time and playability. Logging the entire time of different components in a single session (all the system parts working together) would cause even more lag because timing in UTC is an expensive operation. This would lead to inaccurate measurement of time. Instead our plan is to measure components individually, average the lag times and add them up to calculate the total average delay.
For the game part. lag times can be calculated with the profiler. The profile displays the performance in ms, and as of now it is measured to be around 16ms. The targeted game delay was under 250ms, so we are doing very good on the game side. Over the coming week, the plan is to log the measurements to calculate the delay, and prepare for the presentation.