Browsed byMonth: April 2016

Network: The network infrastructure is pretty solid now. We improved the packet system to use a byte buffer so we can be flexible with the data we’re sending.

Graphics:

Gameplay:

Input:

Art:

Audio:

Meeting Dates:

Every Tuesday and Thursday morning for all team meetings

Saturday for graphics team

Tuesday and Sunday for networking team

Monday for a combination of some networks & graphics

Group Morale:

Screenshots:

Individual Progress Reports:

Brian:

1) What were your concrete goals for the week?
To get the client to update based on what the server had sent back. Also, we worked on the new packet structure changing it from a set structure to something more like a byte buffer of some sorts.

2) What goals were you able to accomplish?
We got the client to update accordingly to the server and what it sent back instead of just doing everything client side. The packet structure was also changed into a byte buffer which allows for multiple structures of packets to be sent back and forth.

3) If there were goals you were unable to meet, what were the reasons?
We got everything done for the week and functioning. We did run into trouble of how we initially imagined the byte buffer. We had hoped it to be a packet with a variable buffer length. We soon found out that storing a pointer to a buffer and sending that pointer to a client won’t mean anything so we ended up having a fixed length buffer of the biggest object needed to send back and forth instead of a ridiculously large buffer which causes excess data to be sent back and forth.

4) What are your specific goals for the next week?
Now that we got a hopefully nice buffer working, we plan to start working more on game logic thus allowing us to expand on the types of objects and structure of the network when sending packets back and forth.

5) What is your individual morale (which might be different from the overall group morale)?
It’s pretty good right now. Interesting things are being done with our group and it’s cool to see the world we made interact on two different computers.

David:

1) What were your concrete goals for the week?
My concrete goals were to fix the Visual Studios issues with the Bullet Physics installation, get symbolic objects for Player, Map, and Bullets, as well as connect networking to the physics engine

2) What goals were you able to accomplish?
I was able to fix the Visual Studio installation issues with the Bullet Physics engine, and have continued implementation of the game physics objects. I have been implementing the game logic as an API that the network update method can call.

3) If there were goals you were unable to meet, what were the reasons?
We have not yet connected the network update to call the Game Physics API just yet, but we are ready to. We will do so during our next meeting

4) What are your specific goals for the next week?
Further implement the game logic in adding health calculations, angle of fire, different weapon types, and flag pickups. See if components can be utilized in game implementation.

5) What is your individual morale (which might be different from the overall group morale)?
After fixing the Visual Studio issues, I feel like I better understand the IDE and can focus more on game implementation. More hopeful

John:

1) What were your concrete goals for the week?
I wanted to improve the packet structure to use a byte buffer so that we could send more general packets between the client and server.

I wanted to merge the networking side with David’s game objects this week so that we’d have a fully integrated graphics/network/game-physics into a “game”.

2) What goals were you able to accomplish?
I implemented the packet improvements and started a pattern for object serialization/deserialization. We only have one type of object so far that contains positioning info, but as we go along, we can just use this pattern for (de)serialization.

3) If there were goals you were unable to meet, what were the reasons?
Met up with David to try to start integrating his game objects, but we were running to some issues with bullet and Visual Studio. We managed to get those issues resolved, but didn’t have the time to start the integration.

4) What are your specific goals for the next week?
I’ll be working with David on the game objects, physics, and gameplay since the networking side is pretty solid now. I’ll still keep an eye out on improvements we can make to the network infrastructure though.

5) What is your individual morale (which might be different from the overall group morale)?
I’m feeling pretty good since the networking side of things is laid out now. I’m also a bit nervous since we delayed our merge meeting a bit and haven’t done it this week. Everyone seems to be far from master, so things might get a little messy. We’re hoping to merge before or after our meeting with Prof. Voelker tomorrow.

Matt:

1) What were your concrete goals for the week?
I wanted to get a better structure for objects in the Scene to be able to add them more robustly. I also wanted to get animation working.

2) What goals were you able to accomplish?
I made fair headway on the structure for the scene, creating a superclass for objects

3) If there were goals you were unable to meet, what were the reasons?
I got more involved in animation this week and found some problems such as Visual Studio’s version of assimp not loading fbx files, nor multiple input files for formats such as md5. Started looking into other formats/loaders. I also got a little stuck on design patterns in regard to having an Entity superclass and which classes should subclass, etc.

