Final Report

A. In the project review document, start by addressing these main questions:

1.  Game concept: How and why did your game concept change from initial concept to what you implemented?

In the very beginning of this class, some of our team members want to design a RTS Three Kingdom background games. However, when we plan in that, we found there are too many problems we cannot solve within only ten weeks. Firstly, a RTS game needs a stable network environment to supply thousands of objects, a large scene and a huge number of  real time computing for muti-player controlling their army to fight together. Furthermore, as we know, a RTS game needs a large numbers of models and animations to identify different arms, weapon and buildings is our first problem to build a RTS game. That’s a lots of works, we cannot finish them in only 10 weeks long. Then we decide to make an easy simple and funny first person shooting game. The reasons are a FPS game can supply more players but it doesn’t give networking too much pressure, and the game scene might not need too large and our artist can have more time to learning how to build 3D modelling and animations(we don’t have any people know how to build a 3D modelling and animations before). In addition, some of our team members like Minion very much and we come up and all agree with the idea “Minion shoot bananas” with a cartoon style FPS game. This is our initial concept when we try to make our first game.

2.  Design: How does your final project design compare to the initial design, and what are the reasons for the differences, if any?

For our initial design, we only have some simple ideas and the theme is “Minion shoot bananas”. We don’t have a specific plan on how to make the game. However, in the final project, we have a whole complete game engine include a smooth network engine, a perfect graph engine, a physics Engine, cartoon style modelings,UIs, funny sounds, and a perfect MD2 modelling with animations. In the graphic part, we use single source light, complete phong shading, shadow mapping and environment mapping. In the Physics part, we have a perfect physics world include all movement, gravity, collision detection for every bounding box. In the game logic design, our artist comes up with a perfect idea for game scene which let Minion fight in desk table in bedroom. Also our game designers use many cartoon style modelling, UIs and sound which match our theme and make the game funny. In addition, in the final design, we have a complete team and score system and our game can support up to 16 players in two teams.  Also, we have a cartoon style weapon and purchase store. The reason why there is a huge difference is that this is our first time designing our own game.  All of our team members have no idea when we start.  As the goal is getting clear,  we come up with more ideas to make the game funny.

3.  Schedule: How does your final schedule compare with your projected schedule, and what are the reasons for the differences, if any? (You should be able to glean this from your status reports.)

Basically, our game design were almost done in the schedule.

In week 3,set up networking and camera with the object.

In the end of week 6, release alphas version.

In the end of week 8, release beta 1.0 version.

week 10, final version.

 

B. Then address these more general questions:

1.  What software methodology and group mechanics decisions worked out well, and which ones did not? Why?

Answer: Worked together and communicated frequently worked out pretty well. Each group member knew their own job, others’ job, the process of whole group, and the goal of our group, so everybody kept working hard every week. In addition, since everybody was responsible for their work, they don’t need to know other’s code; they only need to know which group member was responsible for that part and contacted with that person to solve problems, which was very efficient. Also, since we finished our base code before week4, we just added new features to it after week4. Therefore, we can easily remove any feature if it breaks the whole program.

2.  Which aspects of the implementation were more difficult than you expected, and which were easier? Why?

Answer:  When we did this project, we found that there were lots of problems which were more difficult than we expected. For example, we could use game engine to load animation very easily. However, without game engine, we spent two to three weeks to load animations and only can load md2 animation without texture finally. In addition, all people in our graphic group learned the concept of particle effect, and we found the library for particle effect, but we spent lots of time but still couldn’t use that library to add particle effect. On the contrary, we expected that we might spend a lot of time to add UI, but Yangshuoshen just used a simple way to do it — banded texture in the near plane of the camera volume, and it looks pretty well. The only thing we did was using Photoshop to draw UI texture, and this is doable for every group member no matter whether he learned graphic or not.

3.  Which aspects of the project are you particularly proud of? Why?

Answer: We are proud of our smooth and interesting game play because when we coupled a relaxed cartoon theme with all kinds of optimization, we just got a nice game run at 60FPS without glitching. Also, our game supports 16 players and wireless connection.

4.  What was the most difficult software problem you faced, and how did you overcome it (if you did)?

Answer: The most difficult problem is how to send a data structure between client and server. We decided to use a scene graph in the server to handle the position and orientation of all objects, and sent this scene graph back to client for culling. However, we found that the scene graph is connected by pointer, but the memory address is different in two computers, so we couldn’t send the whole scene graph back to the client. Finally, we found that what client needs is just the position of each object but not their relationship, so we decided to just send back the position of each object.

5.  If you used an implementation language other than C++, describe the environments, libraries, and tools you used to support development in that language. What issues did you run into when developing in that language? Would you recommend groups use the language in the future? If so, how would you recommend groups best proceed to make it as straightforward as possible to use the language? And what should groups avoid?

Answer: We didn’t use any language other than C++

6.  How many lines of code did you write for your project? (Do not include code you did not write, such as library source.) Use any convenient mechanism for counting, but state how you counted.

We just record the last line line number of each file and sum them together

client:  5648 lines

