Week 8 Update

Movement and switching animations, all controlled by the server
Spot lights!

“We shall cosplay the gaming industry and crunch everyday.”

Group Update

Game play:

  • Jumping and gravity on player
  • Map generation with randomized trees
  • Colliders for trees, tiles, and players are done and somewhat optimized
  • Shooting mechanic works and correcting recognizes the closest object it collides with, so the groundwork for an HP system is basically all in place

Animations and graphics:

  • Player animations now change when they perform different actions
  • Player models now rotate their animations according to which way they are facing
  • Multiple players are able to connect, see each other move around, and see each others’ animations
  • Spot lights

Networking

  • Huge overhaul to client structure, things are much cleaner and easier to understand now
  • Optimized data sent for map pieces

Shane

What were your concrete goals for the week?

– Map generation

– HP

– Mutex

– Client rewrite

– Optimizing data passing

What goals were you able to accomplish?

– Not saying we built a game in one week, but we built a game in one week [insert dab here]

– Map generation works, we have random trees

– Thought of an amazing idea for the back story: instead of flags we have pets whom your neighbor kidnapped. You have to get your pets back, so you go on a journey. After capturing them back, they will follow behind you until you die. It isn’t because we were too lazy to make a flag holding animation or optimize flag capture/ follow logic or anything… Please don’t look at me like that…

– Mutexes took 5 minutes to implement… maybe we should have done it earlier instead of playing Boost error russian roulette for the past 2 weeks…

– Client rewrite to incorporate the game manager better, the structure now mimics what we had on Server, which makes much more sense and uses a much more straightforward method chaining for sending and receiving stuff from the Server

– Changed the data sent in map state packets to just be a single seed which both the Server and Client uses to randomly generate their trees. No more need to send over every object position. Array of 3 glm::vec3 of 3 ints -> 1 int = at least twice the efficiency. Yes I checked the math.

What are your specific goals for the next week?

– Point system finally

– HP

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

– Every boss has a second phase, if networking is fixed then we will inevitably encounter a collider problem

– Coding actual game logic is massively more fun than staring at boost::asio::async_read_until(connections[playerId]->getSocket(),bufs[playerId],”\r\n\r\n”,boost::bind(&Server::handle_read,this,playerId,boost::asio::placeholders::error,boost::asio::placeholders::bytes_transferred));

– Thomas is worse than Trump at coloring within the lines

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

PROGRESSSSSSSSSSSS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Thomas

What were your concrete goals for the week?

Finish spotlights, handle switching between animations, and help integrate everything.

What goals were you able to accomplish?

I finished spot lights, which didn’t take as much time as I wanted. We can now switch animations based on the player’s actions. There are only two set up for now, but adding more just means we would need to add other values to the enums.

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

I didn’t work on the new ui, since we needed to work on the colliders and other integration problems. Shane and Aneesh and I worked on the collider logic, and we needed to rewrite a good portion of the math. But now we have colliders that are MUCH more consistent.

We are starting to get the health and actual game mechanics put together, so we’ll have new UI code soon!

What are your specific goals for the next week?

I want to improve the shading a little, there are a few small bugs we need to figure out associated with the fog.

I’ll help out with any gameplay features we need, and work on the UI/rendering features we want to add. If we have enough time, it would be nice to have shadows, either on the main directional light or the spotlights. We’ll see how the gameplay features get implemented. 

It might be nice to have some sort of effects when we capture the flag, and also adding sounds would be another nice add on feature. 

Some sort of lobby UI would also be a good nice-to-have, but it’s not the priority for now.

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

COLLIDER MATH IS A PAIN. THAT IS ALL.

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

Now that we have almost all the bugs sorted out in our engine/server code, we should be able to get gameplay working really quickly. I think we have a good plan for how to handle storing and rendering the player’s health, we have raycasting and box collisions working, and animation commands are being sent from the server to the player. I’m SO EXCITED TO GET IT GOING!!

Sam

What were your concrete goals for the week?

Gameplay mechanics + gravity and jumping 

What goals were you able to accomplish?