4) What are your specific goals for the next week?
I want to read more on design patterns for video games to have cleaner code. Aside from that, having the game in a state where we can pick up eggs is important and continuing to look into more graphics improvements will be beneficial along the way. Particularly need to look into UI such as health bars, name tags, etc.

5) What is your individual morale (which might be different from the overall group morale)?
A little tired to that animation keeps sucking up time without having obvious answers. If I didn’t think about it I feel like there’d be a lot more progress toward other goals.

Michelle:

1) What were your concrete goals for the week?

2) What goals were you able to accomplish?

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

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

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

Phoebe:

1) What were your concrete goals for the week?

My goals for this week were to create more animations and create an engine on the server that will handle any manipulations we need to do from client packets.

2) What goals were you able to accomplish?

I made animations for jumping and pecking, and I got the client to update based on packets sent from the server. I also created an engine on the server that holds a virtual representation of our world and holds the positions/states of all the objects. Data from this virtual world is now used to update the view in the clients. I created a function in the engine to generate random locations for any type of object, but I haven’t applied it to the actual game yet because I’m in the middle of finishing up multiplayer controls.

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

There’s nothing I wasn’t able to meet, as I got further than I expected to this week.

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

Next week, I want to finish multiplayer controls, integrate random spawning, and implement picking up eggs. I expect multiplayer controls to take up a bulk of my time since I’m likely to run into bugs with current server/network implementation.

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

I’m very optimistic about the actual engine, but worried for the animations side since the graphics experts weren’t able to complete animation loading this week.

Network: Improved some of the network infrastructure from last week. Server and Client can now communicate in reaction to events.

Graphics: We have the player (camera + model) moving around a basic world with a skybox! Animation is in progress.

Gameplay: TBD

Input: TBD

Art: Textured chicken and skybox in the scene. Also have a floor with a shader.

Audio: Have a sound working on Mac.

Meeting Dates:

Every Tuesday and Thursday morning for all team meetings

Saturday for graphics team

Tuesday and Sunday for networking team

Monday for a combination of some networks & graphics

Group Morale:

Screenshots:

Flying chicken!

Individual Progress Reports:

Brian:

1) What were your concrete goals for the week?
To get the game to take in a command, wrap that up in a packet, send it to the server, and have the server process it, and send it back out to the client. More specifically, create new method to send packets, a method to register the object movement, and basic structure as what to keep for each player object.

2) What goals were you able to accomplish?
We were able to get the basic things working. We just need to link main parts of the client and server together real quick. The game does everything by itself like register key movements. The server gets the key movements in the form of packets, registers, and updates the server and sends it back out. We’re just missing the quick step of processing the return packet and acting upon it.

3) If there were goals you were unable to meet, what were the reasons?
We were able to get pretty much everything except that small thing mentioned above. We believe that should take no more that a 30 minutes to place in. We slightly underestimated the work and it just took a tad longer than expected along with the unsatisfying amount of work put in by myself.

4) What are your specific goals for the next week?
Fix that problem mentioned above. We hope that implementing the Server/Client loops won’t be too hard and then implement multiple players in respect to the network side of things.

5) What is your individual morale (which might be different from the overall group morale)?
It’s neutral right now because I didn’t get much done this week. But he Graphics team made such a cool game so far and it’s nice to see it all in production so that’s real swell.

David:

1) What were your concrete goals for the week?

My concrete goals were to get the Bullet physics engine installed and added to our game project. I was also tasked to implement symbolic shapes for players, environment, and bullets that will be used to calculate position, speed, collisions, and other general physical calculations. The map is initialized with a plane, obstacles with static various objects on the plane.

2) What goals were you able to accomplish?

Got the Bullet physics engine installed for the most part; ran into some slight issues with Visual Studio, but should be ironed out. I coded a rough draft of the physics implementation of map, player, and bullet objects.

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

The issues with Visual Studio slowed down progress of testing bullet collision detection and collision override method with other objects.

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

Fix the issue with Visual Studio, as well as connect networking and graphics together with the physics engine. Get visible players moving, map initialized, and bullets fired with the physics engine.

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

Excited to connect everything together and see our game come to life

John:

1) What were your concrete goals for the week?
This week I wanted to send meaningful packets between the client and server. I wanted to be able to update the view on the client based on the info that the server sent back.