Server:  2468 lines

7.  In developing the media content for your project, you relied upon a number of tools ranging from the DirectX/OpenGL libraries to modeling software. And you likely did some troubleshooting to make it all work. So that students next year can benefit from what you learned, please detail your tool chain for modeling, exporting, and loading meshes, textures, and animations. Be specific about the tools and versions, any non-obvious steps you had to take to make it work (e.g., exporting from the tool in a specific manner), and any features or operations you specifically had to avoid — in other words, imagine that you were tutoring someone on how to use the toolchain you used to make it all work. Also, for the tools you did use, what is your opinion of them? Would you use them again, or look elsewhere?

Answer:  We used 3ds max for modeling and assimp to load 3D model and texture. To load animation, we found a md2 loader from Google, and here is the link http://www.flipcode.com/archives/MD2_Model_Loader.shtml. This md2 loader has a very simple interface, which only contains three functions, load, setframe, and draw. Load function is used to load animation, draw function is used to render a specific frame, and setframe is used to set that frame. However, the problem of md2 file format is that it doesn’t contain the normal of each vertex, which means we have to use the normal of the triangle instead. However, this md2 loader doesn’t support texture.  Although we used this md2 loader finally, we also found some other helpful libraries for animation loading https://tutorialsplay.com/opengl/2014/09/17/lesson-11-loading-quake-ii-md2-models/  This md2 loader can support texture and Vertex buffer.

http://ogldev.atspace.co.uk/www/tutorial38/tutorial38.html. This tutorial teaches how to load a md5 (skeleton animation) animation by using assimp.

8.  Would you have rather started with a game engine or would you still prefer to work from scratch?

Answer: I rather started with a game engine because of several reasons. First of all, using a modern game engine can be a huge boost when we make the game. For example, we spent weeks to implement a animation structure which can only loads a simple animation, but in game engine, this can be done instantly. Also, using game engine can make the graphics better up to many levels. More importantly, some of us have experiences of using a game engine and we could make our game advance to the next level if we used a game engine(possibly put on the market). However, this is just our case because we had experiences of using game engine before the quarter started. If a group does not have any experience with game engine. i would suggest them to work from scratch because they would learn more basic without game engine.

9.  For those who used a networking library (e.g., RakNet or Boost) or physics library (e.g., Bullet), would you use it again if you were starting over knowing what you know now? Describe any lessons you learned using it (problems that you had to troubleshoot and how you addressed them) for future groups who may use it. If you did not use a library, judging from the experiences of the groups that did, would you have used it in retrospect?

Answer: We used Bullet for our physics system. I would use it again if I were starting over knowing what I know now. Because using a library can be time efficient when making a large scene. For example, we made about more than 100 bounding boxes using 3d Max and we load them all at once using bullet. Without Bullet, I would have to calculate them by hand which could be a nightmare when building such a large scene. The down side of using it is that you need to compile this library first which can be really tedious.

10.  What lessons about group dynamics did you learn about working in such a large group over an extended period of time on a challenging project?

Answer: Cooperate and compromise are the keys when working in a large group.

11.  Looking back over the past 10 weeks, how would you do things differently, and what would you do again in the same situation?

Answer:

What we would do differently:

  1. Design our networking code more flexible.  In our code, all packets have the same size. However, it waste a lot of space since what client need to know about bullet is much less than what client need to know about character, but their packets have the same size.
  2. Write code more OO. We found that some features were hard to add since some part of our program was hard coded. For example, we tried to let the character drop or pick weapon in our game, but we found that weapons were just a member of character class, we can not have a weapon without an owner.
  3. Spend less time on animation. We spent a lot time on drawing animation and loading animation. However, it was hard to see the animation in our game in the final demo.  Whether loading animation is depend on what kind of game implemented and what kind of model used.

What we would do again:

  1. start early
  2. make the graphic part and networking part work and combine these two part early
  3. separate the client code and server code early
  4. Build the project step by step.

12.  Which courses at UCSD do you think best prepared you for CSE 125?

Answer: CSE167 (graphics), CSE169 (animation), CSE165 (Game Engine, Physics library), CSE123 (Computer Networks), CSE110 (Software Engineering), CSE15L(Software Tools and Techniques Laboratory)

13.  What was the most important thing that you learned in the class?

Answer: Rome wasn’t built in a day, and so wasn’t our project.  We have learned a great deal in this course.  The most important thing we have learned is to work efficiently in a large group.  We know we can count on the people who work on a certain part of our projects. We also learn how to find resources from internet and use real-word  tools instead of doing everything from scratch.

14.  Please post four final screenshots of your game on your group pages for posterity. I will also display them on the group web page.

1 2 3 4 5 6 7 8 9 10

 

C. Finally, if you wish, I would appreciate any feedback on the course (entirely optional):

1.  What books did you find helpful that were not on the recommended list but should be? What books were on the recommended list but were not useful and should be removed?

Answer: We found a website is very helpful for opengl, and here is the link:

http://ogldev.atspace.co.uk/index.html

2.  I will be teaching this course next Spring. What advice/tips/suggestions would you give students who will take the course next year?

