Dylan’s Update: Week 8 (29 May 2017)

1) What were your concrete goals for the week?

Box selection and highlighting selected objects.

2) What goals were you able to accomplish?

I got box selection done, but it’s a little buggy so I want to tweak the parameters before I merge it all in so it matches up with what the player sees better.

3) if there were goals you were unable to meet, what were the reasons?

I was unable to get box selection merged in and didn’t get to highlighting selected objects. I lost a lot of time and have had lots of difficulty working due to being sick, which I definitely didn’t plan for.

4) What are your specific goals for the next week?

Merge box selection in, try to get unit highlighting working, and then help with anything else the team needs help with or determines is high priority.

5) What did you learn this week, if anything (and did you expect to learn it?)

I didn’t learn much at all, just implementing box selection and resting.

6) what is your individual morale (which might be different from the
overall group morale)?

Very low, and hoping that the doctor’s can determine what’s wrong so I can get better quickly and get back to contributing as much as I’d like!

Ethan’s Update: Week 8

1) What were your concrete goals for the week?

My goals were to get background music playing when game launches, and finish up tech tree implementation and integrate it with current unit building mechanism.

2) What goals were you able to accomplish?

Tech tree is mostly done at this point. It’s up as a PR and allows player to research and unlock new technologies, which may unlock new units, unit upgrades (not in game yet), and many other powerful high-tech thingy.

3) If there were goals you were unable to meet, what were the reasons?

Unfortunately I wasn’t able to get music working due to some technical issue using the sound library. I was blocked by dealing with linkage issue early on, and now the game will not find the dynamic library, which means it won’t even start.

4) What are your specific goals for the next week?

Obviously our goal should be get the base game finished by the end of next week, so I would expect to have everything game play related done. I expect myself to be wrapping up tech tree and trading system, and integrate them into the rest of them game.

5) What did you learn this week, if anything (and did you expect to learn it?)

I learned about how to set up Visual Studio and use an external library, even though I’m still having some problem hooking it up with my code…

6) What is your individual morale (which might be different from the
overall group morale)?

A bit disappointed by the little progress I made this weekend, but I’m fairly confident about us finishing the game, so I’m very excited to see what we can deliver at the end.

Brandon’s Update: Week 8 (30 May 2017)

Concrete Goals

Once again, I found my concrete goals revolving around cities. This time, I was tasked with enhancing unit production. My primary goals were to create multiple unit types, have them cost resources, take time to build, and queue. As usual, I also tasked my self with general maintenance and game-improvement tasks.

Accomplished Goals

Unfortunately, I wasn’t able to accomplish all my goals. I did do a decent amount of bugfixing and added the ability to create multiple units. I also made units cost resources, queued them, made them take time to build, and added a leaderboard UI. (Although I didn’t accomplish everything, it was still productive!)

Unaccomplished Goals

Unfortunately, I wasn’t able to put as much time as I wanted doing general maintenance and overall improvement. However, from a feature-first perspective, this seemed like a good week.

Next Week’s Goals

 

We are getting close to the finish line. Next week, I want to drop all of my own personal ideas and help move things along wherever they need to be moved. Specifically, I predict working on the trading system UI, the audio, and making the game experience a little smoother (I didn’t get to spend any time on figuring out what was making our game stutter. I want to fix this. The game in its current state is not good demoing material)

This Week’s Learnings

 

To be honest, I don’t feel like I learned much this week. Just the usual software engineering grind.

Makin’ classes
Makin’ methods
Makin’ templates
Fixing compile errors

Morale

 

My morale is still high due to the good amount of progress I made this week, but I am rather disappointed in the progress we made as a team.

But I have to remain positive. Stay positive. Stay positive. Stay positive.

Week 8 (30 May 2017): Team & Individual Reports

Overall Status:

Two more weeks to finish! It is safe to say that our status is “stressed”. This past week, we had a few members down-and-out (due to job interviews, prior obligations, and sickness), so our progress was limited. However, we still were able to add some features to the game.

Client Side, we fleshed out even more GUI-stuff. We fixed some selection and GUI display bugs. We also added more interactivity to city UIs and unit UIs. There is also work being done on some unit autopathing. A bunch of work was also done to get audio integrated into the game.

Server Side, we’ve added the capability to manage multiple types of units and attack cities. We also added colors for each player so that we could differentiate players from one-another.

We have also begun work on making units cost resources (and time), further integrating cities as first-class destroyable objects, and making the game end with a clear victor (score!).

 

Group Morale:

As usual with TEAM SOLARWARE: THE BEST TEAM IN THE NATION, our morales are mixed. Dylan is sick and sad. Some members were able to make lots of individual progress, while others were stuck on kinks. And, as usual, we’ve had a buildup of code-reviews. However, we seem to be making pretty steady progress in terms of game features.

Individual Updates:

Ethan’s Updates

Sylvia’s Updates

Jessica’s Updates

