Week 2 Status Report


Group Status Report:

  1. Summarize your overall status for the week
    1. Status is on track:
    2. Animations are working for graphics end — models, textures, and animations loaded in for dummy models
    3. Client side code for client-server network has been written (functional style callback for the main network loop added)
    4. First character (Bumbus) has been modeled, textured, rigged, and animated
    5. Custom model mesh and animations imported and player movement added (models are controlable with WASD)
    6. Set up the wordpress website.
    7. Got to know each other 🙂
  2. Weekly meetings every Tuesday at 10:30. Next one is on Apr. 12th
  3. Morale is high, we’re making great progress and everyone seems to be having fun with the project. Also we found a new teammate, so thats also exciting!
  4. Screenshots
    Gif of Bumbus’s (playable character 1) walking animation:


    Gif of player movement (using WASD)


    Adjusted player movement, idle animation and camera:

Individual status reports:

Cher:

  1. Concrete Goals:
    1. Concept art for major aspects of the game (characters, UIs, environment)
    2. Getting a solid idea of the game’s style/visual vibes
  2. Accomplished Goals:
    1. Drafts of buying/selling UI, scoreboard UI
    2. Drafts for a few character designs
    3. Potential logo draft
  3. Goals Not Accomplished:
    1. Refinement/finalization of said drafts; additionally, there’s potential future additions (interfaces, items, character-related stuff) to our game’s current state that could require more art
    2. 3D corn model 🙁
  4. Goals For Next Week:
    1. Finish as much concept art as possible
    2. Start thinking about sound design for the game—music, sound effects, overall vibes
    3. Improving 3D modelling skills; get corn
  5. What I’ve learned this week:
    1. Learning about Maya/3D modelling, definitely challenging, also shout out to Danica ?
  6. Individual morale:
    1. Hyped seeing it come together!

Cynthia:

  1. Concrete Goals
    1. Load Models
    2. Load Animations
    3. Get basic player movement
  2. Accomplished Goals
    1. Was able to load models and animations using the ASSIMP library! However I had to import Danica’s .fbx models into blender and export them in order for it to work correctly
    2. Callback methods for WASD movement to move player completed
  3. Goals not Accomplished
    1. I want to revise how I am loading the models right now, as right now I am reloading the same model with different animations which can be a longer process. I plan to optimize by communicating with Danica about having multiple animations in one .fbx or .dae file. This prevents the game having to reload the same mesh data for every different animation.
  4. Goals for next week
    1. Revise/Optimize model data, such that a model holds multiple animations
    2. Work on implementing classes for gameplay logic
  5. What I learned this week
    1. The structure of Maya’s .fbx is different than Blender’s .fbx. Same goes for .dae files (testing them out with the ASSIMP library produces drastically different results)
  6. Individual Morale
    1. Excited to see all the developments on our project so far!

Danica:

  1. Design a bunch of cute characters:
    1. Model at least 1 character
    2. Rig at least 1 character
    3. Texture at least 1 character
    4. Animate the walking and holding animation for at least 1 character
  2. I managed to complete 1 character
  3. I wish I was able to complete more than 1 character. However, I feel like I was able to refresh all of my 3D modeling skills so I’ll be able to get future characters done faster. Plus, some of the rigging can be reused for future characters which will hopefully speed things up.
  4. Goals for next week:
    1. Make+animate at least 1 more character
    2. Make my animated character work with the graphics engine
    3. Hold a 3D modeling lesson for our team!
    4. Work on the user input side of our project
  5. I refreshed a lot of my 3D modeling skills, and learned a bunch of new rigging techniques. My FBX file kept getting corrupted, so I learned some workarounds for that. Plus, I think I practiced how to communicate with a team and hope it’ll improve as the class continues
  6. I’m super pumped!

