Week 3 Status Report


Group Status Report:

  1. Summarize your overall status for the week
    1. Worked on gameplay logic and general game structure
  2. Include both the week # and the date of the meeting
    1. Week 3. Date of meeting is Tuesday April 19tth
  3. add a statement summarizing the group morale (feel free to be creative in expressing your morale)
    1. HYPED AND WORKING HARD
  4. Screenshots
  1. Pogo:


  2. Yeeted Assets:
  3. Veggie seed buying WIP:
  4. Physics:

Individual status reports:

Cher:

  1. Concrete Goals:
    1. Finish the necessary UIs with Jennie + as much art as possible
    2. Makin it look fresh
  2. Accomplished Goals:
    1. Drawing out the character designs for the remaining player characters and the NPC
    2. Getting back into pixel art and getting a good start for 2D assets (e.g. the buying UI)
    3. 3D Corn 🙂
  3. Goals Not Accomplished:
    1. The rest of the UI assets are definitely not finished or in their final versions yet
  4. Goals For Next Week:
    1. Finish/finalize more of the necessary assets (e.g. buying/selling, scoreboard, etc.); translating more sketches to colored + digital
      1. Figuring out the final vegetable
    2. Get a cool logo going, title screen (?)
  5. What I’ve learned this week:
    1. Leaves are very fun to draw, at least in 2D
    2. There are many types of antique seed racks
  6. Individual morale:
    1. Cool to see everything coming together; feeling like I could have done more on my end this week, but still made some good progress and morale still pretty high (everyone else is doing fantastic!)

Cynthia:

  1. Concrete Goals:
    1. Interpolate between different animations (transition between animations smoothly)
    2. Import Danica’s new characters/models
    3. Get a very basic lighting/shader model working to ensure values are passed in correctly (like camera position, normals in world space, etc.)
    4. Re-export models such that animations are all in one .fbx file in order for start up to be faster and save memory (prevent loading the same mesh for every animation)
    5. Figure out how a character can “hold” an item without having it as it’s own mesh
  2. Accomplished Goals:
    1. Interpolation between animations work
    2. Each model is now represented as one .fbx file, which contains multiple animations
    3. Import Danica’s new assets
    4. Implemented a very basic lighting model (Blinn-Phong)
  3. Goals Not Accomplished:
    1. Figure out how a character can “hold” an item without having it as it’s own mesh
  4. Goals For Next Week:
    1. Figure out how a character can “hold” an item without having it as it’s own mesh. Probably have any holdable item store a Player pointer as a member variable and translate based on it a player’s position that is holding said item (or the other way around)
    2. Look into more real-time rendering techniques to get cool lighting in our game 🙂
  5. What I’ve learned this week:
    1. How to load multiple animations into one .fbx file
    2. Some physically based rendering techniques that we could possibly use in our game
  6. Individual morale:
    1. Excited to see more progress in our game :>

Danica:

  1. Concrete Goals:
    1. Refactor input manager and model inputs so that it’ll be easier for the network struct
    2. Try to get “pickup” and “drop” working
    3. Make more characters
    4. Turn separate animations into multi animation files (so we only have to load character meshes once)
  2. Accomplished Goals:
    1. Refactored input manager code for network struct
    2. Made Pogo (pumpkin head character) and Swainky (frog character)
    3. Yeeted some nature assets from Unity for the map
    4. Turned separate animations into multi animation files
    5. Imported Jakob’s and Cher’s 3D vegetable models yay!!!!
  3. Goals Not Accomplished:
    1. Still working on “pickup” and “drop”
  4. Goals For Next Week:
    1. Make more characters
    2. Work on map
    3. finish “pickup” and “drop”
  5. What I’ve learned this week:
    1. Refactoring in C++ is hard
    2. If you make every variable and method static… it will probably work!
  6. Individual morale:
    1. STILL PUMPED

Jennie:

  1. Concrete Goals:
    1. Refine the structure of client and server class
    2. Try to integrate UI into the game
  2. Accomplished Goals:
    1. create packet struct for client/server communication and replace dummy string with packet struct.
    2. Integrate Imgui library for UI( and update glfw to enable Imgui)
    3. Refactor the structure of main and window to adapt lmgui
  3. Goals Not Accomplished:
    1. Still need to work on server-side game simulations
  4. Goals For Next Week:
    1. Explore Imgui customization of UI to make score board and sale page
    2. working on server side game simulation
  5. What I’ve learned this week:
    1. it hard to integrating things , I first try to use glut but it seems to have some sort of conflict with glfw. The newest Imgui releases doesn’t work, a release back in 2018 works but it cause issue in keyboard input.
    2. static variable is tricky in c++.
  6. Individual morale:
    1. keep working!