Answer:

  1. start early
  2. A good artist can improve the game a lot
  3. Make sure that there is no problem in networking at first since it will be very painful if you find networking problem after you add a lot of features
  4. Focus on the basic functionalities in the first several weeks and then keep adding features to it.
  5. A lot of things will be added to the game in the last two weeks, and these features make a huge difference.
  6. Don’t ignore any small bug or warning since these small bugs or warning may cause a big problem finally.
  7. Hard-coded can let you see the result quickly, but it will make your code hard to change in the last week.
  8. A good architecture is very helpful.
  9. Animation is very cool, but drawing animation and loading animation are hard, and the result may not be as good as you expect.

3.  How can the course be improved for next year?

Answer:  It might be a good idea that let every groups see the final reports of previous year so that they may not spend too much time on search tutorial online. However, how to find resource from internet is also a very important course we learned from this course.

4.  Any other comments or feedback?

Answer: The most amazing CSE course in UCSD! We learned a lot from this course, and we realized how important the knowledge some previous courses taught(CSE110, CSE15L).

Week 9 Report

 

Group Status Report

1) summarize your overall status for the week

  • finalize our models and scene
  • add snipe into the weapon choices
  • working on environment mapping
  • working on UI menus to allow players to buy weapons in the base
  • pick two background music
  • change the sky box
  • add resources that can be picked up by players

 

2) include both the week # and the date of the meeting

  • Week 9
  • Date of meeting: 05/28/2015,05/29/2015,05/30/2015,05/31/2015

 

3) add a statement summarizing the group morale (feel free to be creative in expressing your morale)

  • It is almost the end of the quarter.  We are going to miss each other…

 

4) add at least one of your latest screenshots to your group page

0 1 2 3

 

 

Individual Status Report

Jie Sheng:

1) what were your concrete goals for the week?

  • working on the environment mapping

 

2) what goals were you able to accomplish?

  • still working on the environment mapping

 

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

  • Hope to finish the environment mapping part before next Tuesday

 

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

  • testing and fix bugs if necessary
  • prepare for the demo

 

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

  • We are almost done.

 

Qianchen Zhao:

1) what were your concrete goals for the week?

  • build system to buy weapon
  • build resource system

 

2) what goals were you able to accomplish?

  • user can buy different weapon and each weapon cost money
  • money(banana) will be appear to the scene every 1 minute and will disappear after 30 s
  • money can be picked automatically when the character hits money
  • bullet reloading will cost money, and user can reload bullet automatically or by pressing ‘r’ key

 

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

  • All goals were met

 

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

  • wring final report

 

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

  • Our game is the best!

 

Yangshuoshen Liu:

1) what were your concrete goals for the week?

  • working on the buying weapon menus with Yuxiao
  • modify the UIs to let the players know which team he/she is in
  • finish bullet reloading UI.

 

2) what goals were you able to accomplish?

  • modify the UIs to let the players know which team he/she is in
  • done with bullet reloading UI
  • working on the buying weapon menus with Yuxiao

 

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

  • still working on the buying weapon menus

 

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

  • testing and debugging

 

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

  • I love games.

 

Yichi Yan:

1) what were your concrete goals for the week?

  • work with graphic teams to add more models into the game
  • add bounding boxes to the new models

 

2) what goals were you able to accomplish?

  • more models are added into the game

 

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

  • all goals were met

 

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

  • fix bounding box bugs if necessary.
  • prepare for the demo

 

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

  • I love gyms.

 

Yule Lin:

1) what were your concrete goals for the week?

  • Build a new weapon menu with Yangshuoshen
  • Figure out background music and reloading problem.
  • build scoreboard with Yuxiao
  • work with Qianchen figure out weapon menu.

 

2) what goals were you able to accomplish?

  • Build a new weapon menu with Yangshuoshen
  • Figure out background music and reloading problem.

 

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

  • All goals were met

 

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

  • Finalize and Pack code
  • Pressure test
  • Network environment test
  • testing and debugging and prepare for the demo

 

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

  • I love music

 

 

Yuxiang Di:

1) what were your concrete goals for the week?

improve game

2) what goals were you able to accomplish?

  • weapon/scene model
  • scene
  • bullet/fire logic
  • weapon type
  • gameplay

 

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

  • everything is good

 

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

  • model

 

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

  • Need more time 🙁

 

Yuxiao Zhou:

1) what were your concrete goals for the week?

  • work with Yule to draw the scoreboard
  • still drawing the gun menus
  • work with Yangshuoshen on the UI so that the players could know which team he/she is in
  • find the new sky box

 

2) what goals were you able to accomplish?

  • draw the scoreboard
  • UIs to show which teams the players are in
  • find a new sky box

 

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

  • still working on the gun menus

 

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

  • testing and debugging and prepare for the demo

 

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

  • I love basketball

 

Week 8 Report

Group Status Report

1) summarize your overall status for the week

  • add phong shading
  • add shadow mapping
  • implement a new scene
  • build our new HUD
  • add a new weapon
  • bullet reloading
  • using vertex buffer object

 