Dylan’s Update

Brandon’s Update

Raj’s Update

Raj’s Update: Week 7

What were your concrete goals for the week?

For this week, I planned to start working on city combat — getting units to attack cities, and vice-versa. Further, I also planned to help Sylvia and Jessica with integrating rotation with the changes I made to Units and the Unit Manager. Lastly, I wanted to get the ability for Units to follow other objects and group unit selection added on the server side.

What goals were you able to accomplish?

This week, I was simultaneously preparing for my interview. However, I was able to finish most of what I got planned this week. City combat is up in a PR, which I hope to get merged into master by tonight. Also, during the week, I was able to help Sylvia work out some issues with combat animations on the client side. Further, we decided to not let units “follow” other game objects, but rather have the unit move to the location of the object when the selection was made. As that functionality is already implemented, I forwent this goal.

If there were goals you were unable to meet, what were the reasons?

I was able to get through all of my goals for this week.

What are your specific goals for the next week?

For the upcoming week, I plan to work on getting resources on slots and having those slots yield players a resource instance incrementally over the course of a game. Also, I need to work on promoting a player to either destroy or capture a city that they have won, then handle the appropriate transfer of ownership on the client side. After this, all aspects of city and unit combat should be covered.

What is your individual morale?

My morale is still high! My interview went well, and since last week I finished all of this week’s homework in my other classes, I will be able to focus more time on the game!

Week 7 (22 May 2017): Team & Individual Reports

Screen Shots:

Overall Status:

After weeks of putting it off, our team finally got a handful of UI components in. It seems like most team members are already working with the nanogui library and are creating their own displays for the game. Now, we can have some gameplay going on with the UI instead of triggering everything with hot keys. The animations for the unit are also finally correctly linked with triggers, and Slyvia has seemed to figure out the best way to handle rotation.

On the graphics side, there are some debugging wireframe modes thanks to Dylan. In the backend, Ethan has worked out some logic for trading systems and the tech tree.

We almost have a base game going, and Brandon has created unit spawning from cities.

Group Morale:

The group morale seems to be very mixed. There are some really hyped team members and others who have hit a slight rut in the week with endless debugging. Overall, it seems pretty steady.

Individual Updates:

Ethan’s Updates

Sylvia’s Updates

Jessica’s Updates

Dylan’s Update

Brandon’s Update

Raj’s Update

Ethan’s Update: Week 7

1) What were your concrete goals for the week?

My plan was to finish up trading system, and implement the tech tree before getting them integrated with UI.

2) What goals were you able to accomplish?

I managed to finish the trading system with its basic functionalities, and a working tech tree that doesn’t do anything in the game yet.

3) If there were goals you were unable to meet, what were the reasons?

I pretty much met all my goals this week, but I am a little behind schedule in terms of the progress on tech tree. I thought I should get tech tree integrated into unit production, but I didn’t have much time over this weekend to work on it, and we haven’t discussed much about how it should work either.

4) What are your specific goals for the next week?

I’m hoping to finish up all basic game play implementation this week, as we don’t have much time left before we should produce a basic working game. All features we have at this stage are just proof-of-concept. I really want to get all of them settled this week before we start to actually put the game design down.

5) What did you learn this week, if anything (and did you expect to learn it?)

I didn’t learn much this week, but I did learn a trick to avoid circular dependency by forward declaring a class. I also learned, surprisingly  for the first time, the difference between including a header in a header file against including in a source file.

6) What is your individual morale (which might be different from the
overall group morale)?

My morale is as high as before, as we are getting closer to finish the base game. With the UI being laid down, we now can see what the game will eventually look like, and I’m pretty excited about it.

Jessica’s Updates Week 7 20170522

1) what were your concrete goals for the week?

Originally, the main goal was having UI for units. That wasn’t really much, and I was searching for more things to do. The team said there wasn’t anything pressing for graphics yet, so I decided to try and implement obstacle avoidance so that spaceships don’t turbo through each other and planets.

2) what goals were you able to accomplish?

UI was done pretty quickly. I had to refactor once so that the design would match with Dylans’s suggestions. An hour or so ago, Brandon reviewed the code and said he wants some minor tweaks, but since I’ve been tutoring, I haven’t had a chance to look at it yet. However, I will do so later tonight after

For obstacle avoidance, I ran into some design issues as well as some server issues again. The main gist of it seems to be there with some known issues as well.

In addition, I’m not entirely sure if it’s working since I don’t really have a way to test it out other than randomly spawning units and making them attack each other with the hopes that there is an obstacle in between, but Brandon says there is a PR coming in where I should be able to control unit movement to improve testing.

3) if there were goals you were unable to meet, what were the reasons?

One of my issues that doesn’t seem like a huge issue yet, but should be handled is that only moving units should be checking for collision detections, but since I’m doing it on the server side, I am having difficulty checking for this condition. At first I thought I could just fetch its current command, but it seems to always be set to Idle. So I tried creating a boolean and an isMoving function, but that seemed to crash the Client before it even loads the scene for some reason.