2) What goals were you able to accomplish?
I created a rough idea of how our packets would look and got a system working to send packets containing actual information between the server and client. I figured out a way to extract this information.

3) If there were goals you were unable to meet, what were the reasons?
The goal of updating the view was a bit misplaced. I think I needed some game logic objects first, like a data structure to represent the world and some other object to represent the chicken.

Also I feel like the way I designed the packet structure may be problematic in the future. I’m not sure if this is the best way to do things. As just a command line application (as far as networking goes), I don’t think we ran into any latency issues just yet. I need to improve upon this current system I’ve set up.

4) What are your specific goals for the next week?
Get to updating the view based on packet information. That being said, some of that work will probably leak into game logic since we’ll need some logic constraints to do things related to the view, like keeping the chicken within the boundaries of the world.

Less specifically, I’ll keep close attention to the performance of the network and will always be thinking about how to improve it.

5) What is your individual morale (which might be different from the overall group morale)?
To be honest, I feel a little down about the past week since I didn’t put as much work into the project as I had hoped. On the other hand, I feel very motivated to step up.

Matt:

1) What were your concrete goals for the week?
My goal for this week was to have a world that we could test moving a “player” around in and then to implement the player which would be composed of the camera and a model. I also wanted to figure out how to easily add objects to the world so that less knowledge of graphics would be necessary.

2) What goals were you able to accomplish?
I got the most basic world in with a square ground. Michelle was working on the skybox which we got to work late last night. I also got the player/model to move together and rotate kind of as desired. The objects and scene data was refactored to be a little cleaner, but could still use work.

3) If there were goals you were unable to meet, what were the reasons?
I wasn’t really able to get adding objects to the world to a workable place. Working on the player took longer than expected because I was working at hours when my mind just wasn’t thinking well. I also got stuck on trying to get the animation/audio code to compile on Windows, which I never did.

4) What are your specific goals for the next week?
If it’s easy I’d like to fix the camera rotation when looking down and up so it swivels around an arm rather than a “ball-joint.” I want to continue to refactor objects so that it can be robustly added to the scene where others can use it. I would like to get the audio/animation code to compile and work after that. An added bonus would be to use a config file for input -> logical event and continue learning more about advanced Modern OpenGL techniques.

5) What is your individual morale (which might be different from the overall group morale)?
Individual morale is mediocre. I’m glad I got the player done, but it took way longer than it should have and getting stuck on trying to compile other code was really frustrating. I never got it to compile and don’t really know what the issue is so that’s a problem.

Michelle:

1) What were your concrete goals for the week?Create a textured skybox, begin implementing scene graph structure so that camera is positioned behind and following the player, and work with the networks team so that we can send packets to make the model move. Also want to begin implementing animation of the chickens using the file Phoebe created.

2) What goals were you able to accomplish?I implemented a textured skybox into our scene, which surprisingly took longer than expected. Note to self: Do not send texture image files through Facebook Messenger…
We opted out of creating a scene graph structure, and Matt finished positioning the camera behind the player so that it follows it.

3) If there were goals you were unable to meet, what were the reasons?Phoebe, Matt, and I have been looking into animation, but as of now have not been able to get it showing in the world. I am currently debugging and hope to get it working asap this upcoming week. The networks team is also working on the packets so we are getting close to syncing with model movement.

4) What are your specific goals for the next week?Successfully read in animation files, place eggs in scene and register “picking them up.” Begin implementing combat abilities and UI.

5) What is your individual morale (which might be different from the overall group morale)?Not too great because I did not complete all of my goals for the week. It will be higher once I see the chicken animated in our world!

Phoebe:

1) What were your concrete goals for the week?

I wanted to get animations working on the client this week.

2) What goals were you able to accomplish?

For the animation portion, I managed to get bone and mesh data successfully loaded into the client in appropriate data structures. I also got audio working and created a config file system that would allow us to change network and game configurations without the need to recompile. We plan to improve the config file system as we go along and figure out exactly what our needs are for the config file. As an added bonus, I also animated our chicken to do the chicken dance. 😀

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

I’ve been having trouble getting the animations to actually display in the client because I have minimal experience with graphics. I was hoping to start small on the graphics side but ended up responsible for animations, which was pretty overwhelming. Michelle and Matthew were busy with their own tasks, so they weren’t able to help me much on the animation side, but I think for next week it would be better if one of them were allowed to focus more on animation, since it’s a more advanced task and they have way more experience with graphics than I do. :3

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