2) include both the week # and the date of the meeting

  • week 8 =>  date of the meeting: 05/20/2015,05/22/2015,05/23/2015,05/24/2015

 

3) add a statement summarizing the group morale (feel free to be creative in expressing your morale)

  • We got a group name 🙂

 

4) add at least one of your latest screenshots to your group page

Capture

 

Individual Status Report

Jie Sheng:

1) what were your concrete goals for the week?

  • add phong shading
  • add shadow mapping
  • using vertex buffer object
  • work together with Yule to load a new gun model

 

2) what goals were you able to accomplish?

  • shadow mapping
  • VBO
  • phong shading

 

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

  • all goals were met

 

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

  • prepare for demo

 

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

  • I love my group members.

 

Qianchen Zhao:

1) what were your concrete goals for the week?

  • Implement culling

 

2) what goals were you able to accomplish?

  • Implement culling but have some small problem
  • help Yangshuoshen to implement bullet reloading and  UI
  • Implement shot gun

 

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

  • Sometimes the model may disappear when it should be when I add culling in some specific position
  • Shot gun hasn’t been added to game since we haven’t find a  shot gun model

 

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

  • implement team selection
  • add more weapon such as snipe
  • testing
  • keep doing culling if needed

 

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

  • I don’t have individual morale

 

Yangshuoshen Liu:

1) what were your concrete goals for the week?

  • work with Yule and Yuxiao to build the new HUD, bullet reloading
  • work with Yichi to load the new scene
  • work with Yuxiao and Yule to add menu

 

2) what goals were you able to accomplish?

  • build the new HUD, bullet reloading
  • load the new scene

 

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

  • all goals were met

 

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

  • debug,testing

 

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

  • I love SDSU.

 

Yichi Yan:

1) what were your concrete goals for the week?

  • build a new scene
  • build bounding boxes

 

2) what goals were you able to accomplish?

  • build a new scene
  • build bounding boxes
  • design gameplay

 

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

  • All goals were met.

 

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

  • prepare for demo.

 

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

  • LOL Surprise!!!

 

Yuxiang Di:

1) what were your concrete goals for the week?

  • Improve game play.

 

2) what goals were you able to accomplish?

  • 3dmax module  adjust
  • HUD

 

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

  • nothing

 

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

  • gameplay

 

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

  • Surprise!!!

 

Yule Lin:

1) what were your concrete goals for the week?

  • find our gun model online and help Jie Sheng to load it.
  • work with Yuxiao and Yangshuoshen to build new menu
  • work with Yuxiao and Yangshuoshen to build new HUD
  • work with Yuxiao and Yangshuoshen on bullet reloading
  • Create and load Scoreboard.

 

2) what goals were you able to accomplish?

  • find a new gun model
  • build new menu
  • build new HUD
  • bullet reloading

 

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

  • All goals were met.

 

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

  • testing, debug, prepare for demo

 

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

  • Happy holiday

 

Yuxiao Zhou:

1) what were your concrete goals for the week?

  • work with Yangshuoshen and Yule to build new menu
  • work with Yangshuoshen and Yule on bullet reloading
  • work with Yangshuoshen and Yule to build new HUD

 

2) what goals were you able to accomplish?

  • build new menu
  • bullet reloading
  • bullet new HUD

 

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

  • all goals were met

 

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

  • debug,testing and prepare for demo

 

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

  • I need a break…

 

 

 

Week 7 Report

Group Status Report

1) summarize your overall status for the week

  • group discussions on what scene should be used for final version of the game and game features
  • add bounding box to the current house model
  • done with networking header

 

2) include both the week # and the date of the meeting

  • week 7 ==> date of the meeting: 05/13/2015,  05/15/2015,  05/17/2015.

 

3) add a statement summarizing the group morale (feel free to be creative in expressing your morale)

  • We are the best!!!

 

4) add at least one of your latest screenshots to your group page

week7

 

Individual Status Report

Jie Sheng:

1) what were your concrete goals for the week?

  • discuss with Yuxiang, Yule, Yuxiao to integrate the networking header code to graphics code

 

2) what goals were you able to accomplish?

  • integrate the networking header code to graphics code

 

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

  • goals were all met

 

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

  • think about the game features and create one or two..

 

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

  • I love my girlfriend.

 

Qianchen Zhao:

1) what were your concrete goals for the week?

  • Using vertex buffer to speed up rendering

 

2) what goals were you able to accomplish?

  • study on how to use vertex buffer

 

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

  • try to use vertex buffer but nothing was rendered, I will keep trying this in next week

 

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

  • use vertex buffer instead of glvertex
  • add particle effect

 

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

  • I don’t have individual morale

 

Yangshuoshen Liu:

1) what were your concrete goals for the week?

  • Add bounding box to the object models such as buildings.
  • Add some particle effects;

 

2) what goals were you able to accomplish?

  • Add bounding box to the object models such as buildings.

 

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

  • Add some particle effects. I am still working on it.

 

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

  • Add more game logic, particle effect.

 

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

  • I am making a game.

 