Leon:

  1. Concrete Goals:
    1. Implement working sphere collision system
    2. Start on interaction system (interact region for player)
    3. Implement Vegetable class for player to interact
  2. Accomplished Goals:
    1. Worked with Jakob to implement working sphere colliders with collision resolution
    2. Started to work on interaction system for players utilizing the same sphere collider to act as a interact region
    3. Implemented an initial Vegetable class as a sphere collider that is trigger-able for the player
  3. Goals Not Accomplished:
    1. Didn’t end up implementing static colliders
    2. Still need to finish a working interaction system
    3. Need to get closest interactable object in the player’s interact region
  4. Goals For Next Week:
    1. Finish the interaction system for players to hold vegetables
    2. Work on static colliders and BVH
  5. What I’ve learned this week:
    1. Learned a lot about collision detection, collision resolution, and how BVH works!
    2. Circular dependencies in C++ can be difficult to deal with sometimes
  6. Individual morale:
    1. Excited to see the progress so far!

Nicholas:

  1. Concrete Goals:
    1. Start to formalize what the packets will look like, and how they are going to be used
    2. Refactor the code to introduce a clear client-server separation
    3. Work on gameplay logic if running out of tasks
  2. Accomplished Goals:
    1. Implement packet semantics using structs (instead of just having it as char *)
    2. Start separating the input logic and update logic, so we can be ready for the eventual client-server separation
    3. Integrate the echo client-server architecture with the rest of the client code. Specifically, we’re using the server to echo the input data
  3. Goals Not Accomplished:
    1. The API design has not been finalized, because we have decided to gradually port the logic from the client side to the server side. We think that working on just the design has diminishing marginal utility, and believe that it’s best to iterate through the design
  4. Goals For Next Week:
    1. Continue refactoring code to introduce a clear client-server boundary
    2. Start to move part of the simulation server-side
    3. Continue to help out on other parts of the gameplay logic
    4. Figure out the VS build target mentioned below
  5. What I’ve learned this week:
    1. The cascading nature of #include in C++ is annoying. Since #including a file will also include whatever has been #included in said file, it’s very hard to find the original #include that’s responsible for the necessary imports
    2. Visual Studio is quite finicky. I wanted to create a new build target to run the server main, but had to create a separate project within the same solution, have to re-specify the necessary libraries, and still can’t get it to work. I ended up with a workaround of directly specifying the absolute path of the library with #include “XXX” instead of #include <XXX>.
  6. Individual morale: really happy to see how the asset design is turning out, we’re definitely on track to make some really good looking (and cute) game!

Jakob:

  1. Concrete Goals:
    • Get Physics Engine up and implemented
    • Collisions for Circles
    • Working Collision between two Players
    • Collisions for Axis-Aligned Bounding Boxes
    • BVH implementation for static objects
    • Detect Interactions
    • Pass Data between objects for interactions
  2. Accomplished Goals:
    • Everything on this list was able to be accomplished except for a BVH implementation (it was not deemed necessary at this point in time), and passing data between objects for interactions.
  3. Goals Not Accomplished:
    • Going into further detail, it seems that there’s a little bit of confusion about what data we’re passing/how we’re passing data between interactable objects, and also constructing the physics engine so that we are able to assign more than one collider to an object, so that a player for instance can have an interact region + a seperate physical collider (both of which are currently colliders in the code).
  4. Goals For Next Week:
    • Get the interaction system working
    • Code simple interactions so that a player can pick up a vegetable and walk around with it
    • If we have time, do the necessary code to let players plant held seeds onto plots.
  5. What I’ve learned this week:
    • I’ve learned a lot about collision detection as well as how to resolve collisions between two different objects. It gets a lot more complicated than what we’ve done so far, but what we have should be satisfactory for everything required from our game.
  6. Individual morale:
    • hype


Leave a Reply

Your email address will not be published.