Thursday, May 4, 2017

Weekly Update (2017-05-04): Benjamin

This week, we worked on planning out what we will work on for the next three weeks in order to have a playable game.

Planning Process

First, we wrote down a list of tasks that we thought were necassary for a playable game. Then, after cleaning up asana, we entered them into asana with due dates. I will talk in more detail about the tasks that I am planning on doing below.

Refactoring the State System

Our current system for handling airplane states (flying, landing, etc.) is a good start, but it has a lot of ugly bits. I'm trying to clean this up before we add a bunch more states. The idea is that by adding a deeper inheritance heirarchy for the components of an airplane state, we can avoid the huge amount of code duplication that is going on now.

An example of this duplication is that all three states that we have right now need to draw an airplane at a position on the screen. We currently have almost identical code for drawing the airplane in each of these cases. Instead, I am going to create a class called AirplaneVisible which handles the drawing. AirplaneVisible does not assume that an airplane has an altitude because that is not needed to draw an airplane.

Fix Collisions

There are currently a few issues with the collision system. Primarily, we need to balance it so that it isn't too easy to cause collisions, but it still happens. One of the other issues involved here is the balance between realism and having a fun game. The other main issue that I want to work on is the animation for collision. Currently, when you are zoomed in on one spot, but a collision occurs completely outside the view frame, the pan-zoom thing will not work. This should be pretty easy to fix.

No comments:

Post a Comment