Yichi Yan:

1) what were your concrete goals for the week?

  • Finishing new battlefield with acceptable environment variable. Start to design second character module.

 

2) what goals were you able to accomplish?

  • The second character was almost complete and cloths were created by body meshing, turbo smooth and pylons cutting, so that to make sure it have a synchronized animation.

week7

 

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

  • Still the problem of pylons number of new environment.

 

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

  • Optimize new battle field, and better dressed for character if have time.

 

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

  • well……

 

Yuxiang Di:

1) what were your concrete goals for the week?

  • improve network

 

2) what goals were you able to accomplish?

  • prepare header to be integrated into main game
  • networking test(wireless, broadcast, LAN vs WAN)

 

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

  • everything went well

 

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

  • HUD,Gameplay

 

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

  • Demo machines look great!

 

Yule Lin:

1) what were your concrete goals for the week?

  • Figure out packet header and frame header.
  • wrap up client and server code.
  • Working on particle effect.

 

2) what goals were you able to accomplish?

  • Almost all.

 

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

  • trouble with particle effect library we added last week.

 

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

  • Game feature design, make it fun

 

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

  • GOOD

 

Yuxiao Zhou:

1) what were your concrete goals for the week?

  • help Jie Sheng to merge the networking header code
  • discussion on game features and scene to use

 

2) what goals were you able to accomplish?

  • merge the networking header code
  • group discussion

 

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

  • goals were met

 

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

  • help my teammates with adding the game features.

 

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

  • This is America,not China…

 

 

Week 6 Report

Group Status Report

1) summarize your overall status for the week

  • Networking, attempt to fix 10035 error.
  • Working on package head.
  • Physical engine up
  • Collision detection
  • Set up particle effect library
  • Set up HUD library

 

2) include both the week # and the date of the meeting

  • Week 6;  Date of the meeting:  05/04/15, 05/06/15,  05/08/15, 05/10/15

 

3) add a statement summarizing the group morale (feel free to be creative in expressing your morale)

  • We are almost done!

 

4) add at least one of your latest screenshots to your group page

 

screenShot_week6

 

 

Individual Status Report

Jie Sheng:

1) what were your concrete goals for the week?

  • add physics engine
  • add character jump feature
  • connect data with HUD

 

2) what goals were you able to accomplish?

  • All goals are accomplished

 

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

  • None

 

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

  • game play design

 

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

  • I am the best.

 

Qianchen Zhao:

1) what were your concrete goals for the week?

  • try to load md2 model with texture
  • fix the normal problem

 

2) what goals were you able to accomplish?

  • try to use texture coordinates in obj file when load  md2 texture  but find the vertex in md2 file can not be matched to a vertex in obj file
  • recalculate the normal of each vertex, the lighting result is good, so we decided to just use glcolor without texture loading

 

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

  • everything is good

 

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

  • Using vertex buffer to speed up rendering
  • add particle effect

 

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

  • I don’t have individual morale

 

Yangshuoshen Liu:

1) what were your concrete goals for the week?

  • Set up particle effect environment.
  • Help Jie Sheng finish collision detection.
  • Work with Yichi Yan to complete and refine the scene.

 

2) what goals were you able to accomplish?

  • Collision detection has been implemented and tested.
  • Particle effect environment has been initialized.
  • Game scene has been improved.
  • Added a HUD font library called FTGL(used to display different kinds of fonts).

 

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

  • Particle effect has not been finished due to its complexity. I spent much time on researching because I want to make sure final performance is good and solid.

 

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

  • Work more on Particle effects. Continue to refine the scene to make sure that we have a beautiful environment.

 

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

  • I am learning new stuff every single day.

 

Yichi Yan:

1) what were your concrete goals for the week?

  • Keep working on model and design and gun shooting animation .

 

2) what goals were you able to accomplish?

  • An RPG was already set up with character, an new environment was made in 3dMax. However, new battlefield are not working on program yet, because the number of polygons were to much.

 

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

  • The face of new environment are too much, either optimize module or reduce texture.

 

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

  • Finishing new battlefield with acceptable environment variable. Start to design second character module.

 

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

  • Chick-fil-A is good!

 

Yule Lin:

1) what were your concrete goals for the week?

  • Working on set up HUD library
  • Game logic design.

 

2) what goals were you able to accomplish?

  • Done.

 

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

  • None.

 

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

  • Game logic design.
  • Help adding some particle effect.

 

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

  • We are almost done!

 

Yuxiang Di:

1) what were your concrete goals for the week?

  • improving network

 

2) what goals were you able to accomplish?

  • add packet header before each event packet
  • solved socket unavailable bug when server send to client

 

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

  • everything is good

 

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

  • If nothing need to be added for networking, I will start to work on HUD for next week.

 

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

🙂

 

Yuxiao Zhou:

1) what were your concrete goals for the week?

  • add HUD library
  • help with building the physics world

 

2) what goals were you able to accomplish?

  • help with building the physics world

 

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

  • Can make the original code run on Visual Studio without error, but still need to load the HUD into our code

 

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

  • Work together with Yangshuoshen and Yule to load HUD library and help with add shader

 

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

  • CSE 125 is challenging.

 

 