Jakob:

  1. Concrete Goals for the week:
    • Plan the overall structure of our application (Serverside and Clientside)
    • Use tools given by the networking team to use basic callbacks given from the server to the client
    • Create top-down camera following code for the Player
    • Update player movement to include velocity, acceleration, and friction.
    • Make a carrot model for the game
  2. Accomplished Goals
    • Overall Structure very generally planned (a lot of fine details to still go over)
    • Created camera movement
    • Created updated player movement
  3. Unaccomplished Goals
    • Not completely honed in on the structure of the application yet (but general enough to start production
    • Didn’t finish the carrot model 🙁
  4. Next Week’s Goals
    • Next week I would like to be able to get the logic for the game state written down in the serverside part of the code and be able to send important info back to the client. When the client gets this info, it should be able to apply it to its current game state and render off of that.
    • Help Danica & Cynthia with Interpolating between animation keyframes (so our game looks REALLY smooth)
    • Stretch Goal: Implement bounding boxes for interaction. This is going to require the creation of some sort of Collision data structure that we have to implement (KD Tree?) which includes creation, updating when objects move/are added/are deleted, and finally a look-up method to check for overlaps between colliders.
  5. What I’ve learned this week
    • I’ve learned a lot of little things like using atan2() to get degrees from a 2d vector, using multiple inheritance in cpp, and general use of the libraries we’re working with.
    • I also learned a lot about what we’re implementing at a higher level, and I’m finally able to understand what the heck the network team is saying when they tell me how we’re going to transmit data between the client and the server.
  6. Morale?
    • Pretty good. I think we’re at a really good place this early on in the project. Our two biggest hurdles are going to be getting multiplayer up and working, and then dealing with collisions/interactions, but after that, we’re set.

Jennie:

  1. Concrete Goals for the week: finish basic networking code:
    1. establish TCP connection between server and client
    2. server will echo back the message the client sent
    3. Test out the server/client on course server
  2. Goals Accomplish: The basic server/client is accomplished
  3. Goals Not Accomplish: The server/client has only been tested on local-host and not the course server. Because the networking code haven’t been merged with the graphic code yet so we only did some arbitrary naive testing. It seems more appropriate to push the code to course server after merge and do further testing.
  4. Goal for next week:
    1. Make sure the networking code works after the merge
    2. refine OOD design of network system for better readability
    3. Define packet struct for sending data between client and server
  5. What I have learn:
    1. I have learned about how to write server/client in C++ and its similarity and difference from writing in Golang.
    2. Learn how to 3D Modeling in Maya from Professor Danica 😀
  6. Make the game super cool!

Leon:

  1. Concrete Goals:
    1. Get caught up with the project specifications
    2. Getting to know the team!
  2. Goals Accomplished:
    1. Discussed and helped restructure codebase for future implementation (having interfaces, classes, a Game Manager, etc.)
  3. Goals Not Accomplished:
    1. I wanted to start on gameplay logic for player interactions, but restructuring/organizing the project code as a team took priority and made more sense to do first
  4. Goals for next week:
    1. Implement interaction system for players to interact with the closest object
    2. Implement collision detection
  5. What I Learned:
    1. Project specifications and getting to know everyone on the team
  6. Individual Morale:
    1. Excited to be working on this with everyone!

Nicholas:

  1. Concrete goals:
    1. Figure out desired architecture for the server
    2. Implement basic client-server model
    3. Create an echo server (connect server with client)
  2. Accomplished goals:
    1. Successfully implemented basic client-server model using Winsock
    2. Created a simple client & server main (separate from the graphics code) to test echo server functionality
  3. Goals not accomplished:
    1. I have not finalized the complete network architecture, because the team is still in the process of developing the gameplay logic, and we have just fleshed out what states and actions we will probably have.
  4. Specific goals for next week:
    1. Design the API / interface for the client code
    2. Further examine project requirements to design desired network architecture
  5. Learnings this week:
    1. What Winsock is, how to use it, and how glad I am that the majority of networking library follows the Berkeley socket model.
    2. How similar and different Windows can be in terms of OS API and programming environment compared to Unix based systems.
    3. How much I appreciate the “defer” keyword in Go for network error handling (especially after repeating the same/very similar error handling code for the 10th time)
  6. Individual morale: everything is going super well! Lots of fruitful and productive discussion early on, everyone is enthusiastic to work on the project

Leave a Reply

Your email address will not be published.