Matthew hasn’t been able to get the audio libraries to compile on windows, so next week, I want to help him figure that out. I also want to get animations working, and further develop gameplay and the map design. Animations seem to be our biggest hurdle right now, and if we can get past it, we can really get started on gameplay.

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

I’m honestly really burned out and stressed from working on the animations non stop for the whole week. It was kind of frustrating not being able to get the animations to display without really knowing how to debug OpenGL. I really hope we can get someone more experienced to help finish up the animations, and if we do that, I’d be really optimistic going forward haha.

Art: Chicken model with different textures, walk animation made in Maya

Meeting Dates:

Every Tuesday and Thursday morning for all team meetings

Monday, Thursday, and Saturday for graphics team

Tuesday and Sunday for networking team

Group Morale:

Screenshots:

So majestic

Individual Progress Reports:

Brian:

1) What were your concrete goals for the week?

Wanted to minimally get a simple server going where packets or data can be sent back and forth between the client and server. If that was done, then combine graphics side with simple server. Extra time was allocated into getting server to work on Mac.
2) What goals were you able to accomplish?

Server was set up along with simple communication. Packets are sent back and forth without any evident problems.
3) If there were goals you were unable to meet, what were the reasons?
Complications due to Winsock’s incompatibility with MacOSX was more complicated that had expected. Trying to use one OS specific library made it more difficult. It isn’t as necessary though have cross platform but if we have ample time, we might revisit it.

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

Set up the Client and Server loop correctly for the networking side and the graphics side. It would be nice to have at least the game motions and actions registered and can be detected via our server set up. It might be nice to start on the physics side of the networking part of the game too if time is available.

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

It’s looking good for me. The networking group is working well together and we’re having fun. It’s cool see a game in the works. I can’t wait to get the basic requirements done!

David:

1) What were your concrete goals for the week?

My goals for this week were to help get the simple server/client up and running for both Mac and Windows, as well as start to brainstorm on the Game Object organization.

2) What goals were you able to accomplish?

I helped some with the server setup, but also worked and finished a possible layout of the Game Objects – how some game objects can be initialized with a config script and how they could be handled and accessed with our future physics engine.

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

There were more issues than expected in getting the simple client server to work with the MacOSX socket library. Once the project has gone further underway, maybe we will come back to work on the MacOSX compatibility.

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

My goals for the next week would be to work on implementing the Game Objects and look further into how the Physics Engine can be implemented. I would also work with the Client and Server loop to figure out object movement messages.

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

I’m very excited to be working on the game object design and networking. It’s fun to set aside time to make my own large-scale game with a team.

John:

1) what were your concrete goals for the week?

Wanted to get a simple server/client up and running for both Mac and Windows. The server should just bounce back any packets that the client sends. The packets didn’t have to have any meaningful information yet.
2) what goals were you able to accomplish?

The server and client are working. They send a bunch of packets back and forth in a “game loop”.
3) if there were goals you were unable to meet, what were the reasons?
Achieving cross platform might be more difficult than we thought. The skeleton code that we’re using uses Winsock which is a Windows only thing. We weren’t able to set up networking for Mac and it isn’t necessary. I don’t think we’ll be spending too much time on getting it to work cross platform since that’s not necessary, though it’s something that would be nice to have.

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

Send meaningful packets. To do this, we also need to implement a simple game logic data structure on the server and client. Then on key or mouse events, we’ll send actions to the server, have the server update the data structure, then send back the update, and then the client will modify the view. I want to set up a simple version of this by next week.

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

FeelsGoodMan – looking forward to this next week. We have some simple graphics to work with as well as input reading. This will help in sending meaningful packets.

Matt:

1) What were your concrete goals for the week?
My goals for the week were to get a simple scene up and running in modern OpenGL with the ability to control a “player” moving around a basic world.

2) What goals were you able to accomplish?
I learned a lot about modern OpenGL and got the cube with its shaders to work. I ported over a scene graph, but I’m still not sure if that’s the best way to go about this.

3) If there were goals you were unable to meet, what were the reasons?
I wasn’t able to test the scene graph nor consequently get a player with an attached camera/model moving around. I think it was largely due to learning how modern OpenGL works, which took longer than expected on a bug that really wasn’t a bug.