Week 5 Report

Group Status Report

1) summarize your overall status for the week

  • animation is loaded into our game
  • finish up shooting bananas
  • delete scene graph in server side
  • add UI to show bullet numbers

 

2) include both the week # and the date of the meeting

  • Week 5 ==>Date of the meetings: 04/28, 04/30, 05/01,  05/03

 

3) add a statement summarizing the group morale (feel free to be creative in expressing your morale)

  • “Damn, we have a few midterms this week?”   “Forget about it.”

 

4) add at least one of your latest screenshots to your group page

Capture

 

Individual Status Report

Yuxiao Zhou:

1) what were your concrete goals for the week?

  • add a menu to our game
  • add UI to show bullet number

 

2) what goals were you able to accomplish?

  • add UI to show bullet number

 

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

  • Still have trouble with menu UI.

 

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

  •  Keep researching on menu UI design and hope to finish menu.

 

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

  • Finally got an internship.

 

Yuxiang Di:

1) what were your concrete goals for the week?

  • improve networking

 

2) what goals were you able to accomplish?

  • session/client id reuse
  • client reconnect
  • opengl HUD

 

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

  • All goals meet

 

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

  • Frame skip
  • Remove unprocessed packet for current frame if it delays game and stack on early one.

 

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

  • Everything is getting better 🙂

 

Jie Sheng:

1) what were your concrete goals for the week?

  • shot bananas
  • utilize server side networking code
  • delete scene graph code and replace it with basic data structure such as array, vector to reduce running time.
  • add physics engine

 

2) what goals were you able to accomplish?

  • finish shooting bananas
  • server side networking code is utilized
  • scene graph code is removed,  use array, vector instead…

 

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

  • still need to add physics engine.  I hate to say that,  but I need to study my philosophy course.

 

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

  • complete the physics engine

 

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

  • Let it go.

 

Qianchen Zhao:

1) what were your concrete goals for the week?

  • Try to load a md2 file.

 

2) what goals were you able to accomplish?

  • Can load an animation in client side
  • Can change different animation based on the status of character(move/stop)
  • Measure the size of our models

 

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

  • can not bind texture to a md2 model. Artist also can not export a texture with a md2 model, so we separate a md2 model to different parts and use glcolor to add color to them

 

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

  • Using physics engine to detect collision

 

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

  • I don’t have individual morale

 

Yangshuoshen Liu:

1) what were your concrete goals for the week?

  • add physics engine to our game

 

2) what goals were you able to accomplish?

  • All goals were met

 

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

  • None

 

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

  • Add particle effect to our game

 

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

  • Game is fun.

 

Yichi Yan:

1) what were your concrete goals for the week?

  • Use another way to fix the module loading problem.

 

2) what goals were you able to accomplish?

  • Almost done, it is able to run. I reconstruct the module as 5 part from a whole module (shoes, glass, body, eye with teeth and tongue). Set up these animation individually.

 

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

  • Need more work to let it do more action than expect.

 

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

  • Keep working on model and design and gun shooting animation .

 

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

  •  Model is fun.

 

Yule Lin:

1) what were your concrete goals for the week?

  • Fix network client_id, and add reconnect function.
  • Sound effect design.
  • Research on UI

 

2) what goals were you able to accomplish?

  • almost done, but UI progress slow.

 

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

  • Cant find a good library working on UI.

 

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

  • Game Logic design.
  • Helps others on UI or loading character.

 

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

  • Everything is good.

 

Week 4 Report

Group Status Report

1) summarize your overall status for the week

  • Fix camera flash bug.
  • Setup sound API
  • Made sound effects.
  • UI design (HP bar, Collimation)
  • Skybox
  • Change modeling methods and formats(To .md2)

 

2) include both the week # and the date of the meeting

  • Date of the meetings: 04/20, 04/22, 04/23,  04/26

 

3) add a statement summarizing the group morale (feel free to be creative in expressing your morale)

  • For the king!

 

4) add at least one of your latest screenshots to your group page

week4

 

Individual Status Report

Yuxiao Zhou:

1) what were your concrete goals for the week?

  • implement a show target user interface.
  • implement HP UI
  • implement a UI that shows the bullets number

 

2) what goals were you able to accomplish?

  • implement a show target user interface.
  • implement HP UI

 

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

  • Still have trouble to display the bullets numbers on the screen

 

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

  • Add more UIs

 

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

  •   Let’s spend more time on cse125.

 

Yuxiang Di:

1) what were your concrete goals for the week?

  • Header problem for networking packet.

 

2) what goals were you able to accomplish?

  • setup github
  • update website gallery

 

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

  • Busy week, hopefully the header packet I wrote for cse123 this week will be helpful for cse125.

 

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

  • Finish goals left over from past 2 week.

 

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

  • 24 hours are absolutely not enough for a day…

 

Jie Sheng:

1) what were your concrete goals for the week?

  • Connect UI and sound, design game logic, seek model loader

 