Gravity and Jumping. Initially Gravity and jumping were working just swimmingly on my own branch but after I incorporated it into main, they started failing royally. As the kids would say it’s not cash money. However, Thomas realized that it was a client issue (bless Thomas) as I was handling gravity on the client instead of the server and so I moved it to the server and it was working. I also tried to get jump working in a very crude way such that you can only execute a jump command below a certain y axis (otherwise you’d be an angel and fly).

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

Everything I wanted to achieve was there, but for the end of this week I want to make a huge push and get gameplay working 

What are your specific goals for the next week?

More gameplay 

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

Handling things client-side vs. server-side can have very dramatic side effects on the outcome. The issue with gravity on client side is that if I try to move the client window around, the client freezes and we somehow fall through the ground. 

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

We were able to achieve a lot this week, and I’m incredibly happy about the progress

Aneesh

What were your concrete goals for the week?

Fix Networking Async issues.

Help with other game mechanics (map generation)

What goals were you able to accomplish?

Map generation is complete. We have a square grid of tiles with trees.

I think that the networking issue has been fixed but I am not sure because when I was recently trying to implement health mechanics for the game, I ran into serialization issues at random (AGAIN)…. So IDK.

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

I honestly think Networking was fixed until this new issue showed up. However, I did modify the data that was being sent over from the server to the client and I think that may have caused something to break (maybe the packet size is limiting). I guess I will have to spend some more time on debugging this to get to the root and fix it.

What are your specific goals for the next week?

Find and fix possible bug in networking.

Get Health Mechanics up (includes displaying health info on the HUD on client side, and handling bullet hit damages on the server side).

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

A cube in Blender is actually not a unit cube. It is a 2×2 cube instead. Imagine our confusion when our colliders seemed to be half the size of the model “unitCube.dae”….

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

We are making some progress towards a more finished game with mechanics. I get the feeling that our group is a little behind on progress than the other groups when I see all the demo-reservation notifications on discord but I think we made fast progress this week. Off the top of my head, I know that we got map generation, animation switching, cuboidal collisions (instead of simple cube collisions), gravity and jump mechanics working…. IN THIS WEEK. I think that definitely is good progress and if we get similar amounts of work done in the upcoming weeks as well, we should be GUCCI.

Sheila Pham

What were your concrete goals for the week?

Remake animations. Help with map generations.

What goals were you able to accomplish?

Remade idle, walk, run, shoot, death and dab animations for the textured, rescaled human model. Made a fish model for the flag and swimming animations with two textures (ghoul and zombie). Help with map generation logic and positioning player in the world by an offset.

A flag model has been made, but it became a fish, not a body pillow. The other animations like death, idle, walk, run, shoot have been finalized and scaled accordingly with texture. The map generation algorithm was finally used to make the map. Tree models are finally used.

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

More logic for switching animations between more of the different models. Need the death flag to trigger death animations.

What are your specific goals for the next week?

Help implement more game logic. Maybe make different player variation (meaning I change the texture or something easy like hair mesh).

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

I learned how to change and make texture for the models with smart UV unwrap.

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

I’m feeling very optimistic about this week, all the things we made individually are coming all together. It’s starting to look like what we proposed from. I feel great that our coding party is so productive and funny. Everyone has such a good energy.

James

What were your concrete goals for the week?

Map Generation, gravity, and improved movement.

What goals were you able to accomplish?

We got basic map generation, gravity, jumping, and movement controls that make more sense for players walking on the ground (not free flying camera). Additionally, we also improved the collision detection to detect ray-box collision, and the boxes no longer have to be cubes (the x,y,z dimensions don’t have to be the same).

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

I think we had planned to get more of the UI there and some things with display player HP. There is some progress there, but I don’t think it’s complete just yet. I also wanted to have gravity and jumping less crude, but I think this is a small issue and it is definitely playable right now.

What are your specific goals for the next week?

Add more content to the UI, such as a scoreboard, player hp, weapon swapping, etc.

I also would like to have movement things smoothed out and reintroduce the quadtree (However, I think naïve collisions may actually be fast enough).

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

I learned more about how to better detect collisions, which was a little unexpected.

Was also reminded that the order of scale, rotation, and transformation matter.

Additionally, the unitCube we were using is not of unit size.

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

A lot better, but still lots of work to be done!

1 comment

Comments are closed.