4) what are your specific goals for the next week?

Asides from what the team says is necessary for the graphics end, I want to try adding sound to the game since ours is silent so far. (Though technically if you want to be scientifically accurate, there should be no sound).

5) what did you learn this week, if anything (and did you expect to learn it?)

I learned how to work with the nanogui library.

 

6) what is your individual morale (which might be different from the
overall group morale)?

Morale is slightly better than last week, though I felt like I could have contributed more.

Also slightly weary about the last few crunch weeks since there will probably  will be marathons of shelling out features for both this class and 112 in which my team asked me to switch out roles from documentation to the lead of the front end team.

Sylvia’s Update Week 7

What I Planned

For this week, I plan on wrapping up on the attack, death and orientation animation and merge it with master. I also want to get familiar with nanogui API and write up a trading user interface to integrate with the existing trading framework. This will probably take up a good chunk of time, as the API has some sort of learning curve. At last, for stretch goal, I would like to add some visualization difference between friendly and enemy units.

What I Have Accomplished

  • Make unit CORRECTLY rotate towards enemy spaceship
  • Fully link all animations, including rotation, attack and death
  • Started on designing and implementing trading user interface, but not close to a pull request yet

The Unexpected Factors

This is perhaps my slowest week yet… Hours and hours of debugging, just so we can have a perfected rotational animation. Jessica and I teamed up this week to work on animation together, however, we went on a long, long journey to perfect the rotation algorithm. In the end, it took way too much time and exhausted our energy. After multiple back-and-forth attempts, I decide to discard our half-working, pre-existing code altogether and create a simplified version. Instead of of smooth rotation around a calculated, arbitrary axis, I lowered the goal to an immediate, sharp turn around only y-axis, making it easier to achieve. Taking the TA’s advise, I started from writing basic functions that rotate only around singular axis. Subsequently, I realize that I am using function from an older opengl version, which produces an inaccurate rotational matrix… It also explains the inconsistency between radians and degrees across our opengl functions due to version differences (newest version use solely radians). The change also helps me realize that functions like acos only return positives angles range from 0 to pi (non-directional). All the small mistakes lead to hours of work and complete exhaustion.

For the Future…

I will be heading back home during Memorial Day weekend. However, before leaving, I wish to finish the majority part of trading user interface and chat with Ethan about integrating all the back-end infrastructures with it.

What I Gained

Jessica and I tried really hard to research about opengl rotation, as well as coming up with a relatively efficient way of activating animation from server to client. In the end, we had to compromise efficiency for accuracy (sending mat4 data from server to client, removing smooth rotation, and installing arbituary rotation around only y-axis). I’m glad to have communicated with the TA during lab hours, because his input gave me a good idea on how to further debug my code. Also, I had a massive loss of interest after long hours of debugging with vain. This resulted in a weekend of stagnation, wasted solely on the purpose of debugging. I should have balanced my time better, delegating more energy towars trade UI instead, which might also help on refreshing my mind.

How I Felt

Like mentioned before, this week is probably the lowest I’ve felt, due to my inability to move onto new functionalities, resulting in a state of stagnation overall. I really hope to overturn this by starting fresh on a new component of game play (trading), and regaining confidence by learning the nanogui API. This should be get interesting and allow me to use my creativity in beautifying the user interface.

Dylan’s Update: Week 7 (22 May 2017)

1) What were your concrete goals for the week?

Learn more about the UI library, add more UI functionality, and implement box selection.

2) What goals were you able to accomplish?

I implemented an overlay window to display player resources and the client’s framerate after a lot of struggling with the UI. The library isn’t very intuitive when it comes to anything more than a really simple window setup, so it forced me to learn quite a bit about how it works and what the available operations are. I made some changes to how we store spatial data to fix some very rarely occurring bugs now and safeguard against bugs in the future as they would grow increasingly frequent with the old strategy. At the request of a couple team members I implemented some visual aides to debug mode to make debugging client code easier.

3) if there were goals you were unable to meet, what were the reasons?

I was unable to complete box selection. I still have a preliminary implementation from long ago that needs to be updated, tested, and tweaked, but it isn’t quite ready yet. My unexpected, extra work combined with an extra busy week and an unwelcome illness put me behind a bit, but not by too much. Hopefully it clears up and I will be back to full productivity!

4) What are your specific goals for the next week?

Box selection, highlighting selected objects. Depending on our team meeting I might end up needing to work on getting objects of each player to display differently.
Stretch goals are lobby window/system.

5) What did you learn this week, if anything (and did you expect to learn it?)

Most of what I learned was just about how to use our UI library and about how it works internally. I definitely expected to learn these things.

6) what is your individual morale (which might be different from the
overall group morale)?

Definitely high. The game is starting to look a lot nicer, and we are getting lots of important functionality in faster and faster!