2) what goals were you able to accomplish?

  • all

 

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

  • Everything is good

 

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

  • Gun shot and game map

 

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

  • I got a job!

 

Qianchen Zhao:

1) what were your concrete goals for the week?

  • Try to add a bounding box for our model so that we can do the collision detection

 

2) what goals were you able to accomplish?

  • I have already wrote the code for bounding box for the current obj loader

 

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

  • Since we will use another loader to load md2 animation, I have to implement bounding box for md2 loader.

 

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

  • Try to load a md2 file.

 

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

  • I don’t have individual morale

 

Yangshuoshen Liu:

1) what were your concrete goals for the week?

  • Setup a basic scene. Change sky box, add ground texture.Fix aliased edges.

 

2) what goals were you able to accomplish?

  • ALL.

 

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

  • None.

 

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

  • Add more game objects to the scene.

 

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

  • I like Snow

 

Yichi Yan:

1) what were your concrete goals for the week?

  • Design more action with the existing model, and export with different type of format such as FBX or 3ds to confirm with graphic program generator. Fix the bugs.
  • Create a other version minion model which without skeleton. Trying to implement animation with object handle without bones.

 

2) what goals were you able to accomplish?

  • The new model was created by md2, and reconstruct animation without bones.

 

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

  • The model type are change. The FBX type was so complex to use with no engine, so that we changing model type to md2 to fix that.

 

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

  • Keep working on md2 model. Make sure loader working right.

 

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

  • As your service.

 

Yule Lin:

1) what were your concrete goals for the week?

  • Setup sound API
  • Made sound effects.

 

2) what goals were you able to accomplish?

  • Setup sound API
  • Made sound effects.

 

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

  • If the goals were not able to meet, it must be we cant find the right loader for openGL.

 

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

  • Probably design more funny sound or Back ground music.
  • Help others design UI or game logic.
  • Looooots of midterm coming..

 

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

  • Good luck for midterm week!

 

 

Week 3 Report

Group Status Report

1) summarize your overall status for the week

Network:

  1. Base on the process in last week, optimize the game session, delay, update and data transmission.
  2. Figure out server and client API with graphic team.

Graphic:

  1. Move object by ‘w’,’a’,’s’,’d’  through server (last week object move in local)
  2. Setup a camera with the object.
  3. Rebuild the data type, add a client id into the data type. Then we can connect muti clients to server.

 

2) include both the week # and the date of the meeting

Week3.

Date of the meetings: 04/15, 04/17, 04/19,  04/20

3) add a statement summarizing the group morale (feel free to be creative in expressing your morale)

We can do everything!

4) add at least one of your latest screenshots to your group page

Capture

Individual Status Report

Yuxiao Zhou:

1) what were your concrete goals for the week?

  • add time stamp in server to fix server loop period
  • Help graphics team to understand networking code and make sure graphic part and networking part code can work together

2) what goals were you able to accomplish?

  • add time stamp in server to fix server loop period
  • make sure graphic part and networking part code can work together

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

  • The networking part code is getting complicated.  We are trying to make an API for the graphics team, but we still need some time to figure out how.

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

  • Help graphic team with the UI design.

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

  • Good luck with my onsite interviews this week…

Yuxiang Di:

1) what were your concrete goals for the week?

  • API
  • solve packet size difference problem

2) what goals were you able to accomplish?

  • Remove client from network session when disconnected
  • fix server loop period with fix time
  • solve packet size difference problem (almost done)

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

API will be packed once whole networking finished. packet size problem still have bug when process header with size.

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

  • finish packet header( states event type and size for next packet)
  • only server send to client who need receive update

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

(“CSE125″>”GTA5”) ? “Work” : “Still need to work”;

Jie Sheng:

1) what were your concrete goals for the week?

Instead of using the simple camera, make a fps camera which moves along with the character. Assign client ID for any new client connect to the server and being able to recognize and distinguish them on the server.

2) what goals were you able to accomplish?

All goals were met. We can hold 8 clients connected to the server and let them move at the same time without any lagging issue.

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

All goals were met.

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

Starting to add game logic components and game outputs. (weapon, on hit, damage, etc)

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

I am so handsome!

Qianchen Zhao:

1) what were your concrete goals for the week?

Put the scene graph in the sever and let it to handle the movement of all objects in different clients.

Implement a first-person camera

2) what goals were you able to accomplish?

I have already implemented the scene graph in server and let it handle the rotation and translation of each object.

I have already implement a first-person camera in client with Jie

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

All goals were met.

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

Try to add a bounding box for our model so that we can do the collision detection

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

I don’t have individual morale

Yangshuoshen Liu:

1) what were your concrete goals for the week?

Building a skeleton animation structure which we can use for loading animation later on.

2) what goals were you able to accomplish?

I finished parsing animation files.

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

Loading animation is still under development, because it took a lot of time on research.

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

Finish loading animation next week, adding sound effect to the game

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

graphic is fun

Yichi Yan:

1) what were your concrete goals for the week?

1 Start and finish minion’s bones construction

2 Starting working on animation of action and post design

