Week 1000 – 05/26/2021

Group Status Report

This week has been a very different week compared to the previous week as we finally have our MVP done! We now have defined a lose condition for the gameplay. I believe everyone in the team is converting their motivation towards the game to be more creative instead of technical. Evan on the rendering side working along with Alex created beautiful UIs for the gameplay, the gameover screen, and also the health bar for towers, players, and enemies.Cora on the model, created a bullet model, and colored spaceships to indicate different players. On the gameplay side, Alex, Priyal, and Carlos focus heavily on brainstorming and making new ideas happen in the game. 

^^ this photo was taken at 1:20am on Thur May 27th

Individual Status Reports

Alex Garza

Concrete Goals:

  • Work with Evan on implementing UI elements
    • Health bars
    • Tower names
    • Game Start/Over screen
  • Stress testing the game with multiple clients, more enemies, and a lot of projectiles
  • Start working on a system to only allow the game to start once all the clients connect
  • Think of a new feature to add that will spice up gameplay

Goals Accomplished:

All of the above in addition to

  • Adding power ups that randomly drop from enemies including damage boost and speed boost (more to come)
  • Helping Evan create an Octree to improve collisions

Justification for unaccomplished goals:

  • No unaccomplished goals!

Specific Week 9 Goals:

  • Add an explosion powerup and an invincibility powerup
  • Create and add “power-downs” which the player must avoid
  • Make the player only regenerate health if they are within range of an alive tower
  • Integrate Evan’s game over screen with some extra information the server sends when the game ends (MVP, time survived, etc.)

What I learned this week:

  • Working with Evan on the Octree was a goldmine of knowledge. I learned how to actually implement user defined iterators, how an Octree actually works, the erase remove idiom, and how disgusting C++ vectors can be, especially when removing an element by value: this->mObjects->erase(std::remove(mObjects.begin(), mObjects.end(), object);

Individual Morale:

  • My morale is high! I am really excited for this last push and to see what we have by next week. I really enjoy working on all these gameplay features 🙂

Carlos Wirawan

Concrete Goals:

  • Keep track of necessary information in determining the mvp (enemies killed, number of death)
  • Add more SFX!

Goals Accomplished:

  • All of the above

Justification for unaccomplished goals:

  • I have no unaccomplished goal, but I didn’t have too many goals set as well as I am pretty busy this week.

Specific Week 9 Goals:

  • Lose condition effect: when the game ends, particles go all over the globe.
  • Add unique player classes (one has more health, one moves faster, etc)
  • Projectiles instead of shooting cubes
  • Integrate the game over screen

What I learned this week:

  • I learned that the size of a long is different in 32 bits and 64 bits which caused me confusion when sending endgame data from server to clients

Individual Morale:

  • My morale is high, I am very excited to see the final product of the game!

Cora Xing

Concrete Goals:

  • Fix Fallen Star because half of it is not displaying due to Blender settings I used
  • Make bullets
  • Start on making UI components
  • Cut Bearl’s head off to indicate state that Bearl’s health is down
    • Perform similar transformations to other towers
  • Smooth out islands on planet because they are very clunky right now

Goals Accomplished:

  • Fix Fallen Star because half of it is not displaying due to Blender settings I used
  • Make a bullet model
  • Make a cloud model
  • Cut Bearl’s head off to indicate state that Bearl’s health is down
  • Smooth out islands on planet because they are very clunky right now – WIP wednesday

Justification for unaccomplished goals:

  • Had a big goal list and forgot I had to work on making a model for clouds woops

Specific Week 10 Goals:

  • Start on making UI components
  • Create two more states for each of the towers to indicate damage
    • Fallen Star
    • Sun God
    • Stonehenge
  • Make models for the powerups below
    • increase damage
    • speed
    • explosion
    • invincibility
  • Recolor player ships to make them more uniform if I get to this + other last minute tweaks

What I learned this week:

  • Thought I was done with model-making but turns out there’s more cool stuff we can add — power ups and tower states!
  • The direction that surfaces are colored in Blender are affected by the direction of the normals of each surface; Fallen Star only had half its body show up in the game because the other half had normals pointing in the opposite direction. Learned this cool tip from asking on the Blender Facebook group that I’ve been lurking in and got a response from helpful community members within the hour!

Individual Morale:

  • A little worried about workload for next week and an assignment for another class due the day of the demo but thank goodness for late days; will need to budget time very wisely this coming week. 
  • Really excited to see everything coming together, and a little sad that week 10 is going to fly by soon.

Evan Laufer

Concrete Goals:

Goals Accomplished:

  • Added text/ui rendering (i.e. health bars, current wave timer)
  • Added health bars above enemies and players
  • Added support for multiple models on an object that change based on some object state (i.e .towers getting destroyed)
  • Added octree, now collisions are fast enough to support large numbers of enemies and projectiles
  • Added game over screen using above
  • Added rainbow particles
  • Added particles behind the player

Justification for unaccomplished goals:

  • None

Specific Week 3 Goals:

  • Cloud rendering? Not sure how many of these we will have? I’ll probably just have them always render last, that way transparency will just work
  • Random clean up aesthetic things, i.e. getting a better flame particle texture, cleaning up the planet “flatness”, maybe any random shader improvements.

What I learned this week:

  • Pointers are lame, octree edition
  • C++ iterators have weird traits, and I should probably find out what the traits do one day

Individual Morale:

  • Really good! Excited that we are almost done!

Priyal Suneja

Concrete Goals:

  • add power ups to the game 
  • add clouds 
  • add multiple client ships to the game
  • add UI elements to the game like player health and enemy wave details 
  • If player is in radius of tower, player heal quicker
    • Players now only heal when near towers – WIP wednesday 

Goals Accomplished:

  • all of them! 

Justification for unaccomplished goals:

  • none 🙂

Specific Week 10 Goals:

  • load in the projectile models
  • load in the cloud models
  • load models for powerups
  • add UI elements for power ups
  • lose condition effect: when game ends, particles go all over the globe
  • Config file for number of players need to start the game
  • add visual effects to denote tower health. have one of these two options:
    • As tower/players get weaker, make more transparent 
    • Towers go into the planet/smaller as they got weaker

What I learned this week:

  • not a lot, as we are adding minor features to our gameplay to make it more fun. 

Individual Morale:

  • pretty high! I am excited to add as many cool features as we can to make our gameplay exciting!

Quotes of the week:

  • Priyal: “the things you have to do to make Alex pull from a branch….”
  • Alex: “the octree doesn’t work”. Alex two seconds later: “the octree works”
  • Evan: “my octree is perfect”
  • Alex: “it doesn’t matter WHY it’s fixed it, it matters that it’s fixed”
  • Cora: “why are the clouds rocks again?”
  • Alex: “Cora’s laptop blue-screened because of Evan’s render code”