Home Specifications Weekly Status Reports Media

Week 2: April 13, 2020


Overview


This week, we have made good progress towards laying out the foundations for our game. We have started laying out a framework with the Forge for our graphics engine, we have established a client and server connection on the networking end, we have concept art that will prepare us to start modelling very soon, and we have diagrammed the class structure of our code to manage gameplay.

Group Morale


We are feeling quite optimistic as a group. Seeing the framework of our game start to come together and fleshing out some of the details we were concerned about was reassuring! We were all super excited to see the concept art that our teammate Esther did a fantastic job with. It seems that every member of our group is falling into our prescribed roles very well and starting to take ownership of each of our parts of the video game.

Showing Off Our Screen Shots!!


Our Concept Art:

Concept Art

Our Class Diagram:

Class Diagram Part 1 Class Diagram Part 2

Our Graphics Update:

Basic graphics application implemented in OpenGL demonstrating model loading, texturing, and simple controls.

Graphics Update

Individual Updates


Charles

Last Week’s Goals:

work with Aditi to:
- figure out best way to integrate network and graphics code
- figure out structure of classes to streamline game logic
- create class diagram

Completed Goals:


all goals met

Unmet Goals:


will need to continue optimizing integration and class structure as we go

Next Week’s Goals:


work with Aditi to implement player control and allow that to be reflected across the network connection. start creating gameplay classes eg towers, units, etc.

What I Learned:


There are lots of bits and bobs in graphics and networking and gameplay, and getting all three of them to work together nicely is even more complicated, but an interesting challenge to tackle

Individual Morale:


Cautiously optimistic. Seems like we've got some momentum on a good project, but we haven't actually made models/animations or implemented gameplay or wrote netcode. Hopefully we can keep up the progress


Jimmy (Jiajian)

Last Week’s Goals:
Set up client and server connection via winsock

Completed Goals:
all goals met

Unmet Goals:
None
Next Week’s Goals:

-Set up multi-client to server connection and the loop of client and server communication
-Integrate openGL with winsock

What I Learned:
-Build up communication using winsock

Individual Morale:
-I feel pretty good this week because we got the basic framework of the project down and everyone is contributing. It's a really good start.


Esther

Last Week’s Goals:
My goals in the past week were to set up the team website and sketch out initial concept art that will set the overall theme and style of the game. I planned to design the different player characters, towers, and battle units with good level of variation to present ideas to my team. I also planned to research different tower defense games to get a feel for the type of game to better aid concept art design, and so that I can see how we can make the concept of our game unique from the tower defense games that already exist.

Completed Goals:
I was able to decide on the overall theme, and I chose to go with a cyperpunk urban setting. This would consist of a lot of neon lights, dark streets and alleyways, and cyber/futuristic units, with the setting taking place in modern day to future Tokyo/Hong Kong. I came up with initial designs for a base player character (one female and one male), one tower design, and one unit design and a sketch of the three components together from the player's third person view.

Unmet Goals:
I was unable to sketch out more variations in each component (player character, tower, unit) because the brainstorming process regarding the theme took longer than I expected. Also I was still trying to wrap my head around the potential logic of our game because I felt that the character and map design depended on what the player and towers are capable of doing and also how the player will be interacting with the other components on the map, such as resources and how these resources will be obtained.

Next Week’s Goals:
I plan to learn how to use Blender and start modelling the three basic components sketched in the previous week. Furthremore I want to design more variations of character, towers, and units so that players can have more variety to choose their avatar, more variation of towers so that they have different abilities (although this also ties back to needing to know what the team wants in the game logic), and more units. I also plan to think about a backstory (lore) as to why our players are in this cyperpunk urban setting trying to destroy the enemy base.

What I Learned:
I learned that ideation can me more challenging than the execution. The early stages of game development seems to be the hardest to overcome because all our ideas are still on the vague side and it is not until we begin to produce something visible or tangible that things start to make more sense. With our process just 2 weeks in I think my team and I are going at a pretty good pace! I also recently got an iPad Pro so I also got to learn how to use Procreate along the way when drawing my sketches.

Individual Morale:
I feel okay. Still feel a bit out of it this quarter since everything's online so my motivation is not the highest, but I think it will be good once we get some momentum going. Otherwise, I think we're making decent progress given that it's only been 2 weeks and all our coordination is remote!


Kevin

Last Week’s Goals:
The goals I set for last week were to look into The Forge, and to complete a basic graphics application using The Forge. As backup, as also aimed to complete an equivalent prototype using OpenGL in case setting up The Forge takes longer than expected. Both prototypes should be able to load a simple model, apply a simple texture, and allow the movement of an avatar with WASD controls in a third person perspective.

Completed Goals:
I was able to successfully set up a quick graphics prototype using OpenGL that met the requirements I set for myself. I was also able to do thorough research on how The Forge is structured

Unmet Goals:
At the time of writing, I wasn't able to completely finish the prototype using The Forge. I was able to successfully run key unit tests and load models, but I wasn't able to handle WASD controls yet. The main issue seems to stem from how uniforms are set up in The Forge's example code, which aren't tailored to how I intend to use them.

Next Week’s Goals:
I aim to finish setting up a Forge prototype, while making it's interface as similar to the OpenGL structure for easy migration of code. I would also like to work with networking on integrating the Client and Server model into the simple OpenGL prototype. If time allows, I wish to be able to migrate the OpenGL code to Forge code.

What I Learned:
Don't try to mess with file structure of a visual studio project too much. I didn't like the way the files were structured, so I tried moving stuff around, but this ended up breaking the project each time. Fixing these problems took away too much time from actually modifying the code. I probably could have worked on coding first, then restructure later.

Individual Morale:
Middle of the week wasn't that great, since I was struggling to get the code working in visual studio. Now that it's working, I'm feeling a bit better.


Aditi

Last Week's Goals:
The goal last week was to work with Charles to diagram a class structure that would allow us to best handle all of the gameplay details.

Completed Goals:
Charles and I were able to successfully diagram what we think would be an efficient structure for our video game. We have also diagrammed the classes in such a way that adding our "should have" and "could have" features would be relatively easy and wouldn't require changing existing code.

Unmet Goals:
Nothing was unmet this week! (Hopefully it stays that way!)

Next Week's Goals:
The goal for next week is to continue working with Charles to actually start translating our diagram into code and start making things happen on the screen!

What I learned:
Through working with Charles, I was able to learn a great deal about networking and how client/server communication typically works in video games.

Individual Morale:
My morale is pretty high as of now. I was super excited after meeting with my team this week and seeing how much enthusiasm and skill everyone was bringing to the table! I am confident that we will be able to deliver on a game we are proud of at the end of this quarter!


Hao

Last Week’s Goals:
Last week my goal first goal is to get the environment set up so I can start working on the project. I will be using the cloud lab and I need to install every tool we need. The second goal is to et up client and server connection via winsock, so that we can send information bewteen the client and the server.

Completed Goals:
Both goals are completed.

Unmet Goals:
None

Next Week’s Goals:
Next week, I need to collaborate with other teammates to integrate the server and client to openGL framework. I should also start to come up with packet design ideas.

What I Learned:
I learned how to set up the coding environment on a windows machines. I compiled all the resources or links I used into a Google Doc file for future reference. I also learned how to build up communication using winsock.

Individual Morale:
This week I was overwhelmed by some other school works. I will plan ahead and manage my time more wisely next week.