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.

Weekly Update (2017-05-04): Liam

This Week

The main advance I made this week was departures. Airplanes start on the runway, accelerate, and then move into the flying state. Right now this happens randomly, but I plan to add a queueing system later.

I also made several minor improvements to gameplay, including:
  • Changing the ascent and descent rate to make it more reasonable
  • Adding a handoff button for flyovers and departures (not yet functional)
  • Removing planes that have landed
  • Added descent during landing (not yet fully implemented)
  • Added a "cancel" button for landing airplanes
Here's a screenshot of a departure on the runway and the new cancel button:

Tasks completed:

  • Implement departures
  • Add landing capabilities

Next Week

Now that we've migrated to a new task list, I plan to add functionality for the handoff button and descent during landing (properly).

Asana tasks to complete:

  • Make final map
  • Implement flyover & departure targets
  • Fix altitude implementation

Weekly Update (2017-05-04): Guy

This Week:

This week i did several things. I added a pause button, which stops the game and movement of the planes. I also finished the rough main menu. There is a placeholder logo and a play button which will move the game to the play screen to start the game. I started work on the points system and we talked about what the next three weeks should entail. We cleaned our branches and added new ones for our current tasks and started a new asana document, moving to the updated system. Here is what the main menu looks like so far.

Next Week:

Next week my task is to add a points system. Currently there is no way to win or lose, so points will be a start of that. There will be points for landing, taking off, and crashing, all variable on the difficulty and negative or positive impact they have.

Asana Tasks:

  • Add Main Menu
  • Fix Branch System
  • Add points system(incomplete)

Thursday, April 20, 2017

Weekly Update (2017-04-20): Liam

This Week

I added landing constraints for airplanes. If they are too close to the end of the runway, or pointing more than 30 degrees off the heading of the runway, or positioned outside of a 30-degree sector at the end of the runway, the airplane will not be allowed to land.


Asana Tasks Completed

  • Add landing constraints

Next Week

In this process, I noticed a couple of weird bugs involving landing: sometimes an airplane won't land even if it's perfectly lined up with the runway, and it won't land at all if time-warp is on.

Asana Tasks

  • Determine scale of airport
  • Add landing capabilities: descent, remove landed planes from runway
  • Fix landing bugs
  • Add collision warnings

Weekly Update (2017-04-20): Guy

This Week:

This week I started off on Tuesday by fixing a mistake I made over the weekend with Github. I had commited an old version of the code from my home computer while attempting to pull the current version on Github. I had to find out how to delete a commit and revert it back to how it was initially. On Thursday I worked on the design doc and added a section for The Main Menu and how it will look and work. I have not completed it yet, but its pretty straightforward.

Next Week:

Next week I will complete the page on the main menu and hopefully add it to our Gitbook design doc as well because it was not working this week. Then I will start work on the it. That should take up[ most of the week, as its creating a new screen from scratch essentially.

Asana Tasks:

  • Main Menu

Friday, April 14, 2017

Weekly Update (2017-04-14): Benjamin

This week, I added a debug time warp system as well as a UI for viewing more information about planes.

Time Warp

We found that often, while testing the game, things would be going to slowly and we would spend a lot of time waiting around. The solution is a developer only time warp. Time warp is pretty simple. The main idea is that dt gets multiplied by a warp value, which can be changed with buttons. (Asana task: time warp)

Plane UI

Previously, each plane would have a lot of information associated with it like name and flight type which were inacessible to the user. To show this information, I created a box which shows up in the upper right hand corner when an airplane is selected. This box provides information about the airplane. (Asana task: add UI for flight type)




Next Week

I plan on starting work on some of the tasks listed under "Minimum Playable Tasks". Specifically, I plan on adding either collisions or setting other airports as destinations.

Weekly Update (2017-04-14): Liam

This Week

I didn't have a whole lot of class time this week since I missed class on Wednesday, but I accomplished some small changes. I fixed the positioning of the text (yet again--it was destroyed during a merge) and started implementing landing constraints. I added the easiest part first: if an airplane is too close to the runway, it can't begin to land.


Asana Tasks Completed

  • Add landing constraints: distance

Next Week

I plan to continue implementing landing constraints and then move on to collisions.

Asana Tasks

  • Add collision warnings
  • Add landing constraints