2) what goals were you able to accomplish?

The minion’s bones (skeleton for motion design) construction was finished. In addition, adding the walking action with arms wave properly.

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

Nothing, all good for now.

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

Design more action with the existing model, and export with different type of format such as FBX or 3ds to confirm with graphic program generator. Fix the bugs.

Create a other version minion model which without skeleton. Trying to implement animation with object handle without bones.

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

As your service.

Yule Lin:

1) what were your concrete goals for the week?

  1. Maintain website contents.
  2. Fix delay and sleep time period of server update function.
  3. Delete exited client from server.
  4. Fix the bugs when muti client connect to the server.
  5. Work with graph team on client side and make sure data transmit between server and client correctly and completely.

2) what goals were you able to accomplish?

  1. Working on data transmit between server and client.

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

All good for now.

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

  1. Trying optimize the network data type.(packet size problem)

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

Pretty good, but probably busy in a couple weeks.

Week 2 Report

Group Status Report

1) summarize your overall status for the week

Network: Now,We are able to let more than one client communicate with the server.

Graphic:Setup the basic scene which has a skybox with a textured object on the ground.

Gameplay: Using w,a,s,d to control the object

Input: Using keyboard to control

Art: Adding skeletion to model

2) include both the week # and the date of the meeting

Every afternoon and whole weekend.

3) add a statement summarizing the group morale (feel free to be creative in expressing your morale)

For sparta!!!300-sparta

4) add at least one of your latest screenshots to your group page

p1

ss04

Individual Status Report

Yuxiao Zhou:

1) what were your concrete goals for the week?

  • Update our website contents such as adding screen shots of current game, update weekly reports.
  • Responsible for sending objects between client and server.
  • Package client/server connection into a API so that the graphic team can use it easily

 

2) what goals were you able to accomplish?

  • Update our website contents such as adding screen shots of current game, update weekly reports.
  • Sending objects between client and server.

 

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

  • We are communicating with the graphic team to make our client/server network code more readable and useful.  Because we are not sure what should be sent between client and server.  (What is the format of event? format of message?)

 

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

  • make network API available for graphic team

 

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

  • Enjoy my life in EBU labs, good coding…

 

Yuxiang Di:

1) what were your concrete goals for the week?

  • update website
  • redesign event packet
  • let server process and communicate between multiple clients
  • Pack API for game networking

 

2) what goals were you able to accomplish?

  • update website
  • redesign event packet
  • let server process and communicate between multiple clients

 

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

Not enough time to finish pack API. Also not decide how graph team will use network.

 

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

  • Finish network API
  • solve packet size difference problem

 

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

🙂

 

Jie Sheng:

1) what were your concrete goals for the week?

Merge the graphics code into the networking code

Connect the client and server side

2) what goals were you able to accomplish?

Both merge and connect

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

Cannot make two clients to one server, because of the timing issue.

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

Make sure more than two clients can connect to one server and can see each other.

Adding more input and making the package better

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

For the King!

 

Qianchen Zhao:

1) what were your concrete goals for the week?

  • Implement a scene graph structure and let the scene graph handle the movement and rotation of each object

2) what goals were you able to accomplish?

  • I have already implemented the scene graph structure, and put it in client side to handle the movement of objects

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

  • Don’t know how to send the scene graph back to client side since each scene node is connected by pointer, but
  • we can not use the address in server to point to a node in client.

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

  • Put the scene graph in server and let it handle the movement of objects.

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

  • I don’t have individual morale

Yichi Yan:

1) what were your concrete goals for the week?

Finishing the entire minions model (body, teeth, mouth, shoes and goggle)

2) what goals were you able to accomplish?

I have already construct entire model as goals above by 3DMax. The main body was made by box with Turbo Smooth and fixed detail by vertex and poly.

ss02 ss03

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

Nothing, all good for now.

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

1 Start and finish minion’s bones construction

2 Starting working on animation of action and post design if I can.

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

As your service.

 

Yangshuoshen Liu:

1) what were your concrete goals for the week?

Loading models together with textures into our game. Create a skybox.

2) what goals were you able to accomplish?

Create a private github repository and add all teammates to our github repository.

Successfully loaded models into the game. Currently, our supporting formats are : .obj, .3ds, .ply, .raw.

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

Goals all met.

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

Add a particle effect system.Add some shaders.

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

I want to make a game with stunning graphic.

Yule Lin:

1) what were your concrete goals for the week?

  1. Maintain website contents.
  2. Adding a object class then we can sent a different object event between server and client.
  3. Package client/server connection into a API so that the graphic team can use     it easily.
  4. Fix the bugs when muti client connect to the server.

2) what goals were you able to accomplish?

  1.  Update our website contents such as adding screen shots of current game update weekly reports.
  2. Sending objects between client and server.

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

  1. We are trying to work with graph team and design some sample events ex.let a game character move left and right.

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

  1. Continue work with graph team and design some sample events.
  2. Working with graph team and make sure our API works good with them.

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

All people have a very clear goal and communication.

For me, I am enjoy in working with our teammates.