4) What are your specific goals for the next week?
I want to get graphics to a place where the rest of the team will be able to add their own objects and models without too much hassle and we can work on the base game objectives. This would mean getting a simple world (like a flat square) with at least one player walking around and then creating an example for an object class with a model. I also want to test the scene graph/think about whether that’s a good way to go.

5) What is your individual morale (which might be different from the
overall group morale)?
Overall good. I’m still excited to work, but I feel like I need to relax a bit in how much I work on and think about the project. Still seems like there’s a lot more to do, though.

Michelle:

1) What were your concrete goals for the week?

Set up camera to view scene, create an object loader, display a simple object into the scene for the rest of the team to be able to work with once the client/server is set up, and implement keyboard/mouse input.

2) What goals were you able to accomplish?

We currently have a cube as our model in the scene with lighting and shading. We also have keyboard and mouse input to move the camera around the scene on a click. We also have written an object loader which Phoebe tested and was able to load her chicken model.

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

Met all of this week’s goals, but I need to read up more on modern OpenGL.

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

Create a textured skybox, begin implementing scene graph structure so that camera is positioned behind and following the player, and work with the networks team so that we can send packets to make the model move. Also want to begin implementing animation of the chickens using the file Phoebe created.

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

Eggcellent. Looking forward to getting more done next week 🙂

Phoebe:

1) What were your concrete goals for the week?

Add some initial models that we can start testing the graphics engine with.
Create the chicken model and rig it for animation.
Get the graphics branch running on Xcode.

2) What goals were you able to accomplish?

I added initial models, created the chicken model, rigged the chicken model, and I managed to create a “walk” animation for our chicken. 🙂

I got our graphics code to compile and run successfully on Xcode and figured out how to set up all the OpenGL libraries correctly.

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

N/A 🙂

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

Next week, I want to be able to load in the object models into the client to actually create the game map. I also want to get our code running on mac since a lot of our group members are working on macs when we’re at home.

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

I’m having fun learning the graphics side of things and learning to do 3D modeling 🙂 Maya had a high learning curve, but I’m getting the hang of it.

The goal of the game is to gather all the flags while preventing the other team from obtaining the flags. A team wins by acquiring all the flags or having more flags when the timer runs out.

What are the interesting or unique aspects to your game?

As opposed to typical capture the flag, flags aren’t ever “locked in” and can be lost upon player death. We are thinking of having players drop in from the sky instead of having fixed spawn points. The location of the flags will be randomized to some degree to add variation.

What are the list of features of your game? Prioritize them into at least three categories: “Must Have”, “Would Be Really Nice”, and “Cool But Only If Ahead Of Schedule”.

Must Have:

Chickens (with walking animation)

Guns/Attack items or abilities

Flags

Teams

Map

Minimap

Menu / Pregame-lobby

Spawn location choice

Health System

Basic Sounds

Would Be Really Nice

Drop-in Spawn

Side-objectives

“Fog-of-war”

Air-drops

Terrain

Slow-down per flags gathered

Music

Cool But Only If Ahead of Schedule

Game modes/variable teams

Complex items/power ups

Different birds

Vehicles

Legendary things (item? Vehicle?)

Group Management:

What are the major roles in your group’s management?

We can take turns leading stand-up.

How will decisions be made?

Decisions will be made through consensus/majority in project-wide decisions. In individual tasks freedom is encouraged.

How will you communicate?

We will have twice a week stand-ups to check in on progress. For other communication, we will use Facebook Messenger.

How will you know when you’re off schedule, and how will you deal with schedule slips?

We are using JIRA as our project management software. We will deal with schedule slips by either changing our specs or working more.

Who will produce the weekly group status reports?

Each person will contribute to the weekly report what has been developed.

Project Development:

What are the development roles and who will handle them?

Gameplay – Everyone

Networking – Brian, David, John, Phoebe

Graphics – Matt, Michelle

Physics – Brian, David, John

UI – Everyone

Audio – David

Art – Michelle

What tools will you use?

JIRA

Visual Studio/XCode

GitHub

Maya

How will you do testing?

Testing during and after every Sprint completion.

How will you do documentation (both internal group documentation as well as external player documentation)?

We will document our progress publically using WordPress and Team Website.